</parent>
<properties>
- <spring.boot.version>2.2.13.RELEASE</spring.boot.version>
+ <spring.boot.version>2.3.12.RELEASE</spring.boot.version>
<spring-cloud.version>Hoxton.SR12</spring-cloud.version>
- <org.springframework.version>5.2.23.RELEASE</org.springframework.version>
<mapstruct.version>1.5.3.Final</mapstruct.version>
- <lombok.version>1.18.26</lombok.version>
+ <lombok.version>1.18.38</lombok.version>
<springfox.version>3.0.0</springfox.version>
<jaxb.api.version>2.3.0</jaxb.api.version>
<org.glassfish.version>4.0.2</org.glassfish.version>
- <mockito.version>3.7.7</mockito.version>
+ <mockito.version>3.12.4</mockito.version>
<springframework.plugin.version>2.0.0.RELEASE</springframework.plugin.version>
<zusammen.version>1.0.2</zusammen.version>
- <sdc-be-common.version>1.10.0</sdc-be-common.version>
+ <sdc-be-common.version>1.11.0</sdc-be-common.version>
<junitJupiter.version>5.9.1</junitJupiter.version>
<junit.platform.version>1.9.0</junit.platform.version>
<janino.version>3.1.10</janino.version>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
+ <version>2.5.15</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
- <version>4.5.13</version>
<exclusions>
<exclusion>
<artifactId>commons-codec</artifactId>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
- <version>1.15</version>
</dependency>
<dependency>
<groupId>org.onap.sdc.sdc-be-common</groupId>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
- <version>3.1.2</version>
</plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
import org.onap.sdc.workflow.api.types.activityspec.ActivitySpecResponse;
import org.onap.sdc.workflow.persistence.types.ActivitySpecEntity;
import org.onap.sdc.workflow.services.ActivitySpecManager;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
private final ActivitySpecManager activitySpecManager;
private final ActivitySpecDtoMapper activitySpecDtoMapper;
- @Autowired
public ActivitySpecController(@Qualifier("activitySpecManager") ActivitySpecManager activitySpecManager,
ActivitySpecDtoMapper activitySpecDtoMapper) {
this.activitySpecManager = activitySpecManager;
@ApiOperation(value = "Get Activity Spec")
@ApiImplicitParam(name = USER_ID_HEADER, required = true, dataType = "string", paramType = "header")
public ActivitySpecDataResponse get(@ApiParam(value = "Activity Spec Id") @PathVariable("id") String activitySpecId,
- @ApiParam(value = "Version Id", defaultValue = VERSION_ID_DEFAULT_VALUE) @PathVariable("versionId")
+ @ApiParam(value = "Version Id", defaultValue = VERSION_ID_DEFAULT_VALUE) @PathVariable
String versionId) {
return activitySpecDtoMapper.toActivitySpecDataResponse(
activitySpecManager.get(new ActivitySpecEntity(activitySpecId, versionId)));
@ApiImplicitParam(name = USER_ID_HEADER, required = true, dataType = "string", paramType = "header")
public void update(@Valid @RequestBody ActivitySpecRequest request,
@ApiParam(value = "Activity Spec Id") @PathVariable("id") String activitySpecId,
- @ApiParam(value = "Version Id", defaultValue = VERSION_ID_DEFAULT_VALUE) @PathVariable("versionId")
+ @ApiParam(value = "Version Id", defaultValue = VERSION_ID_DEFAULT_VALUE) @PathVariable
String versionId) {
ActivitySpecEntity activitySpec = activitySpecDtoMapper.fromActivitySpecRequest(request);
activitySpec.setId(activitySpecId);
@ApiImplicitParam(name = USER_ID_HEADER, required = true, dataType = "string", paramType = "header")
public void actOn(@Valid @RequestBody ActivitySpecActionRequest request,
@ApiParam(value = "Activity Spec Id") @PathVariable("id") String activitySpecId,
- @ApiParam(value = "Version Id", defaultValue = VERSION_ID_DEFAULT_VALUE) @PathVariable("versionId")
+ @ApiParam(value = "Version Id", defaultValue = VERSION_ID_DEFAULT_VALUE) @PathVariable
String versionId) {
activitySpecManager
.actOnAction(new ActivitySpecEntity(activitySpecId, versionId), request.getAction());
import org.onap.sdc.workflow.api.types.dto.ArtifactDeliveriesRequestDto;
import org.onap.sdc.workflow.persistence.types.ArtifactEntity;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.http.*;
}
- @Autowired
public ArtifactAssociationService(RestTemplateBuilder builder,
@Value("${server.ssl.trust-store}")
String truststorePath,
import static org.onap.sdc.workflow.services.types.PagingConstants.DEFAULT_LIMIT;
import static org.onap.sdc.workflow.services.types.PagingConstants.DEFAULT_OFFSET;
+import javax.validation.Valid;
+
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
-import javax.validation.Valid;
+// import javax.validation.Valid;
import org.onap.sdc.workflow.api.types.Paging;
import org.onap.sdc.workflow.api.types.Sorting;
import org.onap.sdc.workflow.api.types.VersionStatesFormatter;
import org.onap.sdc.workflow.services.types.RequestSpec;
import org.onap.sdc.workflow.services.types.SortingRequest;
import org.onap.sdc.workflow.services.types.Workflow;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;
+@Validated
@RequestMapping("/wf/workflows")
@Api("Workflows")
@RestController("workflowController")
private final WorkflowManager workflowManager;
private final WorkflowVersionManager workflowVersionManager;
- @Autowired
public WorkflowController(@Qualifier("workflowManager") WorkflowManager workflowManager,
@Qualifier("workflowVersionManager") WorkflowVersionManager workflowVersionManager) {
this.workflowManager = workflowManager;
@GetMapping(path = "/{workflowId}")
@ApiOperation("Get workflow")
- public Workflow get(@PathVariable("workflowId") String workflowId,
+ public Workflow get(@PathVariable String workflowId,
@ApiParam(value = "Expand workflow data", allowableValues = "versions")
- @RequestParam(value = "expand", required = false) String expand, @UserId String user) {
+ @RequestParam(required = false) String expand, @UserId String user) {
Workflow workflow = new Workflow();
workflow.setId(workflowId);
Workflow retrievedWorkflow = workflowManager.get(workflow);
@PutMapping(path = "/{workflowId}", consumes = MediaType.APPLICATION_JSON_VALUE)
@ApiOperation("Update workflow")
- public Workflow update(@RequestBody Workflow workflow, @PathVariable("workflowId") String workflowId,
+ public Workflow update(@RequestBody Workflow workflow, @PathVariable String workflowId,
@UserId String user) {
workflow.setId(workflowId);
workflowManager.update(workflow);
@PostMapping(path = "/{workflowId}/archiving", consumes = MediaType.APPLICATION_JSON_VALUE)
@ApiOperation("Update workflow status")
- public ResponseEntity updateStatus(@RequestBody @Valid WorkflowStatusDto request, @PathVariable("workflowId") String workflowId,
+ public ResponseEntity updateStatus(@RequestBody @Valid WorkflowStatusDto request, @PathVariable String workflowId,
@UserId String user) {
workflowManager.updateStatus(workflowId, ArchivingStatus.valueOf(request.getStatus()));
return new ResponseEntity(HttpStatus.OK);
import org.onap.sdc.workflow.services.WorkflowVersionManager;
import org.onap.sdc.workflow.services.annotations.UserId;
import org.onap.sdc.workflow.services.types.WorkflowVersion;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.core.io.InputStreamResource;
import org.springframework.core.io.Resource;
private final WorkflowVersionDtoMapper versionDtoMapper;
private final ArtifactAssociationService associationHandler;
- @Autowired
public WorkflowVersionController(@Qualifier("workflowVersionManager") WorkflowVersionManager versionManager,
WorkflowVersionDtoMapper versionDtoMapper,
@Qualifier("ArtifactAssociationHandler") ArtifactAssociationService artifactAssociationHandler) {
@ApiOperation("List workflow versions")
@ApiImplicitParam(name = "state", dataType = "string", paramType = "query", allowableValues = "DRAFT,CERTIFIED",
value = "Filter by state")
- public CollectionResponse<WorkflowVersionResponse> list(@PathVariable("workflowId") String workflowId,
+ public CollectionResponse<WorkflowVersionResponse> list(@PathVariable String workflowId,
@ApiIgnore VersionStatesFormatter stateFilter, @UserId String user) {
return new CollectionResponse<>(versionManager.list(workflowId, stateFilter.getVersionStates()).stream()
.map(versionDtoMapper::workflowVersionToResponse)
@PostMapping
@ApiOperation("Create workflow version")
public ResponseEntity<WorkflowVersionResponse> create(@RequestBody @Valid WorkflowVersionRequest request,
- @PathVariable("workflowId") String workflowId,
- @RequestParam(value = "baseVersionId", required = false) String baseVersionId, @UserId String user) {
+ @PathVariable String workflowId,
+ @RequestParam(required = false) String baseVersionId, @UserId String user) {
WorkflowVersionResponse createdVersion = versionDtoMapper.workflowVersionToResponse(
versionManager.create(workflowId, baseVersionId, versionDtoMapper.requestToWorkflowVersion(request)));
return new ResponseEntity<>(createdVersion, HttpStatus.CREATED);
@GetMapping("/{versionId}")
@ApiOperation("Get workflow version")
- public WorkflowVersionResponse get(@PathVariable("workflowId") String workflowId,
- @PathVariable("versionId") String versionId, @UserId String user) {
+ public WorkflowVersionResponse get(@PathVariable String workflowId,
+ @PathVariable String versionId, @UserId String user) {
return versionDtoMapper.workflowVersionToResponse(versionManager.get(workflowId, versionId));
}
@PutMapping("/{versionId}")
@ApiOperation("Update workflow version")
public void update(@RequestBody @Valid WorkflowVersionRequest request,
- @PathVariable("workflowId") String workflowId, @PathVariable("versionId") String versionId,
+ @PathVariable String workflowId, @PathVariable String versionId,
@UserId String user) {
WorkflowVersion version = versionDtoMapper.requestToWorkflowVersion(request);
version.setId(versionId);
@GetMapping("/{versionId}/state")
@ApiOperation("Get workflow version state")
- public VersionStateDto getState(@PathVariable("workflowId") String workflowId,
- @PathVariable("versionId") String versionId, @UserId String user) {
+ public VersionStateDto getState(@PathVariable String workflowId,
+ @PathVariable String versionId, @UserId String user) {
return new VersionStateDto(versionManager.getState(workflowId, versionId));
}
@PostMapping("/{versionId}/state")
@ApiOperation("Update workflow version state")
public VersionStateDto updateState(@RequestBody VersionStateDto state,
- @PathVariable("workflowId") String workflowId, @PathVariable("versionId") String versionId,
+ @PathVariable String workflowId, @PathVariable String versionId,
@UserId String user) {
versionManager.updateState(workflowId, versionId, state.getName());
return new VersionStateDto(state.getName());
@PostMapping("/{versionId}/artifact-deliveries")
@ApiOperation("upload of artifact to VF operation workflow")
public ResponseEntity<String> artifactDeliveries(@RequestBody ArtifactDeliveriesRequestDto deliveriesRequestDto,
- @PathVariable("workflowId") String workflowId, @PathVariable("versionId") String versionId,
+ @PathVariable String workflowId, @PathVariable String versionId,
@UserId String user) {
return associationHandler
.execute(user, deliveriesRequestDto, versionManager.getArtifact(workflowId, versionId));
@PutMapping("/{versionId}/artifact")
@ApiOperation("Create/update artifact of a version")
- public void uploadArtifact(@RequestBody MultipartFile fileToUpload, @PathVariable("workflowId") String workflowId,
- @PathVariable("versionId") String versionId, @UserId String user) {
+ public void uploadArtifact(@RequestBody MultipartFile fileToUpload, @PathVariable String workflowId,
+ @PathVariable String versionId, @UserId String user) {
versionManager.uploadArtifact(workflowId, versionId, fileToUpload);
}
@GetMapping("/{versionId}/artifact")
@ApiOperation("Download workflow version artifact")
- public ResponseEntity<Resource> getArtifact(@PathVariable("workflowId") String workflowId,
- @PathVariable("versionId") String versionId, @UserId String user) {
+ public ResponseEntity<Resource> getArtifact(@PathVariable String workflowId,
+ @PathVariable String versionId, @UserId String user) {
ArtifactEntity artifact = versionManager.getArtifact(workflowId, versionId);
return ResponseEntity.ok()
@DeleteMapping("/{versionId}/artifact")
@ApiOperation("Delete workflow version artifact")
- public void deleteArtifact(@PathVariable("workflowId") String workflowId,
- @PathVariable("versionId") String versionId, @UserId String user) {
+ public void deleteArtifact(@PathVariable String workflowId,
+ @PathVariable String versionId, @UserId String user) {
versionManager.deleteArtifact(workflowId, versionId);
}
}
import org.onap.sdc.workflow.persistence.types.ActivitySpecEntity;
import org.onap.sdc.workflow.services.ActivitySpecConstant;
import org.onap.sdc.workflow.services.utilities.JsonUtil;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
@Repository
private final ZusammenAdaptor zusammenAdaptor;
private final ZusammenSessionContextCreator contextCreator;
- @Autowired
public ActivitySpecRepositoryImpl(ZusammenAdaptor zusammenAdaptor, ZusammenSessionContextCreator contextCreator) {
this.zusammenAdaptor = zusammenAdaptor;
this.contextCreator = contextCreator;
import org.onap.sdc.workflow.persistence.ArtifactRepository;
import org.onap.sdc.workflow.persistence.impl.types.WorkflowElementType;
import org.onap.sdc.workflow.persistence.types.ArtifactEntity;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
@Repository
private final ZusammenAdaptor zusammenAdaptor;
private final ZusammenSessionContextCreator contextCreator;
- @Autowired
public ArtifactRepositoryImpl(ZusammenAdaptor zusammenAdaptor, ZusammenSessionContextCreator contextCreator) {
this.zusammenAdaptor = zusammenAdaptor;
this.contextCreator = contextCreator;
import org.onap.sdc.workflow.persistence.types.ParameterEntity;
import org.onap.sdc.workflow.persistence.types.ParameterRole;
import org.onap.sdc.workflow.persistence.types.ParameterType;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
@Repository
private final ZusammenAdaptor zusammenAdaptor;
private final ZusammenSessionContextCreator contextCreator;
- @Autowired
public ParameterRepositoryImpl(ZusammenAdaptor zusammenAdaptor, ZusammenSessionContextCreator contextCreator) {
this.zusammenAdaptor = zusammenAdaptor;
this.contextCreator = contextCreator;
import java.util.List;
import org.onap.sdc.workflow.server.resolvers.UserIdResolver;
import org.openecomp.sdc.logging.servlet.spring.LoggingInterceptor;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
private final LoggingInterceptor loggingInterceptor;
- @Autowired
public ApplicationConfigurer(LoggingInterceptor loggingInterceptor) {
this.loggingInterceptor = loggingInterceptor;
}
private String cassandraPassword;
@Value("${zusammen.cassandra.isAuthenticate}")
private String cassandraAuth;
- @Value("${spring.data.cassandra.ssl}")
- private String cassandraSSL;
+ private String cassandraSSL = "false";
@Value("${zusammen.cassandra.trustStorePath}")
private String cassandraTrustStorePath;
@Value("${zusammen.cassandra.trustStorePassword}")
private String cassandraTrustStorePassword;
-}
\ No newline at end of file
+
+}
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import org.onap.sdc.common.session.SessionContextProvider;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Value("${spring.data.cassandra.keyspace-name}")
private String tenant;
- @Autowired
public SessionContextFilter(SessionContextProvider sessionContextProvider) {
this.sessionContextProvider = sessionContextProvider;
}
import org.onap.sdc.workflow.persistence.UniqueValueRepository;
import org.onap.sdc.workflow.persistence.types.UniqueValueEntity;
import org.onap.sdc.workflow.services.exceptions.UniqueValueViolationException;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service("uniqueValueService")
private final UniqueValueRepository uniqueValueRepository;
- @Autowired
public UniqueValueService(UniqueValueRepository uniqueValueRepository) {
this.uniqueValueRepository = uniqueValueRepository;
}
import org.onap.sdc.workflow.services.impl.mappers.ActivitySpecMapper;
import org.openecomp.sdc.logging.api.Logger;
import org.openecomp.sdc.logging.api.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
private final ActivitySpecMapper activitySpecMapper;
- @Autowired
public ActivitySpecManagerImpl(ItemManager itemManager, VersioningManager versioningManager,
ActivitySpecRepository activitySpecDao,
@Qualifier("uniqueValueService") UniqueValueService uniqueValueService,
import org.onap.sdc.workflow.services.types.WorkflowVersionState;
import org.openecomp.sdc.logging.api.Logger;
import org.openecomp.sdc.logging.api.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
private final ArchivingStatusMapper archivingStatusMapper;
private final VersionStateMapper versionStateMapper;
- @Autowired
public WorkflowManagerImpl(ItemManager itemManager,
@Qualifier("uniqueValueService") UniqueValueService uniqueValueService, WorkflowMapper workflowMapper,
ArchivingStatusMapper archivingStatusMapper, VersionStateMapper versionStateMapper) {
import org.onap.sdc.workflow.services.types.WorkflowVersionState;
import org.openecomp.sdc.logging.api.Logger;
import org.openecomp.sdc.logging.api.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import org.springframework.web.multipart.MultipartFile;
private final VersionStateMapper versionStateMapper;
private static final Logger LOGGER = LoggerFactory.getLogger(WorkflowVersionManagerImpl.class);
- @Autowired
public WorkflowVersionManagerImpl(VersioningManager versioningManager, ArtifactRepository artifactRepository,
VersionMapper versionMapper, VersionStateMapper versionStateMapper, ItemManager itemManager,
ParameterRepository parameterRepository) {
import java.util.Collection;
import java.util.Set;
+
+import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
@Data
+@Valid
public class Workflow {
private String id;
spring.data.cassandra.port=${CS_PORT:9042}
spring.data.cassandra.username=${CS_USER:}
spring.data.cassandra.password=${CS_PASSWORD:}
+spring.data.cassandra.local-datacenter=${CS_DATACENTER:datacenter1}
zusammen.cassandra.isAuthenticate=${CS_AUTHENTICATE:false}
spring.data.cassandra.ssl=${CS_SSL_ENABLED:false}
zusammen.cassandra.trustStorePath=${CS_TRUST_STORE_PATH:}
zusammen.cassandra.trustStorePassword=${CS_TRUST_STORE_PASSWORD:}
-spring.data.cassandra.jmx-enabled=false
+# This property is deprecated: Cassandra no longer provides JMX metrics.
+# spring.data.cassandra.jmx-enabled=false
#Actuators
management.endpoint.health.show-details=always