From b8e2faf476202b6ffe61bc3a9a37df1304881d40 Mon Sep 17 00:00:00 2001 From: Avi Ziv Date: Tue, 18 Jul 2017 19:45:38 +0300 Subject: [SDC] Onboarding 1710 rebase. Change-Id: If3b6b81d221fde13908f1e8160db6f7d9433c535 Signed-off-by: Avi Ziv --- .../pom.xml.versionsBackup | 143 +++++++++++ .../pom.xml.versionsBackup | 36 +++ .../action-library-rest/pom.xml.versionsBackup | 22 ++ .../sdcrests/activitylog/types/ActivityType.java | 2 +- .../pom.xml.versionsBackup | 63 +++++ .../pom.xml.versionsBackup | 18 ++ .../application-config-rest/pom.xml.versionsBackup | 24 ++ .../healthcheck-rest-services/pom.xml | 60 +++++ .../sdcrests/health/rest/HealthCheck.java | 46 ++++ .../rest/mapping/MapHealthCheckInfoToDto.java | 49 ++++ .../health/rest/services/HealthCheckImpl.java | 94 +++++++ .../healthcheck-rest-types/pom.xml | 17 ++ .../sdcrests/health/types/HealthCheckStatus.java | 28 +++ .../sdcrests/health/types/HealthInfoDto.java | 61 +++++ .../sdcrests/health/types/HealthInfoDtos.java | 31 +++ .../sdcrests/health/types/MonitoredModules.java | 29 +++ .../healthcheck-rest/pom.xml | 24 ++ .../onboarding-rest-war/pom.xml | 5 + .../onboarding-rest-war/pom.xml.versionsBackup | 226 +++++++++++++++++ .../src/main/webapp/WEB-INF/beans-services.xml | 10 +- .../pom.xml.versionsBackup | 44 ++++ .../sdcrests/errors/DefaultExceptionMapper.java | 19 +- openecomp-be/api/openecomp-sdc-rest-webapp/pom.xml | 1 + .../pom.xml.versionsBackup | 28 +++ .../sequence-rest/pom.xml.versionsBackup | 15 ++ .../validation-rest/pom.xml.versionsBackup | 21 ++ .../pom.xml.versionsBackup | 152 +++++++++++ .../validation-rest-types/pom.xml.versionsBackup | 30 +++ .../vendor-license-rest/pom.xml.versionsBackup | 23 ++ .../pom.xml.versionsBackup | 135 ++++++++++ .../vendorlicense/rest/EntitlementPoolLimits.java | 103 ++++++++ .../vendorlicense/rest/LicenseKeyGroupLimits.java | 101 ++++++++ .../rest/mapping/LimitCreationDto.java | 13 + ...lementPoolEntityToEntitlementPoolEntityDto.java | 4 +- ...ementPoolRequestDtoToEntitlementPoolEntity.java | 3 +- ...tureGroupDescriptorDtoToFeatureGroupEntity.java | 3 +- ...tureGroupEntityToFeatureGroupDescriptorDto.java | 1 + .../mapping/MapLimitEntityToLimitCreationDto.java | 12 + .../rest/mapping/MapLimitEntityToLimitDto.java | 23 ++ .../mapping/MapLimitRequestDtoToLimitEntity.java | 75 ++++++ .../rest/services/EntitlementPoolLimitsImpl.java | 178 +++++++++++++ .../rest/services/LicenseKeyGroupLimitsImpl.java | 179 +++++++++++++ .../pom.xml.versionsBackup | 29 +++ .../types/EntitlementPoolRequestDto.java | 35 ++- .../types/FeatureGroupDescriptorDto.java | 16 +- .../types/LicenseAgreementDescriptorDto.java | 2 +- .../types/LicenseKeyGroupRequestDto.java | 3 +- .../vendorlicense/types/LimitEntityDto.java | 86 +++++++ .../vendorlicense/types/LimitRequestDto.java | 96 +++++++ .../pom.xml.versionsBackup | 21 ++ .../pom.xml.versionsBackup | 153 +++++++++++ .../ComponentMonitoringForSwaggerFileUpload.java | 65 +++++ .../vsp/rest/ComponentMonitoringUploads.java | 91 +++++++ .../sdcrests/vsp/rest/ComponentUploads.java | 216 ++++++++-------- .../org/openecomp/sdcrests/vsp/rest/Compute.java | 131 ++++++++++ .../sdcrests/vsp/rest/DeploymentFlavors.java | 88 +++++++ .../org/openecomp/sdcrests/vsp/rest/Images.java | 159 ++++++++++++ .../sdcrests/vsp/rest/VendorSoftwareProducts.java | 40 ++- .../mapping/MapComponentDataToComponentDto.java | 3 + .../MapComponentEntityToComponentCreationDto.java | 13 + .../MapComponentRequestDtoToComponentEntity.java | 2 + .../mapping/MapComputeDataToComputeDetailsDto.java | 15 ++ .../MapComputeDetailsDtoToComputeEntity.java | 17 ++ .../MapComputeEntityToComputeCreationDto.java | 13 + .../rest/mapping/MapComputeEntityToComputeDto.java | 22 ++ .../mapping/MapComputeEntityToVspComputeDto.java | 20 ++ ...FlavorEntityDeploymentFlavorToListResponse.java | 22 ++ ...tFlavorEntityToDeploymentFlavorCreationDto.java | 16 ++ ...eploymentFlavorEntityToDeploymentFlavorDto.java | 19 ++ ...ntFlavorRequestDtoToDeploymentFlavorEntity.java | 20 ++ .../MapDeploymentFlavorToDeploymentDto.java | 16 ++ .../vsp/rest/mapping/MapImageDataToImageDto.java | 22 ++ .../mapping/MapImageEntityToImageCreationDto.java | 16 ++ .../vsp/rest/mapping/MapImageEntityToImageDto.java | 21 ++ .../mapping/MapImageRequestDtoToImageEntity.java | 44 ++++ .../vsp/rest/mapping/MapMibUploadStatusToDto.java | 33 --- .../mapping/MapMonitoringUploadStatusToDto.java | 35 +++ .../MapNicEntityToNicCreationResponseDto.java | 16 ++ .../rest/mapping/MapNicRequestDtoToNicEntity.java | 3 + .../sdcrests/vsp/rest/mapping/MapNicToNicDto.java | 4 + .../rest/mapping/MapValidationResponseToDto.java | 49 +++- ...edVendorSoftwareProductInfoToVspDetailsDto.java | 8 +- .../mapping/MapVspDescriptionDtoToVspDetails.java | 1 + .../mapping/MapVspDetailsToVspCreationDto.java | 32 +++ .../mapping/MspVspDetailsToVspCreationDto.java | 35 --- .../services/ComponentMonitoringUploadsImpl.java | 117 +++++++++ .../vsp/rest/services/ComponentUploadsImpl.java | 279 +++++++++++---------- .../sdcrests/vsp/rest/services/ComponentsImpl.java | 12 +- .../sdcrests/vsp/rest/services/ComputeImpl.java | 162 ++++++++++++ .../vsp/rest/services/DeploymentFlavorsImpl.java | 129 ++++++++++ .../sdcrests/vsp/rest/services/ImagesImpl.java | 175 +++++++++++++ .../sdcrests/vsp/rest/services/NicsImpl.java | 8 +- .../rest/services/VendorSoftwareProductsImpl.java | 81 ++++-- .../pom.xml.versionsBackup | 30 +++ .../types/ComponentCreationDto.java | 13 + .../types/ComponentRequestDto.java | 28 ++- .../types/ComponentValidationResultDto.java | 25 ++ .../types/ComputeCreationDto.java | 13 + .../types/ComputeDescription.java | 31 +++ .../types/ComputeDetailsDto.java | 34 +++ .../vendorsoftwareproducts/types/ComputeDto.java | 40 +++ .../types/DeploymentFlavorCreationDto.java | 14 ++ .../types/DeploymentFlavorDto.java | 14 ++ .../types/DeploymentFlavorListResponseDto.java | 34 +++ .../types/DeploymentFlavorRequestDto.java | 53 ++++ .../types/DeploymentFlavorValidationResultDto.java | 25 ++ .../types/ImageCreationDto.java | 14 ++ .../vendorsoftwareproducts/types/ImageDto.java | 14 ++ .../types/ImageRequestDto.java | 75 ++++++ .../types/MibUploadStatusDto.java | 46 ---- .../types/MonitoringUploadStatusDto.java | 56 +++++ .../types/NicCreationResponseDto.java | 14 ++ .../types/NicRequestDto.java | 30 +++ .../types/OnboardingMethod.java | 6 + .../types/ValidationResponseDto.java | 21 ++ .../vendorsoftwareproducts/types/VmSizing.java | 72 ++++++ .../types/VspComputeDto.java | 31 +++ .../types/VspDescriptionDto.java | 14 +- .../types/validation/StringValidator.java | 36 +++ .../types/validation/ValidateString.java | 44 ++++ 120 files changed, 5263 insertions(+), 426 deletions(-) create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/action-library-rest/action-library-rest-services/pom.xml.versionsBackup create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/action-library-rest/action-library-rest-types/pom.xml.versionsBackup create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/action-library-rest/pom.xml.versionsBackup create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/application-config-rest/application-config-rest-services/pom.xml.versionsBackup create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/application-config-rest/application-config-rest-types/pom.xml.versionsBackup create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/application-config-rest/pom.xml.versionsBackup create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-services/pom.xml create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-services/src/main/java/org/openecomp/sdcrests/health/rest/HealthCheck.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-services/src/main/java/org/openecomp/sdcrests/health/rest/mapping/MapHealthCheckInfoToDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-services/src/main/java/org/openecomp/sdcrests/health/rest/services/HealthCheckImpl.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-types/pom.xml create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-types/src/main/java/org/openecomp/sdcrests/health/types/HealthCheckStatus.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-types/src/main/java/org/openecomp/sdcrests/health/types/HealthInfoDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-types/src/main/java/org/openecomp/sdcrests/health/types/HealthInfoDtos.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-types/src/main/java/org/openecomp/sdcrests/health/types/MonitoredModules.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/pom.xml create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/onboarding-rest-war/pom.xml.versionsBackup create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/openecomp-sdc-common-rest/pom.xml.versionsBackup create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/pom.xml.versionsBackup create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/sequence-rest/pom.xml.versionsBackup create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/validation-rest/pom.xml.versionsBackup create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/validation-rest/validation-rest-services/pom.xml.versionsBackup create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/validation-rest/validation-rest-types/pom.xml.versionsBackup create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/pom.xml.versionsBackup create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/pom.xml.versionsBackup create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/EntitlementPoolLimits.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/LicenseKeyGroupLimits.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/LimitCreationDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/MapLimitEntityToLimitCreationDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/MapLimitEntityToLimitDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/MapLimitRequestDtoToLimitEntity.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/services/EntitlementPoolLimitsImpl.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/services/LicenseKeyGroupLimitsImpl.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/pom.xml.versionsBackup create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/src/main/java/org/openecomp/sdcrests/vendorlicense/types/LimitEntityDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/src/main/java/org/openecomp/sdcrests/vendorlicense/types/LimitRequestDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/pom.xml.versionsBackup create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/pom.xml.versionsBackup create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/ComponentMonitoringForSwaggerFileUpload.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/ComponentMonitoringUploads.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/Compute.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/DeploymentFlavors.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/Images.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComponentEntityToComponentCreationDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComputeDataToComputeDetailsDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComputeDetailsDtoToComputeEntity.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComputeEntityToComputeCreationDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComputeEntityToComputeDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComputeEntityToVspComputeDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapDeploymentFlavorEntityDeploymentFlavorToListResponse.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapDeploymentFlavorEntityToDeploymentFlavorCreationDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapDeploymentFlavorEntityToDeploymentFlavorDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapDeploymentFlavorRequestDtoToDeploymentFlavorEntity.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapDeploymentFlavorToDeploymentDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapImageDataToImageDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapImageEntityToImageCreationDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapImageEntityToImageDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapImageRequestDtoToImageEntity.java delete mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapMibUploadStatusToDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapMonitoringUploadStatusToDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapNicEntityToNicCreationResponseDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapVspDetailsToVspCreationDto.java delete mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MspVspDetailsToVspCreationDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComponentMonitoringUploadsImpl.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComputeImpl.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/DeploymentFlavorsImpl.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ImagesImpl.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/pom.xml.versionsBackup create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComponentCreationDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComponentValidationResultDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComputeCreationDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComputeDescription.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComputeDetailsDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComputeDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/DeploymentFlavorCreationDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/DeploymentFlavorDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/DeploymentFlavorListResponseDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/DeploymentFlavorRequestDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/DeploymentFlavorValidationResultDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ImageCreationDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ImageDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ImageRequestDto.java delete mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/MibUploadStatusDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/MonitoringUploadStatusDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/NicCreationResponseDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/OnboardingMethod.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VmSizing.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VspComputeDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/validation/StringValidator.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/validation/ValidateString.java (limited to 'openecomp-be/api/openecomp-sdc-rest-webapp') diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/action-library-rest/action-library-rest-services/pom.xml.versionsBackup b/openecomp-be/api/openecomp-sdc-rest-webapp/action-library-rest/action-library-rest-services/pom.xml.versionsBackup new file mode 100644 index 0000000000..47b9bdde7b --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/action-library-rest/action-library-rest-services/pom.xml.versionsBackup @@ -0,0 +1,143 @@ + + + 4.0.0 + + action-library-rest-services + + org.openecomp.sdc.onboarding + action-library-rest + 1.0-SNAPSHOT + + + + + ${project.build.directory}/generated-sources/error-codes + + + + + ${project.groupId} + action-library-rest-types + ${project.version} + + + + + org.springframework + spring-core + ${spring.framework.version} + + + org.springframework + spring-context + ${spring.framework.version} + + + org.springframework + spring-context-support + ${spring.framework.version} + + + org.springframework + spring-web + ${spring.framework.version} + + + org.springframework + spring-beans + ${spring.framework.version} + + + + + org.apache.cxf + cxf-rt-frontend-jaxrs + ${cxf.version} + + + org.apache.httpcomponents + httpclient + ${http.client.version} + + + org.apache.httpcomponents + httpcore + ${http.client.version} + + + + javax.ws.rs + javax.ws.rs-api + ${ws.rs.version} + + + + + + + + javax.inject + javax.inject + ${javax.inject.version} + provided + + + org.openecomp.sdc + openecomp-sdc-action-manager + 1.0-SNAPSHOT + + + org.openecomp.sdc + openecomp-sdc-action-api + 1.0-SNAPSHOT + + + org.openecomp.sdc + openecomp-sdc-logging-api + 1.0-SNAPSHOT + + + org.slf4j + slf4j-api + 1.7.21 + + + com.sun.jersey.contribs + jersey-multipart + 1.18.1 + provided + + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + + test/core/unittest/offline/** + + true + + + + + + + + + + + \ No newline at end of file diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/action-library-rest/action-library-rest-types/pom.xml.versionsBackup b/openecomp-be/api/openecomp-sdc-rest-webapp/action-library-rest/action-library-rest-types/pom.xml.versionsBackup new file mode 100644 index 0000000000..4749ce7f8c --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/action-library-rest/action-library-rest-types/pom.xml.versionsBackup @@ -0,0 +1,36 @@ + + + 4.0.0 + + action-library-rest-types + action-library-rest-types + + + org.openecomp.sdc.onboarding + action-library-rest + 1.0-SNAPSHOT + ../ + + + + + org.openecomp.sdc + openecomp-sdc-common-rest + ${project.version} + + + org.openecomp.sdc + openecomp-sdc-action-api + 1.0-SNAPSHOT + + + + + + \ No newline at end of file diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/action-library-rest/pom.xml.versionsBackup b/openecomp-be/api/openecomp-sdc-rest-webapp/action-library-rest/pom.xml.versionsBackup new file mode 100644 index 0000000000..de6c4c6760 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/action-library-rest/pom.xml.versionsBackup @@ -0,0 +1,22 @@ + + + 4.0.0 + org.openecomp.sdc.onboarding + action-library-rest + action-library-rest + 1.0-SNAPSHOT + pom + + + org.openecomp.sdc + openecomp-sdc-rest-webapp + 1.0-SNAPSHOT + ../ + + + /action-library-rest-services + /action-library-rest-types + + \ No newline at end of file diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/activity-log-rest/activity-log-rest-types/src/main/java/org/openecomp/sdcrests/activitylog/types/ActivityType.java b/openecomp-be/api/openecomp-sdc-rest-webapp/activity-log-rest/activity-log-rest-types/src/main/java/org/openecomp/sdcrests/activitylog/types/ActivityType.java index dcbad726ab..6bfd50b401 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/activity-log-rest/activity-log-rest-types/src/main/java/org/openecomp/sdcrests/activitylog/types/ActivityType.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/activity-log-rest/activity-log-rest-types/src/main/java/org/openecomp/sdcrests/activitylog/types/ActivityType.java @@ -28,7 +28,7 @@ public enum ActivityType implements Serializable { CHECKOUT("Check Out"), CHECKIN("Check In"), UPLOAD_HEAT("Upload Heat"), - UPLOAD_ARTIFACT("Upload Artifact"), + UPLOAD_MONITORING_FILE("Upload Monitoring File"), SUBMIT("Submit"); // after collaboration will be added - this will be added: diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/application-config-rest/application-config-rest-services/pom.xml.versionsBackup b/openecomp-be/api/openecomp-sdc-rest-webapp/application-config-rest/application-config-rest-services/pom.xml.versionsBackup new file mode 100644 index 0000000000..9c3472a970 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/application-config-rest/application-config-rest-services/pom.xml.versionsBackup @@ -0,0 +1,63 @@ + + + 4.0.0 + + + org.openecomp.sdc + application-config-rest + 1.0-SNAPSHOT + + + application-config-rest-services + 1.0-SNAPSHOT + + + + + + io.swagger + swagger-annotations + 1.5.3 + + + javax.ws.rs + javax.ws.rs-api + ${ws.rs.version} + + + org.springframework + spring-context + ${spring.framework.version} + + + javax.inject + javax.inject + 1 + + + org.openecomp.sdc + openecomp-sdc-application-config-manager + 1.0-SNAPSHOT + + + org.openecomp.sdc + application-config-rest-types + 1.0-SNAPSHOT + + + org.openecomp.sdc + openecomp-sdc-common-rest + 1.0-SNAPSHOT + + + + org.apache.cxf + cxf-rt-frontend-jaxrs + ${cxf.version} + + + + + \ No newline at end of file diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/application-config-rest/application-config-rest-types/pom.xml.versionsBackup b/openecomp-be/api/openecomp-sdc-rest-webapp/application-config-rest/application-config-rest-types/pom.xml.versionsBackup new file mode 100644 index 0000000000..a9c8bbaee5 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/application-config-rest/application-config-rest-types/pom.xml.versionsBackup @@ -0,0 +1,18 @@ + + + 4.0.0 + + + org.openecomp.sdc + application-config-rest + 1.0-SNAPSHOT + + + org.openecomp.sdc + application-config-rest-types + 1.0-SNAPSHOT + + + \ No newline at end of file diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/application-config-rest/pom.xml.versionsBackup b/openecomp-be/api/openecomp-sdc-rest-webapp/application-config-rest/pom.xml.versionsBackup new file mode 100644 index 0000000000..fd2e251fea --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/application-config-rest/pom.xml.versionsBackup @@ -0,0 +1,24 @@ + + + 4.0.0 + + + org.openecomp.sdc + openecomp-sdc-rest-webapp + 1.0-SNAPSHOT + + + org.openecomp.sdc + application-config-rest + 1.0-SNAPSHOT + pom + + + + application-config-rest-services + application-config-rest-types + + + \ No newline at end of file diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-services/pom.xml b/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-services/pom.xml new file mode 100644 index 0000000000..d41c8ef5b3 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-services/pom.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + + + org.openecomp.sdc + healthcheck-rest + 1.1.0-SNAPSHOT + + + healthcheck-rest-services + 1.1.0-SNAPSHOT + + + + + + + javax.ws.rs + javax.ws.rs-api + ${ws.rs.version} + + + org.springframework + spring-context + ${spring.framework.version} + + + javax.inject + javax.inject + 1 + + + org.openecomp.sdc + openecomp-sdc-healthcheck-manager + ${project.version} + + + org.openecomp.sdc + healthcheck-rest-types + ${project.version} + + + org.openecomp.sdc + openecomp-sdc-common-rest + ${project.version} + + + + org.apache.cxf + cxf-rt-frontend-jaxrs + ${cxf.version} + + + + + + \ No newline at end of file diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-services/src/main/java/org/openecomp/sdcrests/health/rest/HealthCheck.java b/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-services/src/main/java/org/openecomp/sdcrests/health/rest/HealthCheck.java new file mode 100644 index 0000000000..2ed1d57f8f --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-services/src/main/java/org/openecomp/sdcrests/health/rest/HealthCheck.java @@ -0,0 +1,46 @@ +/*- + * ============LICENSE_START======================================================= + * SDC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.sdcrests.health.rest; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.annotation.Validated; + +import javax.ws.rs.*; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; +import java.util.Collection; +import org.openecomp.sdcrests.health.types.HealthInfoDtos; + +@Path("/v1.0/healthcheck") +@Produces(MediaType.APPLICATION_JSON) +@Consumes(MediaType.APPLICATION_JSON) +@Api(value = "Health Check") +@Validated +public interface HealthCheck { + + @GET + @ApiOperation(value = "Perform health check", + response = HealthInfoDtos.class, + responseContainer = "List") + Response checkHealth( ); + +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-services/src/main/java/org/openecomp/sdcrests/health/rest/mapping/MapHealthCheckInfoToDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-services/src/main/java/org/openecomp/sdcrests/health/rest/mapping/MapHealthCheckInfoToDto.java new file mode 100644 index 0000000000..8d560027e5 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-services/src/main/java/org/openecomp/sdcrests/health/rest/mapping/MapHealthCheckInfoToDto.java @@ -0,0 +1,49 @@ +/*- + * ============LICENSE_START======================================================= + * SDC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.sdcrests.health.rest.mapping; + +import org.openecomp.sdc.health.data.HealthInfo; +import org.openecomp.sdcrests.health.types.HealthCheckStatus; +import org.openecomp.sdcrests.health.types.HealthInfoDto; +import org.openecomp.sdcrests.health.types.HealthInfoDtos; +import org.openecomp.sdcrests.health.types.MonitoredModules; +import org.openecomp.sdcrests.mapping.MappingBase; + +import java.util.Collection; +import java.util.List; +import java.util.stream.Collectors; + +/** + * Created by Talio on 8/10/2016. + */ +public class MapHealthCheckInfoToDto + extends MappingBase, HealthInfoDtos> { + @Override + public void doMapping(Collection source, HealthInfoDtos target) { + + List healthInfos = source.stream() + .map(healthInfo -> new HealthInfoDto( + MonitoredModules.toValue(healthInfo.getHealthCheckComponent().toString()), + HealthCheckStatus.valueOf(healthInfo.getHealthCheckStatus().toString()), + healthInfo.getVersion(), healthInfo.getDescription())).collect(Collectors.toList()); + target.setHealthInfos(healthInfos); + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-services/src/main/java/org/openecomp/sdcrests/health/rest/services/HealthCheckImpl.java b/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-services/src/main/java/org/openecomp/sdcrests/health/rest/services/HealthCheckImpl.java new file mode 100644 index 0000000000..047adaa25e --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-services/src/main/java/org/openecomp/sdcrests/health/rest/services/HealthCheckImpl.java @@ -0,0 +1,94 @@ +/*- + * ============LICENSE_START======================================================= + * SDC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.sdcrests.health.rest.services; + +import org.apache.cxf.jaxrs.impl.ResponseBuilderImpl; +import org.openecomp.sdc.health.HealthCheckManager; +import org.openecomp.sdc.health.HealthCheckManagerFactory; +import org.openecomp.sdc.health.data.HealthCheckResult; +import org.openecomp.sdc.health.data.HealthCheckStatus; +import org.openecomp.sdc.health.data.HealthInfo; +import org.openecomp.sdc.health.data.SiteMode; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; +import org.openecomp.sdc.logging.context.MdcUtil; +import org.openecomp.sdc.logging.types.LoggerServiceName; +import org.openecomp.sdcrests.health.types.HealthInfoDtos; +import org.openecomp.sdcrests.wrappers.GenericCollectionWrapper; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Service; + +import javax.inject.Named; +import javax.ws.rs.core.Response; +import java.util.Arrays; +import java.util.Collection; + +@Named +@Service("healthCheck") +@Scope(value = "prototype") +public class HealthCheckImpl implements org.openecomp.sdcrests.health.rest.HealthCheck { + + private HealthCheckManager healthCheckManager; + private static final Logger logger = LoggerFactory.getLogger(HealthCheckImpl.class); + + public HealthCheckImpl() { + try { + healthCheckManager = HealthCheckManagerFactory.getInstance().createInterface(); + } catch (Exception e){ + logger.error(e.getMessage(),e); + } + } + + @Override + public Response checkHealth() { + HealthCheckResult healthCheckResult = new HealthCheckResult(); + + try { + MdcUtil.initMdc(LoggerServiceName.Health_check.toString()); + Collection healthInfos = healthCheckManager.checkHealth(); + healthCheckResult.setComponentsInfo(healthInfos); + boolean someIsDown = healthInfos.stream() + .anyMatch(healthInfo -> healthInfo.getHealthCheckStatus().equals(HealthCheckStatus.DOWN)); + healthInfos.stream(). + filter(healthInfo -> healthInfo.getHealthCheckComponent() + .equals(org.openecomp.sdc.health.data.MonitoredModules.BE)). + findFirst().ifPresent(healthInfo -> healthCheckResult.setSdcVersion(healthInfo.getVersion())); + if (someIsDown) { + Response.ResponseBuilder responseBuilder = new ResponseBuilderImpl(); + return responseBuilder.entity(healthCheckResult).status(500).build(); + } + return Response.ok(healthCheckResult).build(); + } catch (Exception ex) { + logger.error("Health check failed", ex); + Response.ResponseBuilder responseBuilder = new ResponseBuilderImpl(); + GenericCollectionWrapper results = new GenericCollectionWrapper<>(); + HealthInfo healthInfo = new HealthInfo(org.openecomp.sdc.health.data.MonitoredModules.BE , + HealthCheckStatus.DOWN, + "", "Failed to perform Health Check"); + Collection healthInfos = Arrays.asList(healthInfo); + healthCheckResult.setComponentsInfo(healthInfos); + return responseBuilder.entity(healthCheckResult).status(500).build(); + } + } + + +} + diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-types/pom.xml b/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-types/pom.xml new file mode 100644 index 0000000000..2922980d9e --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-types/pom.xml @@ -0,0 +1,17 @@ + + + 4.0.0 + + + org.openecomp.sdc + healthcheck-rest + 1.1.0-SNAPSHOT + + + healthcheck-rest-types + 1.1.0-SNAPSHOT + + + \ No newline at end of file diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-types/src/main/java/org/openecomp/sdcrests/health/types/HealthCheckStatus.java b/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-types/src/main/java/org/openecomp/sdcrests/health/types/HealthCheckStatus.java new file mode 100644 index 0000000000..b634a98532 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-types/src/main/java/org/openecomp/sdcrests/health/types/HealthCheckStatus.java @@ -0,0 +1,28 @@ +package org.openecomp.sdcrests.health.types; + + +public enum HealthCheckStatus { + UP("UP"), + DOWN("DOWN"); + + private String name; + + HealthCheckStatus(String name) { + this.name = name; + } + + + @Override + public String toString() { + return name; + } + + public static final HealthCheckStatus toValue(String inVal){ + for (HealthCheckStatus val : values()){ + if (val.toString().equals(inVal)){ + return val; + } + } + return null; + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-types/src/main/java/org/openecomp/sdcrests/health/types/HealthInfoDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-types/src/main/java/org/openecomp/sdcrests/health/types/HealthInfoDto.java new file mode 100644 index 0000000000..9ed93cfec7 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-types/src/main/java/org/openecomp/sdcrests/health/types/HealthInfoDto.java @@ -0,0 +1,61 @@ +package org.openecomp.sdcrests.health.types; + + +public class HealthInfoDto { + private MonitoredModules healthCheckComponent; + private HealthCheckStatus healthStatus; + private String version; + private String description; + + public HealthInfoDto() { + } + + public HealthInfoDto(MonitoredModules healthCheckComponent, HealthCheckStatus healthStatus, String version, String description) { + this.healthCheckComponent = healthCheckComponent; + this.healthStatus = healthStatus; + this.version = version; + this.description = description; + } + + public MonitoredModules getHealthCheckComponent() { + return healthCheckComponent; + } + + public void setHealthCheckComponent(MonitoredModules healthCheckComponent) { + this.healthCheckComponent = healthCheckComponent; + } + + public HealthCheckStatus getHealthStatus() { + return healthStatus; + } + + public void setHealthStatus(HealthCheckStatus healthStatus) { + this.healthStatus = healthStatus; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + @Override + public String toString() { + return "HealthInfo{" + + "healthCheckComponent='" + healthCheckComponent + '\'' + + ", healthStatus=" + healthStatus + + ", version='" + version + '\'' + + ", description='" + description + '\'' + + '}'; + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-types/src/main/java/org/openecomp/sdcrests/health/types/HealthInfoDtos.java b/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-types/src/main/java/org/openecomp/sdcrests/health/types/HealthInfoDtos.java new file mode 100644 index 0000000000..e1385d6b80 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-types/src/main/java/org/openecomp/sdcrests/health/types/HealthInfoDtos.java @@ -0,0 +1,31 @@ +package org.openecomp.sdcrests.health.types; + + +import java.util.List; +import java.util.stream.Collectors; + +public class HealthInfoDtos { + private List healthInfos; + + public HealthInfoDtos() { + } + + public HealthInfoDtos(List healthInfos) { + this.healthInfos = healthInfos; + } + + public List getHealthInfos() { + return healthInfos; + } + + public void setHealthInfos(List healthInfos) { + this.healthInfos = healthInfos; + } + + @Override + public String toString() { + return healthInfos.stream().map(healthInfoDto -> healthInfoDto.toString()) + .collect(Collectors.joining(", ")); + + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-types/src/main/java/org/openecomp/sdcrests/health/types/MonitoredModules.java b/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-types/src/main/java/org/openecomp/sdcrests/health/types/MonitoredModules.java new file mode 100644 index 0000000000..5ecb37a99b --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-types/src/main/java/org/openecomp/sdcrests/health/types/MonitoredModules.java @@ -0,0 +1,29 @@ +package org.openecomp.sdcrests.health.types; + + +public enum MonitoredModules { + BE("BE"), + CAS("Cassandra"), + ZU("Zusammen"); + + private String name; + + MonitoredModules(String name) { + this.name = name; + } + + + @Override + public String toString() { + return name; + } + + public static final MonitoredModules toValue(String inVal){ + for (MonitoredModules val : values()){ + if (val.toString().equals(inVal)){ + return val; + } + } + return null; + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/pom.xml b/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/pom.xml new file mode 100644 index 0000000000..1bb3e98bd0 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/pom.xml @@ -0,0 +1,24 @@ + + + 4.0.0 + + + org.openecomp.sdc + openecomp-sdc-rest-webapp + 1.1.0-SNAPSHOT + + + org.openecomp.sdc + healthcheck-rest + 1.1.0-SNAPSHOT + pom + + + + healthcheck-rest-types + healthcheck-rest-services + + + \ No newline at end of file diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/onboarding-rest-war/pom.xml b/openecomp-be/api/openecomp-sdc-rest-webapp/onboarding-rest-war/pom.xml index db4b48600e..b45ee838a3 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/onboarding-rest-war/pom.xml +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/onboarding-rest-war/pom.xml @@ -35,6 +35,11 @@ validation-rest-services ${project.version} + + org.openecomp.sdc + healthcheck-rest-services + ${project.version} + + + org.openecomp.sdc + application-config-rest-services + 1.0-SNAPSHOT + + + org.openecomp.sdc.onboarding + action-library-rest-services + ${project.version} + + + javax.servlet + servlet-api + ${javax.servlet.version} + + + + org.codehaus.jackson + jackson-jaxrs + ${org.codehaus.jackson.version} + + + org.codehaus.jackson + jackson-core-asl + ${org.codehaus.jackson.version} + + + javax.inject + javax.inject + 1 + + + org.openecomp.sdc + openecomp-sdc-vendor-software-product-manager + 1.0-SNAPSHOT + + + org.eclipse.jetty + jetty-servlets + 9.0.6.v20130930 + + + org.openecomp.sdc + openecomp-sdc-application-config-manager + 1.0-SNAPSHOT + + + org.codehaus.groovy + groovy + ${groovy.version} + + + ch.qos.logback + logback-classic + ${logback.version} + + + ch.qos.logback + logback-core + ${logback.version} + + + org.codehaus.janino + janino + compile + + + + org.springframework + spring-core + 4.1.3.RELEASE + + + org.springframework + spring-web + 4.1.3.RELEASE + + + org.springframework + spring-aop + 4.1.3.RELEASE + + + org.springframework + spring-webmvc + 4.1.3.RELEASE + + + org.aspectj + aspectjweaver + 1.8.9 + + + org.aspectj + aspectjrt + 1.8.9 + + + org.aspectj + aspectjtools + 1.8.9 + + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + + org.apache.maven.plugins + maven-surefire-plugin + + + test/core/unittest/offline/** + + true + + + buildNumber + ${buildNumber} + + + + + + maven-war-plugin + 2.1.1 + + true + + + + ${basedir}/target/generated/swagger-ui + + + + + + com.github.kongchen + swagger-maven-plugin + 3.1.0 + + + + false + org.openecomp.sdcrests + http + /onboarding-api + + Rest API + v1.0, build #${buildNumber} + Rest API Documentation + + http://www.github.com/kongchen/swagger-maven-plugin + + + ${basedir}/templates/strapdown.html.hbs + ${basedir}/target/generated/api.html + ${basedir}/target/generated/swagger-ui + + + + + + + compile + + generate + + + + + + + + + + \ No newline at end of file diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/onboarding-rest-war/src/main/webapp/WEB-INF/beans-services.xml b/openecomp-be/api/openecomp-sdc-rest-webapp/onboarding-rest-war/src/main/webapp/WEB-INF/beans-services.xml index 609d69f9f8..c83ae4471a 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/onboarding-rest-war/src/main/webapp/WEB-INF/beans-services.xml +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/onboarding-rest-war/src/main/webapp/WEB-INF/beans-services.xml @@ -37,7 +37,7 @@ - + + + io.swagger + swagger-core + ${swagger.version} + compile + + + + \ No newline at end of file diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/openecomp-sdc-common-rest/src/main/java/org/openecomp/sdcrests/errors/DefaultExceptionMapper.java b/openecomp-be/api/openecomp-sdc-rest-webapp/openecomp-sdc-common-rest/src/main/java/org/openecomp/sdcrests/errors/DefaultExceptionMapper.java index af77268599..e8a6c7e7db 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/openecomp-sdc-common-rest/src/main/java/org/openecomp/sdcrests/errors/DefaultExceptionMapper.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/openecomp-sdc-common-rest/src/main/java/org/openecomp/sdcrests/errors/DefaultExceptionMapper.java @@ -22,8 +22,6 @@ package org.openecomp.sdcrests.errors; import org.codehaus.jackson.map.JsonMappingException; import org.hibernate.validator.internal.engine.path.PathImpl; -import org.openecomp.sdc.logging.api.Logger; -import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.core.utilities.CommonMethods; import org.openecomp.core.utilities.file.FileUtils; import org.openecomp.core.utilities.json.JsonUtil; @@ -34,10 +32,10 @@ import org.openecomp.sdc.common.errors.ErrorCodeAndMessage; import org.openecomp.sdc.common.errors.GeneralErrorBuilder; import org.openecomp.sdc.common.errors.JsonMappingErrorBuilder; import org.openecomp.sdc.common.errors.ValidationErrorBuilder; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; -import java.io.ByteArrayOutputStream; import java.io.File; -import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; @@ -50,8 +48,8 @@ import javax.validation.ConstraintViolation; import javax.validation.ConstraintViolationException; import javax.validation.Path; import javax.ws.rs.core.MediaType; -import javax.ws.rs.ext.ExceptionMapper; import javax.ws.rs.core.Response; +import javax.ws.rs.ext.ExceptionMapper; public class DefaultExceptionMapper implements ExceptionMapper { private static final String ERROR_CODES_TO_RESPONSE_STATUS_MAPPING_FILE = @@ -78,8 +76,8 @@ public class DefaultExceptionMapper implements ExceptionMapper { try { writeStackTraceToFile(exception); - } catch (IOException e) { - e.printStackTrace(); + } catch (IOException ex) { + ex.printStackTrace(); } List contentTypes = new ArrayList<>(); contentTypes.add(MediaType.APPLICATION_JSON); @@ -174,15 +172,14 @@ public class DefaultExceptionMapper implements ExceptionMapper { private void writeStackTraceToFile(Exception exception) throws IOException { File file = new File("stack_trace.txt"); - OutputStream outputStream = new FileOutputStream(file); - - if(!file.exists()){ + if (!file.exists()) { file.createNewFile(); } - + OutputStream outputStream = new FileOutputStream(file); PrintWriter printWriter = new PrintWriter(file); exception.printStackTrace(printWriter); printWriter.close(); + outputStream.close(); } } diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/pom.xml b/openecomp-be/api/openecomp-sdc-rest-webapp/pom.xml index 907e68f807..9fe4ff88a1 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/pom.xml +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/pom.xml @@ -23,6 +23,7 @@ /action-library-rest /application-config-rest /activity-log-rest + /healthcheck-rest diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/pom.xml.versionsBackup b/openecomp-be/api/openecomp-sdc-rest-webapp/pom.xml.versionsBackup new file mode 100644 index 0000000000..cd9b491c08 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/pom.xml.versionsBackup @@ -0,0 +1,28 @@ + + 4.0.0 + + openecomp-sdc-rest-webapp + openecomp-sdc-rest-webapp + 1.0-SNAPSHOT + pom + + + org.openecomp.sdc + openecomp-sdc-api + 1.0-SNAPSHOT + ../ + + + + /openecomp-sdc-common-rest + /vendor-license-rest + /onboarding-rest-war + /vendor-software-products-rest + /sequence-rest + /validation-rest + /action-library-rest + /application-config-rest + + + \ No newline at end of file diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/sequence-rest/pom.xml.versionsBackup b/openecomp-be/api/openecomp-sdc-rest-webapp/sequence-rest/pom.xml.versionsBackup new file mode 100644 index 0000000000..313a50ca9d --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/sequence-rest/pom.xml.versionsBackup @@ -0,0 +1,15 @@ + + + + openecomp-sdc-rest-webapp + org.openecomp.sdc + 1.0-SNAPSHOT + + 4.0.0 + + sequence-rest + + + \ No newline at end of file diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/validation-rest/pom.xml.versionsBackup b/openecomp-be/api/openecomp-sdc-rest-webapp/validation-rest/pom.xml.versionsBackup new file mode 100644 index 0000000000..8bacd99f69 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/validation-rest/pom.xml.versionsBackup @@ -0,0 +1,21 @@ + + + 4.0.0 + org.openecomp.sdc.onboarding + validation-rest + validation-rest + 1.0-SNAPSHOT + pom + + + org.openecomp.sdc + openecomp-sdc-rest-webapp + 1.0-SNAPSHOT + + + /validation-rest-services + /validation-rest-types + + \ No newline at end of file diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/validation-rest/validation-rest-services/pom.xml.versionsBackup b/openecomp-be/api/openecomp-sdc-rest-webapp/validation-rest/validation-rest-services/pom.xml.versionsBackup new file mode 100644 index 0000000000..ffc417313a --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/validation-rest/validation-rest-services/pom.xml.versionsBackup @@ -0,0 +1,152 @@ + + + 4.0.0 + + validation-rest-services + + org.openecomp.sdc.onboarding + validation-rest + 1.0-SNAPSHOT + + + + + org.springframework + spring-core + ${spring.framework.version} + + + org.springframework + spring-context + ${spring.framework.version} + + + org.springframework + spring-context-support + ${spring.framework.version} + + + org.springframework + spring-web + ${spring.framework.version} + + + org.springframework + spring-beans + ${spring.framework.version} + + + + + org.apache.cxf + cxf-rt-frontend-jaxrs + ${cxf.version} + + + org.apache.httpcomponents + httpclient + ${http.client.version} + + + + javax.ws.rs + javax.ws.rs-api + ${ws.rs.version} + + + + + + + + javax.inject + javax.inject + ${javax.inject.version} + provided + + + javax.ws.rs + javax.ws.rs-api + ${ws.rs.version} + + + com.sun.jersey + jersey-core + 1.19.1 + + + javax.ws.rs + jsr311-api + + + + + io.swagger + swagger-annotations + 1.5.3 + + + org.openecomp.sdc.onboarding + validation-rest-types + ${project.version} + + + com.fasterxml.jackson.core + jackson-annotations + 2.7.4 + + + com.fasterxml.jackson.dataformat + jackson-dataformat-xml + 2.7.4 + + + org.codehaus.woodstox + woodstox-core-asl + 4.4.1 + + + + org.openecomp.sdc + openecomp-sdc-vendor-software-product-manager + ${project.version} + + + com.sun.jersey.contribs + jersey-multipart + 1.18.1 + provided + + + + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + + test/core/unittest/offline/** + + true + + + + + + + + \ No newline at end of file diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/validation-rest/validation-rest-types/pom.xml.versionsBackup b/openecomp-be/api/openecomp-sdc-rest-webapp/validation-rest/validation-rest-types/pom.xml.versionsBackup new file mode 100644 index 0000000000..5cc8ee7c51 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/validation-rest/validation-rest-types/pom.xml.versionsBackup @@ -0,0 +1,30 @@ + + + 4.0.0 + + validation-rest-types + validation-rest-types + + + org.openecomp.sdc.onboarding + validation-rest + 1.0-SNAPSHOT + ../ + + + + + org.openecomp.sdc + openecomp-sdc-common-rest + 1.0-SNAPSHOT + + + org.openecomp.sdc + openecomp-sdc-validation-manager + 1.0-SNAPSHOT + + + + \ No newline at end of file diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/pom.xml.versionsBackup b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/pom.xml.versionsBackup new file mode 100644 index 0000000000..ae9c3063bc --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/pom.xml.versionsBackup @@ -0,0 +1,23 @@ + + 4.0.0 + + org.openecomp.sdc.onboarding + vendor-license-rest + vendor-license-rest + 1.0-SNAPSHOT + pom + + + org.openecomp.sdc + openecomp-sdc-rest-webapp + 1.0-SNAPSHOT + ../ + + + + /vendor-license-rest-services + /vendor-license-rest-types + + + \ No newline at end of file diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/pom.xml.versionsBackup b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/pom.xml.versionsBackup new file mode 100644 index 0000000000..187135e1f4 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/pom.xml.versionsBackup @@ -0,0 +1,135 @@ + + 4.0.0 + + vendor-license-rest-services + vendor-license-rest-services + + + org.openecomp.sdc.onboarding + vendor-license-rest + 1.0-SNAPSHOT + ../ + + + + + ${project.build.directory}/generated-sources/error-codes + + + + + ${project.groupId} + vendor-license-rest-types + ${project.version} + + + org.openecomp.sdc + openecomp-sdc-vendor-license-api + ${project.version} + + + org.openecomp.sdc + openecomp-sdc-vendor-license-manager + ${project.version} + + + + + + org.springframework + spring-core + ${spring.framework.version} + + + org.springframework + spring-context + ${spring.framework.version} + + + org.springframework + spring-context-support + ${spring.framework.version} + + + org.springframework + spring-web + ${spring.framework.version} + + + org.springframework + spring-beans + ${spring.framework.version} + + + + + org.apache.cxf + cxf-rt-frontend-jaxrs + ${cxf.version} + + + org.apache.httpcomponents + httpclient + ${http.client.version} + + + org.apache.httpcomponents + httpcore + ${http.client.version} + + + + javax.ws.rs + javax.ws.rs-api + ${ws.rs.version} + + + + + + + + javax.inject + javax.inject + ${javax.inject.version} + provided + + + org.openecomp.sdc + openecomp-sdc-vendor-software-product-manager + 1.0-SNAPSHOT + + + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + + test/core/unittest/offline/** + + true + + + + + + + + + + + \ No newline at end of file diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/EntitlementPoolLimits.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/EntitlementPoolLimits.java new file mode 100644 index 0000000000..3e7adc845d --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/EntitlementPoolLimits.java @@ -0,0 +1,103 @@ +package org.openecomp.sdcrests.vendorlicense.rest; + +import static org.openecomp.sdcrests.common.RestConstants.USER_ID_HEADER_PARAM; +import static org.openecomp.sdcrests.common.RestConstants.USER_MISSING_ERROR_MSG; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; + +import org.openecomp.sdcrests.vendorlicense.types.LimitEntityDto; +import org.openecomp.sdcrests.vendorlicense.types.LimitRequestDto; +import org.springframework.validation.annotation.Validated; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import javax.ws.rs.Consumes; +import javax.ws.rs.DELETE; +import javax.ws.rs.POST; +import javax.ws.rs.GET; +import javax.ws.rs.HeaderParam; +import javax.ws.rs.PUT; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; + +@Path("/v1.0/vendor-license-models/{vlmId}/versions/{versionId}/entitlement-pools" + + "/{entitlementPoolId}/limits") +@Produces(MediaType.APPLICATION_JSON) +@Consumes(MediaType.APPLICATION_JSON) +@Api(value = "Vendor License Model - Entitlement Pool Limits") +@Validated +public interface EntitlementPoolLimits { + + @POST + @Path("/") + @ApiOperation(value = "Create vendor entitlement pool limits") + Response createLimit(@Valid LimitRequestDto request, + @ApiParam(value = "Vendor license model Id") @PathParam("vlmId") + String vlmId, + @ApiParam(value = "Vendor license model version Id") @PathParam + ("versionId") + String versionId, + @ApiParam(value = "Vendor license model Entitlement Pool Id") + @PathParam("entitlementPoolId") + String entitlementPoolId , + @NotNull(message = USER_MISSING_ERROR_MSG) + @HeaderParam(USER_ID_HEADER_PARAM) String user); + + + @GET + @Path("/") + @ApiOperation(value = "List vendor entitlement pool limits", + response = LimitRequestDto.class, + responseContainer = "List") + Response listLimits( + @ApiParam(value = "Vendor license model Id") @PathParam("vlmId") String vlmId, + @ApiParam(value = "Vendor license model version Id") @PathParam("versionId") String versionId, + @ApiParam(value = "Vendor license model Entitlement Pool Id") @PathParam("entitlementPoolId") + String entitlementPoolId, + @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) String user); + + @PUT + @Path("/{limitId}") + @ApiOperation(value = "Update vendor entitlement pool limit") + Response updateLimit(@Valid LimitRequestDto request, + @ApiParam(value = "Vendor license model Id") @PathParam("vlmId") + String vlmId, + @ApiParam(value = "Vendor license model version Id") @PathParam + ("versionId") + String versionId, + @ApiParam(value = "Vendor license model Entitlement Pool Id") + @PathParam("entitlementPoolId") + String entitlementPoolId , + @NotNull(message = USER_MISSING_ERROR_MSG) + @PathParam("limitId") String limitId, + @HeaderParam(USER_ID_HEADER_PARAM) String user); + + @GET + @Path("/{limitId}") + @ApiOperation(value = "Get vendor entitlement pool limit", + response = LimitEntityDto.class) + Response getLimit( + @ApiParam(value = "Vendor license model Id") @PathParam("vlmId") String vlmId, + @ApiParam(value = "Vendor license model version Id") @PathParam("versionId") String versionId, + @ApiParam(value = "Vendor license model Entitlement Pool Id") @PathParam + ("entitlementPoolId") String entitlementPoolId, + @ApiParam(value = "Vendor license model Entitlement Pool Limit Id") @PathParam("limitId") + String limitId, + @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) String user); + + @DELETE + @Path("/{limitId}") + @ApiOperation(value = "Delete vendor entitlement pool limit") + Response deleteLimit( + @ApiParam(value = "Vendor license model Id") @PathParam("vlmId") String vlmId, + @ApiParam(value = "Vendor license model version Id") @PathParam("versionId") String versionId, + @ApiParam(value = "Vendor license model Entitlement pool Id") @PathParam("entitlementPoolId") String entitlementPoolId, + @PathParam("limitId") String limitId, + @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) String user); + +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/LicenseKeyGroupLimits.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/LicenseKeyGroupLimits.java new file mode 100644 index 0000000000..bfb2d51af0 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/LicenseKeyGroupLimits.java @@ -0,0 +1,101 @@ +package org.openecomp.sdcrests.vendorlicense.rest; + +import static org.openecomp.sdcrests.common.RestConstants.USER_ID_HEADER_PARAM; +import static org.openecomp.sdcrests.common.RestConstants.USER_MISSING_ERROR_MSG; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.openecomp.sdcrests.vendorlicense.types.EntitlementPoolEntityDto; +import org.openecomp.sdcrests.vendorlicense.types.LimitEntityDto; +import org.openecomp.sdcrests.vendorlicense.types.LimitRequestDto; +import org.springframework.validation.annotation.Validated; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import javax.ws.rs.Consumes; +import javax.ws.rs.DELETE; +import javax.ws.rs.GET; +import javax.ws.rs.HeaderParam; +import javax.ws.rs.POST; +import javax.ws.rs.PUT; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; + +@Path("/v1.0/vendor-license-models/{vlmId}/versions/{versionId}/license-key-groups" + + "/{licenseKeyGroupId}/limits") +@Produces(MediaType.APPLICATION_JSON) +@Consumes(MediaType.APPLICATION_JSON) +@Api(value = "Vendor License Model - License Key Group Limits") +@Validated +public interface LicenseKeyGroupLimits { + + @POST + @Path("/") + @ApiOperation(value = "Create vendor license key group limit") + Response createLimit(@Valid LimitRequestDto request, + @ApiParam(value = "Vendor license model Id") @PathParam("vlmId") + String vlmId, + @ApiParam(value = "Vendor license model version Id") @PathParam + ("versionId") + String versionId, + @ApiParam(value = "Vendor license model License Key Group Id") + @PathParam("licenseKeyGroupId") + String licenseKeyGroupId , + @NotNull(message = USER_MISSING_ERROR_MSG) + @HeaderParam(USER_ID_HEADER_PARAM) String user); + + @GET + @Path("/") + @ApiOperation(value = "List vendor license key group limits", + response = LimitEntityDto.class, + responseContainer = "List") + Response listLimits( + @ApiParam(value = "Vendor license model Id") @PathParam("vlmId") String vlmId, + @ApiParam(value = "Vendor license model version Id") @PathParam("versionId") String versionId, + @ApiParam(value = "Vendor license model License Key Group Id") @PathParam("licenseKeyGroupId") + String licenseKeyGroupId, + @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) String user); + + @PUT + @Path("/{limitId}") + @ApiOperation(value = "Update vendor license key group limit") + Response updateLimit(@Valid LimitRequestDto request, + @ApiParam(value = "Vendor license model Id") @PathParam("vlmId") + String vlmId, + @ApiParam(value = "Vendor license model version Id") @PathParam + ("versionId") + String versionId, + @ApiParam(value = "Vendor license model License Key Group Id") + @PathParam("licenseKeyGroupId") + String licenseKeyGroupId , + @NotNull(message = USER_MISSING_ERROR_MSG) + @PathParam("limitId") String limitId, + @HeaderParam(USER_ID_HEADER_PARAM) String user); + + @GET + @Path("/{limitId}") + @ApiOperation(value = "Get vendor entitlement pool limit", + response = LimitEntityDto.class) + Response getLimit( + @ApiParam(value = "Vendor license model Id") @PathParam("vlmId") String vlmId, + @ApiParam(value = "Vendor license model version Id") @PathParam("versionId") String versionId, + @ApiParam(value = "Vendor license model License Key Group") @PathParam + ("licenseKeyGroupId") String entitlementPoolId, + @ApiParam(value = "Vendor license model License Key Group Limit Id") @PathParam("limitId") + String limitId, + @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) String user); + + @DELETE + @Path("/{limitId}") + @ApiOperation(value = "Delete vendor license key group limit") + Response deleteLimit( + @ApiParam(value = "Vendor license model Id") @PathParam("vlmId") String vlmId, + @ApiParam(value = "Vendor license model version Id") @PathParam("versionId") String versionId, + @ApiParam(value = "Vendor license model license key group Id") @PathParam("licenseKeyGroupId") String licenseKeyGroupId, + @PathParam("limitId") String limitId, + @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) String user); +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/LimitCreationDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/LimitCreationDto.java new file mode 100644 index 0000000000..da7852da2c --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/LimitCreationDto.java @@ -0,0 +1,13 @@ +package org.openecomp.sdcrests.vendorlicense.rest.mapping; + +public class LimitCreationDto { + private String limitId; + + public String getLimitId() { + return limitId; + } + + public void setLimitId(String limitId) { + this.limitId = limitId; + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/MapEntitlementPoolEntityToEntitlementPoolEntityDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/MapEntitlementPoolEntityToEntitlementPoolEntityDto.java index c9f4ab894b..d35c06c30d 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/MapEntitlementPoolEntityToEntitlementPoolEntityDto.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/MapEntitlementPoolEntityToEntitlementPoolEntityDto.java @@ -47,7 +47,9 @@ public class MapEntitlementPoolEntityToEntitlementPoolEntityDto .applyMapping(source.getOperationalScope(), MultiChoiceOrOtherDto.class)); target.setTime(choiceOrOtherMapper.applyMapping(source.getTime(), ChoiceOrOtherDto.class)); target.setManufacturerReferenceNumber(source.getManufacturerReferenceNumber()); - target.setReferencingFeatureGroups(source.getReferencingFeatureGroups()); + + target.setStartDate(source.getStartDate()); + target.setExpiryDate(source.getExpiryDate()); } } diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/MapEntitlementPoolRequestDtoToEntitlementPoolEntity.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/MapEntitlementPoolRequestDtoToEntitlementPoolEntity.java index fe626e374c..5442e1af61 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/MapEntitlementPoolRequestDtoToEntitlementPoolEntity.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/MapEntitlementPoolRequestDtoToEntitlementPoolEntity.java @@ -45,7 +45,8 @@ public class MapEntitlementPoolRequestDtoToEntitlementPoolEntity target.setOperationalScope(new MapMultiChoiceOrOtherDtoToMultiChoiceOrOther() .applyMapping(source.getOperationalScope(), MultiChoiceOrOther.class)); target.setTime(choiceOrOtherMapper.applyMapping(source.getTime(), ChoiceOrOther.class)); - target.setManufacturerReferenceNumber(source.getManufacturerReferenceNumber()); + target.setStartDate(source.getStartDate()); + target.setExpiryDate(source.getExpiryDate()); } } diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/MapFeatureGroupDescriptorDtoToFeatureGroupEntity.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/MapFeatureGroupDescriptorDtoToFeatureGroupEntity.java index 9875a332bd..dedc2a01f0 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/MapFeatureGroupDescriptorDtoToFeatureGroupEntity.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/MapFeatureGroupDescriptorDtoToFeatureGroupEntity.java @@ -31,5 +31,6 @@ public class MapFeatureGroupDescriptorDtoToFeatureGroupEntity target.setName(source.getName()); target.setDescription(source.getDescription()); target.setPartNumber(source.getPartNumber()); + target.setManufacturerReferenceNumber(source.getManufacturerReferenceNumber()); } -} +} \ No newline at end of file diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/MapFeatureGroupEntityToFeatureGroupDescriptorDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/MapFeatureGroupEntityToFeatureGroupDescriptorDto.java index 70f5666bcb..ce69384f41 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/MapFeatureGroupEntityToFeatureGroupDescriptorDto.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/MapFeatureGroupEntityToFeatureGroupDescriptorDto.java @@ -31,5 +31,6 @@ public class MapFeatureGroupEntityToFeatureGroupDescriptorDto target.setName(source.getName()); target.setDescription(source.getDescription()); target.setPartNumber(source.getPartNumber()); + target.setManufacturerReferenceNumber(source.getManufacturerReferenceNumber()); } } diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/MapLimitEntityToLimitCreationDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/MapLimitEntityToLimitCreationDto.java new file mode 100644 index 0000000000..6883f3e48c --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/MapLimitEntityToLimitCreationDto.java @@ -0,0 +1,12 @@ +package org.openecomp.sdcrests.vendorlicense.rest.mapping; + +import org.openecomp.sdc.vendorlicense.dao.types.LimitEntity; +import org.openecomp.sdcrests.mapping.MappingBase; + +public class MapLimitEntityToLimitCreationDto extends + MappingBase { + @Override + public void doMapping(LimitEntity source, LimitCreationDto target) { + target.setLimitId(source.getId()); + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/MapLimitEntityToLimitDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/MapLimitEntityToLimitDto.java new file mode 100644 index 0000000000..9678f927b0 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/MapLimitEntityToLimitDto.java @@ -0,0 +1,23 @@ +package org.openecomp.sdcrests.vendorlicense.rest.mapping; + +import org.openecomp.sdc.vendorlicense.dao.types.LimitEntity; +import org.openecomp.sdcrests.mapping.MappingBase; +import org.openecomp.sdcrests.vendorlicense.types.LimitEntityDto; +import org.openecomp.sdcrests.vendorlicense.types.LimitRequestDto; + +public class MapLimitEntityToLimitDto extends MappingBase { + + @Override + public void doMapping(LimitEntity source, LimitEntityDto target) { + target.setId(source.getId()); + target.setName(source.getName()); + target.setDescription(source.getDescription()); + target.setMetric(source.getMetric() != null ? source.getMetric().name() : null); + target.setAggregationFunction(source.getAggregationFunction() != null ? source + .getAggregationFunction().name() : null); + target.setTime(source.getTime() != null ? source.getTime().name() : null); + target.setType(source.getType() != null ? source.getType().name() : null); + target.setUnit(source.getUnit()); + target.setValue(source.getValue()); + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/MapLimitRequestDtoToLimitEntity.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/MapLimitRequestDtoToLimitEntity.java new file mode 100644 index 0000000000..7f48ece1cf --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/MapLimitRequestDtoToLimitEntity.java @@ -0,0 +1,75 @@ +package org.openecomp.sdcrests.vendorlicense.rest.mapping; + +import org.openecomp.sdc.common.errors.CoreException; +import org.openecomp.sdc.common.errors.ErrorCode; +import org.openecomp.sdc.datatypes.error.ErrorLevel; +import org.openecomp.sdc.logging.context.impl.MdcDataErrorMessage; +import org.openecomp.sdc.logging.types.LoggerConstants; +import org.openecomp.sdc.logging.types.LoggerServiceName; +import org.openecomp.sdc.logging.types.LoggerTragetServiceName; +import org.openecomp.sdc.vendorlicense.dao.types.AggregationFunction; +import org.openecomp.sdc.vendorlicense.dao.types.EntitlementMetric; +import org.openecomp.sdc.vendorlicense.dao.types.EntitlementTime; +import org.openecomp.sdc.vendorlicense.dao.types.LimitEntity; +import org.openecomp.sdc.vendorlicense.errors.LimitErrorBuilder; +import org.openecomp.sdc.vendorlicense.errors.VendorLicenseErrorCodes; +import org.openecomp.sdc.vendorsoftwareproduct.errors.ImageErrorBuilder; +import org.openecomp.sdcrests.mapping.MappingBase; +import org.openecomp.sdcrests.vendorlicense.types.LimitRequestDto; +import org.openecomp.sdc.vendorlicense.dao.types.LimitType; + + +public class MapLimitRequestDtoToLimitEntity extends MappingBase { + @Override + public void doMapping(LimitRequestDto source, LimitEntity target) { + target.setName(source.getName()); + target.setDescription(source.getDescription()); + try { + LimitType type = LimitType.valueOf(source.getType()); + target.setType(type); + } + catch (IllegalArgumentException exception) { + throwInvalidValueError("type", VendorLicenseErrorCodes.LIMIT_INVALID_TYPE); + } + + try { + EntitlementMetric metric = EntitlementMetric.valueOf(source.getMetric()); + target.setMetric(metric); + } + catch (IllegalArgumentException exception) { + throwInvalidValueError("metric", VendorLicenseErrorCodes.LIMIT_INVALID_METRIC); + } + + try { + AggregationFunction function = source.getAggregationFunction() != null ? + AggregationFunction.valueOf(source.getAggregationFunction()) : null; + target.setAggregationFunction(function); + } + catch (IllegalArgumentException exception) { + throwInvalidValueError("aggregationFunction", + VendorLicenseErrorCodes.LIMIT_INVALID_AGGREGATIONFUNCTION); + } + + try { + EntitlementTime time = source.getTime() != null ? + EntitlementTime.valueOf(source.getTime()) : null; + target.setTime(time); + } + catch (IllegalArgumentException exception) { + throwInvalidValueError("time", VendorLicenseErrorCodes.LIMIT_INVALID_TIME); + } + + target.setValue(source.getValue()); + target.setUnit(source.getUnit()); + + } + + private void throwInvalidValueError(String attribute, String vendorLicenseErrorCode) { + ErrorCode errorCode = LimitErrorBuilder.getInvalidValueErrorBuilder(attribute, + vendorLicenseErrorCode); + MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB, + LoggerServiceName.Create_LIMIT.toString(), ErrorLevel.ERROR.name(), + errorCode.id(), errorCode.message() ); + throw new CoreException(errorCode); + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/services/EntitlementPoolLimitsImpl.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/services/EntitlementPoolLimitsImpl.java new file mode 100644 index 0000000000..3a08822048 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/services/EntitlementPoolLimitsImpl.java @@ -0,0 +1,178 @@ +package org.openecomp.sdcrests.vendorlicense.rest.services; + + +import org.openecomp.sdc.logging.context.MdcUtil; +import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage; +import org.openecomp.sdc.logging.types.LoggerServiceName; +import org.openecomp.sdc.vendorlicense.VendorLicenseManager; +import org.openecomp.sdc.vendorlicense.dao.types.EntitlementPoolEntity; +import org.openecomp.sdc.vendorlicense.dao.types.LimitEntity; +import org.openecomp.sdc.versioning.dao.types.Version; +import org.openecomp.sdcrests.vendorlicense.rest.EntitlementPoolLimits; +import org.openecomp.sdcrests.vendorlicense.rest.mapping.LimitCreationDto; +import org.openecomp.sdcrests.vendorlicense.rest.mapping.MapLimitEntityToLimitCreationDto; +import org.openecomp.sdcrests.vendorlicense.rest.mapping.MapLimitEntityToLimitDto; +import org.openecomp.sdcrests.vendorlicense.rest.mapping.MapLimitRequestDtoToLimitEntity; +import org.openecomp.sdcrests.vendorlicense.types.LimitEntityDto; +import org.openecomp.sdcrests.vendorlicense.types.LimitRequestDto; +import org.openecomp.sdcrests.wrappers.GenericCollectionWrapper; +import org.openecomp.sdcrests.wrappers.StringWrapperResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Service; + +import java.util.Collection; +import javax.inject.Named; +import javax.ws.rs.core.Response; + +@Named +@Service("entitlementPoolLimits") +@Scope(value = "prototype") +public class EntitlementPoolLimitsImpl implements EntitlementPoolLimits { + private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage(); + @Autowired + private VendorLicenseManager vendorLicenseManager; + + @Override + public Response createLimit(LimitRequestDto request, + String vlmId, + String versionId, + String entitlementPoolId, + String user) { + mdcDataDebugMessage.debugEntryMessage("VLM id", vlmId, "EP id", entitlementPoolId); + + MdcUtil.initMdc(LoggerServiceName.Create_LIMIT.toString()); + vendorLicenseManager.getEntitlementPool(new EntitlementPoolEntity(vlmId, Version.valueOf + (versionId), entitlementPoolId), user); + + LimitEntity limitEntity = + new MapLimitRequestDtoToLimitEntity() + .applyMapping(request, LimitEntity.class); + limitEntity.setEpLkgId(entitlementPoolId); + limitEntity.setVendorLicenseModelId(vlmId); + + LimitEntity createdLimit = vendorLicenseManager.createLimit(limitEntity, user); + MapLimitEntityToLimitCreationDto mapper = new MapLimitEntityToLimitCreationDto(); + LimitCreationDto createdLimitDto = mapper.applyMapping(createdLimit, LimitCreationDto + .class); + + /*StringWrapperResponse result = + createdLimit != null ? new StringWrapperResponse(createdLimit.getId()) + : null;*/ + + mdcDataDebugMessage.debugExitMessage("VLM id", vlmId, "EP id", entitlementPoolId); + + //return Response.ok(result).build(); + return Response.ok(createdLimitDto != null ? createdLimitDto : null) + .build(); + } + + @Override + public Response listLimits(String vlmId, String versionId, String entitlementPoolId, String + user) { + mdcDataDebugMessage.debugEntryMessage("VLM id", vlmId, "EP id", entitlementPoolId); + + MdcUtil.initMdc(LoggerServiceName.List_EP.toString()); + vendorLicenseManager.getEntitlementPool(new EntitlementPoolEntity(vlmId, Version.valueOf + (versionId), entitlementPoolId), user); + + Collection limits = + vendorLicenseManager.listLimits(vlmId, Version.valueOf(versionId), entitlementPoolId, user); + + GenericCollectionWrapper result = new GenericCollectionWrapper<>(); + MapLimitEntityToLimitDto outputMapper = + new MapLimitEntityToLimitDto(); + for (LimitEntity limit : limits) { + result.add(outputMapper.applyMapping(limit, LimitEntityDto.class)); + } + + mdcDataDebugMessage.debugExitMessage("VLM id", vlmId, "EP id", entitlementPoolId); + + return Response.ok(result).build(); + } + + @Override + public Response getLimit( String vlmId, String versionId, String entitlementPoolId, + String limitId, String user) { + mdcDataDebugMessage.debugEntryMessage("VLM id, EP id, Limit Id", vlmId, entitlementPoolId, + limitId); + + MdcUtil.initMdc(LoggerServiceName.Get_LIMIT.toString()); + + vendorLicenseManager.getEntitlementPool(new EntitlementPoolEntity(vlmId, Version.valueOf + (versionId), entitlementPoolId), user); + LimitEntity epInput = new LimitEntity(); + epInput.setVendorLicenseModelId(vlmId); + epInput.setVersion(Version.valueOf(versionId)); + epInput.setEpLkgId(entitlementPoolId); + epInput.setId(limitId); + LimitEntity limit = vendorLicenseManager.getLimit(epInput, user); + + LimitEntityDto entitlementPoolEntityDto = limit == null ? null : + new MapLimitEntityToLimitDto() + .applyMapping(limit, LimitEntityDto.class); + + mdcDataDebugMessage.debugExitMessage("VLM id, EP id, Limit Id", vlmId, entitlementPoolId, + limitId); + + return Response.ok(entitlementPoolEntityDto).build(); + } + + @Override + public Response updateLimit(LimitRequestDto request, + String vlmId, + String versionId, + String entitlementPoolId, + String limitId, + String user) { + mdcDataDebugMessage.debugEntryMessage("VLM id", vlmId, "EP id", entitlementPoolId, "limit Id", + limitId); + + MdcUtil.initMdc(LoggerServiceName.Update_LIMIT.toString()); + + vendorLicenseManager.getEntitlementPool(new EntitlementPoolEntity(vlmId, Version.valueOf + (versionId), entitlementPoolId), user); + + LimitEntity limitEntity = + new MapLimitRequestDtoToLimitEntity() + .applyMapping(request, LimitEntity.class); + limitEntity.setEpLkgId(entitlementPoolId); + limitEntity.setVendorLicenseModelId(vlmId); + limitEntity.setId(limitId); + + vendorLicenseManager.updateLimit(limitEntity, user); + + mdcDataDebugMessage.debugExitMessage("VLM id", vlmId, "EP id", entitlementPoolId, "limit Id", + limitId); + + return Response.ok().build(); + } + + /** + * Delete entitlement pool. + * + * @param vlmId the vlm id + * @param entitlementPoolId the entitlement pool id + * @param limitId the limitId + * @param user the user + * @return the response + */ + public Response deleteLimit(String vlmId, String versionId, String entitlementPoolId, + String limitId, String user) { + mdcDataDebugMessage.debugEntryMessage("VLM id, Verison Id, EP id, Limit Id", vlmId, versionId, entitlementPoolId, limitId); + + MdcUtil.initMdc(LoggerServiceName.Delete_LIMIT.toString()); + vendorLicenseManager.getEntitlementPool(new EntitlementPoolEntity(vlmId, Version.valueOf + (versionId), entitlementPoolId), user); + + LimitEntity limitInput = new LimitEntity(); + limitInput.setVendorLicenseModelId(vlmId); + limitInput.setEpLkgId(entitlementPoolId); + limitInput.setId(limitId); + vendorLicenseManager.deleteLimit(limitInput, user); + + mdcDataDebugMessage.debugExitMessage("VLM id, Verison Id, EP id, Limit Id", vlmId, versionId, entitlementPoolId, limitId); + + return Response.ok().build(); + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/services/LicenseKeyGroupLimitsImpl.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/services/LicenseKeyGroupLimitsImpl.java new file mode 100644 index 0000000000..aabba71a5c --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/services/LicenseKeyGroupLimitsImpl.java @@ -0,0 +1,179 @@ +package org.openecomp.sdcrests.vendorlicense.rest.services; + +import org.openecomp.sdc.logging.context.MdcUtil; +import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage; +import org.openecomp.sdc.logging.types.LoggerServiceName; +import org.openecomp.sdc.vendorlicense.VendorLicenseManager; +import org.openecomp.sdc.vendorlicense.dao.types.LicenseKeyGroupEntity; +import org.openecomp.sdc.vendorlicense.dao.types.LimitEntity; +import org.openecomp.sdc.versioning.dao.types.Version; +import org.openecomp.sdcrests.vendorlicense.rest.LicenseKeyGroupLimits; +import org.openecomp.sdcrests.vendorlicense.rest.mapping.LimitCreationDto; +import org.openecomp.sdcrests.vendorlicense.rest.mapping.MapLimitEntityToLimitCreationDto; +import org.openecomp.sdcrests.vendorlicense.rest.mapping.MapLimitEntityToLimitDto; +import org.openecomp.sdcrests.vendorlicense.rest.mapping.MapLimitRequestDtoToLimitEntity; +import org.openecomp.sdcrests.vendorlicense.types.LimitEntityDto; +import org.openecomp.sdcrests.vendorlicense.types.LimitRequestDto; +import org.openecomp.sdcrests.wrappers.GenericCollectionWrapper; +import org.openecomp.sdcrests.wrappers.StringWrapperResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Service; + +import java.util.Collection; +import javax.inject.Named; +import javax.ws.rs.core.Response; + +@Named +@Service("licenseKeyGroupLimits") +@Scope(value = "prototype") +public class LicenseKeyGroupLimitsImpl implements LicenseKeyGroupLimits { + + private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage(); + @Autowired + private VendorLicenseManager vendorLicenseManager; + + @Override + public Response createLimit(LimitRequestDto request, + String vlmId, + String versionId, + String licenseKeyGroupId, + String user) { + + mdcDataDebugMessage.debugEntryMessage("VLM id", vlmId, "LKG id", licenseKeyGroupId); + + MdcUtil.initMdc(LoggerServiceName.Create_LIMIT.toString()); + vendorLicenseManager.getLicenseKeyGroup(new LicenseKeyGroupEntity(vlmId, Version.valueOf + (versionId), licenseKeyGroupId), user); + + LimitEntity limitEntity = + new MapLimitRequestDtoToLimitEntity() + .applyMapping(request, LimitEntity.class); + limitEntity.setEpLkgId(licenseKeyGroupId); + limitEntity.setVendorLicenseModelId(vlmId); + + LimitEntity createdLimit = vendorLicenseManager.createLimit(limitEntity, user); + MapLimitEntityToLimitCreationDto mapper = new MapLimitEntityToLimitCreationDto(); + LimitCreationDto createdLimitDto = mapper.applyMapping(createdLimit, LimitCreationDto + .class); + /*StringWrapperResponse result = + createdLimit != null ? new StringWrapperResponse(createdLimit.getId()) + : null;*/ + + mdcDataDebugMessage.debugExitMessage("VLM id", vlmId, "LKG id", licenseKeyGroupId); + + //return Response.ok(result).build(); + return Response.ok(createdLimitDto != null ? createdLimitDto : null) + .build(); + } + + @Override + public Response listLimits(String vlmId, String versionId, String licenseKeyGroupId, String + user) { + mdcDataDebugMessage.debugEntryMessage("VLM id", vlmId, "LKG id", licenseKeyGroupId); + + MdcUtil.initMdc(LoggerServiceName.List_EP.toString()); + vendorLicenseManager.getLicenseKeyGroup(new LicenseKeyGroupEntity(vlmId, Version.valueOf + (versionId), licenseKeyGroupId), user); + + Collection limits = + vendorLicenseManager.listLimits(vlmId, Version.valueOf(versionId), licenseKeyGroupId, user); + + GenericCollectionWrapper result = new GenericCollectionWrapper<>(); + MapLimitEntityToLimitDto outputMapper = + new MapLimitEntityToLimitDto(); + for (LimitEntity limit : limits) { + result.add(outputMapper.applyMapping(limit, LimitEntityDto.class)); + } + + mdcDataDebugMessage.debugExitMessage("VLM id", vlmId, "LKG id", licenseKeyGroupId); + + return Response.ok(result).build(); + } + + @Override + public Response updateLimit(LimitRequestDto request, + String vlmId, + String versionId, + String licenseKeyGroupId, + String limitId, + String user) { + mdcDataDebugMessage.debugEntryMessage("VLM id", vlmId, "LKG id", licenseKeyGroupId, "limit Id", + limitId); + + MdcUtil.initMdc(LoggerServiceName.Update_LIMIT.toString()); + + vendorLicenseManager.getLicenseKeyGroup(new LicenseKeyGroupEntity(vlmId, Version.valueOf + (versionId), licenseKeyGroupId), user); + + LimitEntity limitEntity = + new MapLimitRequestDtoToLimitEntity() + .applyMapping(request, LimitEntity.class); + limitEntity.setEpLkgId(licenseKeyGroupId); + limitEntity.setVendorLicenseModelId(vlmId); + limitEntity.setId(limitId); + + vendorLicenseManager.updateLimit(limitEntity, user); + + mdcDataDebugMessage.debugExitMessage("VLM id", vlmId, "LKG id", licenseKeyGroupId, "limit Id", + limitId); + + return Response.ok().build(); + } + + /** + * Delete License Key Group. + * + * @param vlmId the vlm id + * @param licenseKeyGroupId the license Key Group id + * @param limitId the limitId + * @param user the user + * @return the response + */ + public Response deleteLimit(String vlmId, String versionId, String licenseKeyGroupId, + String limitId, String user) { + mdcDataDebugMessage.debugEntryMessage("VLM id, Verison Id, LKG id, Limit Id", vlmId, versionId, + licenseKeyGroupId, limitId); + + MdcUtil.initMdc(LoggerServiceName.Delete_LIMIT.toString()); + vendorLicenseManager.getLicenseKeyGroup(new LicenseKeyGroupEntity(vlmId, Version.valueOf + (versionId), licenseKeyGroupId), user); + + LimitEntity limitInput = new LimitEntity(); + limitInput.setVendorLicenseModelId(vlmId); + limitInput.setEpLkgId(licenseKeyGroupId); + limitInput.setId(limitId); + vendorLicenseManager.deleteLimit(limitInput, user); + + mdcDataDebugMessage.debugExitMessage("VLM id, Verison Id, LKG id, Limit Id", vlmId, versionId, + licenseKeyGroupId, limitId); + + return Response.ok().build(); + } + + @Override + public Response getLimit( String vlmId, String versionId, String licenseKeyGroupId, + String limitId, String user) { + mdcDataDebugMessage.debugEntryMessage("VLM id, LKG id, Limit Id", vlmId, licenseKeyGroupId, + limitId); + + MdcUtil.initMdc(LoggerServiceName.Get_LIMIT.toString()); + vendorLicenseManager.getLicenseKeyGroup(new LicenseKeyGroupEntity(vlmId, Version.valueOf + (versionId), licenseKeyGroupId), user); + LimitEntity epInput = new LimitEntity(); + epInput.setVendorLicenseModelId(vlmId); + epInput.setVersion(Version.valueOf(versionId)); + epInput.setEpLkgId(licenseKeyGroupId); + epInput.setId(limitId); + LimitEntity limit = vendorLicenseManager.getLimit(epInput, user); + + LimitEntityDto entitlementPoolEntityDto = limit == null ? null : + new MapLimitEntityToLimitDto() + .applyMapping(limit, LimitEntityDto.class); + + mdcDataDebugMessage.debugExitMessage("VLM id, LKG id, Limit Id", vlmId, licenseKeyGroupId, + limitId); + + return Response.ok(entitlementPoolEntityDto).build(); + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/pom.xml.versionsBackup b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/pom.xml.versionsBackup new file mode 100644 index 0000000000..d24c315f39 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/pom.xml.versionsBackup @@ -0,0 +1,29 @@ + + 4.0.0 + + vendor-license-rest-types + vendor-license-rest-types + 1.0-SNAPSHOT + + + org.openecomp.sdc.onboarding + vendor-license-rest + 1.0-SNAPSHOT + ../ + + + + + org.openecomp.sdc + openecomp-sdc-common-rest + ${project.version} + + + org.openecomp.sdc + openecomp-sdc-vendor-license-manager + ${project.version} + + + + \ No newline at end of file diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/src/main/java/org/openecomp/sdcrests/vendorlicense/types/EntitlementPoolRequestDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/src/main/java/org/openecomp/sdcrests/vendorlicense/types/EntitlementPoolRequestDto.java index b70504e20e..b49a138a09 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/src/main/java/org/openecomp/sdcrests/vendorlicense/types/EntitlementPoolRequestDto.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/src/main/java/org/openecomp/sdcrests/vendorlicense/types/EntitlementPoolRequestDto.java @@ -21,6 +21,7 @@ package org.openecomp.sdcrests.vendorlicense.types; import io.swagger.annotations.ApiModel; +import org.codehaus.jackson.annotate.JsonIgnoreProperties; import org.openecomp.sdc.vendorlicense.dao.types.AggregationFunction; import org.openecomp.sdc.vendorlicense.dao.types.EntitlementMetric; import org.openecomp.sdc.vendorlicense.dao.types.EntitlementTime; @@ -32,17 +33,18 @@ import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; @ApiModel(value = "EntitlementPoolRequest") +//@JsonIgnoreProperties(value = {"manufacturerReferenceNumber"}) public class EntitlementPoolRequestDto { @NotNull @Size(max = 120) private String name; - @NotNull + @Size(max = 1000) private String description; - @NotNull - private int thresholdValue; - @NotNull + + private Integer thresholdValue; + private ThresholdUnit thresholdUnits; @NotNull @Valid @@ -52,7 +54,7 @@ public class EntitlementPoolRequestDto { @NotNull @Valid private ChoiceOrOtherDto aggregationFunction; - @NotNull + @Valid private MultiChoiceOrOtherDto operationalScope; @NotNull @@ -62,6 +64,9 @@ public class EntitlementPoolRequestDto { @Size(max = 100) private String manufacturerReferenceNumber; + private String startDate; + private String expiryDate; + public String getName() { return name; } @@ -78,11 +83,11 @@ public class EntitlementPoolRequestDto { this.description = description; } - public int getThresholdValue() { + public Integer getThresholdValue() { return thresholdValue; } - public void setThresholdValue(int thresholdValue) { + public void setThresholdValue(Integer thresholdValue) { this.thresholdValue = thresholdValue; } @@ -141,4 +146,20 @@ public class EntitlementPoolRequestDto { public void setManufacturerReferenceNumber(String manufacturerReferenceNumber) { this.manufacturerReferenceNumber = manufacturerReferenceNumber; } + + public String getStartDate() { + return startDate; + } + + public void setStartDate(String startDate) { + this.startDate = startDate; + } + + public String getExpiryDate() { + return expiryDate; + } + + public void setExpiryDate(String expiryDate) { + this.expiryDate = expiryDate; + } } diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/src/main/java/org/openecomp/sdcrests/vendorlicense/types/FeatureGroupDescriptorDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/src/main/java/org/openecomp/sdcrests/vendorlicense/types/FeatureGroupDescriptorDto.java index 5c1f8f2cfc..f2d0d651ef 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/src/main/java/org/openecomp/sdcrests/vendorlicense/types/FeatureGroupDescriptorDto.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/src/main/java/org/openecomp/sdcrests/vendorlicense/types/FeatureGroupDescriptorDto.java @@ -20,6 +20,8 @@ package org.openecomp.sdcrests.vendorlicense.types; +import org.hibernate.validator.constraints.NotBlank; + import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; @@ -27,12 +29,16 @@ public class FeatureGroupDescriptorDto { @NotNull @Size(max = 120) private String name; - @NotNull + @Size(max = 1000) private String description; @NotNull private String partNumber; + //@NotBlank(message = "is mandatory and should not be empty") + @Size(max = 100) + private String manufacturerReferenceNumber; + public String getName() { return name; } @@ -56,4 +62,12 @@ public class FeatureGroupDescriptorDto { public void setPartNumber(String partNumber) { this.partNumber = partNumber; } + + public String getManufacturerReferenceNumber() { + return manufacturerReferenceNumber; + } + + public void setManufacturerReferenceNumber(String manufacturerReferenceNumber) { + this.manufacturerReferenceNumber = manufacturerReferenceNumber; + } } diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/src/main/java/org/openecomp/sdcrests/vendorlicense/types/LicenseAgreementDescriptorDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/src/main/java/org/openecomp/sdcrests/vendorlicense/types/LicenseAgreementDescriptorDto.java index acfc130ed1..4239488124 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/src/main/java/org/openecomp/sdcrests/vendorlicense/types/LicenseAgreementDescriptorDto.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/src/main/java/org/openecomp/sdcrests/vendorlicense/types/LicenseAgreementDescriptorDto.java @@ -31,7 +31,7 @@ public class LicenseAgreementDescriptorDto { @NotNull @Size(max = 120) private String name; - @NotNull + @Size(max = 1000) private String description; @NotNull diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/src/main/java/org/openecomp/sdcrests/vendorlicense/types/LicenseKeyGroupRequestDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/src/main/java/org/openecomp/sdcrests/vendorlicense/types/LicenseKeyGroupRequestDto.java index 0df2e3251f..a9072f5e94 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/src/main/java/org/openecomp/sdcrests/vendorlicense/types/LicenseKeyGroupRequestDto.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/src/main/java/org/openecomp/sdcrests/vendorlicense/types/LicenseKeyGroupRequestDto.java @@ -31,12 +31,11 @@ public class LicenseKeyGroupRequestDto { @NotNull @Size(max = 120) private String name; - @NotNull @Size(max = 1000) private String description; @NotNull private LicenseKeyType type; - @NotNull + @Valid private MultiChoiceOrOtherDto operationalScope; diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/src/main/java/org/openecomp/sdcrests/vendorlicense/types/LimitEntityDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/src/main/java/org/openecomp/sdcrests/vendorlicense/types/LimitEntityDto.java new file mode 100644 index 0000000000..0cc18949d8 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/src/main/java/org/openecomp/sdcrests/vendorlicense/types/LimitEntityDto.java @@ -0,0 +1,86 @@ +package org.openecomp.sdcrests.vendorlicense.types; + +public class LimitEntityDto { + + private String id; + private String name; + private String type; + private String description; + private String metric; + private Integer value; + private Integer unit; + private String aggregationFunction; + private String time; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getMetric() { + return metric; + } + + public void setMetric(String metric) { + this.metric = metric; + } + + public Integer getUnit() { + return unit; + } + + public void setUnit(Integer unit) { + this.unit = unit; + } + + public String getAggregationFunction() { + return aggregationFunction; + } + + public void setAggregationFunction(String aggregationFunction) { + this.aggregationFunction = aggregationFunction; + } + + public String getTime() { + return time; + } + + public void setTime(String time) { + this.time = time; + } + + public Integer getValue() { + return value; + } + + public void setValue(Integer value) { + this.value = value; + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/src/main/java/org/openecomp/sdcrests/vendorlicense/types/LimitRequestDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/src/main/java/org/openecomp/sdcrests/vendorlicense/types/LimitRequestDto.java new file mode 100644 index 0000000000..61f30916f8 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/src/main/java/org/openecomp/sdcrests/vendorlicense/types/LimitRequestDto.java @@ -0,0 +1,96 @@ +package org.openecomp.sdcrests.vendorlicense.types; + +import io.swagger.annotations.ApiModel; +import org.hibernate.validator.constraints.NotBlank; +import org.openecomp.sdc.vendorlicense.dao.types.LimitType; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; + +@ApiModel(value = "LimitRequest") +public class LimitRequestDto { + + @NotBlank(message = "is mandatory and should not be empty") + @Size(max = 120, message = "length should not exceed 120 characters.") + private String name; + @NotBlank(message = "is mandatory and should not be empty") + private String type; + @Size(max = 1000, message = "length should not exceed 1000 characters.") + private String description; + @NotBlank(message = "is mandatory and should not be empty") + private String metric; + @NotNull(message = "is mandatory and should not be empty") + @Min(value = 1, message = "should be integer and > 0") + private Integer value; + @Min(value = 1, message = "should be integer and > 0") + private Integer unit; + private String aggregationFunction; + private String time; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getMetric() { + return metric; + } + + public void setMetric(String metric) { + this.metric = metric; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getAggregationFunction() { + return aggregationFunction; + } + + public void setAggregationFunction( + String aggregationFunction) { + this.aggregationFunction = aggregationFunction; + } + + public String getTime() { + return time; + } + + public void setTime(String time) { + this.time = time; + } + + public Integer getUnit() { + return unit; + } + + public void setUnit(Integer unit) { + this.unit = unit; + } + + public Integer getValue() { + return value; + } + + public void setValue(Integer value) { + this.value = value; + } + +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/pom.xml.versionsBackup b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/pom.xml.versionsBackup new file mode 100644 index 0000000000..074c8d9e10 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/pom.xml.versionsBackup @@ -0,0 +1,21 @@ + + + 4.0.0 + org.openecomp.sdc.onboarding + vendor-software-products-rest + vendor-software-products-rest + 1.0-SNAPSHOT + pom + + + org.openecomp.sdc + openecomp-sdc-rest-webapp + 1.0-SNAPSHOT + + + /vendor-software-products-rest-services + /vendor-software-products-rest-types + + \ No newline at end of file diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/pom.xml.versionsBackup b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/pom.xml.versionsBackup new file mode 100644 index 0000000000..ba2814613e --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/pom.xml.versionsBackup @@ -0,0 +1,153 @@ + + + 4.0.0 + + vendor-software-products-rest-services + + org.openecomp.sdc.onboarding + vendor-software-products-rest + 1.0-SNAPSHOT + + + + + org.springframework + spring-core + ${spring.framework.version} + + + org.springframework + spring-context + ${spring.framework.version} + + + org.springframework + spring-context-support + ${spring.framework.version} + + + org.springframework + spring-web + ${spring.framework.version} + + + org.springframework + spring-beans + ${spring.framework.version} + + + + + org.apache.cxf + cxf-rt-frontend-jaxrs + ${cxf.version} + + + org.apache.httpcomponents + httpclient + ${http.client.version} + + + + javax.ws.rs + javax.ws.rs-api + ${ws.rs.version} + + + + + + + + javax.inject + javax.inject + ${javax.inject.version} + provided + + + javax.ws.rs + javax.ws.rs-api + ${ws.rs.version} + + + com.sun.jersey + jersey-core + 1.19.1 + + + javax.ws.rs + jsr311-api + + + + + io.swagger + swagger-annotations + 1.5.3 + + + org.openecomp.sdc.onboarding + vendor-software-products-rest-types + ${project.version} + + + com.fasterxml.jackson.core + jackson-annotations + 2.7.4 + + + com.fasterxml.jackson.dataformat + jackson-dataformat-xml + 2.7.4 + + + org.codehaus.woodstox + woodstox-core-asl + 4.4.1 + + + + org.openecomp.sdc + openecomp-sdc-vendor-software-product-manager + ${project.version} + + + + com.sun.jersey.contribs + jersey-multipart + 1.18.1 + provided + + + + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + + test/core/unittest/offline/** + + true + + + + + + + + \ No newline at end of file diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/ComponentMonitoringForSwaggerFileUpload.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/ComponentMonitoringForSwaggerFileUpload.java new file mode 100644 index 0000000000..e7e8ba1b50 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/ComponentMonitoringForSwaggerFileUpload.java @@ -0,0 +1,65 @@ +///*- +// * ============LICENSE_START======================================================= +// * SDC +// * ================================================================================ +// * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. +// * ================================================================================ +// * Licensed under the Apache License, Version 2.0 (the "License"); +// * you may not use this file except in compliance with the License. +// * You may obtain a copy of the License at +// * +// * http://www.apache.org/licenses/LICENSE-2.0 +// * +// * Unless required by applicable law or agreed to in writing, software +// * distributed under the License is distributed on an "AS IS" BASIS, +// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// * See the License for the specific language governing permissions and +// * limitations under the License. +// * ============LICENSE_END========================================================= +// */ +// +//package org.openecomp.sdcrests.vsp.rest; +// +//import io.swagger.annotations.Api; +//import io.swagger.annotations.ApiOperation; +//import io.swagger.annotations.ApiParam; +//import org.apache.cxf.jaxrs.ext.multipart.Attachment; +//import org.apache.cxf.jaxrs.ext.multipart.Multipart; +//import org.springframework.validation.annotation.Validated; +// +//import javax.validation.constraints.NotNull; +//import javax.ws.rs.Consumes; +//import javax.ws.rs.HeaderParam; +//import javax.ws.rs.Path; +//import javax.ws.rs.PathParam; +//import javax.ws.rs.Produces; +//import javax.ws.rs.core.MediaType; +//import javax.ws.rs.core.Response; +// +//import static org.openecomp.sdcrests.common.RestConstants.USER_ID_HEADER_PARAM; +//import static org.openecomp.sdcrests.common.RestConstants.USER_MISSING_ERROR_MSG; +// +//@Path("/v1.0/vendor-software-products") +//@Produces(MediaType.APPLICATION_JSON) +//@Consumes(MediaType.APPLICATION_JSON) +//@Api(value = "Vendor Software Products") +//@Validated +//public interface ComponentMonitoringForSwaggerFileUpload { +// +// +// +// @Path("/{vspId}/versions/{versionId}/components/{componentId}/uploads/type{type}") +// @Consumes(MediaType.MULTIPART_FORM_DATA) +// @ApiOperation(value = "Upload file for component by type") +// Response upload(@Multipart("upload") Attachment attachment, +// @ApiParam(value = "Vendor software product Id") @PathParam("vspId") +// String vspId, +// @ApiParam(value = "Vendor software product version Id") +// @PathParam("versionId") String versionId, +// @ApiParam(value = "Component Id") @PathParam("componentId") String +// componentId, +// @ApiParam(value = "Upload Type") @PathParam("type") String type, +// @NotNull(message = USER_MISSING_ERROR_MSG) +// @HeaderParam(USER_ID_HEADER_PARAM) String user) throws Exception; +// +// } diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/ComponentMonitoringUploads.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/ComponentMonitoringUploads.java new file mode 100644 index 0000000000..c8c29b668f --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/ComponentMonitoringUploads.java @@ -0,0 +1,91 @@ +/*- + * ============LICENSE_START======================================================= + * SDC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.sdcrests.vsp.rest; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.apache.cxf.jaxrs.ext.multipart.Attachment; +import org.apache.cxf.jaxrs.ext.multipart.Multipart; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.MonitoringUploadStatusDto; +import org.springframework.validation.annotation.Validated; + +import javax.validation.constraints.NotNull; +import javax.ws.rs.Consumes; +import javax.ws.rs.DELETE; +import javax.ws.rs.GET; +import javax.ws.rs.HeaderParam; +import javax.ws.rs.POST; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; + +import static org.openecomp.sdcrests.common.RestConstants.USER_ID_HEADER_PARAM; +import static org.openecomp.sdcrests.common.RestConstants.USER_MISSING_ERROR_MSG; + +@Path( + "/v1.0/vendor-software-products/{vspId}/versions/{versionId}/components/{componentId}/uploads/") +@Produces(MediaType.APPLICATION_JSON) +@Consumes(MediaType.APPLICATION_JSON) +@Api(value = "Vendor Software Product Component Uploads") +@Validated +public interface ComponentMonitoringUploads extends VspEntities { + @POST + @Path("types/{type}/") + @Consumes(MediaType.MULTIPART_FORM_DATA) + @ApiOperation(value = "Upload file for component by type") + Response upload(@Multipart("upload") Attachment attachment, + @ApiParam(value = "Vendor software product Id") @PathParam("vspId") + String vspId, + @ApiParam(value = "Vendor software product version Id") + @PathParam("versionId") String versionId, + @ApiParam(value = "Component Id") @PathParam("componentId") String + componentId, + @ApiParam(value = "Upload Type") @PathParam("type") String type, + @NotNull(message = USER_MISSING_ERROR_MSG) + @HeaderParam(USER_ID_HEADER_PARAM) String user) throws Exception; + + @DELETE + @Path("types/{type}") + @ApiOperation(value = "Delete file uploaded for component") + Response delete( + @ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, + @ApiParam(value = "Vendor software product version Id") @PathParam("versionId") + String versionId, + @ApiParam(value = "Component Id") @PathParam("componentId") String componentId, + @ApiParam(value = "Upload Type") @PathParam("type") String type, + @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) String user) + throws Exception; + + @GET + @Path("") + @ApiOperation(value = "Get the filenames of uploaded files by type", + response = MonitoringUploadStatusDto.class) + Response list(@ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, + @ApiParam(value = "Vendor software product version Id") @PathParam("versionId") + String versionId, + @ApiParam(value = "Vendor software product component Id") @PathParam("componentId") + String componentId, + @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) + String user); +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/ComponentUploads.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/ComponentUploads.java index 313ae24e95..9c327f5718 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/ComponentUploads.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/ComponentUploads.java @@ -1,108 +1,108 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdcrests.vsp.rest; - -import static org.openecomp.sdcrests.common.RestConstants.USER_ID_HEADER_PARAM; -import static org.openecomp.sdcrests.common.RestConstants.USER_MISSING_ERROR_MSG; - -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import org.apache.cxf.jaxrs.ext.multipart.Attachment; -import org.apache.cxf.jaxrs.ext.multipart.Multipart; -import org.openecomp.sdcrests.vendorsoftwareproducts.types.MibUploadStatusDto; -import org.springframework.validation.annotation.Validated; - -import javax.validation.constraints.NotNull; -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.HeaderParam; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; - -@Path("/v1.0/vendor-software-products/{vspId}/versions/{versionId}/components/{componentId}/monitors") -@Produces(MediaType.APPLICATION_JSON) -@Consumes(MediaType.APPLICATION_JSON) -@Api(value = "Vendor Software Product Component MIB Uploads") -@Validated -public interface ComponentUploads extends VspEntities { - @POST - @Path("/snmp-trap/upload") - @Consumes(MediaType.MULTIPART_FORM_DATA) - @ApiOperation(value = "Upload vendor software product MIB SNMP_TRAP Definitions file") - Response uploadTrapMibFile(@Multipart("upload") Attachment attachment, - @ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, - @ApiParam(value = "Vendor software product version Id") @PathParam("versionId") String versionId, - @ApiParam(value = "Component Id") @PathParam("componentId") String - componentId, - @NotNull(message = USER_MISSING_ERROR_MSG) - @HeaderParam(USER_ID_HEADER_PARAM) String user); - - @DELETE - @Path("/snmp-trap") - @ApiOperation(value = "Delete vendor software product MIB SNMP_TRAP Definitions file") - Response deleteTrapMibFile( - @ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, - @ApiParam(value = "Vendor software product version Id") @PathParam("versionId") String versionId, - @ApiParam(value = "Component Id") @PathParam("componentId") String componentId, - @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) String user); - - @POST - @Path("/snmp/upload") - @Consumes(MediaType.MULTIPART_FORM_DATA) - @ApiOperation(value = "Upload vendor software product MIB SNMP_POLL Definitions file") - Response uploadPollMibFile(@Multipart("upload") Attachment attachment, - @ApiParam(value = "Vendor software product Id") @PathParam("vspId") - String vspId, - @ApiParam(value = "Vendor software product version Id") @PathParam("versionId") String versionId, - @ApiParam(value = "Vendor software product component Id") - @PathParam("componentId") String componentId, - @NotNull(message = USER_MISSING_ERROR_MSG) - @HeaderParam(USER_ID_HEADER_PARAM) String user); - - @DELETE - @Path("/snmp") - @ApiOperation(value = "Delete vendor software product MIB SNMP_POLL Definitions file") - Response deletePollMibFile( - @ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, - @ApiParam(value = "Vendor software product version Id") @PathParam("versionId") String versionId, - @ApiParam(value = "Vendor software product component Id") @PathParam("componentId") - String componentId, - @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) String user); - - - // TODO: 2/27/2017 add version - @GET - @Path("/snmp/") - @ApiOperation(value = "Get the filenames of uploaded MIB definitions", - response = MibUploadStatusDto.class) - Response list(@ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, - @ApiParam(value = "Vendor software product version Id") @PathParam("versionId") String versionId, - @ApiParam(value = "Vendor software product component Id") @PathParam("componentId") - String componentId, - @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) - String user); -} +///*- +// * ============LICENSE_START======================================================= +// * SDC +// * ================================================================================ +// * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. +// * ================================================================================ +// * Licensed under the Apache License, Version 2.0 (the "License"); +// * you may not use this file except in compliance with the License. +// * You may obtain a copy of the License at +// * +// * http://www.apache.org/licenses/LICENSE-2.0 +// * +// * Unless required by applicable law or agreed to in writing, software +// * distributed under the License is distributed on an "AS IS" BASIS, +// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// * See the License for the specific language governing permissions and +// * limitations under the License. +// * ============LICENSE_END========================================================= +// */ +// +//package org.openecomp.sdcrests.vsp.rest; +// +//import io.swagger.annotations.Api; +//import io.swagger.annotations.ApiOperation; +//import io.swagger.annotations.ApiParam; +//import org.apache.cxf.jaxrs.ext.multipart.Attachment; +//import org.apache.cxf.jaxrs.ext.multipart.Multipart; +//import org.openecomp.sdcrests.vendorsoftwareproducts.types.MonitoringUploadStatusDto; +//import org.springframework.validation.annotation.Validated; +// +//import javax.validation.constraints.NotNull; +//import javax.ws.rs.Consumes; +//import javax.ws.rs.DELETE; +//import javax.ws.rs.GET; +//import javax.ws.rs.HeaderParam; +//import javax.ws.rs.POST; +//import javax.ws.rs.Path; +//import javax.ws.rs.PathParam; +//import javax.ws.rs.Produces; +//import javax.ws.rs.core.MediaType; +//import javax.ws.rs.core.Response; +// +//import static org.openecomp.sdcrests.common.RestConstants.USER_ID_HEADER_PARAM; +//import static org.openecomp.sdcrests.common.RestConstants.USER_MISSING_ERROR_MSG; +// +//@Path("/v1.0/vendor-software-products/{vspId}/versions/{versionId}/components/{componentId}/monitors") +//@Produces(MediaType.APPLICATION_JSON) +//@Consumes(MediaType.APPLICATION_JSON) +//@Api(value = "Vendor Software Product Component MIB Uploads") +//@Validated +//public interface ComponentUploads extends VspEntities { +// @POST +// @Path("/snmp-trap/upload") +// @Consumes(MediaType.MULTIPART_FORM_DATA) +// @ApiOperation(value = "Upload vendor software product MIB SNMP_TRAP Definitions file") +// Response uploadTrapMibFile(@Multipart("upload") Attachment attachment, +// @ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, +// @ApiParam(value = "Vendor software product version Id") @PathParam("versionId") String versionId, +// @ApiParam(value = "Component Id") @PathParam("componentId") String +// componentId, +// @NotNull(message = USER_MISSING_ERROR_MSG) +// @HeaderParam(USER_ID_HEADER_PARAM) String user); +// +// @DELETE +// @Path("/snmp-trap") +// @ApiOperation(value = "Delete vendor software product MIB SNMP_TRAP Definitions file") +// Response deleteTrapMibFile( +// @ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, +// @ApiParam(value = "Vendor software product version Id") @PathParam("versionId") String versionId, +// @ApiParam(value = "Component Id") @PathParam("componentId") String componentId, +// @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) String user); +// +// @POST +// @Path("/snmp/upload") +// @Consumes(MediaType.MULTIPART_FORM_DATA) +// @ApiOperation(value = "Upload vendor software product MIB SNMP_POLL Definitions file") +// Response uploadPollMibFile(@Multipart("upload") Attachment attachment, +// @ApiParam(value = "Vendor software product Id") @PathParam("vspId") +// String vspId, +// @ApiParam(value = "Vendor software product version Id") @PathParam("versionId") String versionId, +// @ApiParam(value = "Vendor software product component Id") +// @PathParam("componentId") String componentId, +// @NotNull(message = USER_MISSING_ERROR_MSG) +// @HeaderParam(USER_ID_HEADER_PARAM) String user); +// +// @DELETE +// @Path("/snmp") +// @ApiOperation(value = "Delete vendor software product MIB SNMP_POLL Definitions file") +// Response deletePollMibFile( +// @ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, +// @ApiParam(value = "Vendor software product version Id") @PathParam("versionId") String versionId, +// @ApiParam(value = "Vendor software product component Id") @PathParam("componentId") +// String componentId, +// @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) String user); +// +// +// // TODO: 2/27/2017 add version +// @GET +// @Path("/snmp/") +// @ApiOperation(value = "Get the filenames of uploaded MIB definitions", +// response = MonitoringUploadStatusDto.class) +// Response list(@ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, +// @ApiParam(value = "Vendor software product version Id") @PathParam("versionId") String versionId, +// @ApiParam(value = "Vendor software product component Id") @PathParam("componentId") +// String componentId, +// @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) +// String user); +//} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/Compute.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/Compute.java new file mode 100644 index 0000000000..13d9a049c8 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/Compute.java @@ -0,0 +1,131 @@ +package org.openecomp.sdcrests.vsp.rest; + +import static org.openecomp.sdcrests.common.RestConstants.USER_ID_HEADER_PARAM; +import static org.openecomp.sdcrests.common.RestConstants.USER_MISSING_ERROR_MSG; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.openecomp.sdc.versioning.dao.types.Version; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComputeDetailsDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComputeDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.QuestionnaireResponseDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.validation.IsValidJson; +import org.springframework.validation.annotation.Validated; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Pattern; +import javax.ws.rs.Consumes; +import javax.ws.rs.DELETE; +import javax.ws.rs.GET; +import javax.ws.rs.HeaderParam; +import javax.ws.rs.POST; +import javax.ws.rs.PUT; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; +import javax.ws.rs.QueryParam; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; + +@Path("/v1.0/vendor-software-products/{vspId}/versions/{versionId}/components/{componentId" + + "}/compute-flavors") +@Produces(MediaType.APPLICATION_JSON) +@Consumes(MediaType.APPLICATION_JSON) +@Api(value = "Vendor Software Product Component Compute-flavors") +@Validated +public interface Compute extends VspEntities { + + @GET + @Path("/") + @ApiOperation(value = "Get list of vendor software product component compute-flavors", + response = ComputeDto.class, + responseContainer = "List") + Response list(@ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, + @ApiParam(value = "Version Id") @PathParam("versionId") String versionId, + @ApiParam(value = "Vendor software product component Id") @PathParam("componentId") + String componentId, + @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) + String user); + + @GET + @Path("/{computeFlavorId}") + @ApiOperation(value = "Get vendor software product component compute-flavor", + response = ComputeDetailsDto.class, + responseContainer = "CompositionEntityResponse") + Response get(@ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, + @ApiParam(value = "Version Id") @PathParam("versionId") String versionId, + @ApiParam(value = "Vendor software product component Id") @PathParam("componentId") + String componentId, + @ApiParam(value = "Vendor software product compute-flavor Id") @PathParam + ("computeFlavorId") + String computeId, + @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) + String user); + + @POST + @Path("/") + @ApiOperation(value = "Create a vendor software product component compute-flavor") + Response create(@Valid ComputeDetailsDto request, + @ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, + @ApiParam(value = "Version Id") @PathParam("versionId") String versionId, + @ApiParam(value = "Vendor software product component Id") + @PathParam("componentId") String componentId, + @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) + String user); + + @PUT + @Path("/{computeFlavorId}") + @ApiOperation(value = "Update vendor software product component compute-flavor") + Response update(@Valid ComputeDetailsDto request, + @ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, + @ApiParam(value = "Version Id") @PathParam("versionId") String versionId, + @ApiParam(value = "Vendor software product component Id") + @PathParam("componentId") String componentId, + @ApiParam(value = "Vendor software product compute-flavor Id") @PathParam + ("computeFlavorId") + String computeFlavorId, + @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) + String user); + + @PUT + @Path("/{computeFlavorId}/questionnaire") + @ApiOperation(value = "Update vendor software product component compute-flavor questionnaire") + Response updateQuestionnaire(@NotNull @IsValidJson String questionnaireData, + @ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, + @ApiParam(value = "Version Id") @PathParam("versionId") String versionId, + @ApiParam(value = "Vendor software product component Id") + @PathParam("componentId") String componentId, + @ApiParam(value = "Vendor software product compute-flavor Id") @PathParam + ("computeFlavorId") + String computeFlavorId, + @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) + String user); + + @DELETE + @Path("/{computeFlavorId}") + @ApiOperation(value = "Delete vendor software product component compute-flavor") + Response delete(@ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, + @ApiParam(value = "Version Id") @PathParam("versionId") String versionId, + @ApiParam(value = "Vendor software product component Id") + @PathParam("componentId") String componentId, + @ApiParam(value = "Vendor software product compute-flavor Id") @PathParam + ("computeFlavorId") + String computeFlavorId, + @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) + String user); + + @GET + @Path("/{computeFlavorId}/questionnaire") + @ApiOperation(value = "Get vendor software product component compute-flavor questionnaire", + response = QuestionnaireResponseDto.class) + Response getQuestionnaire( + @ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, + @ApiParam(value = "Version Id") @PathParam("versionId") String versionId, + @ApiParam(value = "Vendor software product component Id") @PathParam("componentId") + String componentId, + @ApiParam(value = "Vendor software product compute-flavor Id") @PathParam + ("computeFlavorId") String computeId, + @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) String user); +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/DeploymentFlavors.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/DeploymentFlavors.java new file mode 100644 index 0000000000..581b15199c --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/DeploymentFlavors.java @@ -0,0 +1,88 @@ +package org.openecomp.sdcrests.vsp.rest; + +import static org.openecomp.sdcrests.common.RestConstants.USER_ID_HEADER_PARAM; +import static org.openecomp.sdcrests.common.RestConstants.USER_MISSING_ERROR_MSG; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.openecomp.sdc.versioning.dao.types.Version; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.DeploymentFlavorDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.DeploymentFlavorListResponseDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.DeploymentFlavorRequestDto; +import org.springframework.validation.annotation.Validated; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Pattern; +import javax.ws.rs.*; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; + + +@Path("/v1.0/vendor-software-products/{vspId}/versions/{versionId}/deployment-flavors") +@Produces(MediaType.APPLICATION_JSON) +@Consumes(MediaType.APPLICATION_JSON) +@Api(value = "Vendor Software Product deployment-flavors") +@Validated +public interface DeploymentFlavors extends VspEntities { + + @POST + @Path("/") + @ApiOperation(value = "Create a vendor software product Deployment Flavor") + Response create(@Valid DeploymentFlavorRequestDto request, + @ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, + @ApiParam(value = "Version Id") @PathParam("versionId") String versionId, + @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) + String user); + + @GET + @Path("/") + @ApiOperation(value = "List vendor software product Deployment Flavor", + response = DeploymentFlavorListResponseDto.class, + responseContainer = "List") + Response list(@ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, + @ApiParam(value = "Version Id") @PathParam("versionId") String versionId, + @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) + String user); + + @GET + @Path("/{deploymentFlavorId}") + @ApiOperation(value = "Get vendor software product Deployment Flavor", + response = DeploymentFlavorDto.class) + Response get(@ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, + @ApiParam(value = "Version Id") @PathParam("versionId") String versionId, + @ApiParam(value = "Vendor software product Deployment Flavor Id") @PathParam + ("deploymentFlavorId") String deploymentFlavorId, + @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) + String user); + + @GET + @Path("/schema") + Response getSchema(@ApiParam(value = "Vendor software product Id") @PathParam("vspId") String + vspId, + @PathParam("versionId") String versionId, + @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) + String user); + + @DELETE + @Path("/{deploymentFlavorId}") + @ApiOperation(value = "Delete vendor software product Deployment Flavor") + Response delete(@ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, + @ApiParam(value = "Version Id") @PathParam("versionId") String versionId, + @ApiParam(value = "Vendor software product Deployment Flavor Id") + @PathParam("deploymentFlavorId") String deploymentFlavorId, + @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) + String user); + + @PUT + @Path("/{deploymentFlavorId}") + @ApiOperation(value = "Update vendor software product Deployment Flavor") + Response update(@Valid DeploymentFlavorRequestDto request, + @ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, + @ApiParam(value = "Version Id") @PathParam("versionId") String versionId, + @ApiParam(value = "Vendor software product Deployment Flavor Id") + @PathParam("deploymentFlavorId") String deploymentFlavorId, + @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) + String user); +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/Images.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/Images.java new file mode 100644 index 0000000000..8939faa13f --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/Images.java @@ -0,0 +1,159 @@ +package org.openecomp.sdcrests.vsp.rest; + +import static org.openecomp.sdcrests.common.RestConstants.USER_ID_HEADER_PARAM; +import static org.openecomp.sdcrests.common.RestConstants.USER_MISSING_ERROR_MSG; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.openecomp.sdc.vendorsoftwareproduct.types.CompositionEntityResponse; +import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ImageData; +import org.openecomp.sdc.versioning.dao.types.Version; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.ImageDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.ImageRequestDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.QuestionnaireResponseDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.validation.IsValidJson; +import org.springframework.validation.annotation.Validated; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Pattern; +import javax.ws.rs.Consumes; +import javax.ws.rs.DELETE; +import javax.ws.rs.GET; +import javax.ws.rs.HeaderParam; +import javax.ws.rs.POST; +import javax.ws.rs.PUT; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; +import javax.ws.rs.QueryParam; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; + +@Path("/v1.0/vendor-software-products/{vspId}/versions/{versionId}/components/{componentId}/images") +@Produces(MediaType.APPLICATION_JSON) +@Consumes(MediaType.APPLICATION_JSON) +@Api(value = "Vendor Software Product Images") +@Validated +public interface Images extends VspEntities { + + @GET + @Path("/") + @ApiOperation(value = "List vendor software product component images", + response = ImageDto.class, + responseContainer = "List") + Response list(@ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, + @ApiParam(value = "Version Id") @PathParam("versionId") String versionId, + @ApiParam(value = "Vendor software product component Id") @PathParam("componentId") + String componentId, + @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) + String user); + + @POST + @Path("/") + @ApiOperation(value = "Create a vendor software product component image") + Response create(@Valid ImageRequestDto request, + @ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, + @ApiParam(value = "Version Id") @PathParam("versionId") String versionId, + @ApiParam(value = "Vendor software product component Id") + @PathParam("componentId") String componentId, + @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) + String user); + + @GET + @Path("/schema") + //@ApiOperation(value = "Get schema for vendor software product component Image" , + // response = QuestionnaireResponseDto.class) + Response getImageSchema(@ApiParam(value = "Vendor software product Id") @PathParam("vspId") + String vspId, + @ApiParam(value = "Version Id") @PathParam("versionId") String versionId, + @ApiParam(value = "Vendor software product component Id") + @PathParam("componentId") String componentId,@NotNull + (message = USER_MISSING_ERROR_MSG) @HeaderParam + (USER_ID_HEADER_PARAM) String user); + + /*@GET + @Path("/{imageId}") + @ApiOperation(value = "Get vendor software product component Image", + response = ImageDto.class, + responseContainer = "ImageEntityResponse") + Response get(@ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, + @ApiParam(value = "Vendor software product component Id") @PathParam("componentId") + String componentId, + @ApiParam(value = "Vendor software product image Id") @PathParam("imageId") + String imageId, + @Pattern(regexp = Version.VERSION_REGEX, + message = Version.VERSION_STRING_VIOLATION_MSG) @QueryParam("version") + String version, + @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) + String user);*/ + + @GET + @Path("/{imageId}") + @ApiOperation(value = "Get vendor software product component Image", + response = ImageDto.class, + responseContainer = "CompositionEntityResponse") + Response get(@ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, + @ApiParam(value = "Version Id") @PathParam("versionId") String versionId, + @ApiParam(value = "Vendor software product component Id") @PathParam("componentId") + String componentId, + @ApiParam(value = "Vendor software product Image Id") @PathParam + ("imageId") + String imageId, + @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) + String user); + + @DELETE + @Path("/{imageId}") + @ApiOperation(value = "Delete vendor software product Image") + Response delete(@ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, + @ApiParam(value = "Version Id") @PathParam("versionId") String versionId, + @ApiParam(value = "Vendor software product component Id") + @PathParam("componentId") String componentId, + @ApiParam(value = "Vendor software product Image Id") @PathParam("imageId") + String imageId, + @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) + String user); + + @PUT + @Path("/{imageId}") + @ApiOperation(value = "Update vendor software product Image") + Response update(@Valid ImageRequestDto request, + @ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, + @ApiParam(value = "Version Id") @PathParam("versionId") String versionId, + @ApiParam(value = "Vendor software product component Id") + @PathParam("componentId") String componentId, + @ApiParam(value = "Vendor software product Image Id") @PathParam("imageId") + String imageId, + @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) + String user); + + @PUT + @Path("/{imageId}/questionnaire") + @ApiOperation(value = "Update vendor software product component image questionnaire") + Response updateQuestionnaire(@NotNull @IsValidJson String questionnaireData, + @ApiParam(value = "Vendor software product Id") + @PathParam("vspId") String vspId, + @ApiParam(value = "Version Id") + @PathParam("versionId") String versionId, + @ApiParam(value = "Vendor software product component Id") + @PathParam("componentId") String componentId, + @ApiParam(value = "Vendor software product image Id") + @PathParam ("imageId") String imageId, + @NotNull(message = USER_MISSING_ERROR_MSG) + @HeaderParam(USER_ID_HEADER_PARAM) String user); + + @GET + @Path("/{imageId}/questionnaire") + @ApiOperation(value = "Get vendor software product component image questionnaire", + response = QuestionnaireResponseDto.class) + Response getQuestionnaire( + @ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, + @ApiParam(value = "Version Id") @PathParam("versionId") String versionId, + @ApiParam(value = "Vendor software product component Id") @PathParam("componentId") + String componentId, + @ApiParam(value = "Vendor software product image Id") @PathParam + ("imageId") String imageId, + @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) String user); +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/VendorSoftwareProducts.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/VendorSoftwareProducts.java index 53fe2af31d..4366b2c3d1 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/VendorSoftwareProducts.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/VendorSoftwareProducts.java @@ -23,21 +23,41 @@ package org.openecomp.sdcrests.vsp.rest; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; -import org.openecomp.sdcrests.vendorsoftwareproducts.types.*; +import org.apache.cxf.jaxrs.ext.multipart.Multipart; +import org.openecomp.sdc.vendorsoftwareproduct.types.FileDataStructureDto; +import org.openecomp.sdc.versioning.dao.types.Version; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.PackageInfoDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.QuestionnaireResponseDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.UploadFileResponseDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.VersionSoftwareProductActionRequestDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.VspComputeDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.VspCreationDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.VspDescriptionDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.validation.IsValidJson; import org.springframework.validation.annotation.Validated; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.lang.reflect.InvocationTargetException; import javax.validation.Valid; import javax.validation.constraints.NotNull; -import javax.ws.rs.*; +import javax.validation.constraints.Pattern; +import javax.ws.rs.Consumes; +import javax.ws.rs.DELETE; +import javax.ws.rs.GET; +import javax.ws.rs.HeaderParam; +import javax.ws.rs.POST; +import javax.ws.rs.PUT; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; +import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; -import java.io.File; -import java.io.IOException; import static org.openecomp.sdcrests.common.RestConstants.USER_ID_HEADER_PARAM; import static org.openecomp.sdcrests.common.RestConstants.USER_MISSING_ERROR_MSG; - @Path("/v1.0/vendor-software-products") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) @@ -183,4 +203,14 @@ public interface VendorSoftwareProducts extends VspEntities { @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) String user); + @GET + @Path("/{vspId}/versions/{versionId}/compute-flavors") + @ApiOperation(value = "Get list of vendor software product compute-flavors", + response = VspComputeDto.class, + responseContainer = "List") + Response listCompute(@ApiParam(value = "Vendor software product Id") @PathParam("vspId") String + vspId, + @PathParam("versionId") String versionId, + @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) + String user); } diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComponentDataToComponentDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComponentDataToComponentDto.java index b669830bc7..346b39a6b7 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComponentDataToComponentDto.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComponentDataToComponentDto.java @@ -32,6 +32,9 @@ public class MapComponentDataToComponentDto extends MappingBase { + @Override + public void doMapping(ComponentEntity source, ComponentCreationDto target) { + target.setVfcId(source.getId()); + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComponentRequestDtoToComponentEntity.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComponentRequestDtoToComponentEntity.java index f61ee0d4ab..6649c117e3 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComponentRequestDtoToComponentEntity.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComponentRequestDtoToComponentEntity.java @@ -33,6 +33,8 @@ public class MapComponentRequestDtoToComponentEntity component.setName(source.getName()); component.setDisplayName(source.getDisplayName()); component.setVfcCode(source.getVfcCode()); + component.setNfcCode(source.getNfcCode()); + component.setNfcFunction(source.getNfcFunction()); component.setDescription(source.getDescription()); target.setComponentCompositionData(component); } diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComputeDataToComputeDetailsDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComputeDataToComputeDetailsDto.java new file mode 100644 index 0000000000..f0408bb73e --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComputeDataToComputeDetailsDto.java @@ -0,0 +1,15 @@ +package org.openecomp.sdcrests.vsp.rest.mapping; + +import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ComputeData; +import org.openecomp.sdcrests.mapping.MappingBase; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComputeDetailsDto; + +public class MapComputeDataToComputeDetailsDto extends MappingBase { + + @Override + public void doMapping(ComputeData source, ComputeDetailsDto target) { + + target.setName(source.getName()); + target.setDescription(source.getDescription()); + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComputeDetailsDtoToComputeEntity.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComputeDetailsDtoToComputeEntity.java new file mode 100644 index 0000000000..7db9a0a9b1 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComputeDetailsDtoToComputeEntity.java @@ -0,0 +1,17 @@ +package org.openecomp.sdcrests.vsp.rest.mapping; + +import org.openecomp.core.utilities.json.JsonUtil; +import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComputeEntity; +import org.openecomp.sdcrests.mapping.MappingBase; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComputeDescription; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComputeDetailsDto; + +public class MapComputeDetailsDtoToComputeEntity extends MappingBase { + @Override + public void doMapping(ComputeDetailsDto source, ComputeEntity target) { + ComputeDescription computeDesc = new ComputeDescription(source.getName(), source + .getDescription()); + target.setCompositionData(computeDesc == null ? null : JsonUtil.object2Json(computeDesc)); + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComputeEntityToComputeCreationDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComputeEntityToComputeCreationDto.java new file mode 100644 index 0000000000..23f7b52079 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComputeEntityToComputeCreationDto.java @@ -0,0 +1,13 @@ +package org.openecomp.sdcrests.vsp.rest.mapping; + +import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComputeEntity; +import org.openecomp.sdcrests.mapping.MappingBase; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComputeCreationDto; + +public class MapComputeEntityToComputeCreationDto extends + MappingBase { + @Override + public void doMapping(ComputeEntity source, ComputeCreationDto target) { + target.setId(source.getId()); + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComputeEntityToComputeDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComputeEntityToComputeDto.java new file mode 100644 index 0000000000..d7586471b5 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComputeEntityToComputeDto.java @@ -0,0 +1,22 @@ +package org.openecomp.sdcrests.vsp.rest.mapping; + +import org.openecomp.core.utilities.json.JsonUtil; +import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComputeEntity; +import org.openecomp.sdc.vendorsoftwareproduct.types.ListComputeResponse; +import org.openecomp.sdcrests.mapping.MappingBase; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComputeDescription; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComputeDto; + +public class MapComputeEntityToComputeDto extends MappingBase { + @Override + public void doMapping(ListComputeResponse source, ComputeDto target) { + target.setId(source.getComputeEntity().getId()); + if (source.getComputeEntity().getCompositionData() != null) { + ComputeDescription desc = JsonUtil.json2Object(source.getComputeEntity().getCompositionData + (), ComputeDescription.class); + target.setName(desc.getName()); + target.setDescription(desc.getDescription()); + target.setAssociatedToDeploymentFlavor(source.isAssociatedWithDeploymentFlavor()); + } + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComputeEntityToVspComputeDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComputeEntityToVspComputeDto.java new file mode 100644 index 0000000000..f02bf3778e --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComputeEntityToVspComputeDto.java @@ -0,0 +1,20 @@ +package org.openecomp.sdcrests.vsp.rest.mapping; + +import org.openecomp.core.utilities.json.JsonUtil; +import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComputeEntity; +import org.openecomp.sdcrests.mapping.MappingBase; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComputeDescription; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.VspComputeDto; + +public class MapComputeEntityToVspComputeDto extends MappingBase { + @Override + public void doMapping(ComputeEntity source, VspComputeDto target) { + target.setComputeFlavorId(source.getId()); + if (source.getCompositionData() != null) { + ComputeDescription desc = JsonUtil.json2Object(source.getCompositionData(), ComputeDescription + .class); + target.setName(desc.getName()); + target.setComponentId(source.getComponentId()); + } + } +} \ No newline at end of file diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapDeploymentFlavorEntityDeploymentFlavorToListResponse.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapDeploymentFlavorEntityDeploymentFlavorToListResponse.java new file mode 100644 index 0000000000..edfbccf1da --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapDeploymentFlavorEntityDeploymentFlavorToListResponse.java @@ -0,0 +1,22 @@ +package org.openecomp.sdcrests.vsp.rest.mapping; + +import org.openecomp.sdc.vendorsoftwareproduct.dao.type.DeploymentFlavorEntity; +import org.openecomp.sdc.vendorsoftwareproduct.types.composition.DeploymentFlavor; +import org.openecomp.sdcrests.mapping.MappingBase; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.DeploymentFlavorListResponseDto; + +public class MapDeploymentFlavorEntityDeploymentFlavorToListResponse extends + MappingBase { + + @Override + public void doMapping(DeploymentFlavorEntity source, + DeploymentFlavorListResponseDto target) { + target.setId(source.getId()); + DeploymentFlavor deploymentFlavor = source.getDeploymentFlavorCompositionData(); + + if (deploymentFlavor != null) { + target.setModel(deploymentFlavor.getModel()); + target.setDescription(deploymentFlavor.getDescription()); + } + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapDeploymentFlavorEntityToDeploymentFlavorCreationDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapDeploymentFlavorEntityToDeploymentFlavorCreationDto.java new file mode 100644 index 0000000000..0ca990c66c --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapDeploymentFlavorEntityToDeploymentFlavorCreationDto.java @@ -0,0 +1,16 @@ +package org.openecomp.sdcrests.vsp.rest.mapping; + +import org.openecomp.sdc.vendorsoftwareproduct.dao.type.DeploymentFlavorEntity; +import org.openecomp.sdcrests.mapping.MappingBase; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.DeploymentFlavorCreationDto; + + +public class MapDeploymentFlavorEntityToDeploymentFlavorCreationDto extends MappingBase { + + @Override + public void doMapping(DeploymentFlavorEntity source, + DeploymentFlavorCreationDto target) { + target.setDeploymentFlavorId(source.getId()); + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapDeploymentFlavorEntityToDeploymentFlavorDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapDeploymentFlavorEntityToDeploymentFlavorDto.java new file mode 100644 index 0000000000..41795eebe0 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapDeploymentFlavorEntityToDeploymentFlavorDto.java @@ -0,0 +1,19 @@ +package org.openecomp.sdcrests.vsp.rest.mapping; + + +import org.openecomp.sdc.vendorsoftwareproduct.dao.type.DeploymentFlavorEntity; +import org.openecomp.sdc.vendorsoftwareproduct.types.composition.DeploymentFlavor; +import org.openecomp.sdcrests.mapping.MappingBase; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.DeploymentFlavorDto; + +public class MapDeploymentFlavorEntityToDeploymentFlavorDto extends + MappingBase { + @Override + public void doMapping(DeploymentFlavorEntity source, DeploymentFlavorDto target) { + target.setId(source.getId()); + DeploymentFlavor deploymentFlavor = source.getDeploymentFlavorCompositionData(); + if (deploymentFlavor != null) { + //new MapNetworkToNetworkDto().doMapping(deploymentFlavor, target); + } + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapDeploymentFlavorRequestDtoToDeploymentFlavorEntity.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapDeploymentFlavorRequestDtoToDeploymentFlavorEntity.java new file mode 100644 index 0000000000..b956313331 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapDeploymentFlavorRequestDtoToDeploymentFlavorEntity.java @@ -0,0 +1,20 @@ +package org.openecomp.sdcrests.vsp.rest.mapping; + +import org.openecomp.sdc.vendorsoftwareproduct.dao.type.DeploymentFlavorEntity; +import org.openecomp.sdc.vendorsoftwareproduct.types.composition.DeploymentFlavor; +import org.openecomp.sdcrests.mapping.MappingBase; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.DeploymentFlavorRequestDto; + +public class MapDeploymentFlavorRequestDtoToDeploymentFlavorEntity + extends MappingBase { + + @Override + public void doMapping(DeploymentFlavorRequestDto source, DeploymentFlavorEntity target) { + DeploymentFlavor deploymentFlavor = new DeploymentFlavor(); + deploymentFlavor.setModel(source.getModel()); + deploymentFlavor.setDescription(source.getDescription()); + deploymentFlavor.setFeatureGroupId(source.getFeatureGroupId()); + deploymentFlavor.setComponentComputeAssociations(source.getComponentComputeAssociations()); + target.setDeploymentFlavorCompositionData(deploymentFlavor); + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapDeploymentFlavorToDeploymentDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapDeploymentFlavorToDeploymentDto.java new file mode 100644 index 0000000000..fceeb8f2ca --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapDeploymentFlavorToDeploymentDto.java @@ -0,0 +1,16 @@ +package org.openecomp.sdcrests.vsp.rest.mapping; + +import org.openecomp.sdc.vendorsoftwareproduct.types.composition.DeploymentFlavor; +import org.openecomp.sdcrests.mapping.MappingBase; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.DeploymentFlavorDto; + + +public class MapDeploymentFlavorToDeploymentDto extends MappingBase { + @Override + public void doMapping(DeploymentFlavor source, DeploymentFlavorDto target) { + target.setModel(source.getModel()); + target.setDescription(source.getDescription()); + target.setFeatureGroupId(source.getFeatureGroupId()); + target.setComponentComputeAssociations(source.getComponentComputeAssociations()); + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapImageDataToImageDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapImageDataToImageDto.java new file mode 100644 index 0000000000..684cd4c31d --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapImageDataToImageDto.java @@ -0,0 +1,22 @@ +package org.openecomp.sdcrests.vsp.rest.mapping; + +import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ComponentData; +import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ImageData; +import org.openecomp.sdcrests.mapping.MappingBase; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.ImageDto; + + +public class MapImageDataToImageDto extends MappingBase { + + @Override + public void doMapping(ImageData source, ImageDto target) { + target.setFileName(source.getFileName()); + target.setDescription(source.getDescription()); + } +} + + + + + + diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapImageEntityToImageCreationDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapImageEntityToImageCreationDto.java new file mode 100644 index 0000000000..5710fbe02e --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapImageEntityToImageCreationDto.java @@ -0,0 +1,16 @@ +package org.openecomp.sdcrests.vsp.rest.mapping; + +import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentEntity; +import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ImageEntity; +import org.openecomp.sdcrests.mapping.MappingBase; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComponentCreationDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.ImageCreationDto; + +public class MapImageEntityToImageCreationDto extends MappingBase { + + @Override + public void doMapping(ImageEntity source, ImageCreationDto target) { + target.setId(source.getId()); + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapImageEntityToImageDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapImageEntityToImageDto.java new file mode 100644 index 0000000000..62d37465e1 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapImageEntityToImageDto.java @@ -0,0 +1,21 @@ +package org.openecomp.sdcrests.vsp.rest.mapping; + +import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ImageEntity; +import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ComponentData; +import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Image; +import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ImageData; +import org.openecomp.sdcrests.mapping.MappingBase; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.ImageDto; + +public class MapImageEntityToImageDto extends MappingBase { + @Override + public void doMapping(ImageEntity source, ImageDto target) { + target.setId(source.getId()); + Image image = source.getImageCompositionData(); + + if (image != null) { + ImageData imageData = new ImageData(image.getFileName(), image.getDescription()); + new MapImageDataToImageDto().doMapping(imageData, target); + } + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapImageRequestDtoToImageEntity.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapImageRequestDtoToImageEntity.java new file mode 100644 index 0000000000..0b8a501f16 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapImageRequestDtoToImageEntity.java @@ -0,0 +1,44 @@ +package org.openecomp.sdcrests.vsp.rest.mapping; + +import org.openecomp.sdc.common.errors.CoreException; +import org.openecomp.sdc.common.errors.ErrorCategory; +import org.openecomp.sdc.common.errors.ErrorCode; +import org.openecomp.sdc.datatypes.error.ErrorLevel; +import org.openecomp.sdc.logging.context.impl.MdcDataErrorMessage; +import org.openecomp.sdc.logging.types.LoggerConstants; +import org.openecomp.sdc.logging.types.LoggerErrorCode; +import org.openecomp.sdc.logging.types.LoggerTragetServiceName; +import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ImageEntity; +import org.openecomp.sdc.vendorsoftwareproduct.errors.ImageErrorBuilder; +import org.openecomp.sdc.vendorsoftwareproduct.errors.VendorSoftwareProductErrorCodes; +import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Image; +import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ImageFormat; +import org.openecomp.sdcrests.mapping.MappingBase; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.ImageRequestDto; + +public class MapImageRequestDtoToImageEntity extends MappingBase { + + @Override + public void doMapping(ImageRequestDto source, ImageEntity target) { + Image image = new Image(); + image.setFileName(source.getFileName()); + image.setDescription(source.getDescription()); + /*try { + if (source.getFormat() != null) { + final ImageFormat imageFormat = ImageFormat.valueOf(source.getFormat()); + image.setFormat(source.getFormat()); + } + } catch (IllegalArgumentException exception) { + ErrorCode errorCode = ImageErrorBuilder.getInvalidImageFormatErrorBuilder(); + MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB, + LoggerTragetServiceName.CREATE_IMAGE, ErrorLevel.ERROR.name(), + errorCode.id(), errorCode.message() ); + throw new CoreException(errorCode); + } + image.setMd5(source.getMd5()); + image.setVersion(source.getVersion()); + //image.setProvidedBy(source.getProvidedBy());*/ + target.setImageCompositionData(image); + } + +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapMibUploadStatusToDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapMibUploadStatusToDto.java deleted file mode 100644 index d69e078ac1..0000000000 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapMibUploadStatusToDto.java +++ /dev/null @@ -1,33 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdcrests.vsp.rest.mapping; - -import org.openecomp.sdc.vendorsoftwareproduct.types.schemagenerator.MibUploadStatus; -import org.openecomp.sdcrests.mapping.MappingBase; -import org.openecomp.sdcrests.vendorsoftwareproducts.types.MibUploadStatusDto; - -public class MapMibUploadStatusToDto extends MappingBase { - @Override - public void doMapping(MibUploadStatus source, MibUploadStatusDto target) { - target.setSnmpPoll(source.getSnmpPoll()); - target.setSnmpTrap(source.getSnmpTrap()); - } -} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapMonitoringUploadStatusToDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapMonitoringUploadStatusToDto.java new file mode 100644 index 0000000000..08d322dad0 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapMonitoringUploadStatusToDto.java @@ -0,0 +1,35 @@ +/*- + * ============LICENSE_START======================================================= + * SDC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.sdcrests.vsp.rest.mapping; + +import org.openecomp.sdc.vendorsoftwareproduct.types.schemagenerator.MonitoringUploadStatus; +import org.openecomp.sdcrests.mapping.MappingBase; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.MonitoringUploadStatusDto; + +public class MapMonitoringUploadStatusToDto + extends MappingBase { + @Override + public void doMapping(MonitoringUploadStatus source, MonitoringUploadStatusDto target) { + target.setSnmpPoll(source.getSnmpPoll()); + target.setSnmpTrap(source.getSnmpTrap()); + target.setVesEvent(source.getVesEvent()); + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapNicEntityToNicCreationResponseDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapNicEntityToNicCreationResponseDto.java new file mode 100644 index 0000000000..23bf5d5357 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapNicEntityToNicCreationResponseDto.java @@ -0,0 +1,16 @@ +package org.openecomp.sdcrests.vsp.rest.mapping; + + +import org.openecomp.sdc.vendorsoftwareproduct.dao.type.NicEntity; +import org.openecomp.sdcrests.mapping.MappingBase; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.NicCreationResponseDto; + +public class MapNicEntityToNicCreationResponseDto extends MappingBase { + + + @Override + public void doMapping(NicEntity source, NicCreationResponseDto target) { + target.setNicId(source.getId()); + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapNicRequestDtoToNicEntity.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapNicRequestDtoToNicEntity.java index 4744364ea6..7fd0253556 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapNicRequestDtoToNicEntity.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapNicRequestDtoToNicEntity.java @@ -21,6 +21,7 @@ package org.openecomp.sdcrests.vsp.rest.mapping; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.NicEntity; +import org.openecomp.sdc.vendorsoftwareproduct.types.composition.NetworkType; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Nic; import org.openecomp.sdcrests.mapping.MappingBase; import org.openecomp.sdcrests.vendorsoftwareproducts.types.NicRequestDto; @@ -32,6 +33,8 @@ public class MapNicRequestDtoToNicEntity extends MappingBase { target.setDescription(source.getDescription()); target.setNetworkId(source.getNetworkId()); target.setNetworkName(source.getNetworkName()); + if (source.getNetworkType() != null) { + target.setNetworkType(source.getNetworkType().name()); + } + target.setNetworkDescription(source.getNetworkDescription()); } } diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapValidationResponseToDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapValidationResponseToDto.java index e6346c452d..89d210f372 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapValidationResponseToDto.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapValidationResponseToDto.java @@ -24,6 +24,8 @@ import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections4.MapUtils; import org.openecomp.sdc.common.errors.ErrorCode; import org.openecomp.sdc.datatypes.error.ErrorMessage; +import org.openecomp.sdc.vendorsoftwareproduct.types.ComponentValidationResult; +import org.openecomp.sdc.vendorsoftwareproduct.types.DeploymentFlavorValidationResult; import org.openecomp.sdc.vendorsoftwareproduct.types.QuestionnaireValidationResult; import org.openecomp.sdc.vendorsoftwareproduct.types.ValidationResponse; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityValidationData; @@ -32,15 +34,17 @@ import org.openecomp.sdcrests.common.mapping.MapErrorMessageToDto; import org.openecomp.sdcrests.common.types.ErrorCodeDto; import org.openecomp.sdcrests.common.types.ErrorMessageDto; import org.openecomp.sdcrests.mapping.MappingBase; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComponentValidationResultDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.CompositionEntityValidationDataDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.DeploymentFlavorValidationResultDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.QuestionnaireValidationResultDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.ValidationResponseDto; -import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.Set; import java.util.stream.Collectors; @@ -57,7 +61,8 @@ public class MapValidationResponseToDto private static QuestionnaireValidationResultDto mapQuestionnaireValidationResult( QuestionnaireValidationResult questionnaireValidationResult) { - if (questionnaireValidationResult == null) { + if (Objects.isNull(questionnaireValidationResult) + || Objects.isNull(questionnaireValidationResult.getValidationData())) { return null; } QuestionnaireValidationResultDto questionnaireValidationResultDto = @@ -74,6 +79,44 @@ public class MapValidationResponseToDto return questionnaireValidationResultDto; } + private static ComponentValidationResultDto mapcomponentValidationResult( + ComponentValidationResult componentValidationResult) { + if (componentValidationResult == null) { + return null; + } + ComponentValidationResultDto componentValidationResultDto = + new ComponentValidationResultDto(); + componentValidationResultDto.setValid(componentValidationResult.isValid()); + + Set validationDataDto = new HashSet<>(); + for(CompositionEntityValidationData validationData : componentValidationResult.getValidationData()){ + validationDataDto.add(new MapCompositionEntityValidationDataToDto().applyMapping + (validationData, CompositionEntityValidationDataDto.class)); + } + + componentValidationResultDto.setValidationData(validationDataDto); + return componentValidationResultDto; + } + + private static DeploymentFlavorValidationResultDto mapdeploymentFlavorValidationResult( + DeploymentFlavorValidationResult deploymentFlavorValidationResult) { + if (deploymentFlavorValidationResult == null) { + return null; + } + DeploymentFlavorValidationResultDto deploymentFlavorValidationResultDto = + new DeploymentFlavorValidationResultDto(); + deploymentFlavorValidationResultDto.setValid(deploymentFlavorValidationResult.isValid()); + + Set validationDataDto = new HashSet<>(); + for(CompositionEntityValidationData validationData : deploymentFlavorValidationResult.getValidationData()){ + validationDataDto.add(new MapCompositionEntityValidationDataToDto().applyMapping + (validationData, CompositionEntityValidationDataDto.class)); + } + + deploymentFlavorValidationResultDto.setValidationData(validationDataDto); + return deploymentFlavorValidationResultDto; + } + private static List mapErrorMessages(List errorMessages) { return errorMessages == null ? null : errorMessages.stream().map( errorMessage -> new MapErrorMessageToDto() @@ -94,5 +137,7 @@ public class MapValidationResponseToDto target.setUploadDataErrors(mapUploadDataErrors(source.getUploadDataErrors())); target.setQuestionnaireValidationResult( mapQuestionnaireValidationResult(source.getQuestionnaireValidationResult())); + target.setComponentValidationResult(mapcomponentValidationResult(source.getComponentValidationResult())); + target.setDeploymentFlavorValidationResult(mapdeploymentFlavorValidationResult(source.getDeploymentFlavorValidationResult())); } } diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapVersionedVendorSoftwareProductInfoToVspDetailsDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapVersionedVendorSoftwareProductInfoToVspDetailsDto.java index 6eca00e8aa..9093da599f 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapVersionedVendorSoftwareProductInfoToVspDetailsDto.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapVersionedVendorSoftwareProductInfoToVspDetailsDto.java @@ -7,9 +7,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -73,5 +73,9 @@ public class MapVersionedVendorSoftwareProductInfoToVspDetailsDto .map(version -> new VersionDto(version.toString(), version.toString())) .collect(Collectors.toList())); } + + //Onboarding Method valid value will always be present in VSP saved in DB + target.setOnboardingMethod(vsp.getOnboardingMethod()); + } } diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapVspDescriptionDtoToVspDetails.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapVspDescriptionDtoToVspDetails.java index ec0843263a..9808bbb2b6 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapVspDescriptionDtoToVspDetails.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapVspDescriptionDtoToVspDetails.java @@ -38,6 +38,7 @@ public class MapVspDescriptionDtoToVspDetails extends MappingBase { + @Override + public void doMapping(VspDetails source, VspCreationDto target) { + target.setVspId(source.getId()); + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MspVspDetailsToVspCreationDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MspVspDetailsToVspCreationDto.java deleted file mode 100644 index 5480dc13d5..0000000000 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MspVspDetailsToVspCreationDto.java +++ /dev/null @@ -1,35 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdcrests.vsp.rest.mapping; - -import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails; -import org.openecomp.sdcrests.mapping.MappingBase; -import org.openecomp.sdcrests.vendorsoftwareproducts.types.VspCreationDto; - -/** - * Created by TALIO on 5/15/2016. - */ -public class MspVspDetailsToVspCreationDto extends MappingBase { - @Override - public void doMapping(VspDetails source, VspCreationDto target) { - target.setVspId(source.getId()); - } -} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComponentMonitoringUploadsImpl.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComponentMonitoringUploadsImpl.java new file mode 100644 index 0000000000..a971782a15 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComponentMonitoringUploadsImpl.java @@ -0,0 +1,117 @@ +package org.openecomp.sdcrests.vsp.rest.services; + +import org.apache.cxf.jaxrs.ext.multipart.Attachment; +import org.openecomp.core.enrichment.types.MonitoringUploadType; +import org.openecomp.core.validation.errors.ErrorMessagesFormatBuilder; +import org.openecomp.sdc.common.errors.Messages; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; +import org.openecomp.sdc.logging.context.MdcUtil; +import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage; +import org.openecomp.sdc.logging.messages.AuditMessages; +import org.openecomp.sdc.logging.types.LoggerServiceName; +import org.openecomp.sdc.vendorsoftwareproduct.ComponentManager; +import org.openecomp.sdc.vendorsoftwareproduct.ComponentManagerFactory; +import org.openecomp.sdc.vendorsoftwareproduct.MonitoringUploadsManager; +import org.openecomp.sdc.vendorsoftwareproduct.MonitoringUploadsManagerFactory; +import org.openecomp.sdc.vendorsoftwareproduct.types.schemagenerator.MonitoringUploadStatus; +import org.openecomp.sdc.versioning.dao.types.Version; +import org.openecomp.sdc.versioning.types.VersionableEntityAction; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.MonitoringUploadStatusDto; +import org.openecomp.sdcrests.vsp.rest.ComponentMonitoringUploads; +import org.openecomp.sdcrests.vsp.rest.mapping.MapMonitoringUploadStatusToDto; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Service; + +import javax.inject.Named; +import javax.ws.rs.core.Response; +import java.io.InputStream; + +/** + * @author katyr + * @since June 26, 2017 + */ + +@Named +@Service("componentMonitoringUploads") +@Scope(value = "prototype") +//@Validated +public class ComponentMonitoringUploadsImpl implements ComponentMonitoringUploads { + private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage(); + private MonitoringUploadsManager + monitoringUploadsManager = MonitoringUploadsManagerFactory.getInstance().createInterface(); + private ComponentManager componentManager = + ComponentManagerFactory.getInstance().createInterface(); + private static final Logger logger = + LoggerFactory.getLogger(ComponentMonitoringUploadsImpl.class); + + @Override + public Response upload(Attachment attachment, + String vspId, String versionId, String componentId, String type, + String user) throws Exception { + mdcDataDebugMessage.debugEntryMessage("VSP id, component id", vspId + "," + componentId); + MdcUtil.initMdc(LoggerServiceName.Upload_Monitoring_Artifact.toString()); + logger.audit(AuditMessages.AUDIT_MSG + String.format(AuditMessages + .UPLOAD_MONITORING_FILE, type, vspId, componentId)); + + Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write); + componentManager.validateComponentExistence(vspId, version, componentId, user); + + MonitoringUploadType monitoringUploadType = getMonitoringUploadType(vspId, componentId, type); + monitoringUploadsManager.upload(attachment.getObject(InputStream.class), + attachment.getContentDisposition().getParameter("filename"), vspId, version, componentId, + monitoringUploadType, user); + + mdcDataDebugMessage.debugExitMessage("VSP id, component id", vspId + "," + componentId); + return Response.ok().build(); + } + + private MonitoringUploadType getMonitoringUploadType(String vspId, String componentId, + String type) throws Exception { + MonitoringUploadType monitoringUploadType; + try { + monitoringUploadType = MonitoringUploadType.valueOf(type); + } catch (IllegalArgumentException exception) { + String errorWithParameters = ErrorMessagesFormatBuilder + .getErrorWithParameters(Messages.ILLEGAL_MONITORING_ARTIFACT_TYPE.getErrorMessage(), + componentId, vspId); + throw new Exception(errorWithParameters, exception); + } + return monitoringUploadType; + } + + @Override + public Response delete(String vspId, String versionId, String componentId, + String type, String user) throws Exception { + mdcDataDebugMessage.debugEntryMessage("VSP id, component id", vspId + "," + componentId); + MdcUtil.initMdc(LoggerServiceName.Delete_Monitoring_Artifact.toString()); + + MonitoringUploadType monitoringUploadType = getMonitoringUploadType(vspId, componentId, type); + + Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write); + componentManager.validateComponentExistence(vspId, version, componentId, user); + monitoringUploadsManager + .delete(vspId, version, componentId, monitoringUploadType, user); + + mdcDataDebugMessage.debugExitMessage("VSP id, component id", vspId + "," + componentId); + return Response.ok().build(); + } + + @Override + public Response list(String vspId, String versionId, String componentId, + String user) { + MdcUtil.initMdc(LoggerServiceName.List_Monitoring_Artifacts.toString()); + + Version version = resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read); + componentManager.validateComponentExistence(vspId, version, componentId, user); + + MonitoringUploadStatus response = monitoringUploadsManager + .listFilenames(vspId, version, componentId, user); + + MonitoringUploadStatusDto returnEntity = + new MapMonitoringUploadStatusToDto() + .applyMapping(response, MonitoringUploadStatusDto.class); + return Response.status(Response.Status.OK).entity(returnEntity).build(); + + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComponentUploadsImpl.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComponentUploadsImpl.java index 7a2a1578b6..f88508250a 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComponentUploadsImpl.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComponentUploadsImpl.java @@ -1,137 +1,142 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdcrests.vsp.rest.services; - -import org.apache.cxf.jaxrs.ext.multipart.Attachment; -import org.openecomp.core.enrichment.types.ArtifactType; -import org.openecomp.sdc.logging.api.Logger; -import org.openecomp.sdc.logging.api.LoggerFactory; -import org.openecomp.sdc.logging.context.MdcUtil; -import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage; -import org.openecomp.sdc.logging.messages.AuditMessages; -import org.openecomp.sdc.logging.types.LoggerServiceName; -import org.openecomp.sdc.vendorsoftwareproduct.ComponentManager; -import org.openecomp.sdc.vendorsoftwareproduct.ComponentManagerFactory; -import org.openecomp.sdc.vendorsoftwareproduct.MibManager; -import org.openecomp.sdc.vendorsoftwareproduct.MibManagerFactory; -import org.openecomp.sdc.vendorsoftwareproduct.types.schemagenerator.MibUploadStatus; -import org.openecomp.sdc.versioning.dao.types.Version; -import org.openecomp.sdc.versioning.types.VersionableEntityAction; -import org.openecomp.sdcrests.vendorsoftwareproducts.types.MibUploadStatusDto; -import org.openecomp.sdcrests.vsp.rest.ComponentUploads; -import org.openecomp.sdcrests.vsp.rest.mapping.MapMibUploadStatusToDto; -import org.springframework.context.annotation.Scope; -import org.springframework.stereotype.Service; -import org.springframework.validation.annotation.Validated; - -import javax.inject.Named; -import javax.ws.rs.core.Response; -import java.io.InputStream; - -@Named -@Service("componentUploads") -@Scope(value = "prototype") -@Validated -public class ComponentUploadsImpl implements ComponentUploads { - private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage(); - private MibManager mibManager = MibManagerFactory.getInstance().createInterface(); - private ComponentManager componentManager = - ComponentManagerFactory.getInstance().createInterface(); - private static final Logger logger = - LoggerFactory.getLogger(ComponentUploadsImpl.class); - - @Override - public Response uploadTrapMibFile(Attachment attachment, String vspId, String versionId, String componentId, - String user) { - mdcDataDebugMessage.debugEntryMessage("VSP id, component id", vspId + "," + componentId); - MdcUtil.initMdc(LoggerServiceName.Upload_MIB_File.toString()); - logger.audit(AuditMessages.AUDIT_MSG + AuditMessages.UPLOAD_ARTIFACT_MIB_TRAP + vspId); - - Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write); - componentManager.validateComponentExistence(vspId, version, componentId, user); - mibManager.upload(attachment.getObject(InputStream.class), - attachment.getContentDisposition().getParameter("filename"), vspId, version, componentId, - ArtifactType.SNMP_TRAP, user); - - mdcDataDebugMessage.debugExitMessage("VSP id, component id", vspId + "," + componentId); - return Response.ok().build(); - } - - @Override - public Response deleteTrapMibFile(String vspId, String versionId, String componentId, String user) { - mdcDataDebugMessage.debugEntryMessage("VSP id, component id", vspId + "," + componentId); - MdcUtil.initMdc(LoggerServiceName.Delete_MIB_File.toString()); - - Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write); - componentManager.validateComponentExistence(vspId, version, componentId, user); - mibManager.delete(vspId, version, componentId, ArtifactType.SNMP_TRAP, user); - - mdcDataDebugMessage.debugExitMessage("VSP id, component id", vspId + "," + componentId); - return Response.ok().build(); - } - - @Override - public Response uploadPollMibFile(Attachment attachment, String vspId, String versionId, String componentId, - String user) { - - mdcDataDebugMessage.debugEntryMessage("VSP id, component id", vspId + "," + componentId); - logger.audit(AuditMessages.AUDIT_MSG + AuditMessages.UPLOAD_ARTIFACT_MIB_POLL + vspId); - MdcUtil.initMdc(LoggerServiceName.Upload_MIB_File.toString()); - - Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write); - componentManager.validateComponentExistence(vspId, version, componentId, user); - mibManager.upload(attachment.getObject(InputStream.class), - attachment.getContentDisposition().getParameter("filename"), vspId, version, componentId, - ArtifactType.SNMP_POLL, user); - - mdcDataDebugMessage.debugExitMessage("VSP id, component id", vspId + "," + componentId); - return Response.ok().build(); - } - - @Override - public Response deletePollMibFile(String vspId, String versionId, String componentId, String - user) { - mdcDataDebugMessage.debugEntryMessage("VSP id, component id", vspId + "," + componentId); - MdcUtil.initMdc(LoggerServiceName.Delete_MIB_File.toString()); - - Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write); - componentManager.validateComponentExistence(vspId, version, componentId, user); - mibManager.delete(vspId, version, componentId, ArtifactType.SNMP_POLL, user); - - mdcDataDebugMessage.debugExitMessage("VSP id, component id", vspId + "," + componentId); - return Response.ok().build(); - } - - @Override - public Response list(String vspId, String versionId, String componentId, String user) { - MdcUtil.initMdc(LoggerServiceName.List_MIB_Files.toString()); - - Version version = resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read); - componentManager.validateComponentExistence(vspId, version, componentId, user); - - MibUploadStatus response = mibManager.listFilenames(vspId, version, componentId, user); - - MibUploadStatusDto returnEntity = - new MapMibUploadStatusToDto().applyMapping(response, MibUploadStatusDto.class); - return Response.status(Response.Status.OK).entity(returnEntity).build(); - - } -} +///*- +// * ============LICENSE_START======================================================= +// * SDC +// * ================================================================================ +// * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. +// * ================================================================================ +// * Licensed under the Apache License, Version 2.0 (the "License"); +// * you may not use this file except in compliance with the License. +// * You may obtain a copy of the License at +// * +// * http://www.apache.org/licenses/LICENSE-2.0 +// * +// * Unless required by applicable law or agreed to in writing, software +// * distributed under the License is distributed on an "AS IS" BASIS, +// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// * See the License for the specific language governing permissions and +// * limitations under the License. +// * ============LICENSE_END========================================================= +// */ +// +//package org.openecomp.sdcrests.vsp.rest.services; +// +//import org.apache.cxf.jaxrs.ext.multipart.Attachment; +//import org.openecomp.core.enrichment.types.MonitoringUploadType; +//import org.openecomp.sdc.logging.api.Logger; +//import org.openecomp.sdc.logging.api.LoggerFactory; +//import org.openecomp.sdc.logging.context.MdcUtil; +//import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage; +//import org.openecomp.sdc.logging.messages.AuditMessages; +//import org.openecomp.sdc.logging.types.LoggerServiceName; +//import org.openecomp.sdc.vendorsoftwareproduct.ComponentManager; +//import org.openecomp.sdc.vendorsoftwareproduct.ComponentManagerFactory; +//import org.openecomp.sdc.vendorsoftwareproduct.MonitoringUploadsManager; +//import org.openecomp.sdc.vendorsoftwareproduct.MonitoringUploadsManagerFactory; +//import org.openecomp.sdc.vendorsoftwareproduct.types.schemagenerator.MonitoringUploadStatus; +//import org.openecomp.sdc.versioning.dao.types.Version; +//import org.openecomp.sdc.versioning.types.VersionableEntityAction; +//import org.openecomp.sdcrests.vendorsoftwareproducts.types.MonitoringUploadStatusDto; +//import org.openecomp.sdcrests.vsp.rest.ComponentUploads; +//import org.openecomp.sdcrests.vsp.rest.mapping.MapMonitoringUploadStatusToDto; +//import org.springframework.context.annotation.Scope; +//import org.springframework.stereotype.Service; +//import org.springframework.validation.annotation.Validated; +// +//import javax.inject.Named; +//import javax.ws.rs.core.Response; +//import java.io.InputStream; +// +//@Named +//@Service("componentUploads") +//@Scope(value = "prototype") +//@Validated +//public class ComponentUploadsImpl implements ComponentUploads { +// private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage(); +// private MonitoringUploadsManager +// monitoringUploadsManager = MonitoringUploadsManagerFactory.getInstance().createInterface(); +// private ComponentManager componentManager = +// ComponentManagerFactory.getInstance().createInterface(); +// private static final Logger logger = +// LoggerFactory.getLogger(ComponentUploadsImpl.class); +// +// @Override +// public Response uploadTrapMibFile(Attachment attachment, String vspId, String versionId, String componentId, +// String user) { +// mdcDataDebugMessage.debugEntryMessage("VSP id, component id", vspId + "," + componentId); +// MdcUtil.initMdc(LoggerServiceName.Upload_Monitoring_Artifact.toString()); +// logger.audit(AuditMessages.AUDIT_MSG + String.format(AuditMessages.UPLOAD_MONITORING_FILE , +// vspId,componentId)); +// +// Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write); +// componentManager.validateComponentExistence(vspId, version, componentId, user); +// monitoringUploadsManager.upload(attachment.getObject(InputStream.class), +// attachment.getContentDisposition().getParameter("filename"), vspId, version, componentId, +// MonitoringUploadType.SNMP_TRAP, user); +// +// mdcDataDebugMessage.debugExitMessage("VSP id, component id", vspId + "," + componentId); +// return Response.ok().build(); +// } +// +// @Override +// public Response deleteTrapMibFile(String vspId, String versionId, String componentId, String user) { +// mdcDataDebugMessage.debugEntryMessage("VSP id, component id", vspId + "," + componentId); +// MdcUtil.initMdc(LoggerServiceName.Delete_Monitoring_Artifact.toString()); +// +// Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write); +// componentManager.validateComponentExistence(vspId, version, componentId, user); +// monitoringUploadsManager +// .delete(vspId, version, componentId, MonitoringUploadType.SNMP_TRAP, user); +// +// mdcDataDebugMessage.debugExitMessage("VSP id, component id", vspId + "," + componentId); +// return Response.ok().build(); +// } +// +// @Override +// public Response uploadPollMibFile(Attachment attachment, String vspId, String versionId, String componentId, +// String user) { +// +// mdcDataDebugMessage.debugEntryMessage("VSP id, component id", vspId + "," + componentId); +// logger.audit(AuditMessages.AUDIT_MSG + AuditMessages.UPLOAD_MONITORING_FILE + vspId); +// MdcUtil.initMdc(LoggerServiceName.Upload_Monitoring_Artifact.toString()); +// +// Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write); +// componentManager.validateComponentExistence(vspId, version, componentId, user); +// monitoringUploadsManager.upload(attachment.getObject(InputStream.class), +// attachment.getContentDisposition().getParameter("filename"), vspId, version, componentId, +// MonitoringUploadType.SNMP_POLL, user); +// +// mdcDataDebugMessage.debugExitMessage("VSP id, component id", vspId + "," + componentId); +// return Response.ok().build(); +// } +// +// @Override +// public Response deletePollMibFile(String vspId, String versionId, String componentId, String +// user) { +// mdcDataDebugMessage.debugEntryMessage("VSP id, component id", vspId + "," + componentId); +// MdcUtil.initMdc(LoggerServiceName.Delete_Monitoring_Artifact.toString()); +// +// Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write); +// componentManager.validateComponentExistence(vspId, version, componentId, user); +// monitoringUploadsManager +// .delete(vspId, version, componentId, MonitoringUploadType.SNMP_POLL, user); +// +// mdcDataDebugMessage.debugExitMessage("VSP id, component id", vspId + "," + componentId); +// return Response.ok().build(); +// } +// +// @Override +// public Response list(String vspId, String versionId, String componentId, String user) { +// MdcUtil.initMdc(LoggerServiceName.List_Monitoring_Artifacts.toString()); +// +// Version version = resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read); +// componentManager.validateComponentExistence(vspId, version, componentId, user); +// +// MonitoringUploadStatus response = monitoringUploadsManager +// .listFilenames(vspId, version, componentId, user); +// +// MonitoringUploadStatusDto returnEntity = +// new MapMonitoringUploadStatusToDto().applyMapping(response, MonitoringUploadStatusDto.class); +// return Response.status(Response.Status.OK).entity(returnEntity).build(); +// +// } +//} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComponentsImpl.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComponentsImpl.java index a36534ae4f..51955b7b69 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComponentsImpl.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComponentsImpl.java @@ -7,9 +7,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -32,6 +32,7 @@ import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ComponentData; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityValidationData; import org.openecomp.sdc.versioning.dao.types.Version; import org.openecomp.sdc.versioning.types.VersionableEntityAction; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComponentCreationDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComponentDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComponentRequestDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.CompositionEntityResponseDto; @@ -39,6 +40,7 @@ import org.openecomp.sdcrests.vendorsoftwareproducts.types.CompositionEntityVali import org.openecomp.sdcrests.vendorsoftwareproducts.types.QuestionnaireResponseDto; import org.openecomp.sdcrests.vsp.rest.Components; import org.openecomp.sdcrests.vsp.rest.mapping.MapComponentDataToComponentDto; +import org.openecomp.sdcrests.vsp.rest.mapping.MapComponentEntityToComponentCreationDto; import org.openecomp.sdcrests.vsp.rest.mapping.MapComponentEntityToComponentDto; import org.openecomp.sdcrests.vsp.rest.mapping.MapComponentRequestDtoToComponentEntity; import org.openecomp.sdcrests.vsp.rest.mapping.MapCompositionEntityResponseToDto; @@ -93,8 +95,12 @@ public class ComponentsImpl implements Components { component.setVersion(resolveVspVersion(vspId, null, user, VersionableEntityAction.Write)); ComponentEntity createdComponent = componentManager.createComponent(component, user); + MapComponentEntityToComponentCreationDto mapping = + new MapComponentEntityToComponentCreationDto(); + ComponentCreationDto createdComponentDto = mapping.applyMapping(createdComponent, + ComponentCreationDto.class); return Response - .ok(createdComponent != null ? new StringWrapperResponse(createdComponent.getId()) : null) + .ok(createdComponent != null ? createdComponentDto : null) .build(); } diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComputeImpl.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComputeImpl.java new file mode 100644 index 0000000000..ec445af0e8 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComputeImpl.java @@ -0,0 +1,162 @@ +package org.openecomp.sdcrests.vsp.rest.services; + +import org.apache.commons.collections4.CollectionUtils; +import org.openecomp.sdc.logging.context.MdcUtil; +import org.openecomp.sdc.logging.types.LoggerServiceName; +import org.openecomp.sdc.vendorsoftwareproduct.ComponentManager; +import org.openecomp.sdc.vendorsoftwareproduct.ComponentManagerFactory; +import org.openecomp.sdc.vendorsoftwareproduct.ComputeManager; +import org.openecomp.sdc.vendorsoftwareproduct.ComputeManagerFactory; +import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComputeEntity; +import org.openecomp.sdc.vendorsoftwareproduct.types.CompositionEntityResponse; +import org.openecomp.sdc.vendorsoftwareproduct.types.ListComputeResponse; +import org.openecomp.sdc.vendorsoftwareproduct.types.QuestionnaireResponse; +import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityValidationData; +import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ComputeData; +import org.openecomp.sdc.versioning.dao.types.Version; +import org.openecomp.sdc.versioning.types.VersionableEntityAction; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.CompositionEntityResponseDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.CompositionEntityValidationDataDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComputeCreationDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComputeDetailsDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComputeDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.QuestionnaireResponseDto; +import org.openecomp.sdcrests.vsp.rest.Compute; +import org.openecomp.sdcrests.vsp.rest.mapping.MapCompositionEntityResponseToDto; +import org.openecomp.sdcrests.vsp.rest.mapping.MapCompositionEntityValidationDataToDto; +import org.openecomp.sdcrests.vsp.rest.mapping.MapComputeDataToComputeDetailsDto; +import org.openecomp.sdcrests.vsp.rest.mapping.MapComputeDetailsDtoToComputeEntity; +import org.openecomp.sdcrests.vsp.rest.mapping.MapComputeEntityToComputeCreationDto; +import org.openecomp.sdcrests.vsp.rest.mapping.MapComputeEntityToComputeDto; +import org.openecomp.sdcrests.vsp.rest.mapping.MapQuestionnaireResponseToQuestionnaireResponseDto; +import org.openecomp.sdcrests.wrappers.GenericCollectionWrapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Service; + +import java.util.Collection; +import javax.inject.Named; +import javax.ws.rs.core.Response; + +@Named +@Service("computes") +@Scope(value = "prototype") +public class ComputeImpl implements Compute { + private ComputeManager computetManager = + ComputeManagerFactory.getInstance().createInterface(); + private ComponentManager componentManager = + ComponentManagerFactory.getInstance().createInterface(); + + @Override + public Response list(String vspId, String version, String componentId, String user) { + MdcUtil.initMdc(LoggerServiceName.List_Computes.toString()); + Version vspVersion = resolveVspVersion(vspId, version, user, VersionableEntityAction.Read); + componentManager.validateComponentExistence(vspId, vspVersion, componentId, user); + Collection computes = + computetManager + .listCompute(vspId, vspVersion, componentId, user); + + MapComputeEntityToComputeDto mapper = new MapComputeEntityToComputeDto(); + GenericCollectionWrapper results = new GenericCollectionWrapper<>(); + for (ListComputeResponse compute : computes) { + results.add(mapper.applyMapping(compute, ComputeDto.class)); + } + + return Response.ok(results).build(); + } + + @Override + public Response get(String vspId, String version, String componentId, String computeId, + String user) { + MdcUtil.initMdc(LoggerServiceName.Get_Compute.toString()); + Version vspVersion = resolveVspVersion(vspId, version, user, VersionableEntityAction.Read); + componentManager.validateComponentExistence(vspId, vspVersion, componentId, user); + CompositionEntityResponse response = computetManager + .getCompute(vspId, vspVersion, componentId, computeId, user); + + CompositionEntityResponseDto responseDto = new + CompositionEntityResponseDto<>(); + new MapCompositionEntityResponseToDto<>(new MapComputeDataToComputeDetailsDto(), + ComputeDetailsDto.class).doMapping(response, responseDto); + return Response.ok(responseDto).build(); + } + + @Override + public Response create(ComputeDetailsDto request, String vspId, String versionId, + String componentId, String user) { + MdcUtil.initMdc(LoggerServiceName.Create_Compute.toString()); + ComputeEntity compute = new MapComputeDetailsDtoToComputeEntity().applyMapping(request, + ComputeEntity.class); + compute.setVspId(vspId); + compute.setComponentId(componentId); + compute.setVersion(resolveVspVersion(vspId, null, user, VersionableEntityAction.Write)); + componentManager.validateComponentExistence(vspId, compute.getVersion(), componentId, user); + + ComputeEntity createdCompute = computetManager.createCompute(compute, user); + + MapComputeEntityToComputeCreationDto mapper = new MapComputeEntityToComputeCreationDto(); + ComputeCreationDto createdComputeDto = mapper.applyMapping(createdCompute, ComputeCreationDto + .class); + return Response.ok(createdComputeDto != null ? createdComputeDto : null) + .build(); + } + + @Override + public Response update(ComputeDetailsDto request, String vspId, String versionId, String + componentId, String computeFlavorId, String user) { + MdcUtil.initMdc(LoggerServiceName.Update_Compute.toString()); + ComputeEntity compute = new MapComputeDetailsDtoToComputeEntity().applyMapping(request, + ComputeEntity.class); + compute.setVspId(vspId); + compute.setComponentId(componentId); + compute.setVersion(resolveVspVersion(vspId, null, user, VersionableEntityAction.Write)); + compute.setId(computeFlavorId); + + componentManager.validateComponentExistence(vspId, compute.getVersion(), componentId, user); + CompositionEntityValidationData validationData = + computetManager.updateCompute(compute, user); + return validationData != null && CollectionUtils.isNotEmpty(validationData.getErrors()) + ? Response.status(Response.Status.EXPECTATION_FAILED).entity( + new MapCompositionEntityValidationDataToDto().applyMapping(validationData, + CompositionEntityValidationDataDto.class)).build() : Response.ok().build(); + } + + @Override + public Response delete(String vspId, String versionId, String componentId, String + computeFlavorId, String user) { + MdcUtil.initMdc(LoggerServiceName.Delete_Compute.toString()); + Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write); + componentManager.validateComponentExistence(vspId, version, componentId, user); + computetManager.deleteCompute(vspId, version, componentId, computeFlavorId, user); + return Response.ok().build(); + } + + @Override + public Response getQuestionnaire(String vspId, String versionId, String componentId, String + computeFlavorId, String user) { + MdcUtil.initMdc(LoggerServiceName.Get_Questionnaire_Compute.toString()); + Version vspVersion = resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read); + componentManager.validateComponentExistence(vspId, vspVersion, componentId, user); + QuestionnaireResponse questionnaireResponse = computetManager + .getComputeQuestionnaire(vspId, vspVersion, componentId, computeFlavorId, user); + + QuestionnaireResponseDto result = new MapQuestionnaireResponseToQuestionnaireResponseDto() + .applyMapping(questionnaireResponse, QuestionnaireResponseDto.class); + return Response.ok(result).build(); + } + + @Override + public Response updateQuestionnaire(String questionnaireData, String vspId, String versionId, + String componentId, + String computeFlavorId, String user) { + MdcUtil + .initMdc(LoggerServiceName.Update_Questionnaire_Compute.toString() + ); + Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write); + componentManager.validateComponentExistence(vspId, version, componentId, user); + computetManager + .updateComputeQuestionnaire(vspId, version, componentId, computeFlavorId, + questionnaireData, user); + return Response.ok().build(); + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/DeploymentFlavorsImpl.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/DeploymentFlavorsImpl.java new file mode 100644 index 0000000000..adcdacaa88 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/DeploymentFlavorsImpl.java @@ -0,0 +1,129 @@ +package org.openecomp.sdcrests.vsp.rest.services; + +import org.apache.commons.collections4.CollectionUtils; +import org.openecomp.sdc.logging.context.MdcUtil; +import org.openecomp.sdc.logging.types.LoggerServiceName; +import org.openecomp.sdc.vendorsoftwareproduct.DeploymentFlavorManager; +import org.openecomp.sdc.vendorsoftwareproduct.DeploymentFlavorManagerFactory; +import org.openecomp.sdc.vendorsoftwareproduct.dao.type.DeploymentFlavorEntity; +import org.openecomp.sdc.vendorsoftwareproduct.types.CompositionEntityResponse; +import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityValidationData; +import org.openecomp.sdc.vendorsoftwareproduct.types.composition.DeploymentFlavor; +import org.openecomp.sdc.versioning.dao.types.Version; +import org.openecomp.sdc.versioning.types.VersionableEntityAction; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.CompositionEntityResponseDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.CompositionEntityValidationDataDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.DeploymentFlavorCreationDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.DeploymentFlavorDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.DeploymentFlavorListResponseDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.DeploymentFlavorRequestDto; +import org.openecomp.sdcrests.vsp.rest.DeploymentFlavors; +import org.openecomp.sdcrests.vsp.rest.mapping.MapCompositionEntityResponseToDto; +import org.openecomp.sdcrests.vsp.rest.mapping.MapCompositionEntityValidationDataToDto; +import org.openecomp.sdcrests.vsp.rest.mapping.MapDeploymentFlavorEntityDeploymentFlavorToListResponse; +import org.openecomp.sdcrests.vsp.rest.mapping.MapDeploymentFlavorEntityToDeploymentFlavorCreationDto; +import org.openecomp.sdcrests.vsp.rest.mapping.MapDeploymentFlavorRequestDtoToDeploymentFlavorEntity; +import org.openecomp.sdcrests.vsp.rest.mapping.MapDeploymentFlavorToDeploymentDto; +import org.openecomp.sdcrests.wrappers.GenericCollectionWrapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Service; + +import java.util.Collection; +import javax.inject.Named; +import javax.ws.rs.core.Response; + +@Named +@Service("deploymentFlavors") +@Scope(value = "prototype") +public class DeploymentFlavorsImpl implements DeploymentFlavors +{ + private DeploymentFlavorManager deploymentFlavorManager = + DeploymentFlavorManagerFactory.getInstance().createInterface(); + + @Override + public Response create(DeploymentFlavorRequestDto request, String vspId, String versionId, + String user) { + MdcUtil.initMdc(LoggerServiceName.Create_Deployment_Flavor.toString()); + DeploymentFlavorEntity deploymentFlavorEntity = + new MapDeploymentFlavorRequestDtoToDeploymentFlavorEntity() + .applyMapping(request, DeploymentFlavorEntity.class); + deploymentFlavorEntity.setVspId(vspId); + deploymentFlavorEntity.setVersion(resolveVspVersion(vspId, null, user, + VersionableEntityAction.Write)); + DeploymentFlavorEntity createdDeploymentFlavor = + deploymentFlavorManager.createDeploymentFlavor(deploymentFlavorEntity, user); + MapDeploymentFlavorEntityToDeploymentFlavorCreationDto mapping = + new MapDeploymentFlavorEntityToDeploymentFlavorCreationDto(); + DeploymentFlavorCreationDto deploymentFlavorCreatedDto= mapping.applyMapping + (createdDeploymentFlavor,DeploymentFlavorCreationDto.class); + return Response + .ok(createdDeploymentFlavor != null ? deploymentFlavorCreatedDto : null) + .build(); + } + + @Override + public Response list(String vspId,String version,String user) { + MdcUtil.initMdc(LoggerServiceName.Get_List_Deployment_flavor.toString()); + Collection deploymentFlavors = + deploymentFlavorManager.listDeploymentFlavors(vspId, resolveVspVersion(vspId, version, user, + VersionableEntityAction.Read), user); + + MapDeploymentFlavorEntityDeploymentFlavorToListResponse mapper = new + MapDeploymentFlavorEntityDeploymentFlavorToListResponse(); + GenericCollectionWrapper results = new GenericCollectionWrapper<>(); + for (DeploymentFlavorEntity deploymentFlavor : deploymentFlavors) { + results.add(mapper.applyMapping(deploymentFlavor, DeploymentFlavorListResponseDto.class)); + } + return Response.ok(results).build(); + } + + @Override + public Response get(String vspId, String version, String deploymentFlavorId, String user) { + MdcUtil.initMdc(LoggerServiceName.Get_Deployment_flavor.toString()); + CompositionEntityResponse response = deploymentFlavorManager + .getDeploymentFlavor(vspId, resolveVspVersion(vspId, version, user, + VersionableEntityAction.Read), deploymentFlavorId, user); + + CompositionEntityResponseDto responseDto = new + CompositionEntityResponseDto<>(); + new MapCompositionEntityResponseToDto<>(new MapDeploymentFlavorToDeploymentDto(), DeploymentFlavorDto.class) + .doMapping(response, responseDto); + return Response.ok(responseDto).build(); + } + + @Override + public Response getSchema(String vspId, String version, String user) { + MdcUtil.initMdc(LoggerServiceName.Get_Deployment_flavor.toString()); + CompositionEntityResponse response = deploymentFlavorManager + .getDeploymentFlavorSchema(vspId, Version.valueOf(version), user); + return Response.ok(response).build(); + } + + @Override + public Response delete(String vspId, String versionId, String deploymentFlavorId, String user) { + MdcUtil.initMdc(LoggerServiceName.Delete_Deployment_flavor.toString()); + Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write); + deploymentFlavorManager.deleteDeploymentFlavor(vspId, version, deploymentFlavorId, user); + return Response.ok().build(); + } + + @Override + public Response update(DeploymentFlavorRequestDto request, String vspId, String versionId, + String deploymentFlavorId, String user) { + MdcUtil.initMdc(LoggerServiceName.Update_Deployment_flavor.toString()); + DeploymentFlavorEntity deploymentFlavorEntity = + new MapDeploymentFlavorRequestDtoToDeploymentFlavorEntity().applyMapping(request, + DeploymentFlavorEntity.class); + deploymentFlavorEntity.setVspId(vspId); + deploymentFlavorEntity.setVersion(resolveVspVersion(vspId, null, user, VersionableEntityAction.Write)); + deploymentFlavorEntity.setId(deploymentFlavorId); + + CompositionEntityValidationData validationData = + deploymentFlavorManager.updateDeploymentFlavor(deploymentFlavorEntity, user); + return validationData != null && CollectionUtils.isNotEmpty(validationData.getErrors()) + ? Response.status(Response.Status.EXPECTATION_FAILED).entity( + new MapCompositionEntityValidationDataToDto().applyMapping(validationData, + CompositionEntityValidationDataDto.class)).build() : Response.ok().build(); + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ImagesImpl.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ImagesImpl.java new file mode 100644 index 0000000000..c939eb57ae --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ImagesImpl.java @@ -0,0 +1,175 @@ +package org.openecomp.sdcrests.vsp.rest.services; + + +import io.swagger.annotations.ApiParam; +import org.apache.commons.collections.CollectionUtils; +import org.openecomp.sdc.logging.context.MdcUtil; +import org.openecomp.sdc.logging.types.LoggerServiceName; +import org.openecomp.sdc.vendorsoftwareproduct.ComponentManager; +import org.openecomp.sdc.vendorsoftwareproduct.ComponentManagerFactory; +import org.openecomp.sdc.vendorsoftwareproduct.ImageManager; +import org.openecomp.sdc.vendorsoftwareproduct.ImageManagerFactory; +import org.openecomp.sdc.vendorsoftwareproduct.VendorSoftwareProductManager; +import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ImageEntity; +import org.openecomp.sdc.vendorsoftwareproduct.types.CompositionEntityResponse; +import org.openecomp.sdc.vendorsoftwareproduct.types.QuestionnaireResponse; +import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityValidationData; +import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Image; +import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ImageData; +import org.openecomp.sdc.versioning.dao.types.Version; +import org.openecomp.sdc.versioning.types.VersionableEntityAction; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.CompositionEntityResponseDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.CompositionEntityValidationDataDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.ImageCreationDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.ImageDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.ImageRequestDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.QuestionnaireResponseDto; +import org.openecomp.sdcrests.vsp.rest.Images; +import org.openecomp.sdcrests.vsp.rest.mapping.MapCompositionEntityResponseToDto; +import org.openecomp.sdcrests.vsp.rest.mapping.MapCompositionEntityValidationDataToDto; +import org.openecomp.sdcrests.vsp.rest.mapping.MapImageDataToImageDto; +import org.openecomp.sdcrests.vsp.rest.mapping.MapImageEntityToImageCreationDto; +import org.openecomp.sdcrests.vsp.rest.mapping.MapImageEntityToImageDto; +import org.openecomp.sdcrests.vsp.rest.mapping.MapImageRequestDtoToImageEntity; +import org.openecomp.sdcrests.vsp.rest.mapping.MapQuestionnaireResponseToQuestionnaireResponseDto; +import org.openecomp.sdcrests.wrappers.GenericCollectionWrapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Service; + +import java.util.Collection; +import javax.inject.Named; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Pattern; +import javax.ws.rs.HeaderParam; +import javax.ws.rs.core.Response; + + +@Named +@Service("images") +@Scope(value = "prototype") +public class ImagesImpl implements Images + { + + private ImageManager imageManager = ImageManagerFactory.getInstance().createInterface(); + private ComponentManager componentManager = + ComponentManagerFactory.getInstance().createInterface(); + + @Override + public Response create(ImageRequestDto request, String vspId, String versionId,String + componentId, String user) { + MdcUtil.initMdc(LoggerServiceName.Create_Image.toString()); + ImageEntity image = + new MapImageRequestDtoToImageEntity().applyMapping(request, ImageEntity.class); + image.setVspId(vspId); + image.setComponentId(componentId); + image.setVersion(resolveVspVersion(vspId, null, user, VersionableEntityAction.Write)); + componentManager.validateComponentExistence(vspId, image.getVersion(), componentId, user); + ImageEntity createdImage = imageManager.createImage(image, user); + MapImageEntityToImageCreationDto mapping = new MapImageEntityToImageCreationDto(); + ImageCreationDto createdImageDto = mapping.applyMapping(createdImage, ImageCreationDto.class); + return Response + .ok(createdImage != null ? createdImageDto : null) + .build(); + } + + @Override + public Response getImageSchema(String vspId, String versionId, String componentId, String user) { + MdcUtil.initMdc(LoggerServiceName.GET_Image_Schema.toString()); + CompositionEntityResponse response = + imageManager.getImageSchema(vspId, user); + return Response.ok(response).build(); + } + + @Override + public Response get(String vspId, String versionId, String componentId, String imageId, String + user) { + MdcUtil.initMdc(LoggerServiceName.GET_Image.toString()); + Version vspVersion = resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read); + componentManager.validateComponentExistence(vspId, vspVersion, componentId, user); + CompositionEntityResponse response = imageManager.getImage(vspId, + vspVersion, componentId, imageId, user); + + return Response.ok(response).build(); + } + + @Override + public Response list(String vspId, String versionId, String componentId, String user) { + MdcUtil.initMdc(LoggerServiceName.List_Images.toString()); + Version vspVersion = resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read); + componentManager.validateComponentExistence(vspId, vspVersion, componentId, user); + Collection images = + imageManager.listImages(vspId, vspVersion, componentId, user); + + MapImageEntityToImageDto mapper = new MapImageEntityToImageDto(); + GenericCollectionWrapper results = new GenericCollectionWrapper<>(); + for (ImageEntity image : images) { + results.add(mapper.applyMapping(image, ImageDto.class)); + } + + return Response.ok(results).build(); + } + + @Override + public Response delete(String vspId, String versionId, String componentId, String imageId, + String user) { + MdcUtil.initMdc(LoggerServiceName.Delete_Image.toString()); + Version vspVersion = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write); + componentManager.validateComponentExistence(vspId, vspVersion, componentId, user); + imageManager.deleteImage(vspId, vspVersion, componentId, imageId, user); + return Response.ok().build(); + } + + @Override + public Response update(ImageRequestDto request, String vspId, String versionId, String + componentId, + String imageId, + String user) { + MdcUtil.initMdc(LoggerServiceName.Update_Image.toString()); + ImageEntity imageEntity = new MapImageRequestDtoToImageEntity().applyMapping(request, + ImageEntity.class); + imageEntity.setVspId(vspId); + imageEntity.setVersion(resolveVspVersion(vspId, null, user, VersionableEntityAction.Write)); + imageEntity.setComponentId(componentId); + imageEntity.setId(imageId); + componentManager.validateComponentExistence(vspId, imageEntity.getVersion(), componentId, user); + + CompositionEntityValidationData validationData = + imageManager.updateImage(imageEntity, user); + return validationData != null && CollectionUtils.isNotEmpty(validationData.getErrors()) + ? Response.status(Response.Status.EXPECTATION_FAILED).entity( + new MapCompositionEntityValidationDataToDto() + .applyMapping(validationData, CompositionEntityValidationDataDto.class)).build() : + Response.ok().build(); + } + + @Override + public Response getQuestionnaire(String vspId, String versionId, String componentId, String + imageId, String user) { + MdcUtil.initMdc(LoggerServiceName.Get_Questionnaire_Compute.toString()); + Version vspVersion = resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read); + componentManager.validateComponentExistence(vspId, vspVersion, componentId, user); + QuestionnaireResponse questionnaireResponse = imageManager + .getImageQuestionnaire(vspId, vspVersion, componentId, imageId, + user); + + QuestionnaireResponseDto result = new MapQuestionnaireResponseToQuestionnaireResponseDto() + .applyMapping(questionnaireResponse, QuestionnaireResponseDto.class); + return Response.ok(result).build(); + + } + + @Override + public Response updateQuestionnaire(String questionnaireData, String vspId, String + versionId,String componentId,String imageId, String user) { + MdcUtil + .initMdc(LoggerServiceName.Update_Questionnaire_Compute.toString() + ); + Version vspVersion = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write); + componentManager.validateComponentExistence(vspId, vspVersion, componentId, user); + imageManager.updateImageQuestionnaire(vspId, vspVersion, componentId, imageId, + questionnaireData, user); + return Response.ok().build(); + } + +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/NicsImpl.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/NicsImpl.java index 922700671c..1612c964a1 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/NicsImpl.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/NicsImpl.java @@ -36,12 +36,14 @@ import org.openecomp.sdc.versioning.dao.types.Version; import org.openecomp.sdc.versioning.types.VersionableEntityAction; import org.openecomp.sdcrests.vendorsoftwareproducts.types.CompositionEntityResponseDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.CompositionEntityValidationDataDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.NicCreationResponseDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.NicDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.NicRequestDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.QuestionnaireResponseDto; import org.openecomp.sdcrests.vsp.rest.Nics; import org.openecomp.sdcrests.vsp.rest.mapping.MapCompositionEntityResponseToDto; import org.openecomp.sdcrests.vsp.rest.mapping.MapCompositionEntityValidationDataToDto; +import org.openecomp.sdcrests.vsp.rest.mapping.MapNicEntityToNicCreationResponseDto; import org.openecomp.sdcrests.vsp.rest.mapping.MapNicEntityToNicDto; import org.openecomp.sdcrests.vsp.rest.mapping.MapNicRequestDtoToNicEntity; import org.openecomp.sdcrests.vsp.rest.mapping.MapNicToNicDto; @@ -89,7 +91,11 @@ public class NicsImpl implements Nics { componentManager.validateComponentExistence(vspId, nic.getVersion(), componentId, user); NicEntity createdNic = nicManager.createNic(nic, user); - return Response.ok(createdNic != null ? new StringWrapperResponse(createdNic.getId()) : null) + MapNicEntityToNicCreationResponseDto mapping = + new MapNicEntityToNicCreationResponseDto(); + NicCreationResponseDto createdNicDto = mapping.applyMapping(createdNic, + NicCreationResponseDto.class); + return Response.ok(createdNic != null ? createdNicDto : null) .build(); } diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/VendorSoftwareProductsImpl.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/VendorSoftwareProductsImpl.java index c730066770..6dcb63dfdd 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/VendorSoftwareProductsImpl.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/VendorSoftwareProductsImpl.java @@ -22,16 +22,24 @@ package org.openecomp.sdcrests.vsp.rest.services; import org.openecomp.sdc.activityLog.ActivityLogManager; import org.openecomp.sdc.activityLog.ActivityLogManagerFactory; +import org.openecomp.sdc.common.errors.CoreException; +import org.openecomp.sdc.common.errors.ErrorCode; +import org.openecomp.sdc.datatypes.error.ErrorLevel; import org.openecomp.sdc.logging.api.Logger; import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.logging.context.MdcUtil; +import org.openecomp.sdc.logging.context.impl.MdcDataErrorMessage; import org.openecomp.sdc.logging.messages.AuditMessages; import org.openecomp.sdc.logging.types.LoggerConstants; +import org.openecomp.sdc.logging.types.LoggerErrorCode; import org.openecomp.sdc.logging.types.LoggerServiceName; +import org.openecomp.sdc.logging.types.LoggerTragetServiceName; import org.openecomp.sdc.vendorsoftwareproduct.VendorSoftwareProductManager; import org.openecomp.sdc.vendorsoftwareproduct.VspManagerFactory; +import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComputeEntity; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.PackageInfo; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails; +import org.openecomp.sdc.vendorsoftwareproduct.errors.OnboardingMethodErrorBuilder; import org.openecomp.sdc.vendorsoftwareproduct.types.QuestionnaireResponse; import org.openecomp.sdc.vendorsoftwareproduct.types.ValidationResponse; import org.openecomp.sdc.vendorsoftwareproduct.types.VersionedVendorSoftwareProductInfo; @@ -42,16 +50,18 @@ import org.openecomp.sdcrests.vendorsoftwareproducts.types.PackageInfoDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.QuestionnaireResponseDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.ValidationResponseDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.VersionSoftwareProductActionRequestDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.VspComputeDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.VspCreationDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.VspDescriptionDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.VspDetailsDto; import org.openecomp.sdcrests.vsp.rest.VendorSoftwareProducts; +import org.openecomp.sdcrests.vsp.rest.mapping.MapComputeEntityToVspComputeDto; import org.openecomp.sdcrests.vsp.rest.mapping.MapPackageInfoToPackageInfoDto; import org.openecomp.sdcrests.vsp.rest.mapping.MapQuestionnaireResponseToQuestionnaireResponseDto; import org.openecomp.sdcrests.vsp.rest.mapping.MapValidationResponseToDto; import org.openecomp.sdcrests.vsp.rest.mapping.MapVersionedVendorSoftwareProductInfoToVspDetailsDto; import org.openecomp.sdcrests.vsp.rest.mapping.MapVspDescriptionDtoToVspDetails; -import org.openecomp.sdcrests.vsp.rest.mapping.MspVspDetailsToVspCreationDto; +import org.openecomp.sdcrests.vsp.rest.mapping.MapVspDetailsToVspCreationDto; import org.openecomp.sdcrests.wrappers.GenericCollectionWrapper; import org.openecomp.sdcrests.wrappers.StringWrapperResponse; import org.slf4j.MDC; @@ -62,6 +72,7 @@ import javax.inject.Named; import javax.ws.rs.core.Response; import java.io.File; import java.io.IOException; +import java.util.Collection; import java.util.List; @@ -79,21 +90,35 @@ public class VendorSoftwareProductsImpl implements VendorSoftwareProducts { private ActivityLogManager activityLogManager = ActivityLogManagerFactory.getInstance().createInterface(); - @Override - public Response createVsp(VspDescriptionDto vspDescriptionDto, String user) { - MdcUtil.initMdc(LoggerServiceName.Create_VSP.toString()); - logger.audit(AuditMessages.AUDIT_MSG + AuditMessages.CREATE_VSP + vspDescriptionDto.getName()); - - VspDetails vspDetails = - new MapVspDescriptionDtoToVspDetails().applyMapping(vspDescriptionDto, VspDetails.class); - - vspDetails = vendorSoftwareProductManager.createVsp(vspDetails, user); - - MspVspDetailsToVspCreationDto mapping = new MspVspDetailsToVspCreationDto(); - VspCreationDto vspCreationDto = mapping.applyMapping(vspDetails, VspCreationDto.class); + @Override + public Response createVsp(VspDescriptionDto vspDescriptionDto, String user) { + MdcUtil.initMdc(LoggerServiceName.Create_VSP.toString()); + logger.audit(AuditMessages.AUDIT_MSG + AuditMessages.CREATE_VSP + + vspDescriptionDto.getName()); + + VspCreationDto vspCreationDto = null; + switch (vspDescriptionDto.getOnboardingMethod()) { + case "HEAT": + case "Manual": + VspDetails vspDetails = new MapVspDescriptionDtoToVspDetails(). + applyMapping(vspDescriptionDto, VspDetails.class); + + vspDetails = vendorSoftwareProductManager.createVsp(vspDetails, user); + + MapVspDetailsToVspCreationDto mapping = new MapVspDetailsToVspCreationDto(); + vspCreationDto = mapping.applyMapping(vspDetails, VspCreationDto.class); + break; + default: + ErrorCode onboardingMethodUpdateErrorCode = OnboardingMethodErrorBuilder + .getInvalidOnboardingMethodErrorBuilder(); + MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_API, + LoggerTragetServiceName.ADD_VSP, ErrorLevel.ERROR.name(), + LoggerErrorCode.DATA_ERROR.getErrorCode(), onboardingMethodUpdateErrorCode.message()); + throw new CoreException(onboardingMethodUpdateErrorCode); + } - return Response.ok(vspCreationDto).build(); - } + return Response.ok(vspCreationDto).build(); + } @Override public Response listVsps(String versionFilter, String user) { @@ -324,12 +349,26 @@ public class VendorSoftwareProductsImpl implements VendorSoftwareProducts { vendorSoftwareProductManager.getInformationArtifact(vspId, resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read), user); - Response.ResponseBuilder response = Response.ok(textInformationArtifact); - if (textInformationArtifact == null) { - return Response.status(Response.Status.NOT_FOUND).build(); + Response.ResponseBuilder response = Response.ok(textInformationArtifact); + if (textInformationArtifact == null) { + return Response.status(Response.Status.NOT_FOUND).build(); + } + response + .header("Content-Disposition", "attachment; filename=" + textInformationArtifact.getName()); + return response.build(); } - response - .header("Content-Disposition", "attachment; filename=" + textInformationArtifact.getName()); - return response.build(); + + public Response listCompute(String vspId, String version, String user) { + + Collection computes = vendorSoftwareProductManager.getComputeByVsp(vspId, + resolveVspVersion(vspId, version, user, VersionableEntityAction.Read), user); + + MapComputeEntityToVspComputeDto mapper = new MapComputeEntityToVspComputeDto(); + GenericCollectionWrapper results = new GenericCollectionWrapper<>(); + for (ComputeEntity compute : computes) { + results.add(mapper.applyMapping(compute, VspComputeDto.class)); + } + + return Response.ok(results).build(); } } diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/pom.xml.versionsBackup b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/pom.xml.versionsBackup new file mode 100644 index 0000000000..7fb5fd711e --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/pom.xml.versionsBackup @@ -0,0 +1,30 @@ + + + 4.0.0 + + vendor-software-products-rest-types + vendor-software-products-rest-types + + + org.openecomp.sdc.onboarding + vendor-software-products-rest + 1.0-SNAPSHOT + ../ + + + + + org.openecomp.sdc + openecomp-sdc-common-rest + 1.0-SNAPSHOT + + + org.openecomp.sdc + openecomp-sdc-vendor-software-product-manager + 1.0-SNAPSHOT + + + + \ No newline at end of file diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComponentCreationDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComponentCreationDto.java new file mode 100644 index 0000000000..a4ec05c074 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComponentCreationDto.java @@ -0,0 +1,13 @@ +package org.openecomp.sdcrests.vendorsoftwareproducts.types; + +public class ComponentCreationDto { + private String vfcId; + + public String getVfcId() { + return vfcId; + } + + public void setVfcId(String vfcId) { + this.vfcId = vfcId; + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComponentRequestDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComponentRequestDto.java index 8d2fd4b48d..364e11936c 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComponentRequestDto.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComponentRequestDto.java @@ -7,9 +7,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -20,11 +20,19 @@ package org.openecomp.sdcrests.vendorsoftwareproducts.types; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; + public class ComponentRequestDto { private String name; + @NotNull(message = "VFC displayName is mandatory.") + @Size(min = 1, max = 30,message = "VFC displayName length should be between 1 and 30.") private String displayName; + @Size(min = 0, max = 1000,message = "description length should not exceed 1000.") private String vfcCode; + private String nfcCode; + private String nfcFunction; private String description; public String getName() { @@ -58,4 +66,20 @@ public class ComponentRequestDto { public void setVfcCode(String vfcCode) { this.vfcCode = vfcCode; } + + public String getNfcCode() { + return nfcCode; + } + + public void setNfcCode(String nfcCode) { + this.nfcCode = nfcCode; + } + + public String getNfcFunction() { + return nfcFunction; + } + + public void setNfcFunction(String nfcFunction) { + this.nfcFunction = nfcFunction; + } } diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComponentValidationResultDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComponentValidationResultDto.java new file mode 100644 index 0000000000..b5456b7e88 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComponentValidationResultDto.java @@ -0,0 +1,25 @@ +package org.openecomp.sdcrests.vendorsoftwareproducts.types; + + +import java.util.Set; + +public class ComponentValidationResultDto { + private boolean valid; + private Set validationData; + + public boolean isValid() { + return valid; + } + + public void setValid(boolean valid) { + this.valid = valid; + } + + public Set getValidationData() { + return validationData; + } + + public void setValidationData(Set validationData) { + this.validationData = validationData; + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComputeCreationDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComputeCreationDto.java new file mode 100644 index 0000000000..f2b0689cd4 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComputeCreationDto.java @@ -0,0 +1,13 @@ +package org.openecomp.sdcrests.vendorsoftwareproducts.types; + +public class ComputeCreationDto { + private String id; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComputeDescription.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComputeDescription.java new file mode 100644 index 0000000000..1c4283acfc --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComputeDescription.java @@ -0,0 +1,31 @@ +package org.openecomp.sdcrests.vendorsoftwareproducts.types; + +public class ComputeDescription { + private String name; + private String description; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public ComputeDescription() { + + } + + public ComputeDescription(String name, String description) { + this.name = name; + this.description = description; + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComputeDetailsDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComputeDetailsDto.java new file mode 100644 index 0000000000..4b7889b16d --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComputeDetailsDto.java @@ -0,0 +1,34 @@ +package org.openecomp.sdcrests.vendorsoftwareproducts.types; + +import org.hibernate.validator.constraints.NotBlank; + +import javax.validation.constraints.Pattern; +import javax.validation.constraints.Size; + +public class ComputeDetailsDto implements CompositionDataEntityDto { + @NotBlank(message = "is mandatory and should not be empty") + @Size(min = 0, max = 30, message = "length should not exceed 30 characters.") + @Pattern(regexp = "^[a-zA-Z 0-9._-]*$", message = "must match \"^[a-zA-Z 0-9._-]*$\"") + private String name; + @Size(min = 0, max = 300, message = "length should not exceed 300 characters.") + private String description; + + public ComputeDetailsDto() { + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComputeDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComputeDto.java new file mode 100644 index 0000000000..829e2c58b5 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComputeDto.java @@ -0,0 +1,40 @@ +package org.openecomp.sdcrests.vendorsoftwareproducts.types; + +public class ComputeDto { + private String name; + private String id; + private String description; + private boolean associatedToDeploymentFlavor; + + public boolean isAssociatedToDeploymentFlavor() { + return associatedToDeploymentFlavor; + } + + public void setAssociatedToDeploymentFlavor(boolean associatedToDeploymentFlavor) { + this.associatedToDeploymentFlavor = associatedToDeploymentFlavor; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/DeploymentFlavorCreationDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/DeploymentFlavorCreationDto.java new file mode 100644 index 0000000000..d4c3443deb --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/DeploymentFlavorCreationDto.java @@ -0,0 +1,14 @@ +package org.openecomp.sdcrests.vendorsoftwareproducts.types; + + +public class DeploymentFlavorCreationDto { + private String deploymentFlavorId; + + public String getDeploymentFlavorId() { + return deploymentFlavorId; + } + + public void setDeploymentFlavorId(String deploymentFlavorId) { + this.deploymentFlavorId = deploymentFlavorId; + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/DeploymentFlavorDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/DeploymentFlavorDto.java new file mode 100644 index 0000000000..1748603d92 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/DeploymentFlavorDto.java @@ -0,0 +1,14 @@ +package org.openecomp.sdcrests.vendorsoftwareproducts.types; + +public class DeploymentFlavorDto extends DeploymentFlavorRequestDto implements CompositionDataEntityDto { + + private String id; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/DeploymentFlavorListResponseDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/DeploymentFlavorListResponseDto.java new file mode 100644 index 0000000000..fe51c9ebac --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/DeploymentFlavorListResponseDto.java @@ -0,0 +1,34 @@ +package org.openecomp.sdcrests.vendorsoftwareproducts.types; + + +public class DeploymentFlavorListResponseDto { + public String getModel() { + return model; + } + + public void setModel(String model) { + this.model = model; + } + + private String model; + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + private String description; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + private String id; +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/DeploymentFlavorRequestDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/DeploymentFlavorRequestDto.java new file mode 100644 index 0000000000..54ce63b252 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/DeploymentFlavorRequestDto.java @@ -0,0 +1,53 @@ +package org.openecomp.sdcrests.vendorsoftwareproducts.types; + + +import org.hibernate.validator.constraints.NotBlank; +import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ComponentComputeAssociation; + +import java.util.List; +import javax.validation.constraints.Pattern; +import javax.validation.constraints.Size; + +public class DeploymentFlavorRequestDto { + @NotBlank(message = "is mandatory and should not be empty") + @Pattern(regexp = "^[a-zA-Z 0-9._-]*$", message = "must match \"^[a-zA-Z 0-9._-]*$\"") + @Size(min = 0, max = 30,message = "length should not exceed 30 characters.") + private String model; + @Size(min = 0, max = 300,message = "length should not exceed 300 characters.") + private String description; + private String featureGroupId; + private List componentComputeAssociations; + + public String getModel() { + return model; + } + + public void setModel(String model) { + this.model = model; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getFeatureGroupId() { + return featureGroupId; + } + + public void setFeatureGroupId(String featureGroupId) { + this.featureGroupId = featureGroupId; + } + + public List getComponentComputeAssociations() { + return componentComputeAssociations; + } + + public void setComponentComputeAssociations(List componentComputeAssociations) { + this.componentComputeAssociations = componentComputeAssociations; + } + +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/DeploymentFlavorValidationResultDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/DeploymentFlavorValidationResultDto.java new file mode 100644 index 0000000000..d6f557c461 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/DeploymentFlavorValidationResultDto.java @@ -0,0 +1,25 @@ +package org.openecomp.sdcrests.vendorsoftwareproducts.types; + + +import java.util.Set; + +public class DeploymentFlavorValidationResultDto { + private boolean valid; + private Set validationData; + + public boolean isValid() { + return valid; + } + + public void setValid(boolean valid) { + this.valid = valid; + } + + public Set getValidationData() { + return validationData; + } + + public void setValidationData(Set validationData) { + this.validationData = validationData; + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ImageCreationDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ImageCreationDto.java new file mode 100644 index 0000000000..7e1987e4c2 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ImageCreationDto.java @@ -0,0 +1,14 @@ +package org.openecomp.sdcrests.vendorsoftwareproducts.types; + +public class ImageCreationDto { + + private String id; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ImageDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ImageDto.java new file mode 100644 index 0000000000..7b300222aa --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ImageDto.java @@ -0,0 +1,14 @@ +package org.openecomp.sdcrests.vendorsoftwareproducts.types; + + +public class ImageDto extends ImageRequestDto implements CompositionDataEntityDto { + private String id; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ImageRequestDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ImageRequestDto.java new file mode 100644 index 0000000000..6164522dda --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ImageRequestDto.java @@ -0,0 +1,75 @@ +package org.openecomp.sdcrests.vendorsoftwareproducts.types; + +import org.hibernate.validator.constraints.NotBlank; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Pattern; + +public class ImageRequestDto implements CompositionDataEntityDto { + + @NotBlank(message = "is mandatory and should not be empty") + @Pattern(regexp = "^[a-zA-Z 0-9._-]*$", message = "must match \"^[a-zA-Z 0-9._-]*$\"") + private String fileName; + private String description; + /*private String version; + private String format; + private String md5; + //private String providedBy;*/ + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + /*public String getMd5() { + return md5; + } + + public void setMd5(String md5) { + this.md5 = md5; + } + + public String getFormat() { + return format; + } + + public void setFormat(String format) { + this.format = format; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + /*public String getProvidedBy() { + return providedBy; + } + + public void setProvidedBy(String providedBy) { + this.providedBy = providedBy; + }*/ + +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/MibUploadStatusDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/MibUploadStatusDto.java deleted file mode 100644 index 7331115c3f..0000000000 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/MibUploadStatusDto.java +++ /dev/null @@ -1,46 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdcrests.vendorsoftwareproducts.types; - -public class MibUploadStatusDto { - private String snmpTrap; - private String snmpPoll; - - - public MibUploadStatusDto() { - } - - public String getSnmpTrap() { - return snmpTrap; - } - - public void setSnmpTrap(String snmpTrap) { - this.snmpTrap = snmpTrap; - } - - public String getSnmpPoll() { - return snmpPoll; - } - - public void setSnmpPoll(String snmpPoll) { - this.snmpPoll = snmpPoll; - } -} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/MonitoringUploadStatusDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/MonitoringUploadStatusDto.java new file mode 100644 index 0000000000..38cd631c02 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/MonitoringUploadStatusDto.java @@ -0,0 +1,56 @@ +/*- + * ============LICENSE_START======================================================= + * SDC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.sdcrests.vendorsoftwareproducts.types; + +public class MonitoringUploadStatusDto { + private String snmpTrap; + private String snmpPoll; + private String vesEvent; + + + public MonitoringUploadStatusDto() { + } + + public String getSnmpTrap() { + return snmpTrap; + } + + public void setSnmpTrap(String snmpTrap) { + this.snmpTrap = snmpTrap; + } + + public String getSnmpPoll() { + return snmpPoll; + } + + public String getVesEvent() { + return vesEvent; + } + + public void setVesEvent(String vesEvent) { + this.vesEvent = vesEvent; + } + + public void setSnmpPoll(String snmpPoll) { + this.snmpPoll = snmpPoll; + + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/NicCreationResponseDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/NicCreationResponseDto.java new file mode 100644 index 0000000000..469e444a76 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/NicCreationResponseDto.java @@ -0,0 +1,14 @@ +package org.openecomp.sdcrests.vendorsoftwareproducts.types; + + +public class NicCreationResponseDto { + private String nicId; + + public String getNicId() { + return nicId; + } + + public void setNicId(String nicId) { + this.nicId = nicId; + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/NicRequestDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/NicRequestDto.java index bd14012eee..fba85b64ed 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/NicRequestDto.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/NicRequestDto.java @@ -20,11 +20,25 @@ package org.openecomp.sdcrests.vendorsoftwareproducts.types; +import org.hibernate.validator.constraints.NotBlank; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.validation.ValidateString; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Pattern; + public class NicRequestDto { + @NotBlank(message = "is mandatory and should not be empty") + @Pattern(regexp = "^[a-zA-Z 0-9._-]*$", message = "must match \"^[a-zA-Z 0-9._-]*$\"") private String name; private String description; private String networkId; + @NotNull + @ValidateString(acceptedValues = {"External", "Internal"}, message = "doesn't " + + "meet the expected attribute value.", isCaseSensitive = true) + private String networkType; + + private String networkDescription; public String getName() { return name; @@ -49,4 +63,20 @@ public class NicRequestDto { public void setNetworkId(String networkId) { this.networkId = networkId; } + + public String getNetworkType(){ + return networkType; + } + + public void setNetworkType(String networkType){ + this.networkType = networkType; + } + + public String getNetworkDescription(){ + return networkDescription; + } + + public void setNetworkDescription(String networkDescription){ + this.networkDescription = networkDescription; + } } diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/OnboardingMethod.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/OnboardingMethod.java new file mode 100644 index 0000000000..3059efb171 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/OnboardingMethod.java @@ -0,0 +1,6 @@ +package org.openecomp.sdcrests.vendorsoftwareproducts.types; + +public enum OnboardingMethod { + HEAT, + Manual; +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ValidationResponseDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ValidationResponseDto.java index d76ae665ae..bc03ec9f49 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ValidationResponseDto.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ValidationResponseDto.java @@ -33,6 +33,8 @@ public class ValidationResponseDto { private Collection licensingDataErrors; private Map> uploadDataErrors; private QuestionnaireValidationResultDto questionnaireValidationResult; + private ComponentValidationResultDto componentValidationResult; + private DeploymentFlavorValidationResultDto deploymentFlavorValidationResult; public boolean isValid() { return valid; @@ -74,4 +76,23 @@ public class ValidationResponseDto { QuestionnaireValidationResultDto questionnaireValidationResult) { this.questionnaireValidationResult = questionnaireValidationResult; } + + public ComponentValidationResultDto getComponentValidationResult() { + return componentValidationResult; + } + + public void setComponentValidationResult( + ComponentValidationResultDto componentValidationResult) { + this.componentValidationResult = componentValidationResult; + } + + public DeploymentFlavorValidationResultDto getDeploymentFlavorValidationResult() { + return deploymentFlavorValidationResult; + } + + public void setDeploymentFlavorValidationResult( + DeploymentFlavorValidationResultDto deploymentFlavorValidationResult) { + this.deploymentFlavorValidationResult = deploymentFlavorValidationResult; + } + } diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VmSizing.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VmSizing.java new file mode 100644 index 0000000000..c7f9d12788 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VmSizing.java @@ -0,0 +1,72 @@ +package org.openecomp.sdcrests.vendorsoftwareproducts.types; + +import org.openecomp.sdcrests.vendorsoftwareproducts.types.validation.ValidateString; + +import javax.validation.constraints.Max; +import javax.validation.constraints.Min; + +public class VmSizing { + @Min(value = 1, message = "should be integer and > 0") + @Max(value = 16, message = "should be integer and <= 16") + private int numOfCPUs; + @Min(value = 1, message = "should be integer and > 0") + private int fileSystemSizeGB; + @Min(value = 1, message = "should be integer and > 0") + private int persistentStorageVolumeSize; + @Min(value = 1, message = "should be integer and > 0") + private int ioOperationsPerSec; + @ValidateString(acceptedValues = {"1:1", "4:1", "16:1"}, message = "doesn't meet the expected " + + "attribute value.") + private String cpuOverSubscriptionRatio; + @ValidateString(acceptedValues = {"1", "2", "4", "8"}, message = "doesn't meet the expected " + + "attribute value.") + private String memoryRAM; + + public int getNumOfCPUs() { + return numOfCPUs; + } + + public void setNumOfCPUs(int numOfCPUs) { + this.numOfCPUs = numOfCPUs; + } + + public int getFileSystemSizeGB() { + return fileSystemSizeGB; + } + + public void setFileSystemSizeGB(int fileSystemSizeGB) { + this.fileSystemSizeGB = fileSystemSizeGB; + } + + public int getPersistentStorageVolumeSize() { + return persistentStorageVolumeSize; + } + + public void setPersistentStorageVolumeSize(int persistentStorageVolumeSize) { + this.persistentStorageVolumeSize = persistentStorageVolumeSize; + } + + public int getIoOperationsPerSec() { + return ioOperationsPerSec; + } + + public void setIoOperationsPerSec(int ioOperationsPerSec) { + this.ioOperationsPerSec = ioOperationsPerSec; + } + + public String getCpuOverSubscriptionRatio() { + return cpuOverSubscriptionRatio; + } + + public void setCpuOverSubscriptionRatio(String cpuOverSubscriptionRatio) { + this.cpuOverSubscriptionRatio = cpuOverSubscriptionRatio; + } + + public String getMemoryRAM() { + return memoryRAM; + } + + public void setMemoryRAM(String memoryRAM) { + this.memoryRAM = memoryRAM; + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VspComputeDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VspComputeDto.java new file mode 100644 index 0000000000..a41ae5f0af --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VspComputeDto.java @@ -0,0 +1,31 @@ +package org.openecomp.sdcrests.vendorsoftwareproducts.types; + +public class VspComputeDto { + private String name; + private String componentId; + private String computeFlavorId; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getComponentId() { + return componentId; + } + + public void setComponentId(String componentId) { + this.componentId = componentId; + } + + public String getComputeFlavorId() { + return computeFlavorId; + } + + public void setComputeFlavorId(String computeFlavorId) { + this.computeFlavorId = computeFlavorId; + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VspDescriptionDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VspDescriptionDto.java index 92e9d74bad..80b68deeeb 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VspDescriptionDto.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VspDescriptionDto.java @@ -25,9 +25,6 @@ import org.openecomp.sdcrests.common.types.VersionDto; import javax.validation.constraints.NotNull; -/** - * Created by TALIO on 4/20/2016. - */ public class VspDescriptionDto { @NotNull private String name; @@ -45,6 +42,9 @@ public class VspDescriptionDto { private VersionDto licensingVersion; // this will be populated with vlm version private LicensingData licensingData; + @NotNull + private String onboardingMethod; + public String getName() { return name; } @@ -116,4 +116,12 @@ public class VspDescriptionDto { public void setLicensingData(LicensingData licensingData) { this.licensingData = licensingData; } + + public String getOnboardingMethod() { + return onboardingMethod; + } + + public void setOnboardingMethod(String onboardingMethod) { + this.onboardingMethod = onboardingMethod; + } } diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/validation/StringValidator.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/validation/StringValidator.java new file mode 100644 index 0000000000..0fc2fd7e82 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/validation/StringValidator.java @@ -0,0 +1,36 @@ +package org.openecomp.sdcrests.vendorsoftwareproducts.types.validation; + +import java.util.ArrayList; +import java.util.List; +import javax.validation.ConstraintValidator; +import javax.validation.ConstraintValidatorContext; + +public class StringValidator implements ConstraintValidator { + + private List valueList; + boolean isCaseSensitive; + + @Override + public void initialize(ValidateString constraintAnnotation) { + valueList = new ArrayList(); + isCaseSensitive = constraintAnnotation.isCaseSensitive(); + for (String val : constraintAnnotation.acceptedValues()) { + if (!isCaseSensitive) { + val = val.toUpperCase(); + } + valueList.add(val); + } + } + + @Override + public boolean isValid(String value, ConstraintValidatorContext context) { + if (!isCaseSensitive) { + value = value.toUpperCase(); + } + if (value != null && !valueList.contains(value)) { + return false; + } + return true; + } + +} \ No newline at end of file diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/validation/ValidateString.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/validation/ValidateString.java new file mode 100644 index 0000000000..1218bb1c22 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/validation/ValidateString.java @@ -0,0 +1,44 @@ +package org.openecomp.sdcrests.vendorsoftwareproducts.types.validation; + +import static java.lang.annotation.ElementType.ANNOTATION_TYPE; +import static java.lang.annotation.ElementType.CONSTRUCTOR; +import static java.lang.annotation.ElementType.FIELD; +import static java.lang.annotation.ElementType.METHOD; +import static java.lang.annotation.ElementType.PARAMETER; +import static java.lang.annotation.RetentionPolicy.RUNTIME; + +import java.lang.annotation.Documented; +import java.lang.annotation.Retention; +import java.lang.annotation.Target; +import javax.validation.Constraint; +import javax.validation.Payload; + +/** + * The interface Validate string. + */ +@Documented +@Constraint(validatedBy = StringValidator.class) +@Target({METHOD, FIELD, ANNOTATION_TYPE, PARAMETER, CONSTRUCTOR}) +@Retention(RUNTIME) +public @interface ValidateString { + /** + * The constant message. + */ + String message = ""; + + /** + * Accepted values string [ ]. + * + * @return the string [ ] + */ + String[] acceptedValues(); + + String message() default "{org.openecomp.sdcrests.vendorsoftwareproducts.types.validation" + + ".message}"; + + boolean isCaseSensitive() default false; + + Class[] groups() default {}; + + Class[] payload() default {}; +} -- cgit 1.2.3-korg