summaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api
diff options
context:
space:
mode:
authorAviZi <avi.ziv@amdocs.com>2017-06-09 02:39:56 +0300
committerAviZi <avi.ziv@amdocs.com>2017-06-09 02:39:56 +0300
commit280f8015d06af1f41a3ef12e8300801c7a5e0d54 (patch)
tree9c1d3978c04cd28068f02073038c936bb49ca9e0 /openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api
parentfd3821dad11780d33c5373d74c957c442489945e (diff)
[SDC-29] Amdocs OnBoard 1707 initial commit.
Change-Id: Ie4d12a3f574008b792899b368a0902a8b46b5370 Signed-off-by: AviZi <avi.ziv@amdocs.com>
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api')
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/pom.xml31
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/pom.xml.versionsBackup67
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/VendorSoftwareProductConstants.java6
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ComponentDao.java4
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ComponentDependencyModelDao.java13
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ComponentDependencyModelDaoFactory.java13
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/MibDao.java (renamed from openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ComponentArtifactDao.java)17
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/MibDaoFactory.java (renamed from openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ProcessArtifactDaoFactory.java)8
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/NetworkDao.java13
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/NicDao.java3
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/OrchestrationTemplateCandidateDao.java40
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/OrchestrationTemplateCandidateDaoFactory.java32
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/OrchestrationTemplateDao.java36
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/OrchestrationTemplateDaoFactory.java (renamed from openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ComponentArtifactDaoFactory.java)8
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/PackageInfoDao.java7
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ProcessDao.java29
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/VendorSoftwareProductDao.java88
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/VendorSoftwareProductDaoFactory.java5
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/VendorSoftwareProductInfoDao.java12
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/Action.java1
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/ComponentDependencyModelEntity.java155
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/ComponentEntity.java74
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/MibEntity.java (renamed from openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/ComponentArtifactEntity.java)43
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/NetworkEntity.java67
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/NicEntity.java86
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/OrchestrationTemplateCandidateData.java34
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/OrchestrationTemplateCandidateDataEntity.java (renamed from openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/ProcessArtifactEntity.java)106
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/PackageInfo.java2
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/ProcessEntity.java83
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/ProcessType.java27
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/TranslatedFileData.java1
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/UploadData.java90
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/UploadDataEntity.java13
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/VspDetails.java63
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/VspQuestionnaireEntity.java32
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/errors/utils/ErrorsUtil.java42
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/CandidateServiceFactory.java35
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/CompositionDataExtractorFactory.java33
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/CompositionEntityDataManagerFactory.java33
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/InformationArtifactGeneratorFactory.java33
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/ManifestCreatorFactory.java35
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/QuestionnnaireDataServiceFactory.java34
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/informationArtifact/InformationArtifactData.java83
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/informationArtifact/InformationArtifactGenerator.java35
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/questionnaire/QuestionnaireDataService.java33
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/HeatFileAnalyzer.java47
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/composition/CompositionDataExtractor.java31
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/composition/CompositionEntityDataManager.java77
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/filedatastructuremodule/CandidateService.java75
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/filedatastructuremodule/ManifestCreator.java38
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/HeatFileAnalyzerRowDataImpl.java152
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/schemagenerator/SchemaGenerator.java64
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/schemagenerator/SchemaGeneratorConfig.java154
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/utils/CandidateEntityBuilder.java107
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/CandidateDataEntityTo.java90
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/candidateheat/AnalyzedZipHeatFiles.java84
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/candidateheat/Constants.java27
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/candidateheat/FilesDataStructure.java63
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/candidateheat/Module.java79
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/ComponentData.java29
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/CompositionEntityId.java22
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/CompositionEntityType.java1
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/CompositionEntityValidationData.java132
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/ExtractCompositionDataContext.java134
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/Network.java22
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/Nic.java26
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/ComponentQuestionnaire.java79
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/compute/Compute.java54
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/compute/GuestOS.java54
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/compute/NumOfVMs.java63
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/compute/VmSizing.java63
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/general/General.java72
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/general/Hypervisor.java54
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/general/Image.java63
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/general/Recovery.java54
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/highAvailability/HighAvailabilityAndLoadBalancing.java100
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/network/Network.java36
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/network/NetworkCapacity.java45
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/storage/Backup.java63
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/storage/LogBackup.java63
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/storage/SnapshotBackup.java36
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/storage/Storage.java54
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/nic/AcceptableJitter.java54
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/nic/IpConfiguration.java45
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/nic/Network.java44
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/nic/NicQuestionnaire.java63
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/nic/PacketsAndBytes.java45
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/nic/PeakAndAvg.java45
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/nic/Protocols.java58
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/nic/Sizing.java81
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/vsp/VspQuestionnaire.java39
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/vsp/general/Availability.java36
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/vsp/general/General.java64
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/vsp/general/RegionsData.java48
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/vsp/general/StorageDataReplication.java72
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/schemagenerator/ComponentCompositionSchemaInput.java44
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/schemagenerator/ComponentQuestionnaireSchemaInput.java42
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/schemagenerator/NetworkCompositionSchemaInput.java44
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/schemagenerator/NicCompositionSchemaInput.java55
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/schemagenerator/SchemaTemplateContext.java26
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/schemagenerator/SchemaTemplateInput.java (renamed from openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ProcessArtifactDao.java)11
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/resources/factoryConfiguration.json15
102 files changed, 4583 insertions, 460 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/pom.xml b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/pom.xml
index 4862094291..01f7635d41 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/pom.xml
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
@@ -12,26 +12,21 @@
<artifactId>openecomp-sdc-vendor-software-product-api</artifactId>
+
<dependencies>
<dependency>
- <groupId>com.google.code.gson</groupId>
- <artifactId>gson</artifactId>
- <version>2.3.1</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.openecomp.sdc</groupId>
+ <groupId>org.openecomp.core</groupId>
<artifactId>openecomp-core-lib</artifactId>
<type>pom</type>
<version>${project.version}</version>
</dependency>
<dependency>
- <groupId>org.openecomp.sdc</groupId>
+ <groupId>org.openecomp.core</groupId>
<artifactId>openecomp-facade-core</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
- <groupId>org.openecomp.sdc</groupId>
+ <groupId>org.openecomp.core</groupId>
<artifactId>openecomp-nosqldb-core</artifactId>
<version>${project.version}</version>
</dependency>
@@ -55,9 +50,17 @@
<artifactId>openecomp-sdc-model-core</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.freemarker</groupId>
+ <artifactId>freemarker</artifactId>
+ <version>${freemarker.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.openecomp.core</groupId>
+ <artifactId>openecomp-config-lib</artifactId>
+ <version>${project.version}</version>
+ </dependency>
</dependencies>
-
-
-</project> \ No newline at end of file
+</project>
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/pom.xml.versionsBackup b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/pom.xml.versionsBackup
new file mode 100644
index 0000000000..67f6a45c0d
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/pom.xml.versionsBackup
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns="http://maven.apache.org/POM/4.0.0"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.openecomp.sdc</groupId>
+ <artifactId>openecomp-sdc-vendor-software-product-lib</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>openecomp-sdc-vendor-software-product-api</artifactId>
+ <version>1.0-SNAPSHOT</version>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.openecomp.core</groupId>
+ <artifactId>openecomp-core-lib</artifactId>
+ <type>pom</type>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.openecomp.core</groupId>
+ <artifactId>openecomp-facade-core</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.openecomp.core</groupId>
+ <artifactId>openecomp-nosqldb-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.openecomp.sdc</groupId>
+ <artifactId>openecomp-sdc-versioning-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.openecomp.sdc</groupId>
+ <artifactId>openecomp-sdc-translator-core</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.openecomp.sdc</groupId>
+ <artifactId>openecomp-sdc-enrichment-api</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.openecomp.sdc</groupId>
+ <artifactId>openecomp-sdc-model-core</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.freemarker</groupId>
+ <artifactId>freemarker</artifactId>
+ <version>2.3.25-incubating</version>
+ </dependency>
+ <dependency>
+ <groupId>org.openecomp.core</groupId>
+ <artifactId>openecomp-config-lib</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+
+
+</project> \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/VendorSoftwareProductConstants.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/VendorSoftwareProductConstants.java
index 860ef5fd41..8b2470a525 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/VendorSoftwareProductConstants.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/VendorSoftwareProductConstants.java
@@ -26,6 +26,10 @@ public final class VendorSoftwareProductConstants {
public static final String VSP_PACKAGE_ZIP = "VSPPackage.zip";
public static final String CSAR = "CSAR";
public static final String UPLOAD_RAW_DATA = "UPLOAD_RAW_DATA";
+ public static final String INFORMATION_ARTIFACT_NAME = "VSP_%s_Information.txt";
+ public static final String UNSUPPORTED_OPERATION_ERROR =
+ "An error has occurred: Unsupported operation for 1707 release.";
+
public final class UniqueValues {
public static final String VENDOR_SOFTWARE_PRODUCT_NAME = "Vendor Software Product name";
@@ -33,6 +37,8 @@ public final class VendorSoftwareProductConstants {
public static final String NETWORK_NAME = "Network name";
public static final String COMPONENT_NAME = "ComponentData name";
public static final String NIC_NAME = "NIC name";
+ public static final String ORCHESTRATION_CANDIDATE_NAME = "Orchestration Candidate name";
//public static final String COMPONENT_ARTIFACT_NAME = "ComponentArtifact name";
+
}
}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ComponentDao.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ComponentDao.java
index ca795b4929..ef3f2f131d 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ComponentDao.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ComponentDao.java
@@ -29,10 +29,14 @@ import java.util.Collection;
public interface ComponentDao extends VersionableDao, BaseDao<ComponentEntity> {
+ ComponentEntity getQuestionnaireData(String vspId, Version version, String componentId);
+
void updateQuestionnaireData(String vspId, Version version, String componentId,
String questionnaireData);
Collection<ComponentEntity> listQuestionnaires(String vspId, Version version);
+ Collection<ComponentEntity> listCompositionAndQuestionnaire(String vspId, Version version);
+
void deleteAll(String vspId, Version version);
}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ComponentDependencyModelDao.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ComponentDependencyModelDao.java
new file mode 100644
index 0000000000..1be4a5cda5
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ComponentDependencyModelDao.java
@@ -0,0 +1,13 @@
+package org.openecomp.sdc.vendorsoftwareproduct.dao;
+
+import org.openecomp.core.dao.BaseDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentDependencyModelEntity;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentEntity;
+import org.openecomp.sdc.versioning.dao.VersionableDao;
+import org.openecomp.sdc.versioning.dao.types.Version;
+
+public interface ComponentDependencyModelDao extends VersionableDao,
+ BaseDao<ComponentDependencyModelEntity> {
+
+ public void deleteAll(String vspId, Version version);
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ComponentDependencyModelDaoFactory.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ComponentDependencyModelDaoFactory.java
new file mode 100644
index 0000000000..bd6f2859ad
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ComponentDependencyModelDaoFactory.java
@@ -0,0 +1,13 @@
+package org.openecomp.sdc.vendorsoftwareproduct.dao;
+
+
+import org.openecomp.core.factory.api.AbstractComponentFactory;
+import org.openecomp.core.factory.api.AbstractFactory;
+
+public abstract class ComponentDependencyModelDaoFactory extends
+ AbstractComponentFactory<ComponentDependencyModelDao> {
+
+ public static ComponentDependencyModelDaoFactory getInstance() {
+ return AbstractFactory.getInstance(ComponentDependencyModelDaoFactory.class);
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ComponentArtifactDao.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/MibDao.java
index d43c9687c2..cf980a52ff 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ComponentArtifactDao.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/MibDao.java
@@ -20,21 +20,22 @@
package org.openecomp.sdc.vendorsoftwareproduct.dao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentArtifactEntity;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.MibEntity;
import org.openecomp.sdc.versioning.dao.VersionableDao;
import java.util.Collection;
+import java.util.Optional;
-public interface ComponentArtifactDao extends VersionableDao {
- ComponentArtifactEntity getArtifactByType(ComponentArtifactEntity entity);
+public interface MibDao extends VersionableDao {
- void update(ComponentArtifactEntity entity);
+ Optional<MibEntity> getByType(MibEntity entity);
- void delete(ComponentArtifactEntity entity);
+ void create(MibEntity entity);
- Collection<ComponentArtifactEntity> getArtifactNamesAndTypesForComponent(
- ComponentArtifactEntity entity);
+ void delete(MibEntity entity);
- void deleteAll(ComponentArtifactEntity entity);
+ Collection<MibEntity> list(MibEntity entity);
+
+ void deleteAll(MibEntity entity);
}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ProcessArtifactDaoFactory.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/MibDaoFactory.java
index 534777c701..52c610caa6 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ProcessArtifactDaoFactory.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/MibDaoFactory.java
@@ -23,10 +23,10 @@ package org.openecomp.sdc.vendorsoftwareproduct.dao;
import org.openecomp.core.factory.api.AbstractComponentFactory;
import org.openecomp.core.factory.api.AbstractFactory;
-public abstract class ProcessArtifactDaoFactory
- extends AbstractComponentFactory<ProcessArtifactDao> {
+public abstract class MibDaoFactory
+ extends AbstractComponentFactory<MibDao> {
- public static ProcessArtifactDaoFactory getInstance() {
- return AbstractFactory.getInstance(ProcessArtifactDaoFactory.class);
+ public static MibDaoFactory getInstance() {
+ return AbstractFactory.getInstance(MibDaoFactory.class);
}
}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/NetworkDao.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/NetworkDao.java
index 199e65fd83..348b777fe6 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/NetworkDao.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/NetworkDao.java
@@ -21,13 +21,24 @@
package org.openecomp.sdc.vendorsoftwareproduct.dao;
import org.openecomp.core.dao.BaseDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentEntity;
import org.openecomp.sdc.vendorsoftwareproduct.dao.type.NetworkEntity;
import org.openecomp.sdc.versioning.dao.VersionableDao;
import org.openecomp.sdc.versioning.dao.types.Version;
+import java.util.Collection;
+
public interface NetworkDao extends VersionableDao, BaseDao<NetworkEntity> {
- void updateQuestionnaireData(String vspId, Version version, String id, String questionnaireData);
+
void deleteAll(String vspId, Version version);
+
+
+
+
+
+
+
+
}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/NicDao.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/NicDao.java
index bbfa8bf8c0..3205fcdb1f 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/NicDao.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/NicDao.java
@@ -29,6 +29,9 @@ import java.util.Collection;
public interface NicDao extends VersionableDao, BaseDao<NicEntity> {
+ NicEntity getQuestionnaireData(String vspId, Version version, String componentId,
+ String nicId);
+
void updateQuestionnaireData(String vspId, Version version, String componentId, String nicId,
String questionnaireData);
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/OrchestrationTemplateCandidateDao.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/OrchestrationTemplateCandidateDao.java
new file mode 100644
index 0000000000..fceac0ac98
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/OrchestrationTemplateCandidateDao.java
@@ -0,0 +1,40 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.dao;
+
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.OrchestrationTemplateCandidateData;
+import org.openecomp.sdc.vendorsoftwareproduct.types.candidateheat.FilesDataStructure;
+import org.openecomp.sdc.versioning.dao.VersionableDao;
+import org.openecomp.sdc.versioning.dao.types.Version;
+
+import java.util.Optional;
+
+public interface OrchestrationTemplateCandidateDao extends VersionableDao {
+
+ OrchestrationTemplateCandidateData get(String vspId, Version version);
+
+ void update(String vspId, OrchestrationTemplateCandidateData candidateData);
+
+ void updateStructure(String vspId, Version version, FilesDataStructure fileDataStructure);
+
+ Optional<String> getStructure(String vspId, Version version);
+}
+
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/OrchestrationTemplateCandidateDaoFactory.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/OrchestrationTemplateCandidateDaoFactory.java
new file mode 100644
index 0000000000..5624da018a
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/OrchestrationTemplateCandidateDaoFactory.java
@@ -0,0 +1,32 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.dao;
+
+import org.openecomp.core.factory.api.AbstractComponentFactory;
+import org.openecomp.core.factory.api.AbstractFactory;
+
+public abstract class OrchestrationTemplateCandidateDaoFactory
+ extends AbstractComponentFactory<OrchestrationTemplateCandidateDao> {
+
+ public static OrchestrationTemplateCandidateDaoFactory getInstance() {
+ return AbstractFactory.getInstance(OrchestrationTemplateCandidateDaoFactory.class);
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/OrchestrationTemplateDao.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/OrchestrationTemplateDao.java
new file mode 100644
index 0000000000..a8c2eb8f7b
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/OrchestrationTemplateDao.java
@@ -0,0 +1,36 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.dao;
+
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.UploadData;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.UploadDataEntity;
+import org.openecomp.sdc.versioning.dao.VersionableDao;
+import org.openecomp.sdc.versioning.dao.types.Version;
+
+public interface OrchestrationTemplateDao extends VersionableDao {
+
+ String getValidationData(String vspId, Version version);
+
+ UploadDataEntity getOrchestrationTemplate(String vspId, Version version);
+
+ void updateOrchestrationTemplateData(String vspId, UploadData uploadData);
+}
+
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ComponentArtifactDaoFactory.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/OrchestrationTemplateDaoFactory.java
index 56a0ec65af..be3c849a20 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ComponentArtifactDaoFactory.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/OrchestrationTemplateDaoFactory.java
@@ -23,10 +23,10 @@ package org.openecomp.sdc.vendorsoftwareproduct.dao;
import org.openecomp.core.factory.api.AbstractComponentFactory;
import org.openecomp.core.factory.api.AbstractFactory;
-public abstract class ComponentArtifactDaoFactory
- extends AbstractComponentFactory<ComponentArtifactDao> {
+public abstract class OrchestrationTemplateDaoFactory
+ extends AbstractComponentFactory<OrchestrationTemplateDao> {
- public static ComponentArtifactDaoFactory getInstance() {
- return AbstractFactory.getInstance(ComponentArtifactDaoFactory.class);
+ public static OrchestrationTemplateDaoFactory getInstance() {
+ return AbstractFactory.getInstance(OrchestrationTemplateDaoFactory.class);
}
}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/PackageInfoDao.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/PackageInfoDao.java
index a22c725b6f..d12069f480 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/PackageInfoDao.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/PackageInfoDao.java
@@ -24,10 +24,15 @@ import org.openecomp.core.dao.BaseDao;
import org.openecomp.sdc.vendorsoftwareproduct.dao.type.PackageInfo;
import org.openecomp.sdc.versioning.dao.types.Version;
+import java.nio.ByteBuffer;
import java.util.List;
public interface PackageInfoDao extends BaseDao<PackageInfo> {
List<PackageInfo> listByCategory(String category, String subCategory);
- void deleteRowTranslateContent(String vspId, Version version);
+ public void deleteRowTranslateContent(String vspId, Version version);
+
+ void updateTranslatedContent(String vspId, Version version, ByteBuffer translateContent);
+
+
}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ProcessDao.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ProcessDao.java
index 8aa3400d24..c6622ef8e5 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ProcessDao.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ProcessDao.java
@@ -1,30 +1,17 @@
-/*-
- * ============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.sdc.vendorsoftwareproduct.dao;
import org.openecomp.core.dao.BaseDao;
import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ProcessEntity;
import org.openecomp.sdc.versioning.dao.VersionableDao;
+import org.openecomp.sdc.versioning.dao.types.Version;
+/**
+ * @author Avrahamg.
+ * @since March 23, 2017
+ */
public interface ProcessDao extends VersionableDao, BaseDao<ProcessEntity> {
-
void deleteAll(ProcessEntity entity);
+
+
+ void deleteVspAll(String vspId, Version version);
}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/VendorSoftwareProductDao.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/VendorSoftwareProductDao.java
index d8de3c6bd4..85262db208 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/VendorSoftwareProductDao.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/VendorSoftwareProductDao.java
@@ -20,76 +20,26 @@
package org.openecomp.sdc.vendorsoftwareproduct.dao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentDependencyModelEntity;
import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.NetworkEntity;
import org.openecomp.sdc.vendorsoftwareproduct.dao.type.NicEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.PackageInfo;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ProcessArtifactEntity;
import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ProcessEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.UploadDataEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspQuestionnaireEntity;
import org.openecomp.sdc.versioning.dao.VersionableDao;
import org.openecomp.sdc.versioning.dao.types.Version;
-import java.nio.ByteBuffer;
import java.util.Collection;
import java.util.List;
-public interface VendorSoftwareProductDao extends VersionableDao {
-
- void createVendorSoftwareProductInfo(VspDetails vspDetails);
-
- Collection<VspDetails> listVendorSoftwareProductsInfo();
-
- VspDetails getVendorSoftwareProductInfo(VspDetails vspDetails);
-
- void updateVendorSoftwareProductInfo(VspDetails vspDetails);
-
- void deleteVendorSoftwareProductInfo(VspDetails vspDetails);
-
-
- void updateUploadData(UploadDataEntity uploadData);
-
- UploadDataEntity getUploadData(UploadDataEntity uploadData);
-
- ByteBuffer getContentData(UploadDataEntity uploadDataEntity);
-
-
- List<PackageInfo> listPackages(String category, String subCategory);
-
- void insertPackageDetails(PackageInfo packageInfo);
-
- PackageInfo getPackageInfo(PackageInfo packageInfo);
-
- void deletePackageInfo(PackageInfo packageInfo);
-
-
- Collection<NetworkEntity> listNetworks(String vspId, Version version);
-
- void createNetwork(NetworkEntity network);
- void updateNetwork(NetworkEntity network);
-
- NetworkEntity getNetwork(String vspId, Version version, String networkId);
-
- void deleteNetwork(String vspId, Version version);
+public interface VendorSoftwareProductDao extends VersionableDao {
Collection<ComponentEntity> listComponents(String vspId, Version version);
- void createComponent(ComponentEntity component);
-
- void updateComponent(ComponentEntity component);
-
- ComponentEntity getComponent(String vspId, Version version, String componentId);
-
Collection<ComponentEntity> listComponentsQuestionnaire(String vspId, Version version);
- void updateComponentQuestionnaire(String vspId, Version version, String componentId,
- String questionnaireData);
-
- void deleteComponent(String vspId, Version version);
+ Collection<ComponentEntity> listComponentsCompositionAndQuestionnaire(String vspId,
+ Version version);
Collection<ProcessEntity> listProcesses(String vspId, Version version, String componentId);
@@ -108,33 +58,23 @@ public interface VendorSoftwareProductDao extends VersionableDao {
void uploadProcessArtifact(String vspId, Version version, String componentId, String processId,
byte[] artifact, String artifactFileName);
- ProcessArtifactEntity getProcessArtifact(String vspId, Version version, String componentId,
- String processId);
+ ProcessEntity getProcessArtifact(String vspId, Version version, String componentId,
+ String processId);
void deleteProcessArtifact(String vspId, Version version, String componentId, String processId);
- VspQuestionnaireEntity getQuestionnaire(String vspId, Version version);
-
- void updateQuestionnaire(String vspId, Version version, String questionnaireData);
-
-
- Collection<NicEntity> listNics(String vspId, Version version, String componentId);
-
- void createNic(NicEntity nic);
-
- void updateNic(NicEntity nicEntity);
-
- NicEntity getNic(String vspId, Version version, String componentId, String nicId);
-
- void updateNicQuestionnaire(String vspId, Version version, String componentId, String nicId,
- String questionnaireData);
-
Collection<NicEntity> listNicsByVsp(String vspId, Version version);
- void deleteNic(String vspId, Version version, String componentId);
void deleteUploadData(String vspId, Version version);
- void updateVspLatestModificationTime(String vspId, Version version);
+ //void updateVspLatestModificationTime(String vspId, Version version);
+ void createComponentDependencyModel(
+ List<ComponentDependencyModelEntity> componentDependencyModelEntity, String vspId,
+ Version version);
+
+ Collection<ComponentDependencyModelEntity> listComponentDependencies(String vspId,Version
+ version);
+
}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/VendorSoftwareProductDaoFactory.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/VendorSoftwareProductDaoFactory.java
index 33aaa8e1ad..32070fe06a 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/VendorSoftwareProductDaoFactory.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/VendorSoftwareProductDaoFactory.java
@@ -23,8 +23,9 @@ package org.openecomp.sdc.vendorsoftwareproduct.dao;
import org.openecomp.core.factory.api.AbstractComponentFactory;
import org.openecomp.core.factory.api.AbstractFactory;
-public abstract class VendorSoftwareProductDaoFactory
- extends AbstractComponentFactory<VendorSoftwareProductDao> {
+
+public abstract class VendorSoftwareProductDaoFactory extends
+ AbstractComponentFactory<VendorSoftwareProductDao> {
public static VendorSoftwareProductDaoFactory getInstance() {
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/VendorSoftwareProductInfoDao.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/VendorSoftwareProductInfoDao.java
index 74a3f69e6c..ffb0d5eca7 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/VendorSoftwareProductInfoDao.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/VendorSoftwareProductInfoDao.java
@@ -22,9 +22,19 @@ package org.openecomp.sdc.vendorsoftwareproduct.dao;
import org.openecomp.core.dao.BaseDao;
import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspQuestionnaireEntity;
import org.openecomp.sdc.versioning.dao.VersionableDao;
+import org.openecomp.sdc.versioning.dao.types.Version;
public interface VendorSoftwareProductInfoDao extends VersionableDao, BaseDao<VspDetails> {
-// void updateLastModificationTime(VspDetails entity);
+ void updateOldVersionIndication(VspDetails vspDetails);
+
+ void updateQuestionnaireData(String vspId, Version version, String questionnaireData);
+
+ String getQuestionnaireData(String vspId, Version version);
+
+ VspQuestionnaireEntity getQuestionnaire(String vspId, Version version);
+
+ void deleteAll(String vspId, Version version);
}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/Action.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/Action.java
index 3e82053574..be78e78f5a 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/Action.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/Action.java
@@ -20,6 +20,7 @@
package org.openecomp.sdc.vendorsoftwareproduct.dao.type;
+
public enum Action {
CREATE_PACKAGE,
CHECK_IN,
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/ComponentDependencyModelEntity.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/ComponentDependencyModelEntity.java
new file mode 100644
index 0000000000..28a84e0a4f
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/ComponentDependencyModelEntity.java
@@ -0,0 +1,155 @@
+package org.openecomp.sdc.vendorsoftwareproduct.dao.type;
+
+import com.datastax.driver.mapping.annotations.ClusteringColumn;
+import com.datastax.driver.mapping.annotations.Column;
+import com.datastax.driver.mapping.annotations.Frozen;
+import com.datastax.driver.mapping.annotations.PartitionKey;
+import com.datastax.driver.mapping.annotations.Table;
+import org.openecomp.sdc.versioning.dao.types.Version;
+import org.openecomp.sdc.versioning.dao.types.VersionableEntity;
+
+@Table(keyspace = "dox", name = "vsp_component_dependency_model")
+public class ComponentDependencyModelEntity implements VersionableEntity {
+
+ public static final String ENTITY_TYPE = "Vendor Software Product Component Dependency Model";
+ @PartitionKey
+ @Column(name = "vsp_id")
+ private String vspId;
+ @PartitionKey(value = 1)
+ @Frozen
+ private Version version;
+ @ClusteringColumn
+ @Column(name = "dependency_id")
+ private String id;
+ @Column(name = "sourcecomponent_id")
+ private String sourceComponentId;
+ @Column(name = "targetcomponent_id")
+ private String targetComponentId;
+ @Column(name = "relation")
+ private String relation;
+
+ public ComponentDependencyModelEntity() {
+
+ }
+
+ /**
+ * Instantiates a new ComponentDependencyModelEntity entity.
+ *
+ * @param vspId the vsp id
+ * @param version the version
+ * @param dependencyId the dependencyId
+ */
+ public ComponentDependencyModelEntity(String vspId, Version version, String dependencyId) {
+ this.vspId = vspId;
+ this.version = version;
+ this.id = dependencyId;
+ }
+
+ @Override
+ public String getEntityType() {
+ return ENTITY_TYPE;
+ }
+
+ @Override
+ public String getFirstClassCitizenId() {
+ return getVspId();
+ }
+
+ @Override
+ public String getId() {
+ return id;
+ }
+
+ @Override
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ @Override
+ public Version getVersion() {
+ return version;
+ }
+
+ @Override
+ public void setVersion(Version version) {
+ this.version = version;
+ }
+
+ public String getVspId() {
+ return vspId;
+ }
+
+ public void setVspId(String vspId) {
+ this.vspId = vspId;
+ }
+
+ public String getTargetComponentId() {
+ return targetComponentId;
+ }
+
+ public void setTargetComponentId(String targetComponentId) {
+ this.targetComponentId = targetComponentId;
+ }
+
+ public String getSourceComponentId() {
+ return sourceComponentId;
+ }
+
+ public void setSourceComponentId(String sourceComponentId) {
+ this.sourceComponentId = sourceComponentId;
+ }
+
+ public String getRelation() {
+ return relation;
+ }
+
+ public void setRelation(String relation) {
+ this.relation = relation;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+
+ ComponentDependencyModelEntity that = (ComponentDependencyModelEntity) o;
+
+ if (vspId != null ? !vspId.equals(that.vspId) : that.vspId != null) {
+ return false;
+ }
+ if (version != null ? !version.equals(that.version) : that.version != null) {
+ return false;
+ }
+ if (id != null ? !id.equals(that.id) : that.id != null) {
+ return false;
+ }
+ if (sourceComponentId != null ? !sourceComponentId.equals(that.sourceComponentId)
+ : that.sourceComponentId != null) {
+ return false;
+ }
+ if (targetComponentId != null ? !targetComponentId.equals(that.targetComponentId)
+ : that.targetComponentId != null) {
+ return false;
+ }
+ if (relation != null ? !relation.equals(that.relation) : that.relation != null) {
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ int result = vspId != null ? vspId.hashCode() : 0;
+ result = 31 * result + (version != null ? version.hashCode() : 0);
+ result = 31 * result + (id != null ? id.hashCode() : 0);
+ result = 31 * result + (sourceComponentId != null ? sourceComponentId.hashCode() : 0);
+ result = 31 * result + (targetComponentId != null ? targetComponentId.hashCode() : 0);
+ result = 31 * result + (relation != null ? relation.hashCode() : 0);
+ return result;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/ComponentEntity.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/ComponentEntity.java
index a74ba04ec4..602fd6d15c 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/ComponentEntity.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/ComponentEntity.java
@@ -38,7 +38,7 @@ import java.util.List;
@Table(keyspace = "dox", name = "vsp_component")
public class ComponentEntity implements CompositionEntity {
- private static final String ENTITY_TYPE = "Vendor Software Product ComponentData";
+ private static final String ENTITY_TYPE = "Vendor Software Product Component";
@PartitionKey
@Column(name = "vsp_id")
@@ -83,22 +83,32 @@ public class ComponentEntity implements CompositionEntity {
return new CompositionEntityId(getId(), new CompositionEntityId(getVspId(), null));
}
- public String getVspId() {
- return vspId;
+ @Override
+ public String getCompositionData() {
+ return compositionData;
}
- public void setVspId(String vspId) {
- this.vspId = vspId;
+ @Override
+ public void setCompositionData(String compositionData) {
+ this.compositionData = compositionData;
}
@Override
- public Version getVersion() {
- return version;
+ public String getQuestionnaireData() {
+ return questionnaireData;
}
@Override
- public void setVersion(Version version) {
- this.version = version;
+ public void setQuestionnaireData(String questionnaireData) {
+ this.questionnaireData = questionnaireData;
+ }
+
+ public String getVspId() {
+ return vspId;
+ }
+
+ public void setVspId(String vspId) {
+ this.vspId = vspId;
}
@Override
@@ -122,13 +132,13 @@ public class ComponentEntity implements CompositionEntity {
}
@Override
- public String getCompositionData() {
- return compositionData;
+ public Version getVersion() {
+ return version;
}
@Override
- public void setCompositionData(String compositionData) {
- this.compositionData = compositionData;
+ public void setVersion(Version version) {
+ this.version = version;
}
public ComponentData getComponentCompositionData() {
@@ -140,16 +150,6 @@ public class ComponentEntity implements CompositionEntity {
this.compositionData = component == null ? null : JsonUtil.object2Json(component);
}
- @Override
- public String getQuestionnaireData() {
- return questionnaireData;
- }
-
- @Override
- public void setQuestionnaireData(String questionnaireData) {
- this.questionnaireData = questionnaireData;
- }
-
public List<NicEntity> getNics() {
return nics;
}
@@ -159,15 +159,25 @@ public class ComponentEntity implements CompositionEntity {
}
@Override
- public boolean equals(Object obj) {
- if (this == obj) {
+ public int hashCode() {
+ int result = vspId != null ? vspId.hashCode() : 0;
+ result = 31 * result + (version != null ? version.hashCode() : 0);
+ result = 31 * result + (id != null ? id.hashCode() : 0);
+ result = 31 * result + (compositionData != null ? compositionData.hashCode() : 0);
+ result = 31 * result + (questionnaireData != null ? questionnaireData.hashCode() : 0);
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object object) {
+ if (this == object) {
return true;
}
- if (obj == null || getClass() != obj.getClass()) {
+ if (object == null || getClass() != object.getClass()) {
return false;
}
- ComponentEntity that = (ComponentEntity) obj;
+ ComponentEntity that = (ComponentEntity) object;
if (vspId != null ? !vspId.equals(that.vspId) : that.vspId != null) {
return false;
@@ -186,14 +196,4 @@ public class ComponentEntity implements CompositionEntity {
: that.questionnaireData == null;
}
-
- @Override
- public int hashCode() {
- int result = vspId != null ? vspId.hashCode() : 0;
- result = 31 * result + (version != null ? version.hashCode() : 0);
- result = 31 * result + (id != null ? id.hashCode() : 0);
- result = 31 * result + (compositionData != null ? compositionData.hashCode() : 0);
- result = 31 * result + (questionnaireData != null ? questionnaireData.hashCode() : 0);
- return result;
- }
}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/ComponentArtifactEntity.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/MibEntity.java
index 3636a591d4..f057c1745a 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/ComponentArtifactEntity.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/MibEntity.java
@@ -25,14 +25,15 @@ import com.datastax.driver.mapping.annotations.Column;
import com.datastax.driver.mapping.annotations.Frozen;
import com.datastax.driver.mapping.annotations.PartitionKey;
import com.datastax.driver.mapping.annotations.Table;
-import org.openecomp.core.enrichment.types.ComponentArtifactType;
+import org.openecomp.core.enrichment.types.ArtifactType;
import org.openecomp.sdc.versioning.dao.types.Version;
import org.openecomp.sdc.versioning.dao.types.VersionableEntity;
+import java.io.Serializable;
import java.nio.ByteBuffer;
@Table(keyspace = "dox", name = "vsp_component_artifact")
-public class ComponentArtifactEntity implements VersionableEntity {
+public class MibEntity implements VersionableEntity, Serializable {
public static final String ENTITY_TYPE = "Vendor Software Product Component Artifact";
@PartitionKey
@Column(name = "vsp_id")
@@ -45,7 +46,7 @@ public class ComponentArtifactEntity implements VersionableEntity {
private String componentId;
@ClusteringColumn(value = 1)
@Column(name = "artifact_type")
- private ComponentArtifactType type;
+ private ArtifactType type;
@ClusteringColumn(value = 2)
@Column(name = "artifact_id")
private String id;
@@ -53,7 +54,7 @@ public class ComponentArtifactEntity implements VersionableEntity {
private String artifactName;
private ByteBuffer artifact;
- public ComponentArtifactEntity() {
+ public MibEntity() {
}
@@ -65,7 +66,7 @@ public class ComponentArtifactEntity implements VersionableEntity {
* @param componentId the component id
* @param id the id
*/
- public ComponentArtifactEntity(String vspId, Version version, String componentId, String id) {
+ public MibEntity(String vspId, Version version, String componentId, String id) {
this.vspId = vspId;
this.version = version;
this.componentId = componentId;
@@ -80,14 +81,6 @@ public class ComponentArtifactEntity implements VersionableEntity {
this.vspId = vspId;
}
- public Version getVersion() {
- return version;
- }
-
- public void setVersion(Version version) {
- this.version = version;
- }
-
public String getComponentId() {
return componentId;
}
@@ -114,6 +107,14 @@ public class ComponentArtifactEntity implements VersionableEntity {
this.id = id;
}
+ public Version getVersion() {
+ return version;
+ }
+
+ public void setVersion(Version version) {
+ this.version = version;
+ }
+
public String getArtifactName() {
return artifactName;
}
@@ -130,11 +131,23 @@ public class ComponentArtifactEntity implements VersionableEntity {
this.artifact = artifact;
}
- public ComponentArtifactType getType() {
+ public ArtifactType getType() {
return type;
}
- public void setType(ComponentArtifactType type) {
+ public void setType(ArtifactType type) {
this.type = type;
}
+
+ @Override
+ public String toString() {
+ return "MibEntity{" +
+ "vspId='" + vspId + '\'' +
+ ", version=" + version +
+ ", componentId='" + componentId + '\'' +
+ ", type=" + type +
+ ", id='" + id + '\'' +
+ ", artifactName='" + artifactName + '\'' +
+ '}';
+ }
}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/NetworkEntity.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/NetworkEntity.java
index 1599e4a88c..4b848a06b3 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/NetworkEntity.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/NetworkEntity.java
@@ -31,6 +31,7 @@ import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEnti
import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Network;
import org.openecomp.sdc.versioning.dao.types.Version;
+
@Table(keyspace = "dox", name = "vsp_network")
public class NetworkEntity implements CompositionEntity {
private static final String ENTITY_TYPE = "Vendor Software Product Network";
@@ -76,22 +77,32 @@ public class NetworkEntity implements CompositionEntity {
return new CompositionEntityId(getId(), new CompositionEntityId(getVspId(), null));
}
- public String getVspId() {
- return vspId;
+ @Override
+ public String getCompositionData() {
+ return compositionData;
}
- public void setVspId(String vspId) {
- this.vspId = vspId;
+ @Override
+ public void setCompositionData(String compositionData) {
+ this.compositionData = compositionData;
}
@Override
- public Version getVersion() {
- return version;
+ public String getQuestionnaireData() {
+ return questionnaireData;
}
@Override
- public void setVersion(Version version) {
- this.version = version;
+ public void setQuestionnaireData(String questionnaireData) {
+ this.questionnaireData = questionnaireData;
+ }
+
+ public String getVspId() {
+ return vspId;
+ }
+
+ public void setVspId(String vspId) {
+ this.vspId = vspId;
}
@Override
@@ -115,13 +126,13 @@ public class NetworkEntity implements CompositionEntity {
}
@Override
- public String getCompositionData() {
- return compositionData;
+ public Version getVersion() {
+ return version;
}
@Override
- public void setCompositionData(String compositionData) {
- this.compositionData = compositionData;
+ public void setVersion(Version version) {
+ this.version = version;
}
public Network getNetworkCompositionData() {
@@ -133,25 +144,25 @@ public class NetworkEntity implements CompositionEntity {
}
@Override
- public String getQuestionnaireData() {
- return questionnaireData;
- }
-
- @Override
- public void setQuestionnaireData(String questionnaireData) {
- this.questionnaireData = questionnaireData;
+ public int hashCode() {
+ int result = vspId != null ? vspId.hashCode() : 0;
+ result = 31 * result + (version != null ? version.hashCode() : 0);
+ result = 31 * result + (id != null ? id.hashCode() : 0);
+ result = 31 * result + (compositionData != null ? compositionData.hashCode() : 0);
+ result = 31 * result + (questionnaireData != null ? questionnaireData.hashCode() : 0);
+ return result;
}
@Override
- public boolean equals(Object obj) {
- if (this == obj) {
+ public boolean equals(Object object) {
+ if (this == object) {
return true;
}
- if (obj == null || getClass() != obj.getClass()) {
+ if (object == null || getClass() != object.getClass()) {
return false;
}
- NetworkEntity that = (NetworkEntity) obj;
+ NetworkEntity that = (NetworkEntity) object;
if (vspId != null ? !vspId.equals(that.vspId) : that.vspId != null) {
return false;
@@ -170,14 +181,4 @@ public class NetworkEntity implements CompositionEntity {
: that.questionnaireData == null;
}
-
- @Override
- public int hashCode() {
- int result = vspId != null ? vspId.hashCode() : 0;
- result = 31 * result + (version != null ? version.hashCode() : 0);
- result = 31 * result + (id != null ? id.hashCode() : 0);
- result = 31 * result + (compositionData != null ? compositionData.hashCode() : 0);
- result = 31 * result + (questionnaireData != null ? questionnaireData.hashCode() : 0);
- return result;
- }
}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/NicEntity.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/NicEntity.java
index 33042a128a..656693c14d 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/NicEntity.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/NicEntity.java
@@ -34,7 +34,7 @@ import org.openecomp.sdc.versioning.dao.types.Version;
@Table(keyspace = "dox", name = "vsp_component_nic")
public class NicEntity implements CompositionEntity {
- private static final String ENTITY_TYPE = "Vendor Software Product ComponentData NIC";
+ private static final String ENTITY_TYPE = "Vendor Software Product NIC";
@PartitionKey
@Column(name = "vsp_id")
@@ -83,22 +83,32 @@ public class NicEntity implements CompositionEntity {
new CompositionEntityId(getComponentId(), new CompositionEntityId(getVspId(), null)));
}
- public String getVspId() {
- return vspId;
+ @Override
+ public String getCompositionData() {
+ return compositionData;
}
- public void setVspId(String vspId) {
- this.vspId = vspId;
+ @Override
+ public void setCompositionData(String compositionData) {
+ this.compositionData = compositionData;
}
@Override
- public Version getVersion() {
- return version;
+ public String getQuestionnaireData() {
+ return questionnaireData;
}
@Override
- public void setVersion(Version version) {
- this.version = version;
+ public void setQuestionnaireData(String questionnaireData) {
+ this.questionnaireData = questionnaireData;
+ }
+
+ public String getVspId() {
+ return vspId;
+ }
+
+ public void setVspId(String vspId) {
+ this.vspId = vspId;
}
@Override
@@ -111,14 +121,6 @@ public class NicEntity implements CompositionEntity {
return getVspId();
}
- public String getComponentId() {
- return componentId;
- }
-
- public void setComponentId(String componentId) {
- this.componentId = componentId;
- }
-
@Override
public String getId() {
return id;
@@ -130,13 +132,21 @@ public class NicEntity implements CompositionEntity {
}
@Override
- public String getCompositionData() {
- return compositionData;
+ public Version getVersion() {
+ return version;
}
@Override
- public void setCompositionData(String compositionData) {
- this.compositionData = compositionData;
+ public void setVersion(Version version) {
+ this.version = version;
+ }
+
+ public String getComponentId() {
+ return componentId;
+ }
+
+ public void setComponentId(String componentId) {
+ this.componentId = componentId;
}
public Nic getNicCompositionData() {
@@ -148,25 +158,26 @@ public class NicEntity implements CompositionEntity {
}
@Override
- public String getQuestionnaireData() {
- return questionnaireData;
- }
-
- @Override
- public void setQuestionnaireData(String questionnaireData) {
- this.questionnaireData = questionnaireData;
+ public int hashCode() {
+ int result = vspId != null ? vspId.hashCode() : 0;
+ result = 31 * result + (version != null ? version.hashCode() : 0);
+ result = 31 * result + (componentId != null ? componentId.hashCode() : 0);
+ result = 31 * result + (id != null ? id.hashCode() : 0);
+ result = 31 * result + (compositionData != null ? compositionData.hashCode() : 0);
+ result = 31 * result + (questionnaireData != null ? questionnaireData.hashCode() : 0);
+ return result;
}
@Override
- public boolean equals(Object obj) {
- if (this == obj) {
+ public boolean equals(Object object) {
+ if (this == object) {
return true;
}
- if (obj == null || getClass() != obj.getClass()) {
+ if (object == null || getClass() != object.getClass()) {
return false;
}
- NicEntity nicEntity = (NicEntity) obj;
+ NicEntity nicEntity = (NicEntity) object;
if (vspId != null ? !vspId.equals(nicEntity.vspId) : nicEntity.vspId != null) {
return false;
@@ -189,15 +200,4 @@ public class NicEntity implements CompositionEntity {
: nicEntity.questionnaireData == null;
}
-
- @Override
- public int hashCode() {
- int result = vspId != null ? vspId.hashCode() : 0;
- result = 31 * result + (version != null ? version.hashCode() : 0);
- result = 31 * result + (componentId != null ? componentId.hashCode() : 0);
- result = 31 * result + (id != null ? id.hashCode() : 0);
- result = 31 * result + (compositionData != null ? compositionData.hashCode() : 0);
- result = 31 * result + (questionnaireData != null ? questionnaireData.hashCode() : 0);
- return result;
- }
}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/OrchestrationTemplateCandidateData.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/OrchestrationTemplateCandidateData.java
new file mode 100644
index 0000000000..de70434d2f
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/OrchestrationTemplateCandidateData.java
@@ -0,0 +1,34 @@
+package org.openecomp.sdc.vendorsoftwareproduct.dao.type;
+
+import java.nio.ByteBuffer;
+
+public class OrchestrationTemplateCandidateData {
+ private ByteBuffer contentData;
+ private String filesDataStructure;
+
+
+ public OrchestrationTemplateCandidateData() {
+ }
+
+ public OrchestrationTemplateCandidateData(ByteBuffer contentData,
+ String dataStructureJson) {
+ this.contentData = contentData;
+ this.filesDataStructure = dataStructureJson;
+ }
+
+ public ByteBuffer getContentData() {
+ return contentData;
+ }
+
+ public void setContentData(ByteBuffer contentData) {
+ this.contentData = contentData;
+ }
+
+ public String getFilesDataStructure() {
+ return filesDataStructure;
+ }
+
+ public void setFilesDataStructure(String filesDataStructure) {
+ this.filesDataStructure = filesDataStructure;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/ProcessArtifactEntity.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/OrchestrationTemplateCandidateDataEntity.java
index 89e6de1e87..c451a72056 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/ProcessArtifactEntity.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/OrchestrationTemplateCandidateDataEntity.java
@@ -20,7 +20,6 @@
package org.openecomp.sdc.vendorsoftwareproduct.dao.type;
-import com.datastax.driver.mapping.annotations.ClusteringColumn;
import com.datastax.driver.mapping.annotations.Column;
import com.datastax.driver.mapping.annotations.Frozen;
import com.datastax.driver.mapping.annotations.PartitionKey;
@@ -30,66 +29,55 @@ import org.openecomp.sdc.versioning.dao.types.VersionableEntity;
import java.nio.ByteBuffer;
-@Table(keyspace = "dox", name = "vsp_process")
-public class ProcessArtifactEntity implements VersionableEntity {
- public static final String ENTITY_TYPE = "Vendor Software Product Process artifact";
+@Table(keyspace = "dox", name = "vsp_orchestration_template_candidate")
+public class OrchestrationTemplateCandidateDataEntity implements VersionableEntity {
+ private static final String ENTITY_TYPE =
+ "Vendor Software Product Upload Orchestration_candidate data";
+
@PartitionKey
@Column(name = "vsp_id")
- private String vspId;
+ private String id;
+
@PartitionKey(value = 1)
@Frozen
private Version version;
- @ClusteringColumn
- @Column(name = "component_id")
- private String componentId;
- @ClusteringColumn(value = 1)
- @Column(name = "process_id")
- private String id;
- @Column(name = "artifact_name")
- private String artifactName;
- private ByteBuffer artifact;
- public ProcessArtifactEntity() {
+ @Column(name = "content_data")
+ private ByteBuffer contentData;
+
+ @Column(name = "files_data_structure")
+ private String filesDataStructure;
+ public OrchestrationTemplateCandidateDataEntity() {
}
/**
- * Instantiates a new Process artifact entity.
+ * Instantiates a new OrchestrationTemplateCandidateDataEntity.
*
- * @param vspId the vsp id
- * @param version the version
- * @param componentId the component id
- * @param id the id
+ * @param id the id
+ * @param version the Version
+
*/
- public ProcessArtifactEntity(String vspId, Version version, String componentId, String id) {
- this.vspId = vspId;
- this.version = version;
- this.componentId = componentId;
+ public OrchestrationTemplateCandidateDataEntity(String id, Version version) {
this.id = id;
- }
-
- public String getVspId() {
- return vspId;
- }
-
- public void setVspId(String vspId) {
- this.vspId = vspId;
- }
-
- public Version getVersion() {
- return version;
- }
-
- public void setVersion(Version version) {
this.version = version;
}
- public String getComponentId() {
- return componentId;
- }
-
- public void setComponentId(String componentId) {
- this.componentId = componentId;
+ /**
+ * Instantiates a new OrchestrationTemplateCandidateDataEntity.
+ *
+ * @param filesDataStructure the files data Structure
+ * @param version the version
+ * @param contentData the contentData
+ * @param id the id
+ */
+ public OrchestrationTemplateCandidateDataEntity(String id, Version version,
+ ByteBuffer contentData,
+ String filesDataStructure) {
+ this.id = id;
+ this.contentData = contentData;
+ this.filesDataStructure = filesDataStructure;
+ this.version = version;
}
@Override
@@ -99,7 +87,7 @@ public class ProcessArtifactEntity implements VersionableEntity {
@Override
public String getFirstClassCitizenId() {
- return getVspId();
+ return null;
}
public String getId() {
@@ -110,19 +98,29 @@ public class ProcessArtifactEntity implements VersionableEntity {
this.id = id;
}
- public String getArtifactName() {
- return artifactName;
+ @Override
+ public Version getVersion() {
+ return version;
+ }
+
+ @Override
+ public void setVersion(Version version) {
+ this.version = version;
+ }
+
+ public ByteBuffer getContentData() {
+ return contentData;
}
- public void setArtifactName(String artifactName) {
- this.artifactName = artifactName;
+ public void setContentData(ByteBuffer contentData) {
+ this.contentData = contentData;
}
- public ByteBuffer getArtifact() {
- return artifact;
+ public String getFilesDataStructure() {
+ return filesDataStructure;
}
- public void setArtifact(ByteBuffer artifact) {
- this.artifact = artifact;
+ public void setFilesDataStructure(String filesDataStructure) {
+ this.filesDataStructure = filesDataStructure;
}
}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/PackageInfo.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/PackageInfo.java
index 03f26cb57d..ad02883b2e 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/PackageInfo.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/PackageInfo.java
@@ -20,7 +20,6 @@
package org.openecomp.sdc.vendorsoftwareproduct.dao.type;
-
import com.datastax.driver.mapping.annotations.Column;
import com.datastax.driver.mapping.annotations.Frozen;
import com.datastax.driver.mapping.annotations.PartitionKey;
@@ -29,6 +28,7 @@ import org.openecomp.sdc.versioning.dao.types.Version;
import java.nio.ByteBuffer;
+
@Table(keyspace = "dox", name = "package_details")
public class PackageInfo {
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/ProcessEntity.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/ProcessEntity.java
index d407540194..eacc3c4bae 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/ProcessEntity.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/ProcessEntity.java
@@ -22,12 +22,15 @@ package org.openecomp.sdc.vendorsoftwareproduct.dao.type;
import com.datastax.driver.mapping.annotations.ClusteringColumn;
import com.datastax.driver.mapping.annotations.Column;
+import com.datastax.driver.mapping.annotations.Enumerated;
import com.datastax.driver.mapping.annotations.Frozen;
import com.datastax.driver.mapping.annotations.PartitionKey;
import com.datastax.driver.mapping.annotations.Table;
import org.openecomp.sdc.versioning.dao.types.Version;
import org.openecomp.sdc.versioning.dao.types.VersionableEntity;
+import java.nio.ByteBuffer;
+
@Table(keyspace = "dox", name = "vsp_process")
public class ProcessEntity implements VersionableEntity {
public static final String ENTITY_TYPE = "Vendor Software Product Process";
@@ -45,8 +48,12 @@ public class ProcessEntity implements VersionableEntity {
private String id;
private String name;
private String description;
+ @Column(name = "type")
+ @Enumerated
+ private ProcessType type;
@Column(name = "artifact_name")
private String artifactName;
+ private ByteBuffer artifact;
public ProcessEntity() {
@@ -75,14 +82,6 @@ public class ProcessEntity implements VersionableEntity {
this.vspId = vspId;
}
- public Version getVersion() {
- return version;
- }
-
- public void setVersion(Version version) {
- this.version = version;
- }
-
public String getComponentId() {
return componentId;
}
@@ -109,8 +108,16 @@ public class ProcessEntity implements VersionableEntity {
this.id = id;
}
+ public Version getVersion() {
+ return version;
+ }
+
+ public void setVersion(Version version) {
+ this.version = version;
+ }
+
public String getName() {
- return name;
+ return name == null ? "" : name;
}
public void setName(String name) {
@@ -125,6 +132,14 @@ public class ProcessEntity implements VersionableEntity {
this.description = description;
}
+ public ProcessType getType() {
+ return type;
+ }
+
+ public void setType(ProcessType type) {
+ this.type = type;
+ }
+
public String getArtifactName() {
return artifactName;
}
@@ -133,16 +148,24 @@ public class ProcessEntity implements VersionableEntity {
this.artifactName = artifactName;
}
+ public ByteBuffer getArtifact() {
+ return artifact;
+ }
+
+ public void setArtifact(ByteBuffer artifact) {
+ this.artifact = artifact;
+ }
+
@Override
- public boolean equals(Object obj) {
- if (this == obj) {
+ public boolean equals(Object other) {
+ if (this == other) {
return true;
}
- if (obj == null || getClass() != obj.getClass()) {
+ if (other == null || getClass() != other.getClass()) {
return false;
}
- ProcessEntity that = (ProcessEntity) obj;
+ ProcessEntity that = (ProcessEntity) other;
if (vspId != null ? !vspId.equals(that.vspId) : that.vspId != null) {
return false;
@@ -159,10 +182,22 @@ public class ProcessEntity implements VersionableEntity {
if (name != null ? !name.equals(that.name) : that.name != null) {
return false;
}
- return description != null ? description.equals(that.description) : that.description == null
- &&
- (artifactName != null ? artifactName.equals(that.artifactName) : that.artifactName == null);
+ if (description != null ? !description.equals(that.description) : that.description != null) {
+ return false;
+ }
+ if (artifactName != null ? !artifactName.equals(that.artifactName)
+ : that.artifactName != null) {
+ return false;
+ }
+ if (artifact != null ? !artifact.equals(that.artifact) : that.artifact != null) {
+ return false;
+ }
+ if (type != null ? !type.equals(that.type) : that.type != null) {
+ return false;
+ }
+
+ return true;
}
@Override
@@ -173,7 +208,23 @@ public class ProcessEntity implements VersionableEntity {
result = 31 * result + (id != null ? id.hashCode() : 0);
result = 31 * result + (name != null ? name.hashCode() : 0);
result = 31 * result + (description != null ? description.hashCode() : 0);
+ result = 31 * result + (type != null ? type.hashCode() : 0);
result = 31 * result + (artifactName != null ? artifactName.hashCode() : 0);
+ result = 31 * result + (artifact != null ? artifact.hashCode() : 0);
return result;
}
+
+ @Override
+ public String toString() {
+ return "ProcessEntity{" +
+ "vspId='" + vspId + '\'' +
+ ", version=" + version +
+ ", componentId='" + componentId + '\'' +
+ ", id='" + id + '\'' +
+ ", name='" + name + '\'' +
+ ", description='" + description + '\'' +
+ ", type=" + type +
+ ", artifactName='" + artifactName + '\'' +
+ '}';
+ }
}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/ProcessType.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/ProcessType.java
new file mode 100644
index 0000000000..d49386c3bf
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/ProcessType.java
@@ -0,0 +1,27 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.dao.type;
+
+public enum ProcessType {
+ Lifecycle_Operations,
+ Other
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/TranslatedFileData.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/TranslatedFileData.java
index c6f197a4cf..506d7e51aa 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/TranslatedFileData.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/TranslatedFileData.java
@@ -20,6 +20,7 @@
package org.openecomp.sdc.vendorsoftwareproduct.dao.type;
+
public class TranslatedFileData {
private String displayName;
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/UploadData.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/UploadData.java
new file mode 100644
index 0000000000..071af919a4
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/UploadData.java
@@ -0,0 +1,90 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.dao.type;
+
+import org.openecomp.core.utilities.json.JsonUtil;
+import org.openecomp.sdc.heat.datatypes.structure.ValidationStructureList;
+
+import java.nio.ByteBuffer;
+
+
+public class UploadData {
+
+ private String id;
+
+ private String packageName;
+
+ private String packageVersion;
+
+ private String validationData;
+
+ private ByteBuffer contentData;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getPackageName() {
+ return packageName;
+ }
+
+ public void setPackageName(String packageName) {
+ this.packageName = packageName;
+ }
+
+ public String getPackageVersion() {
+ return packageVersion;
+ }
+
+ public void setPackageVersion(String packageVersion) {
+ this.packageVersion = packageVersion;
+ }
+
+ public String getValidationData() {
+ return validationData;
+ }
+
+ public void setValidationData(String validationData) {
+ this.validationData = validationData;
+ }
+
+ public ValidationStructureList getValidationDataStructure() {
+ return validationData == null ? null
+ : JsonUtil.json2Object(validationData, ValidationStructureList.class);
+ }
+
+ public void setValidationDataStructure(ValidationStructureList validationData) {
+ this.validationData = validationData == null ? null
+ : JsonUtil.object2Json(validationData);
+ }
+
+ public ByteBuffer getContentData() {
+ return contentData;
+ }
+
+ public void setContentData(ByteBuffer contentData) {
+ this.contentData = contentData;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/UploadDataEntity.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/UploadDataEntity.java
index a70b2cd6c8..2ade95b025 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/UploadDataEntity.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/UploadDataEntity.java
@@ -20,10 +20,6 @@
package org.openecomp.sdc.vendorsoftwareproduct.dao.type;
-import com.datastax.driver.mapping.annotations.Column;
-import com.datastax.driver.mapping.annotations.Frozen;
-import com.datastax.driver.mapping.annotations.PartitionKey;
-import com.datastax.driver.mapping.annotations.Table;
import org.openecomp.core.utilities.json.JsonUtil;
import org.openecomp.sdc.heat.datatypes.structure.ValidationStructureList;
import org.openecomp.sdc.versioning.dao.types.Version;
@@ -31,28 +27,19 @@ import org.openecomp.sdc.versioning.dao.types.VersionableEntity;
import java.nio.ByteBuffer;
-@Table(keyspace = "dox", name = "vsp_information")
public class UploadDataEntity implements VersionableEntity {
private static final String ENTITY_TYPE = "Vendor Software Product Upload data";
- @PartitionKey
- @Column(name = "vsp_id")
private String id;
- @PartitionKey(value = 1)
- @Frozen
private Version version;
- @Column(name = "package_name")
private String packageName;
- @Column(name = "package_version")
private String packageVersion;
- @Column(name = "validation_data")
private String validationData;
- @Column(name = "content_data")
private ByteBuffer contentData;
public UploadDataEntity() {
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/VspDetails.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/VspDetails.java
index 3423ba36b3..0019bce477 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/VspDetails.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/VspDetails.java
@@ -20,11 +20,6 @@
package org.openecomp.sdc.vendorsoftwareproduct.dao.type;
-import com.datastax.driver.mapping.annotations.Column;
-import com.datastax.driver.mapping.annotations.Computed;
-import com.datastax.driver.mapping.annotations.Frozen;
-import com.datastax.driver.mapping.annotations.PartitionKey;
-import com.datastax.driver.mapping.annotations.Table;
import org.openecomp.core.utilities.json.JsonUtil;
import org.openecomp.sdc.heat.datatypes.structure.ValidationStructureList;
import org.openecomp.sdc.versioning.dao.types.Version;
@@ -32,16 +27,12 @@ import org.openecomp.sdc.versioning.dao.types.VersionableEntity;
import java.util.List;
-@Table(keyspace = "dox", name = "vsp_information")
+
public class VspDetails implements VersionableEntity {
public static final String ENTITY_TYPE = "Vendor Software Product";
- @PartitionKey
- @Column(name = "vsp_id")
private String id;
- @PartitionKey(value = 1)
- @Frozen
private Version version;
private String name;
@@ -49,37 +40,24 @@ public class VspDetails implements VersionableEntity {
private String category;
- @Column(name = "sub_category")
private String subCategory;
private String icon;
- @Column(name = "vendor_name")
private String vendorName;
- @Column(name = "vendor_id")
private String vendorId;
- @Column(name = "vlm_version")
- @Frozen
private Version vlmVersion;
- @Column(name = "license_agreement")
private String licenseAgreement;
- @Column(name = "feature_groups")
private List<String> featureGroups;
- @Column(name = "package_name")
- private String packageName;
-
- @Column(name = "package_version")
- private String packageVersion;
-
- @Column(name = "validation_data")
private String validationData;
- @Computed("writetime(name)")
+ private String oldVersion;
+
private Long writetimeMicroSeconds;
public VspDetails() {
@@ -198,22 +176,6 @@ public class VspDetails implements VersionableEntity {
this.featureGroups = featureGroups;
}
- public String getPackageName() {
- return packageName;
- }
-
- public void setPackageName(String packageName) {
- this.packageName = packageName;
- }
-
- public String getPackageVersion() {
- return packageVersion;
- }
-
- public void setPackageVersion(String packageVersion) {
- this.packageVersion = packageVersion;
- }
-
public String getValidationData() {
return validationData;
}
@@ -239,4 +201,23 @@ public class VspDetails implements VersionableEntity {
public void setWritetimeMicroSeconds(Long writetimeMicroSeconds) {
this.writetimeMicroSeconds = writetimeMicroSeconds;
}
+
+ /*public boolean isOldVersion() {
+ return this.oldVersion;
+ }*/
+
+ public String getOldVersion(){
+ return this.oldVersion;
+ }
+
+ public void setOldVersion(String oldVersion) {
+ this.oldVersion = oldVersion;
+ }
+
+ @Override
+ public String toString() {
+ return String.format(
+ "Vsp id = '%s', Version = %s', Name = %s', Category = %s', Description = %s', Vendor = %s'",
+ this.id, this.version, this.name, this.category, this.description, this.vendorName);
+ }
}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/VspQuestionnaireEntity.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/VspQuestionnaireEntity.java
index 42fbecfe01..da41ab28ba 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/VspQuestionnaireEntity.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/VspQuestionnaireEntity.java
@@ -20,25 +20,17 @@
package org.openecomp.sdc.vendorsoftwareproduct.dao.type;
-import com.datastax.driver.mapping.annotations.Column;
-import com.datastax.driver.mapping.annotations.Frozen;
-import com.datastax.driver.mapping.annotations.PartitionKey;
-import com.datastax.driver.mapping.annotations.Table;
import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityId;
import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityType;
import org.openecomp.sdc.versioning.dao.types.Version;
-@Table(keyspace = "dox", name = "vsp_information")
+
+
public class VspQuestionnaireEntity implements CompositionEntity {
private static final String ENTITY_TYPE = "Vendor Software Product";
- @PartitionKey
- @Column(name = "vsp_id")
private String id;
- @PartitionKey(value = 1)
- @Frozen
private Version version;
- @Column(name = "questionnaire_data")
private String questionnaireData;
public VspQuestionnaireEntity() {
@@ -51,6 +43,16 @@ public class VspQuestionnaireEntity implements CompositionEntity {
}
@Override
+ public String getEntityType() {
+ return ENTITY_TYPE;
+ }
+
+ @Override
+ public String getFirstClassCitizenId() {
+ return getId();
+ }
+
+ @Override
public String getId() {
return id;
}
@@ -71,16 +73,6 @@ public class VspQuestionnaireEntity implements CompositionEntity {
}
@Override
- public String getEntityType() {
- return ENTITY_TYPE;
- }
-
- @Override
- public String getFirstClassCitizenId() {
- return getId();
- }
-
- @Override
public CompositionEntityType getType() {
return CompositionEntityType.vsp;
}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/errors/utils/ErrorsUtil.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/errors/utils/ErrorsUtil.java
new file mode 100644
index 0000000000..fc23a77bef
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/errors/utils/ErrorsUtil.java
@@ -0,0 +1,42 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.errors.utils;
+
+import org.openecomp.sdc.datatypes.error.ErrorMessage;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Created by Talio on 11/30/2016.
+ */
+public class ErrorsUtil {
+
+ public static void addStructureErrorToErrorMap(String fileName, ErrorMessage errorMessage, Map<String, List<ErrorMessage>> errors) {
+ List<ErrorMessage> errorList = errors.get(fileName);
+ if (errorList == null) {
+ errorList = new ArrayList<>();
+ errors.put(fileName, errorList);
+ }
+ errorList.add(errorMessage);
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/CandidateServiceFactory.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/CandidateServiceFactory.java
new file mode 100644
index 0000000000..f16d8d4ebe
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/CandidateServiceFactory.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.sdc.vendorsoftwareproduct.factory;
+
+import org.openecomp.core.factory.api.AbstractComponentFactory;
+import org.openecomp.core.factory.api.AbstractFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.services.filedatastructuremodule.CandidateService;
+
+/**
+ * Created by Talio on 12/15/2016.
+ */
+public abstract class CandidateServiceFactory extends AbstractComponentFactory<CandidateService> {
+
+ public static CandidateServiceFactory getInstance(){
+ return AbstractFactory.getInstance(CandidateServiceFactory.class);
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/CompositionDataExtractorFactory.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/CompositionDataExtractorFactory.java
new file mode 100644
index 0000000000..d10b8b715d
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/CompositionDataExtractorFactory.java
@@ -0,0 +1,33 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.factory;
+
+import org.openecomp.core.factory.api.AbstractComponentFactory;
+import org.openecomp.core.factory.api.AbstractFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.services.composition.CompositionDataExtractor;
+
+public abstract class CompositionDataExtractorFactory extends
+ AbstractComponentFactory<CompositionDataExtractor> {
+
+ public static CompositionDataExtractorFactory getInstance() {
+ return AbstractFactory.getInstance(CompositionDataExtractorFactory.class);
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/CompositionEntityDataManagerFactory.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/CompositionEntityDataManagerFactory.java
new file mode 100644
index 0000000000..bcb6174dce
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/CompositionEntityDataManagerFactory.java
@@ -0,0 +1,33 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.factory;
+
+import org.openecomp.core.factory.api.AbstractComponentFactory;
+import org.openecomp.core.factory.api.AbstractFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.services.composition.CompositionEntityDataManager;
+
+public abstract class CompositionEntityDataManagerFactory extends
+ AbstractComponentFactory<CompositionEntityDataManager> {
+
+ public static CompositionEntityDataManagerFactory getInstance() {
+ return AbstractFactory.getInstance(CompositionEntityDataManagerFactory.class);
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/InformationArtifactGeneratorFactory.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/InformationArtifactGeneratorFactory.java
new file mode 100644
index 0000000000..7e6e7db5dc
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/InformationArtifactGeneratorFactory.java
@@ -0,0 +1,33 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.factory;
+
+import org.openecomp.core.factory.api.AbstractComponentFactory;
+import org.openecomp.core.factory.api.AbstractFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.informationArtifact.InformationArtifactGenerator;
+
+
+public abstract class InformationArtifactGeneratorFactory extends AbstractComponentFactory<InformationArtifactGenerator> {
+
+ public static InformationArtifactGeneratorFactory getInstance() {
+ return AbstractFactory.getInstance(InformationArtifactGeneratorFactory.class);
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/ManifestCreatorFactory.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/ManifestCreatorFactory.java
new file mode 100644
index 0000000000..9189ffce6d
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/ManifestCreatorFactory.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.sdc.vendorsoftwareproduct.factory;
+
+import org.openecomp.core.factory.api.AbstractComponentFactory;
+import org.openecomp.core.factory.api.AbstractFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.services.filedatastructuremodule.ManifestCreator;
+
+/**
+ * Created by Talio on 12/15/2016.
+ */
+public abstract class ManifestCreatorFactory extends AbstractComponentFactory<ManifestCreator>{
+
+ public static ManifestCreatorFactory getInstance(){
+ return AbstractFactory.getInstance(ManifestCreatorFactory.class);
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/QuestionnnaireDataServiceFactory.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/QuestionnnaireDataServiceFactory.java
new file mode 100644
index 0000000000..a1b9430e41
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/QuestionnnaireDataServiceFactory.java
@@ -0,0 +1,34 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.factory;
+
+import org.openecomp.core.factory.api.AbstractComponentFactory;
+import org.openecomp.core.factory.api.AbstractFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.informationArtifact.InformationArtifactGenerator;
+import org.openecomp.sdc.vendorsoftwareproduct.questionnaire.QuestionnaireDataService;
+
+
+public abstract class QuestionnnaireDataServiceFactory extends AbstractComponentFactory<QuestionnaireDataService> {
+
+ public static QuestionnnaireDataServiceFactory getInstance() {
+ return AbstractFactory.getInstance(QuestionnnaireDataServiceFactory.class);
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/informationArtifact/InformationArtifactData.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/informationArtifact/InformationArtifactData.java
new file mode 100644
index 0000000000..2bf11b03d6
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/informationArtifact/InformationArtifactData.java
@@ -0,0 +1,83 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.informationArtifact;
+
+
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
+import org.openecomp.sdc.vendorsoftwareproduct.types.questionnaire.component.ComponentQuestionnaire;
+import org.openecomp.sdc.vendorsoftwareproduct.types.questionnaire.nic.NicQuestionnaire;
+import org.openecomp.sdc.vendorsoftwareproduct.types.questionnaire.vsp.VspQuestionnaire;
+
+import java.util.List;
+
+/**
+ * Created by TALIO on 11/22/2016
+ */
+public class InformationArtifactData {
+ private VspDetails vspDetails;
+ private VspQuestionnaire vspQuestionnaire;
+ private List<ComponentQuestionnaire> componentQuestionnaires;
+ private List<NicQuestionnaire> nicQuestionnaires;
+
+
+ public InformationArtifactData(VspDetails vspDetails, VspQuestionnaire vspQuestionnaire, List<ComponentQuestionnaire> componentQuestionnaires, List<NicQuestionnaire> nicQuestionnaires) {
+ this.vspDetails = vspDetails;
+ this.vspQuestionnaire = vspQuestionnaire;
+ this.componentQuestionnaires = componentQuestionnaires;
+ this.nicQuestionnaires = nicQuestionnaires;
+ }
+
+ public InformationArtifactData() {
+
+ }
+
+ public VspQuestionnaire getVspQuestionnaire() {
+ return vspQuestionnaire;
+ }
+
+ public void setVspQuestionnaire(VspQuestionnaire vspQuestionnaire) {
+ this.vspQuestionnaire = vspQuestionnaire;
+ }
+
+ public List<ComponentQuestionnaire> getComponentQuestionnaires() {
+ return componentQuestionnaires;
+ }
+
+ public void setComponentQuestionnaires(List<ComponentQuestionnaire> componentQuestionnaires) {
+ this.componentQuestionnaires = componentQuestionnaires;
+ }
+
+ public List<NicQuestionnaire> getNicQuestionnaires() {
+ return nicQuestionnaires;
+ }
+
+ public void setNicQuestionnaires(List<NicQuestionnaire> nicQuestionnaires) {
+ this.nicQuestionnaires = nicQuestionnaires;
+ }
+
+ public VspDetails getVspDetails() {
+ return vspDetails;
+ }
+
+ public void setVspDetails(VspDetails vspDetails) {
+ this.vspDetails = vspDetails;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/informationArtifact/InformationArtifactGenerator.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/informationArtifact/InformationArtifactGenerator.java
new file mode 100644
index 0000000000..11d8e7b501
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/informationArtifact/InformationArtifactGenerator.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.sdc.vendorsoftwareproduct.informationArtifact;
+
+import org.openecomp.sdc.versioning.dao.types.Version;
+
+import java.io.IOException;
+import java.nio.ByteBuffer;
+
+/**
+ * @author katyr
+ * @since November 29, 2016
+ */
+
+public interface InformationArtifactGenerator {
+ String generate(String vspId, Version version) throws IOException;
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/questionnaire/QuestionnaireDataService.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/questionnaire/QuestionnaireDataService.java
new file mode 100644
index 0000000000..0bf10c09e8
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/questionnaire/QuestionnaireDataService.java
@@ -0,0 +1,33 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.questionnaire;
+
+import org.openecomp.sdc.vendorsoftwareproduct.informationArtifact.InformationArtifactData;
+import org.openecomp.sdc.versioning.dao.types.Version;
+
+/**
+ * @author katyr
+ * @since November 29, 2016
+ */
+
+public interface QuestionnaireDataService {
+ InformationArtifactData generateQuestionnaireDataForInformationArtifact(String vspId, Version version);
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/HeatFileAnalyzer.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/HeatFileAnalyzer.java
new file mode 100644
index 0000000000..533f041621
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/HeatFileAnalyzer.java
@@ -0,0 +1,47 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.services;
+
+import org.openecomp.sdc.vendorsoftwareproduct.types.candidateheat.AnalyzedZipHeatFiles;
+
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * @author Avrahamg
+ * @since December 21, 2016
+ */
+public interface HeatFileAnalyzer {
+
+ static boolean isEnvFile(String fileName) {
+ return fileName.endsWith(".env");
+ }
+
+ static boolean isYamlFile(String fileName) {
+ return fileName.endsWith(".yml") || fileName.endsWith(".yaml");
+ }
+
+ static boolean isYamlOrEnvFile(String fileName) {
+ return isYamlFile(fileName) || isEnvFile(fileName);
+ }
+
+ AnalyzedZipHeatFiles analyzeFilesNotEligibleForModulesFromFileAnalyzer(Map<String, byte[]> files) throws IOException;
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/composition/CompositionDataExtractor.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/composition/CompositionDataExtractor.java
new file mode 100644
index 0000000000..0b82638277
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/composition/CompositionDataExtractor.java
@@ -0,0 +1,31 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.services.composition;
+
+import org.openecomp.sdc.tosca.datatypes.ToscaServiceModel;
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionData;
+
+public interface CompositionDataExtractor {
+
+ CompositionData extractServiceCompositionData(ToscaServiceModel toscaServiceModel);
+
+ String getComponentDisplayName(String componentName);
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/composition/CompositionEntityDataManager.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/composition/CompositionEntityDataManager.java
new file mode 100644
index 0000000000..5bde801188
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/composition/CompositionEntityDataManager.java
@@ -0,0 +1,77 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.services.composition;
+
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentEntity;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.CompositionEntity;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.NetworkEntity;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.NicEntity;
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Component;
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionData;
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityId;
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityValidationData;
+import org.openecomp.sdc.vendorsoftwareproduct.types.schemagenerator.SchemaTemplateContext;
+import org.openecomp.sdc.vendorsoftwareproduct.types.schemagenerator.SchemaTemplateInput;
+import org.openecomp.sdc.versioning.dao.types.Version;
+
+import java.util.Collection;
+import java.util.Map;
+import java.util.Set;
+
+public interface CompositionEntityDataManager {
+
+ Map<CompositionEntityId, Collection<String>> validateEntitiesQuestionnaire();
+
+ void addEntity(CompositionEntity entity, SchemaTemplateInput schemaTemplateInput);
+
+ CompositionEntityValidationData validateEntity(CompositionEntity entity,
+ SchemaTemplateContext schemaTemplateContext,
+ SchemaTemplateInput schemaTemplateInput);
+
+ void buildTrees();
+
+ void addErrorsToTrees(Map<CompositionEntityId, Collection<String>> errors);
+
+ Set<CompositionEntityValidationData> getEntityListWithErrors();
+
+ Collection<CompositionEntityValidationData> getTrees();
+
+ void saveCompositionData(String vspId, Version version, CompositionData compositionData);
+
+ Set<CompositionEntityValidationData> getAllErrorsByVsp(String vspId);
+
+ void saveComponents(String vspId, Version version, CompositionData compositionData,
+ Map<String, String> networkIdByName);
+
+ void saveNicsByComponent(String vspId, Version version,
+ Map<String, String> networkIdByName, Component component,
+ String componentId);
+
+ Map<String, String> saveNetworks(String vspId, Version version,
+ CompositionData compositionData);
+
+ NetworkEntity createNetwork(NetworkEntity network);
+
+ ComponentEntity createComponent(ComponentEntity component);
+
+ NicEntity createNic(NicEntity nic);
+
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/filedatastructuremodule/CandidateService.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/filedatastructuremodule/CandidateService.java
new file mode 100644
index 0000000000..4ca623e6a3
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/filedatastructuremodule/CandidateService.java
@@ -0,0 +1,75 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.services.filedatastructuremodule;
+
+import org.openecomp.core.utilities.file.FileContentHandler;
+import org.openecomp.sdc.datatypes.error.ErrorMessage;
+import org.openecomp.sdc.heat.datatypes.manifest.ManifestContent;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.OrchestrationTemplateCandidateData;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.OrchestrationTemplateCandidateData;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
+import org.openecomp.sdc.vendorsoftwareproduct.types.CandidateDataEntityTo;
+import org.openecomp.sdc.vendorsoftwareproduct.types.candidateheat.AnalyzedZipHeatFiles;
+import org.openecomp.sdc.vendorsoftwareproduct.types.candidateheat.FilesDataStructure;
+import org.openecomp.sdc.versioning.dao.types.Version;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.ByteBuffer;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+
+public interface CandidateService {
+ Optional<ErrorMessage> validateNonEmptyFileToUpload(InputStream heatFileToUpload);
+
+ Optional<ErrorMessage> validateRawZipData(byte[] uploadedFileData);
+
+ OrchestrationTemplateCandidateData createCandidateDataEntity(
+ CandidateDataEntityTo candidateDataEntityTo, InputStream zipFileManifest, AnalyzedZipHeatFiles analyzedZipHeatFiles) throws Exception;
+
+ void updateCandidateUploadData(OrchestrationTemplateCandidateData uploadData, String
+ itemId);
+
+ Optional<FilesDataStructure> getOrchestrationTemplateCandidateFileDataStructure(String vspId,
+ Version activeVersion);
+
+ void updateOrchestrationTemplateCandidateFileDataStructure(String vspId, Version activeVersion,
+ FilesDataStructure fileDataStructure);
+
+ OrchestrationTemplateCandidateData getOrchestrationTemplateCandidate(String vspId,
+ Version activeVersion);
+
+ Optional<ByteArrayInputStream> fetchZipFileByteArrayInputStream(String vspId,
+ OrchestrationTemplateCandidateData candidateDataEntity,
+ String manifest, Map<String, List<ErrorMessage>> uploadErrors);
+
+ byte[] replaceManifestInZip(ByteBuffer contentData, String manifest, String vspId)
+ throws IOException;
+
+ Optional<ManifestContent> createManifest(VspDetails vspDetails,
+ FileContentHandler fileContentHandler, AnalyzedZipHeatFiles analyzedZipHeatFiles);
+
+ String createManifest(VspDetails vspDetails, FilesDataStructure structure);
+
+ Optional<List<ErrorMessage>> validateFileDataStructure(FilesDataStructure filesDataStructure);
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/filedatastructuremodule/ManifestCreator.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/filedatastructuremodule/ManifestCreator.java
new file mode 100644
index 0000000000..fd70d20c22
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/filedatastructuremodule/ManifestCreator.java
@@ -0,0 +1,38 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.services.filedatastructuremodule;
+
+import org.openecomp.core.utilities.file.FileContentHandler;
+import org.openecomp.sdc.heat.datatypes.manifest.ManifestContent;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
+import org.openecomp.sdc.vendorsoftwareproduct.types.candidateheat.AnalyzedZipHeatFiles;
+import org.openecomp.sdc.vendorsoftwareproduct.types.candidateheat.FilesDataStructure;
+
+import java.util.Optional;
+
+public interface ManifestCreator {
+ Optional<ManifestContent> createManifest(VspDetails vspDetails, FilesDataStructure filesDataStructure);
+
+ Optional<ManifestContent> createManifest(VspDetails vspDetails, FileContentHandler
+ fileContentHandler, AnalyzedZipHeatFiles analyzedZipHeatFiles);
+
+ boolean isFileBaseFile(String fileName);
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/HeatFileAnalyzerRowDataImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/HeatFileAnalyzerRowDataImpl.java
new file mode 100644
index 0000000000..d26942219f
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/HeatFileAnalyzerRowDataImpl.java
@@ -0,0 +1,152 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.services.impl;
+
+import org.openecomp.sdc.vendorsoftwareproduct.services.HeatFileAnalyzer;
+import org.openecomp.sdc.vendorsoftwareproduct.types.candidateheat.AnalyzedZipHeatFiles;
+
+import java.io.BufferedReader;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.util.*;
+import java.util.regex.Pattern;
+
+public class HeatFileAnalyzerRowDataImpl implements HeatFileAnalyzer {
+ private static final String HEAT_IDENTIFIER_REGEX = "^heat_template_version:.*";
+ private static final String HEAT_RESOURCES_REGEX = "^resources:\\s*$";
+ private static final String HEAT_PARAMETERS_REGEX = "^parameters:\\s*$";
+ private static final String HEAT_CONDITIONS_REGEX = "^conditions:\\s*$";
+ private static final String HEAT_OUTPUTS_REGEX = "^outputs:\\s*$";
+ private static final String HEAT_PARAMETER_GROUP_REGEX = "^parameter_groups:\\s*$";
+ private static final String HEAT_DESCRIPTION_REGEX = "^description:\\s*$";
+ //allowing spaces at start followed by 'type:' + spaces + any characters + ('.yml' or '.yaml')+
+ // spaces
+ private static final String HEAT_NESTED_RESOURCE_REGEX = "\\s*type:\\s*\\S*.(yml|yaml)\\s*$";
+
+
+ private static final String IDENTIFIER = "IDENTIFIER";
+ private static final String RESOURCES = "RESOURCES";
+ private static final String PARAMETERS = "PARAMETERS";
+ private static final String CONDITIONS = "CONDITIONS";
+ private static final String OUTPUTS = "OUTPUTS";
+ private static final String PARAMETER_GROUP = "PARAMETER_GROUP";
+ private static final String DESCRIPTION = "DESCRIPTION";
+ private static final String NESTED_PATTERN = "NESTED_PATTERN";
+
+ private Map<String, Pattern> patterns;
+
+ public HeatFileAnalyzerRowDataImpl() {
+ patterns = new HashMap<>();
+ patterns.put(IDENTIFIER, Pattern.compile(HEAT_IDENTIFIER_REGEX));
+ patterns.put(RESOURCES, Pattern.compile(HEAT_RESOURCES_REGEX));
+ patterns.put(PARAMETERS, Pattern.compile(HEAT_PARAMETERS_REGEX));
+ patterns.put(CONDITIONS, Pattern.compile(HEAT_CONDITIONS_REGEX));
+ patterns.put(OUTPUTS, Pattern.compile(HEAT_OUTPUTS_REGEX));
+ patterns.put(PARAMETER_GROUP, Pattern.compile(HEAT_PARAMETER_GROUP_REGEX));
+ patterns.put(DESCRIPTION, Pattern.compile(HEAT_DESCRIPTION_REGEX));
+ patterns.put(NESTED_PATTERN, Pattern.compile(HEAT_NESTED_RESOURCE_REGEX));
+ }
+
+ @Override
+ public AnalyzedZipHeatFiles analyzeFilesNotEligibleForModulesFromFileAnalyzer(Map<String, byte[]> files)
+ throws IOException {
+ AnalyzedZipHeatFiles analyzedZipHeatFiles = new AnalyzedZipHeatFiles();
+
+ BufferedReader bfReader;
+ for (Map.Entry<String, byte[]> fileData : files.entrySet()) {
+ String fileName = fileData.getKey();
+ if (!HeatFileAnalyzer.isYamlFile(fileName)) {
+ analyzedZipHeatFiles.addOtherNonModuleFile(fileName);
+ continue;
+ }
+ boolean foundHeatIdentifier = false;
+ try (InputStream is = new ByteArrayInputStream(fileData.getValue())) {
+ bfReader = new BufferedReader(new InputStreamReader(is));
+ String line;
+ boolean isResourcesSection = false;
+ Set<String> nestedFilesNames = new HashSet<>();
+ while ((line = bfReader.readLine()) != null) {
+ if (!foundHeatIdentifier && isMatch(patterns.get(IDENTIFIER), line)) {
+ foundHeatIdentifier = true;
+ analyzedZipHeatFiles.addModuleFile(fileName);
+ if (isResourcesSection) // it means the identifier is located after the resources
+ // section
+ {
+ break;
+ }
+ } else if (isMatch(patterns.get(RESOURCES), line)) {
+ isResourcesSection = true;
+ } else if (isResourceSectionEnd(line, isResourcesSection)) {
+ if (foundHeatIdentifier) {
+ break;
+ }
+ } else if (isResourcesSection) {
+ Optional<String> optionalNestedFileName = fetchNestedFileName(line);
+ optionalNestedFileName
+ .ifPresent(nestedFilesNames::add);
+ }
+ }
+ analyzedZipHeatFiles.addNestedFiles(fetchFileNamesToReturn(nestedFilesNames,
+ foundHeatIdentifier));
+ }
+ }
+ return analyzedZipHeatFiles;
+ }
+
+ private Optional<String> fetchNestedFileName(String line) {
+ if (isMatch(patterns.get(NESTED_PATTERN), line)) {
+ String trimmedLine = line.trim();
+ String nestedFileName = trimmedLine
+ .substring(trimmedLine.indexOf("type:") + "type:".length(), trimmedLine.length())
+ .trim();
+ return Optional.of(nestedFileName);
+ }
+ return Optional.empty();
+ }
+
+ private Set<String> fetchFileNamesToReturn(Set<String> filesNamesToReturn,
+ boolean foundHeatIdentifier) {
+ if (!foundHeatIdentifier) {
+ return new HashSet<>();
+ } else {
+ return filesNamesToReturn;
+ }
+ }
+
+ private boolean isResourceSectionEnd(String line, boolean isResourcesSection) {
+ return isResourcesSection && isStartOfNonResourcesHeatSection(line);
+ }
+
+ private boolean isStartOfNonResourcesHeatSection(String line) {
+ return isMatch(patterns.get(PARAMETERS), line) ||
+ isMatch(patterns.get(CONDITIONS), line) ||
+ isMatch(patterns.get(OUTPUTS), line) ||
+ isMatch(patterns.get(PARAMETER_GROUP), line) ||
+ isMatch(patterns.get(DESCRIPTION), line);
+ }
+
+ private boolean isMatch(Pattern pattern, String line) {
+ return pattern.matcher(line).matches();
+ }
+
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/schemagenerator/SchemaGenerator.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/schemagenerator/SchemaGenerator.java
new file mode 100644
index 0000000000..6b1837fa10
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/schemagenerator/SchemaGenerator.java
@@ -0,0 +1,64 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.services.schemagenerator;
+
+import freemarker.template.Template;
+import freemarker.template.TemplateException;
+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.vendorsoftwareproduct.types.composition.CompositionEntityType;
+import org.openecomp.sdc.vendorsoftwareproduct.types.schemagenerator.SchemaTemplateContext;
+import org.openecomp.sdc.vendorsoftwareproduct.types.schemagenerator.SchemaTemplateInput;
+
+import java.io.IOException;
+import java.io.StringWriter;
+import java.io.Writer;
+
+public class SchemaGenerator {
+ public static final String SCHEMA_GENERATION_ERROR = "SCHEMA_GENERATION_ERROR";
+
+ /**
+ * Generate string.
+ *
+ * @param schemaTemplateContext the schema template context
+ * @param entityType the entity type
+ * @param input the input
+ * @return the string
+ */
+ public static String generate(SchemaTemplateContext schemaTemplateContext,
+ CompositionEntityType entityType, SchemaTemplateInput input) {
+ Template schemaTemplate =
+ SchemaGeneratorConfig.getSchemaTemplate(schemaTemplateContext, entityType);
+ return processTemplate(input, schemaTemplate);
+ }
+
+ private static String processTemplate(SchemaTemplateInput input, Template schemaTemplate) {
+ try (Writer writer = new StringWriter(1024)) {
+ schemaTemplate.process(input, writer);
+ return writer.toString();
+ } catch (IOException | TemplateException exception) {
+ throw new CoreException(
+ new ErrorCode.ErrorCodeBuilder().withCategory(ErrorCategory.APPLICATION)
+ .withId(SCHEMA_GENERATION_ERROR).withMessage(exception.getMessage()).build());
+ }
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/schemagenerator/SchemaGeneratorConfig.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/schemagenerator/SchemaGeneratorConfig.java
new file mode 100644
index 0000000000..3937ca2f2e
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/schemagenerator/SchemaGeneratorConfig.java
@@ -0,0 +1,154 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.services.schemagenerator;
+
+import freemarker.cache.StringTemplateLoader;
+import freemarker.template.Configuration;
+import freemarker.template.Template;
+import freemarker.template.TemplateExceptionHandler;
+import org.openecomp.core.utilities.applicationconfig.ApplicationConfig;
+import org.openecomp.core.utilities.applicationconfig.ApplicationConfigFactory;
+import org.openecomp.core.utilities.applicationconfig.type.ConfigurationData;
+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.vendorsoftwareproduct.types.composition.CompositionEntityType;
+import org.openecomp.sdc.vendorsoftwareproduct.types.schemagenerator.SchemaTemplateContext;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+public class SchemaGeneratorConfig {
+ public static final String SCHEMA_GENERATOR_INITIALIZATION_ERROR =
+ "SCHEMA_GENERATOR_INITIALIZATION_ERROR";
+ public static final String SCHEMA_GENERATOR_INITIALIZATION_ERROR_MSG =
+ "Error occurred while loading questionnaire schema schemaTemplates";
+ private static final String CONFIGURATION_NAMESPACE = "vsp.schemaTemplates";
+ private static Map<SchemaTemplateId, SchemaTemplate> schemaTemplates = new HashMap<>();
+ private static ApplicationConfig applicationConfig =
+ ApplicationConfigFactory.getInstance().createInterface();
+
+ private static Configuration configuration = new Configuration(Configuration.VERSION_2_3_23);
+ private static StringTemplateLoader stringLoader = new StringTemplateLoader();
+
+ static {
+ configuration.setClassLoaderForTemplateLoading(SchemaGenerator.class.getClassLoader(),
+ File.pathSeparator);
+ configuration.setDefaultEncoding("UTF-8");
+ configuration.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER);
+ configuration.setLogTemplateExceptions(true);
+ configuration.setTemplateLoader(stringLoader);
+ }
+
+ public static void insertSchemaTemplate(SchemaTemplateContext schemaTemplateContext,
+ CompositionEntityType entityType,
+ String schemaTemplateString) {
+ applicationConfig.insertValue(CONFIGURATION_NAMESPACE,
+ new SchemaTemplateId(schemaTemplateContext, entityType).toString(), schemaTemplateString);
+ }
+
+ /**
+ * Gets schema template.
+ *
+ * @param schemaTemplateContext the schema template context
+ * @param entityType the entity type
+ * @return the schema template
+ */
+ public static Template getSchemaTemplate(SchemaTemplateContext schemaTemplateContext,
+ CompositionEntityType entityType) {
+ SchemaTemplateId id = new SchemaTemplateId(schemaTemplateContext, entityType);
+ ConfigurationData configurationData =
+ applicationConfig.getConfigurationData(CONFIGURATION_NAMESPACE, id.toString());
+
+ SchemaTemplate schemaTemplate = schemaTemplates.get(id);
+ if (schemaTemplate == null || schemaTemplate.timestamp != configurationData.getTimeStamp()) {
+ stringLoader.putTemplate(id.toString(), configurationData.getValue());
+ Template template;
+ try {
+ template = configuration.getTemplate(id.toString());
+ } catch (IOException exception) {
+ throw new CoreException(
+ new ErrorCode.ErrorCodeBuilder().withCategory(ErrorCategory.APPLICATION)
+ .withId(SCHEMA_GENERATOR_INITIALIZATION_ERROR)
+ .withMessage(SCHEMA_GENERATOR_INITIALIZATION_ERROR_MSG).build(), exception);
+ }
+ schemaTemplate = new SchemaTemplate(template, configurationData.getTimeStamp());
+ schemaTemplates.put(id, schemaTemplate);
+ }
+ return schemaTemplate.template;
+ }
+
+ private static class SchemaTemplateId {
+ private SchemaTemplateContext context;
+ private CompositionEntityType entityType;
+
+ public SchemaTemplateId(SchemaTemplateContext context, CompositionEntityType entityType) {
+ this.context = context;
+ this.entityType = entityType;
+ }
+
+ @Override
+ public String toString() {
+ return context + "." + entityType;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (obj == null || getClass() != obj.getClass()) {
+ return false;
+ }
+
+ SchemaTemplateId that = (SchemaTemplateId) obj;
+
+ if (entityType != that.entityType) {
+ return false;
+ }
+ if (context != that.context) {
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ int result = entityType != null ? entityType.hashCode() : 0;
+ result = 31 * result + (context != null ? context.hashCode() : 0);
+ return result;
+ }
+ }
+
+ private static class SchemaTemplate {
+ private Template template;
+ private long timestamp;
+
+ public SchemaTemplate(Template template, long timestamp) {
+ this.template = template;
+ this.timestamp = timestamp;
+ }
+ }
+
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/utils/CandidateEntityBuilder.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/utils/CandidateEntityBuilder.java
new file mode 100644
index 0000000000..9540f3d965
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/utils/CandidateEntityBuilder.java
@@ -0,0 +1,107 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.services.utils;
+
+import org.openecomp.core.utilities.file.FileContentHandler;
+import org.openecomp.core.utilities.json.JsonUtil;
+import org.openecomp.sdc.common.errors.Messages;
+import org.openecomp.sdc.common.utils.SdcCommon;
+import org.openecomp.sdc.datatypes.error.ErrorMessage;
+import org.openecomp.sdc.heat.datatypes.manifest.ManifestContent;
+import org.openecomp.sdc.heat.datatypes.structure.HeatStructureTree;
+import org.openecomp.sdc.heat.services.tree.HeatTreeManager;
+import org.openecomp.sdc.heat.services.tree.HeatTreeManagerUtil;
+import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.OrchestrationTemplateCandidateData;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
+import org.openecomp.sdc.vendorsoftwareproduct.services.HeatFileAnalyzer;
+import org.openecomp.sdc.vendorsoftwareproduct.services.filedatastructuremodule.CandidateService;
+import org.openecomp.sdc.vendorsoftwareproduct.services.impl.HeatFileAnalyzerRowDataImpl;
+import org.openecomp.sdc.vendorsoftwareproduct.types.CandidateDataEntityTo;
+import org.openecomp.sdc.vendorsoftwareproduct.types.candidateheat.AnalyzedZipHeatFiles;
+
+import java.io.InputStream;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+
+public class CandidateEntityBuilder {
+ private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
+ private CandidateService candidateService;
+
+ public CandidateEntityBuilder(CandidateService candidateService) {
+ this.candidateService = candidateService;
+ }
+
+ public OrchestrationTemplateCandidateData buildCandidateEntityFromZip(
+ VspDetails vspDetails, byte[] uploadedFileData, FileContentHandler contentMap,
+ Map<String, List<ErrorMessage>> uploadErrors, String user) throws Exception {
+ //mdcDataDebugMessage.debugEntryMessage("VSP Id", vspDetails.getId());
+
+ InputStream zipFileManifest = contentMap.getFileContent(SdcCommon.MANIFEST_NAME);
+ HeatFileAnalyzer heatFileAnalyzer = new HeatFileAnalyzerRowDataImpl();
+ AnalyzedZipHeatFiles analyzedZipHeatFiles =
+ heatFileAnalyzer.analyzeFilesNotEligibleForModulesFromFileAnalyzer(contentMap.getFiles());
+ HeatStructureTree tree = getHeatStructureTree(vspDetails, contentMap, analyzedZipHeatFiles);
+
+ CandidateDataEntityTo candidateDataEntityTo =
+ new CandidateDataEntityTo(vspDetails.getId(), user, uploadedFileData, tree, contentMap,
+ vspDetails.getVersion());
+ candidateDataEntityTo.setErrors(uploadErrors);
+ OrchestrationTemplateCandidateData candidateDataEntity =
+ candidateService.createCandidateDataEntity(candidateDataEntityTo, zipFileManifest,
+ analyzedZipHeatFiles);
+
+ mdcDataDebugMessage.debugExitMessage("VSP Id", vspDetails.getId());
+ return candidateDataEntity;
+ }
+
+ private HeatStructureTree getHeatStructureTree(VspDetails vspDetails,
+ FileContentHandler contentMap,
+ AnalyzedZipHeatFiles analyzedZipHeatFiles) {
+ addManifestToFileContentMapIfNotExist(vspDetails, contentMap, analyzedZipHeatFiles);
+ HeatTreeManager heatTreeManager = HeatTreeManagerUtil.initHeatTreeManager(contentMap);
+ heatTreeManager.createTree();
+ return heatTreeManager.getTree();
+ }
+
+ private void addManifestToFileContentMapIfNotExist(VspDetails vspDetails,
+ FileContentHandler fileContentHandler,
+ AnalyzedZipHeatFiles analyzedZipHeatFiles) {
+ mdcDataDebugMessage.debugEntryMessage("VSP Id", vspDetails.getId());
+
+ InputStream manifest = fileContentHandler.getFileContent(SdcCommon.MANIFEST_NAME);
+ if (Objects.isNull(manifest)) {
+ Optional<ManifestContent> manifestContentOptional =
+ candidateService.createManifest(vspDetails, fileContentHandler, analyzedZipHeatFiles);
+ if (!manifestContentOptional.isPresent()) {
+ throw new RuntimeException(Messages.CREATE_MANIFEST_FROM_ZIP.getErrorMessage());
+ }
+ ManifestContent manifestContent = manifestContentOptional.get();
+ fileContentHandler.addFile(
+ SdcCommon.MANIFEST_NAME,
+ String.valueOf(JsonUtil.sbObject2Json(manifestContent)).getBytes());
+ }
+
+ mdcDataDebugMessage.debugExitMessage("VSP Id", vspDetails.getId());
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/CandidateDataEntityTo.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/CandidateDataEntityTo.java
new file mode 100644
index 0000000000..4ea0a02053
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/CandidateDataEntityTo.java
@@ -0,0 +1,90 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types;
+
+import org.openecomp.core.utilities.file.FileContentHandler;
+import org.openecomp.sdc.datatypes.error.ErrorMessage;
+import org.openecomp.sdc.heat.datatypes.structure.HeatStructureTree;
+import org.openecomp.sdc.versioning.dao.types.Version;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class CandidateDataEntityTo {
+ private final String vspId;
+ private final String user;
+// private final UploadFileResponse uploadFileResponse;
+ private Map<String, List<ErrorMessage>> errors = new HashMap<>();
+ private final byte[] uploadedFileData;
+ private final HeatStructureTree tree;
+ private final Version activeVersion;
+ private final FileContentHandler contentMap;
+
+ /**
+ * Instantiates a new Candidate data entity to.
+ * @param vspId the vsp id
+ * @param user the user
+ * @param uploadedFileData the uploaded file data
+ * @param tree the tree
+ * @param contentMap the content map
+ * @param activeVersion the active version
+ */
+ public CandidateDataEntityTo(String vspId, String user,
+ byte[] uploadedFileData, HeatStructureTree tree,
+ FileContentHandler contentMap, Version activeVersion) {
+ this.vspId = vspId;
+ this.user = user;
+ this.errors = errors;
+ this.uploadedFileData = uploadedFileData;
+ this.tree = tree;
+ this.activeVersion = activeVersion;
+ this.contentMap = contentMap;
+ }
+
+ public String getVspId() {
+ return vspId;
+ }
+
+ public String getUser() {
+ return user;
+ }
+
+ public byte[] getUploadedFileData() {
+ return uploadedFileData;
+ }
+
+ public HeatStructureTree getTree() {
+ return tree;
+ }
+
+ public Version getActiveVersion() {
+ return activeVersion;
+ }
+
+ public FileContentHandler getContentMap() {
+ return contentMap;
+ }
+
+ public Map<String, List<ErrorMessage>> getErrors() {return errors;}
+
+ public void setErrors(Map<String, List<ErrorMessage>> errors) {this.errors = errors;}
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/candidateheat/AnalyzedZipHeatFiles.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/candidateheat/AnalyzedZipHeatFiles.java
new file mode 100644
index 0000000000..5e04a1683c
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/candidateheat/AnalyzedZipHeatFiles.java
@@ -0,0 +1,84 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.candidateheat;
+
+import org.apache.commons.collections4.CollectionUtils;
+
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Objects;
+import java.util.Set;
+
+/**
+ * @author Avrahamg
+ * @since December 25, 2016
+ */
+public class AnalyzedZipHeatFiles {
+ private Set<String> nestedFiles = new HashSet<>();
+ private Set<String> otherNonModuleFiles = new HashSet<>();
+ private Set<String> moduleFiles = new HashSet<>();
+
+ public void addNestedFile(String fileName)
+ {
+ nestedFiles.add(fileName);
+ moduleFiles.remove(fileName);
+ }
+
+ public void addNestedFiles(Collection<String> fileNames)
+ {
+ nestedFiles.addAll(fileNames);
+ moduleFiles.removeAll(fileNames);
+ }
+
+ public void addOtherNonModuleFile(String fileName)
+ {
+ otherNonModuleFiles.add(fileName);
+ moduleFiles.remove(fileName);
+ }
+
+ public void addOtherNonModuleFiles(Collection<String> fileNames)
+ {
+ otherNonModuleFiles.addAll(fileNames);
+ moduleFiles.removeAll(fileNames);
+ }
+
+ public void addModuleFile(String fileName)
+ {
+ moduleFiles.add(fileName);
+ }
+
+ public Collection<String> getFilesNotEligbleForModules()
+ {
+ return CollectionUtils.union(this.getNestedFiles(), this.getOtherNonModuleFiles());
+ }
+
+ public Set<String> getNestedFiles() {
+ return nestedFiles;
+ }
+
+ public Set<String> getOtherNonModuleFiles() {
+ return otherNonModuleFiles;
+ }
+
+ public Set<String> getModuleFiles() {
+ return moduleFiles;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/candidateheat/Constants.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/candidateheat/Constants.java
new file mode 100644
index 0000000000..4e19dd67e9
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/candidateheat/Constants.java
@@ -0,0 +1,27 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.candidateheat;
+
+public class Constants {
+ public static final String BASE_HEAT_REGEX = "(^base_.*\\.|.*_base\\.|.*_base_.*\\.|^base\\.)(yaml|yml)$";
+ public static final String VOL_FILE_NAME_SUFFIX = "_volume";
+ public static final String ENV_FILE_EXTENSION = ".env";
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/candidateheat/FilesDataStructure.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/candidateheat/FilesDataStructure.java
new file mode 100644
index 0000000000..f0d5458082
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/candidateheat/FilesDataStructure.java
@@ -0,0 +1,63 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.candidateheat;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class FilesDataStructure {
+ private List<Module> modules = new ArrayList<>();
+ private List<String> unassigned = new ArrayList<>();
+ private List<String> artifacts = new ArrayList<>();
+ private List<String> nested = new ArrayList<>();
+
+ public List<Module> getModules() {
+ return modules;
+ }
+
+ public void setModules(List<Module> modules) {
+ this.modules = modules;
+ }
+
+ public List<String> getUnassigned() {
+ return unassigned;
+ }
+
+ public void setUnassigned(List<String> unassigned) {
+ this.unassigned = unassigned;
+ }
+
+ public List<String> getArtifacts() {
+ return artifacts;
+ }
+
+ public void setArtifacts(List<String> artifacts) {
+ this.artifacts = artifacts;
+ }
+
+ public List<String> getNested() {
+ return nested;
+ }
+
+ public void setNested(List<String> nested) {
+ this.nested = nested;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/candidateheat/Module.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/candidateheat/Module.java
new file mode 100644
index 0000000000..45a29f928f
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/candidateheat/Module.java
@@ -0,0 +1,79 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.candidateheat;
+
+public class Module {
+ private String name;
+ private Boolean isBase;
+ private String yaml;
+ private String env;
+ private String vol;
+ private String volEnv;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Boolean getIsBase() {
+ return isBase;
+ }
+
+ public void setIsBase(Boolean isBase) {
+ this.isBase = isBase;
+ }
+
+ public String getYaml() {
+ return yaml;
+ }
+
+ public void setYaml(String yaml) {
+ this.yaml = yaml;
+ }
+
+ public String getEnv() {
+ return env;
+ }
+
+ public void setEnv(String env) {
+ this.env = env;
+ }
+
+ public String getVol() {
+ return vol;
+ }
+
+ public void setVol(String vol) {
+ this.vol = vol;
+ }
+
+ public String getVolEnv() {
+ return volEnv;
+ }
+
+ public void setVolEnv(String volEnv) {
+ this.volEnv = volEnv;
+ }
+
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/ComponentData.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/ComponentData.java
index 0b3096c686..28d187ec69 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/ComponentData.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/ComponentData.java
@@ -24,6 +24,7 @@ public class ComponentData implements CompositionDataEntity {
private String name;
private String description;
private String displayName;
+ private String vfcCode;
public String getName() {
return name;
@@ -50,15 +51,23 @@ public class ComponentData implements CompositionDataEntity {
}
@Override
- public boolean equals(Object obj) {
- if (this == obj) {
+ public int hashCode() {
+ int result = name.hashCode();
+ result = 31 * result + (description != null ? description.hashCode() : 0);
+ result = 31 * result + (displayName != null ? displayName.hashCode() : 0);
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object object) {
+ if (this == object) {
return true;
}
- if (!(obj instanceof ComponentData)) {
+ if (!(object instanceof ComponentData)) {
return false;
}
- ComponentData that = (ComponentData) obj;
+ ComponentData that = (ComponentData) object;
if (!name.equals(that.name)) {
return false;
@@ -70,11 +79,11 @@ public class ComponentData implements CompositionDataEntity {
}
- @Override
- public int hashCode() {
- int result = name.hashCode();
- result = 31 * result + (description != null ? description.hashCode() : 0);
- result = 31 * result + (displayName != null ? displayName.hashCode() : 0);
- return result;
+ public String getVfcCode() {
+ return vfcCode;
+ }
+
+ public void setVfcCode(String vfcCode) {
+ this.vfcCode = vfcCode;
}
}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/CompositionEntityId.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/CompositionEntityId.java
index af1123b2e8..71c8e4609a 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/CompositionEntityId.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/CompositionEntityId.java
@@ -38,15 +38,22 @@ public class CompositionEntityId {
}
@Override
- public boolean equals(Object obj) {
- if (this == obj) {
+ public int hashCode() {
+ int result = id != null ? id.hashCode() : 0;
+ result = 31 * result + (parentId != null ? parentId.hashCode() : 0);
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object object) {
+ if (this == object) {
return true;
}
- if (obj == null || getClass() != obj.getClass()) {
+ if (object == null || getClass() != object.getClass()) {
return false;
}
- CompositionEntityId that = (CompositionEntityId) obj;
+ CompositionEntityId that = (CompositionEntityId) object;
if (id != null ? !id.equals(that.id) : that.id != null) {
return false;
@@ -54,11 +61,4 @@ public class CompositionEntityId {
return parentId != null ? parentId.equals(that.parentId) : that.parentId == null;
}
-
- @Override
- public int hashCode() {
- int result = id != null ? id.hashCode() : 0;
- result = 31 * result + (parentId != null ? parentId.hashCode() : 0);
- return result;
- }
}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/CompositionEntityType.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/CompositionEntityType.java
index f762aeb341..4695210de5 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/CompositionEntityType.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/CompositionEntityType.java
@@ -20,6 +20,7 @@
package org.openecomp.sdc.vendorsoftwareproduct.types.composition;
+
public enum CompositionEntityType {
vsp,
network,
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/CompositionEntityValidationData.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/CompositionEntityValidationData.java
new file mode 100644
index 0000000000..d126763409
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/CompositionEntityValidationData.java
@@ -0,0 +1,132 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.composition;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+public class CompositionEntityValidationData {
+ private CompositionEntityType entityType;
+ private String entityId;
+ private String entityName;
+ private Collection<String> errors;
+ private Collection<CompositionEntityValidationData> subEntitiesValidationData;
+
+ public CompositionEntityValidationData(CompositionEntityType entityType, String entityId) {
+ this.entityType = entityType;
+ this.entityId = entityId;
+ }
+
+ public String getEntityName() {
+ return entityName;
+ }
+
+ public void setEntityName(String entityName) {
+ this.entityName = entityName;
+ }
+
+ public CompositionEntityType getEntityType() {
+ return entityType;
+ }
+
+ public void setEntityType(CompositionEntityType entityType) {
+ this.entityType = entityType;
+ }
+
+ public String getEntityId() {
+ return entityId;
+ }
+
+ public void setEntityId(String entityId) {
+ this.entityId = entityId;
+ }
+
+ public Collection<String> getErrors() {
+ return errors;
+ }
+
+ public void setErrors(Collection<String> errors) {
+ this.errors = errors;
+ }
+
+ public Collection<CompositionEntityValidationData> getSubEntitiesValidationData() {
+ return subEntitiesValidationData;
+ }
+
+ public void setSubEntitiesValidationData(Collection<CompositionEntityValidationData> toSet) {
+ this.subEntitiesValidationData = toSet;
+ }
+
+ /**
+ * Add sub entity validation data.
+ *
+ * @param subEntityValidationData the sub entity validation data
+ */
+ public void addSubEntityValidationData(CompositionEntityValidationData subEntityValidationData) {
+ if (subEntitiesValidationData == null) {
+ subEntitiesValidationData = new ArrayList<>();
+ }
+ subEntitiesValidationData.add(subEntityValidationData);
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+
+ CompositionEntityValidationData that = (CompositionEntityValidationData) o;
+
+ if (entityType != that.entityType) {
+ return false;
+ }
+ if (entityId != null ? !entityId.equals(that.entityId) : that.entityId != null) {
+ return false;
+ }
+ if (entityName != null ? !entityName.equals(that.entityName) : that.entityName != null) {
+ return false;
+ }
+ if (errors != null ? !errors.equals(that.errors) : that.errors != null) {
+ return false;
+ }
+ if (subEntitiesValidationData != null ? !subEntitiesValidationData
+ .equals(that.subEntitiesValidationData) : that.subEntitiesValidationData != null) {
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ int result = entityType != null ? entityType.hashCode() : 0;
+ result = 31 * result + (entityId != null ? entityId.hashCode() : 0);
+ result = 31 * result + (entityName != null ? entityName.hashCode() : 0);
+ result = 31 * result + (errors != null ? errors.hashCode() : 0);
+ result =
+ 31 * result +
+ (subEntitiesValidationData != null ? subEntitiesValidationData.hashCode() : 0);
+ return result;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/ExtractCompositionDataContext.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/ExtractCompositionDataContext.java
new file mode 100644
index 0000000000..6736512cee
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/ExtractCompositionDataContext.java
@@ -0,0 +1,134 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.composition;
+
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Component;
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Network;
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Nic;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+public class ExtractCompositionDataContext {
+ private List<Network> networks = new ArrayList<>();
+ private List<Component> components = new ArrayList<>();
+ private Map<String, Nic> nics = new HashMap<>();
+ private Set<String> handledServiceTemplates = new HashSet<>();
+ private Set<String> createdComponents = new HashSet<>();
+
+ public Set<String> getCreatedComponents() {
+ return createdComponents;
+ }
+
+ public void setCreatedComponents(Set<String> createdComponents) {
+ this.createdComponents = createdComponents;
+ }
+
+ public Set<String> getHandledServiceTemplates() {
+ return handledServiceTemplates;
+ }
+
+ public void setHandledServiceTemplates(Set<String> handledServiceTemplates) {
+ this.handledServiceTemplates = handledServiceTemplates;
+ }
+
+ public void addHandledServiceTemplates(String handledServiceTemplate) {
+ this.handledServiceTemplates.add(handledServiceTemplate);
+ }
+
+ public List<Network> getNetworks() {
+ return networks;
+ }
+
+ public void setNetworks(List<Network> networks) {
+ this.networks = networks;
+ }
+
+ /**
+ * Add network.
+ *
+ * @param network the network
+ */
+ public void addNetwork(Network network) {
+ if (network != null) {
+ networks.add(network);
+ }
+ }
+
+ /**
+ * Add networks.
+ *
+ * @param network the network
+ */
+ public void addNetworks(List<Network> network) {
+ if (networks != null) {
+ networks.addAll(network);
+ }
+ }
+
+ public List<Component> getComponents() {
+ return components;
+ }
+
+ public void setComponents(List<Component> components) {
+ this.components = components;
+ }
+
+ /**
+ * Add component.
+ *
+ * @param component the component
+ */
+ public void addComponent(Component component) {
+ if (component != null) {
+ components.add(component);
+ }
+ }
+
+ /**
+ * Add components.
+ *
+ * @param components the components
+ */
+ public void addComponents(List<Component> components) {
+ if (components != null) {
+ this.components.addAll(components);
+ }
+ }
+
+ public Map<String, Nic> getNics() {
+ return nics;
+ }
+
+ public void setNics(Map<String, Nic> nics) {
+ this.nics = nics;
+ }
+
+ public void addNic(String nicId, Nic nic) {
+ this.nics.put(nicId, nic);
+ }
+
+
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/Network.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/Network.java
index 2f9eb4e69c..ba0361b3b4 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/Network.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/Network.java
@@ -41,15 +41,22 @@ public class Network implements CompositionDataEntity {
}
@Override
- public boolean equals(Object obj) {
- if (this == obj) {
+ public int hashCode() {
+ int result = name != null ? name.hashCode() : 0;
+ result = 31 * result + (dhcp ? 1 : 0);
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object object) {
+ if (this == object) {
return true;
}
- if (obj == null || getClass() != obj.getClass()) {
+ if (object == null || getClass() != object.getClass()) {
return false;
}
- Network network = (Network) obj;
+ Network network = (Network) object;
if (dhcp != network.dhcp) {
return false;
@@ -57,11 +64,4 @@ public class Network implements CompositionDataEntity {
return name != null ? name.equals(network.name) : network.name == null;
}
-
- @Override
- public int hashCode() {
- int result = name != null ? name.hashCode() : 0;
- result = 31 * result + (dhcp ? 1 : 0);
- return result;
- }
}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/Nic.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/Nic.java
index e44a731824..24832951a8 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/Nic.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/Nic.java
@@ -68,15 +68,24 @@ public class Nic implements CompositionDataEntity {
}
@Override
- public boolean equals(Object obj) {
- if (this == obj) {
+ public int hashCode() {
+ int result = name != null ? name.hashCode() : 0;
+ result = 31 * result + (description != null ? description.hashCode() : 0);
+ result = 31 * result + (networkId != null ? networkId.hashCode() : 0);
+ result = 31 * result + (networkType != null ? networkType.hashCode() : 0);
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object object) {
+ if (this == object) {
return true;
}
- if (obj == null || getClass() != obj.getClass()) {
+ if (object == null || getClass() != object.getClass()) {
return false;
}
- Nic nic = (Nic) obj;
+ Nic nic = (Nic) object;
if (name != null ? !name.equals(nic.name) : nic.name != null) {
return false;
@@ -90,13 +99,4 @@ public class Nic implements CompositionDataEntity {
return networkType == nic.networkType;
}
-
- @Override
- public int hashCode() {
- int result = name != null ? name.hashCode() : 0;
- result = 31 * result + (description != null ? description.hashCode() : 0);
- result = 31 * result + (networkId != null ? networkId.hashCode() : 0);
- result = 31 * result + (networkType != null ? networkType.hashCode() : 0);
- return result;
- }
}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/ComponentQuestionnaire.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/ComponentQuestionnaire.java
new file mode 100644
index 0000000000..e451292eaf
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/ComponentQuestionnaire.java
@@ -0,0 +1,79 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.questionnaire.component;
+
+
+import org.openecomp.sdc.vendorsoftwareproduct.types.questionnaire.component.compute.Compute;
+import org.openecomp.sdc.vendorsoftwareproduct.types.questionnaire.component.general.General;
+import org.openecomp.sdc.vendorsoftwareproduct.types.questionnaire.component.highAvailability.HighAvailabilityAndLoadBalancing;
+import org.openecomp.sdc.vendorsoftwareproduct.types.questionnaire.component.network.Network;
+import org.openecomp.sdc.vendorsoftwareproduct.types.questionnaire.component.storage.Storage;
+
+/**
+ * Created by TALIO on 11/21/2016
+ */
+public class ComponentQuestionnaire {
+ private General general;
+ private Compute compute;
+ private HighAvailabilityAndLoadBalancing highAvailabilityAndLoadBalancing;
+ private Network network;
+ private Storage storage;
+
+ public General getGeneral() {
+ return general;
+ }
+
+ public void setGeneral(General general) {
+ this.general = general;
+ }
+
+ public Compute getCompute() {
+ return compute;
+ }
+
+ public void setCompute(Compute compute) {
+ this.compute = compute;
+ }
+
+ public HighAvailabilityAndLoadBalancing getHighAvailabilityAndLoadBalancing() {
+ return highAvailabilityAndLoadBalancing;
+ }
+
+ public void setHighAvailabilityAndLoadBalancing(HighAvailabilityAndLoadBalancing highAvailabilityAndLoadBalancing) {
+ this.highAvailabilityAndLoadBalancing = highAvailabilityAndLoadBalancing;
+ }
+
+ public Network getNetwork() {
+ return network;
+ }
+
+ public void setNetwork(Network network) {
+ this.network = network;
+ }
+
+ public Storage getStorage() {
+ return storage;
+ }
+
+ public void setStorage(Storage storage) {
+ this.storage = storage;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/compute/Compute.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/compute/Compute.java
new file mode 100644
index 0000000000..9295288aca
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/compute/Compute.java
@@ -0,0 +1,54 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.questionnaire.component.compute;
+
+/**
+ * Created by TALIO on 11/22/2016.
+ */
+public class Compute {
+ private GuestOS guestOS;
+ private NumOfVMs numOfVMs;
+ private VmSizing vmSizing;
+
+ public GuestOS getGuestOS() {
+ return guestOS;
+ }
+
+ public void setGuestOS(GuestOS guestOS) {
+ this.guestOS = guestOS;
+ }
+
+ public NumOfVMs getNumOfVMs() {
+ return numOfVMs;
+ }
+
+ public void setNumOfVMs(NumOfVMs numOfVMs) {
+ this.numOfVMs = numOfVMs;
+ }
+
+ public VmSizing getVmSizing() {
+ return vmSizing;
+ }
+
+ public void setVmSizing(VmSizing vmSizing) {
+ this.vmSizing = vmSizing;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/compute/GuestOS.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/compute/GuestOS.java
new file mode 100644
index 0000000000..db22b3a3ee
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/compute/GuestOS.java
@@ -0,0 +1,54 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.questionnaire.component.compute;
+
+/**
+ * Created by TALIO on 11/22/2016.
+ */
+public class GuestOS {
+ private String name;
+ private String tools;
+ private int bitSize;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getTools() {
+ return tools;
+ }
+
+ public void setTools(String tools) {
+ this.tools = tools;
+ }
+
+ public int getBitSize() {
+ return bitSize;
+ }
+
+ public void setBitSize(int bitSize) {
+ this.bitSize = bitSize;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/compute/NumOfVMs.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/compute/NumOfVMs.java
new file mode 100644
index 0000000000..3b0b8dbb0c
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/compute/NumOfVMs.java
@@ -0,0 +1,63 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.questionnaire.component.compute;
+
+/**
+ * Created by TALIO on 11/22/2016.
+ */
+public class NumOfVMs {
+ private int minimum;
+ private int maximum;
+ private String CpuOverSubscriptionRatio;
+ private String MemoryRAM;
+
+ public int getMinimum() {
+ return minimum;
+ }
+
+ public void setMinimum(int minimum) {
+ this.minimum = minimum;
+ }
+
+ public int getMaximum() {
+ return maximum;
+ }
+
+ public void setMaximum(int maximum) {
+ this.maximum = maximum;
+ }
+
+ public String getCpuOverSubscriptionRatio() {
+ return CpuOverSubscriptionRatio;
+ }
+
+ public void setCpuOverSubscriptionRatio(String cpuOverSubscriptionRatio) {
+ CpuOverSubscriptionRatio = cpuOverSubscriptionRatio;
+ }
+
+ public String getMemoryRAM() {
+ return MemoryRAM;
+ }
+
+ public void setMemoryRAM(String memoryRAM) {
+ MemoryRAM = memoryRAM;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/compute/VmSizing.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/compute/VmSizing.java
new file mode 100644
index 0000000000..2ae7f48f33
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/compute/VmSizing.java
@@ -0,0 +1,63 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.questionnaire.component.compute;
+
+/**
+ * Created by TALIO on 11/22/2016.
+ */
+public class VmSizing {
+ private int numOfCPUs;
+ private int fileSystemSizeGB;
+ private int persistentStorageVolumeSize;
+ private int IOOperationsPerSec;
+
+ 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;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/general/General.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/general/General.java
new file mode 100644
index 0000000000..7d64906741
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/general/General.java
@@ -0,0 +1,72 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.questionnaire.component.general;
+
+/**
+ * Created by TALIO on 11/22/2016.
+ */
+public class General {
+ private Hypervisor hypervisor;
+ private Image image;
+ protected Recovery recovery;
+ private String dnsConfiguration;
+ private String vmCloneUsage;
+
+ public Hypervisor getHypervisor() {
+ return hypervisor;
+ }
+
+ public void setHypervisor(Hypervisor hypervisor) {
+ this.hypervisor = hypervisor;
+ }
+
+ public Image getImage() {
+ return image;
+ }
+
+ public void setImage(Image image) {
+ this.image = image;
+ }
+
+ public Recovery getRecovery() {
+ return recovery;
+ }
+
+ public void setRecovery(Recovery recovery) {
+ this.recovery = recovery;
+ }
+
+ public String getDnsConfiguration() {
+ return dnsConfiguration;
+ }
+
+ public void setDnsConfiguration(String dnsConfiguration) {
+ this.dnsConfiguration = dnsConfiguration;
+ }
+
+ public String getVmCloneUsage() {
+ return vmCloneUsage;
+ }
+
+ public void setVmCloneUsage(String vmCloneUsage) {
+ this.vmCloneUsage = vmCloneUsage;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/general/Hypervisor.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/general/Hypervisor.java
new file mode 100644
index 0000000000..930a3ce285
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/general/Hypervisor.java
@@ -0,0 +1,54 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.questionnaire.component.general;
+
+/**
+ * Created by TALIO on 11/22/2016.
+ */
+public class Hypervisor {
+ private String hypervisor;
+ private String drivers;
+ private String containerFeaturesDescription;
+
+ public String getHypervisor() {
+ return hypervisor;
+ }
+
+ public void setHypervisor(String hypervisor) {
+ this.hypervisor = hypervisor;
+ }
+
+ public String getDrivers() {
+ return drivers;
+ }
+
+ public void setDrivers(String drivers) {
+ this.drivers = drivers;
+ }
+
+ public String getContainerFeaturesDescription() {
+ return containerFeaturesDescription;
+ }
+
+ public void setContainerFeaturesDescription(String containerFeaturesDescription) {
+ this.containerFeaturesDescription = containerFeaturesDescription;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/general/Image.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/general/Image.java
new file mode 100644
index 0000000000..09e83b875f
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/general/Image.java
@@ -0,0 +1,63 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.questionnaire.component.general;
+
+/**
+ * Created by TALIO on 11/22/2016.
+ */
+public class Image {
+ private String format;
+ private String providedBy;
+ private int bootDiskSizePerVM;
+ private int ephemeralDiskSizePerVM;
+
+ public String getFormat() {
+ return format;
+ }
+
+ public void setFormat(String format) {
+ this.format = format;
+ }
+
+ public String getProvidedBy() {
+ return providedBy;
+ }
+
+ public void setProvidedBy(String providedBy) {
+ this.providedBy = providedBy;
+ }
+
+ public int getBootDiskSizePerVM() {
+ return bootDiskSizePerVM;
+ }
+
+ public void setBootDiskSizePerVM(int bootDiskSizePerVM) {
+ this.bootDiskSizePerVM = bootDiskSizePerVM;
+ }
+
+ public int getEphemeralDiskSizePerVM() {
+ return ephemeralDiskSizePerVM;
+ }
+
+ public void setEphemeralDiskSizePerVM(int ephemeralDiskSizePerVM) {
+ this.ephemeralDiskSizePerVM = ephemeralDiskSizePerVM;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/general/Recovery.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/general/Recovery.java
new file mode 100644
index 0000000000..4a13829d71
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/general/Recovery.java
@@ -0,0 +1,54 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.questionnaire.component.general;
+
+/**
+ * Created by TALIO on 11/22/2016.
+ */
+public class Recovery {
+ private int pointObjective;
+ private int timeObjective;
+ private String vmProcessFailuresHandling;
+
+ public int getPointObjective() {
+ return pointObjective;
+ }
+
+ public void setPointObjective(int pointObjective) {
+ this.pointObjective = pointObjective;
+ }
+
+ public int getTimeObjective() {
+ return timeObjective;
+ }
+
+ public void setTimeObjective(int timeObjective) {
+ this.timeObjective = timeObjective;
+ }
+
+ public String getVmProcessFailuresHandling() {
+ return vmProcessFailuresHandling;
+ }
+
+ public void setVmProcessFailuresHandling(String vmProcessFailuresHandling) {
+ this.vmProcessFailuresHandling = vmProcessFailuresHandling;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/highAvailability/HighAvailabilityAndLoadBalancing.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/highAvailability/HighAvailabilityAndLoadBalancing.java
new file mode 100644
index 0000000000..b5965887ba
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/highAvailability/HighAvailabilityAndLoadBalancing.java
@@ -0,0 +1,100 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.questionnaire.component.highAvailability;
+
+/**
+ * Created by TALIO on 11/22/2016.
+ */
+public class HighAvailabilityAndLoadBalancing {
+ private String failureLoadDistribution;
+ private String nkModelImplementation;
+ private String architectureChoice;
+ private String slaRequirements;
+ private String horizontalScaling;
+ private String loadDistributionMechanism;
+ private String isComponentMandatory;
+ private String highAvailabilityMode;
+
+ public String getFailureLoadDistribution() {
+ return failureLoadDistribution;
+ }
+
+ public void setFailureLoadDistribution(String failureLoadDistribution) {
+ this.failureLoadDistribution = failureLoadDistribution;
+ }
+
+ public String getNkModelImplementation() {
+ return nkModelImplementation;
+ }
+
+ public void setNkModelImplementation(String nkModelImplementation) {
+ this.nkModelImplementation = nkModelImplementation;
+ }
+
+ public String getArchitectureChoice() {
+ return architectureChoice;
+ }
+
+ public void setArchitectureChoice(String architectureChoice) {
+ this.architectureChoice = architectureChoice;
+ }
+
+ public String getSlaRequirements() {
+ return slaRequirements;
+ }
+
+ public void setSlaRequirements(String slaRequirements) {
+ this.slaRequirements = slaRequirements;
+ }
+
+ public String getHorizontalScaling() {
+ return horizontalScaling;
+ }
+
+ public void setHorizontalScaling(String horizontalScaling) {
+ this.horizontalScaling = horizontalScaling;
+ }
+
+ public String getLoadDistributionMechanism() {
+ return loadDistributionMechanism;
+ }
+
+ public void setLoadDistributionMechanism(String loadDistributionMechanism) {
+ this.loadDistributionMechanism = loadDistributionMechanism;
+ }
+
+ public String getIsComponentMandatory() {
+ return isComponentMandatory;
+ }
+
+ public void setIsComponentMandatory(String isComponentMandatory) {
+ this.isComponentMandatory = isComponentMandatory;
+ }
+
+ public String getHighAvailabilityMode() {
+ return highAvailabilityMode;
+ }
+
+ public void setHighAvailabilityMode(String highAvailabilityMode) {
+ this.highAvailabilityMode = highAvailabilityMode;
+ }
+
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/network/Network.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/network/Network.java
new file mode 100644
index 0000000000..3e631c791e
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/network/Network.java
@@ -0,0 +1,36 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.questionnaire.component.network;
+
+/**
+ * Created by TALIO on 11/22/2016.
+ */
+public class Network {
+ private NetworkCapacity networkCapacity;
+
+ public NetworkCapacity getNetworkCapacity() {
+ return networkCapacity;
+ }
+
+ public void setNetworkCapacity(NetworkCapacity networkCapacity) {
+ this.networkCapacity = networkCapacity;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/network/NetworkCapacity.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/network/NetworkCapacity.java
new file mode 100644
index 0000000000..cd1e6e67b5
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/network/NetworkCapacity.java
@@ -0,0 +1,45 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.questionnaire.component.network;
+
+/**
+ * Created by TALIO on 11/22/2016.
+ */
+public class NetworkCapacity {
+ private String protocolWithHighestTrafficProfileAcrossAllNICs;
+ private int networkTransactionsPerSecond;
+
+ public String getProtocolWithHighestTrafficProfileAcrossAllNICs() {
+ return protocolWithHighestTrafficProfileAcrossAllNICs;
+ }
+
+ public void setProtocolWithHighestTrafficProfileAcrossAllNICs(String protocolWithHighestTrafficProfileAcrossAllNICs) {
+ this.protocolWithHighestTrafficProfileAcrossAllNICs = protocolWithHighestTrafficProfileAcrossAllNICs;
+ }
+
+ public int getNetworkTransactionsPerSecond() {
+ return networkTransactionsPerSecond;
+ }
+
+ public void setNetworkTransactionsPerSecond(int networkTransactionsPerSecond) {
+ this.networkTransactionsPerSecond = networkTransactionsPerSecond;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/storage/Backup.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/storage/Backup.java
new file mode 100644
index 0000000000..df5bcb0a02
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/storage/Backup.java
@@ -0,0 +1,63 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.questionnaire.component.storage;
+
+/**
+ * Created by TALIO on 11/22/2016.
+ */
+public class Backup {
+ private String backupType;
+ private String backupSolution;
+ private String backupNIC;
+ private int backupStorageSize;
+
+ public String getBackupType() {
+ return backupType;
+ }
+
+ public void setBackupType(String backupType) {
+ this.backupType = backupType;
+ }
+
+ public String getBackupSolution() {
+ return backupSolution;
+ }
+
+ public void setBackupSolution(String backupSolution) {
+ this.backupSolution = backupSolution;
+ }
+
+ public String getBackupNIC() {
+ return backupNIC;
+ }
+
+ public void setBackupNIC(String backupNIC) {
+ this.backupNIC = backupNIC;
+ }
+
+ public int getBackupStorageSize() {
+ return backupStorageSize;
+ }
+
+ public void setBackupStorageSize(int backupStorageSize) {
+ this.backupStorageSize = backupStorageSize;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/storage/LogBackup.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/storage/LogBackup.java
new file mode 100644
index 0000000000..cbf1fbeb78
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/storage/LogBackup.java
@@ -0,0 +1,63 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.questionnaire.component.storage;
+
+/**
+ * Created by TALIO on 11/22/2016.
+ */
+public class LogBackup {
+ private int sizeOfLogFiles;
+ private int logBackupFrequency;
+ private int logRetentionPeriod;
+ private String logFileLocation;
+
+ public int getSizeOfLogFiles() {
+ return sizeOfLogFiles;
+ }
+
+ public void setSizeOfLogFiles(int sizeOfLogFiles) {
+ this.sizeOfLogFiles = sizeOfLogFiles;
+ }
+
+ public int getLogBackupFrequency() {
+ return logBackupFrequency;
+ }
+
+ public void setLogBackupFrequency(int logBackupFrequency) {
+ this.logBackupFrequency = logBackupFrequency;
+ }
+
+ public int getLogRetentionPeriod() {
+ return logRetentionPeriod;
+ }
+
+ public void setLogRetentionPeriod(int logRetentionPeriod) {
+ this.logRetentionPeriod = logRetentionPeriod;
+ }
+
+ public String getLogFileLocation() {
+ return logFileLocation;
+ }
+
+ public void setLogFileLocation(String logFileLocation) {
+ this.logFileLocation = logFileLocation;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/storage/SnapshotBackup.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/storage/SnapshotBackup.java
new file mode 100644
index 0000000000..6d61c5751a
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/storage/SnapshotBackup.java
@@ -0,0 +1,36 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.questionnaire.component.storage;
+
+/**
+ * Created by TALIO on 11/22/2016.
+ */
+public class SnapshotBackup {
+ private int snapshotFrequency;
+
+ public int getSnapshotFrequency() {
+ return snapshotFrequency;
+ }
+
+ public void setSnapshotFrequency(int snapshotFrequency) {
+ this.snapshotFrequency = snapshotFrequency;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/storage/Storage.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/storage/Storage.java
new file mode 100644
index 0000000000..36d34964ef
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/component/storage/Storage.java
@@ -0,0 +1,54 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.questionnaire.component.storage;
+
+/**
+ * Created by TALIO on 11/22/2016.
+ */
+public class Storage {
+ private Backup backup;
+ private LogBackup logBackup;
+ private SnapshotBackup snapshotBackup;
+
+ public Backup getBackup() {
+ return backup;
+ }
+
+ public void setBackup(Backup backup) {
+ this.backup = backup;
+ }
+
+ public LogBackup getLogBackup() {
+ return logBackup;
+ }
+
+ public void setLogBackup(LogBackup logBackup) {
+ this.logBackup = logBackup;
+ }
+
+ public SnapshotBackup getSnapshotBackup() {
+ return snapshotBackup;
+ }
+
+ public void setSnapshotBackup(SnapshotBackup snapshotBackup) {
+ this.snapshotBackup = snapshotBackup;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/nic/AcceptableJitter.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/nic/AcceptableJitter.java
new file mode 100644
index 0000000000..e81822ef5f
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/nic/AcceptableJitter.java
@@ -0,0 +1,54 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.questionnaire.nic;
+
+/**
+ * Created by TALIO on 11/22/2016.
+ */
+public class AcceptableJitter {
+ private int mean;
+ private int max;
+ private int variable;
+
+ public int getMean() {
+ return mean;
+ }
+
+ public void setMean(int mean) {
+ this.mean = mean;
+ }
+
+ public int getMax() {
+ return max;
+ }
+
+ public void setMax(int max) {
+ this.max = max;
+ }
+
+ public int getVariable() {
+ return variable;
+ }
+
+ public void setVariable(int variable) {
+ this.variable = variable;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/nic/IpConfiguration.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/nic/IpConfiguration.java
new file mode 100644
index 0000000000..06359eb3ef
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/nic/IpConfiguration.java
@@ -0,0 +1,45 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.questionnaire.nic;
+
+/**
+ * Created by TALIO on 11/22/2016.
+ */
+public class IpConfiguration {
+ private boolean ipv4Required;
+ private boolean ipv6Required;
+
+ public boolean isIpv4Required() {
+ return ipv4Required;
+ }
+
+ public void setIpv4Required(boolean ipv4Required) {
+ this.ipv4Required = ipv4Required;
+ }
+
+ public boolean isIpv6Required() {
+ return ipv6Required;
+ }
+
+ public void setIpv6Required(boolean ipv6Required) {
+ this.ipv6Required = ipv6Required;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/nic/Network.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/nic/Network.java
new file mode 100644
index 0000000000..882d309b66
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/nic/Network.java
@@ -0,0 +1,44 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.questionnaire.nic;
+
+/**
+ * Created by TALIO on 11/22/2016
+ */
+public class Network {
+ private String networkDescription;
+
+ public String getNetworkDescription() {
+ return networkDescription;
+ }
+
+ public void setNetworkDescription(String networkDescription) {
+ this.networkDescription = networkDescription;
+ }
+
+ @Override
+ public String toString() {
+ final StringBuilder sb = new StringBuilder("Network{");
+ sb.append("networkDescription='").append(networkDescription).append('\'');
+ sb.append('}');
+ return sb.toString();
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/nic/NicQuestionnaire.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/nic/NicQuestionnaire.java
new file mode 100644
index 0000000000..0bc8b5df47
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/nic/NicQuestionnaire.java
@@ -0,0 +1,63 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.questionnaire.nic;
+
+/**
+ * Created by TALIO on 11/21/2016.
+ */
+public class NicQuestionnaire {
+ private Protocols protocols;
+ private IpConfiguration ipConfiguration;
+ private Network network;
+ private Sizing sizing;
+
+ public Protocols getProtocols() {
+ return protocols;
+ }
+
+ public void setProtocols(Protocols protocols) {
+ this.protocols = protocols;
+ }
+
+ public IpConfiguration getIpConfiguration() {
+ return ipConfiguration;
+ }
+
+ public void setIpConfiguration(IpConfiguration ipConfiguration) {
+ this.ipConfiguration = ipConfiguration;
+ }
+
+ public Network getNetwork() {
+ return network;
+ }
+
+ public void setNetwork(Network network) {
+ this.network = network;
+ }
+
+ public Sizing getSizing() {
+ return sizing;
+ }
+
+ public void setSizing(Sizing sizing) {
+ this.sizing = sizing;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/nic/PacketsAndBytes.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/nic/PacketsAndBytes.java
new file mode 100644
index 0000000000..358620254c
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/nic/PacketsAndBytes.java
@@ -0,0 +1,45 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.questionnaire.nic;
+
+/**
+ * Created by TALIO on 11/22/2016.
+ */
+public class PacketsAndBytes {
+ private PeakAndAvg packets;
+ private PeakAndAvg bytes;
+
+ public PeakAndAvg getPackets() {
+ return packets;
+ }
+
+ public void setPackets(PeakAndAvg packets) {
+ this.packets = packets;
+ }
+
+ public PeakAndAvg getBytes() {
+ return bytes;
+ }
+
+ public void setBytes(PeakAndAvg bytes) {
+ this.bytes = bytes;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/nic/PeakAndAvg.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/nic/PeakAndAvg.java
new file mode 100644
index 0000000000..3d80224698
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/nic/PeakAndAvg.java
@@ -0,0 +1,45 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.questionnaire.nic;
+
+/**
+ * Created by TALIO on 11/22/2016.
+ */
+public class PeakAndAvg {
+ private int peak;
+ private int avg;
+
+ public int getPeak() {
+ return peak;
+ }
+
+ public void setPeak(int peak) {
+ this.peak = peak;
+ }
+
+ public int getAvg() {
+ return avg;
+ }
+
+ public void setAvg(int avg) {
+ this.avg = avg;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/nic/Protocols.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/nic/Protocols.java
new file mode 100644
index 0000000000..37b76bd451
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/nic/Protocols.java
@@ -0,0 +1,58 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.questionnaire.nic;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by TALIO on 11/22/2016.
+ */
+public class Protocols {
+ private List<String> protocols = new ArrayList<>();
+ private String protocolWithHighestTrafficProfile;
+
+ public List<String> getProtocols() {
+ return protocols;
+ }
+
+ public void setProtocols(List<String> protocols) {
+ this.protocols = protocols;
+ }
+
+ public String getProtocolWithHighestTrafficProfile() {
+ return protocolWithHighestTrafficProfile;
+ }
+
+ public void setProtocolWithHighestTrafficProfile(String protocolWithHighestTrafficProfile) {
+ this.protocolWithHighestTrafficProfile = protocolWithHighestTrafficProfile;
+ }
+
+ @Override
+ public String toString() {
+ final StringBuilder sb = new StringBuilder("Protocols{");
+ sb.append("protocols=").append(protocols);
+ sb.append(", protocolWithHighestTrafficProfile='").append(protocolWithHighestTrafficProfile)
+ .append('\'');
+ sb.append('}');
+ return sb.toString();
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/nic/Sizing.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/nic/Sizing.java
new file mode 100644
index 0000000000..32a9e5a186
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/nic/Sizing.java
@@ -0,0 +1,81 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.questionnaire.nic;
+
+/**
+ * Created by TALIO on 11/22/2016
+ */
+public class Sizing {
+ private String describeQualityOfService;
+ private int acceptablePacketLoss;
+ private PacketsAndBytes inflowTrafficPerSecond;
+ private PacketsAndBytes outflowTrafficPerSecond;
+ private PacketsAndBytes flowLength;
+ private AcceptableJitter acceptableJitter;
+
+ public String getDescribeQualityOfService() {
+ return describeQualityOfService;
+ }
+
+ public void setDescribeQualityOfService(String describeQualityOfService) {
+ this.describeQualityOfService = describeQualityOfService;
+ }
+
+ public int getAcceptablePacketLoss() {
+ return acceptablePacketLoss;
+ }
+
+ public void setAcceptablePacketLoss(int acceptablePacketLoss) {
+ this.acceptablePacketLoss = acceptablePacketLoss;
+ }
+
+ public PacketsAndBytes getInflowTrafficPerSecond() {
+ return inflowTrafficPerSecond;
+ }
+
+ public void setInflowTrafficPerSecond(PacketsAndBytes inflowTrafficPerSecond) {
+ this.inflowTrafficPerSecond = inflowTrafficPerSecond;
+ }
+
+ public PacketsAndBytes getOutflowTrafficPerSecond() {
+ return outflowTrafficPerSecond;
+ }
+
+ public void setOutflowTrafficPerSecond(PacketsAndBytes outflowTrafficPerSecond) {
+ this.outflowTrafficPerSecond = outflowTrafficPerSecond;
+ }
+
+ public PacketsAndBytes getFlowLength() {
+ return flowLength;
+ }
+
+ public void setFlowLength(PacketsAndBytes flowLength) {
+ this.flowLength = flowLength;
+ }
+
+ public AcceptableJitter getAcceptableJitter() {
+ return acceptableJitter;
+ }
+
+ public void setAcceptableJitter(AcceptableJitter acceptableJitter) {
+ this.acceptableJitter = acceptableJitter;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/vsp/VspQuestionnaire.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/vsp/VspQuestionnaire.java
new file mode 100644
index 0000000000..0b53e04f0c
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/vsp/VspQuestionnaire.java
@@ -0,0 +1,39 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.questionnaire.vsp;
+
+
+import org.openecomp.sdc.vendorsoftwareproduct.types.questionnaire.vsp.general.General;
+
+/**
+ * Created by TALIO on 11/21/2016.
+ */
+public class VspQuestionnaire {
+ private General general;
+
+ public General getGeneral() {
+ return general;
+ }
+
+ public void setGeneral(General general) {
+ this.general = general;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/vsp/general/Availability.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/vsp/general/Availability.java
new file mode 100644
index 0000000000..4f146466f8
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/vsp/general/Availability.java
@@ -0,0 +1,36 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.questionnaire.vsp.general;
+
+/**
+ * Created by TALIO on 11/21/2016.
+ */
+public class Availability {
+ private boolean useAvailabilityZonesForHighAvailability = false;
+
+ public boolean isUseAvailabilityZonesForHighAvailability() {
+ return useAvailabilityZonesForHighAvailability;
+ }
+
+ public void setUseAvailabilityZonesForHighAvailability(boolean useAvailabilityZonesForHighAvailability) {
+ this.useAvailabilityZonesForHighAvailability = useAvailabilityZonesForHighAvailability;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/vsp/general/General.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/vsp/general/General.java
new file mode 100644
index 0000000000..566374f1f7
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/vsp/general/General.java
@@ -0,0 +1,64 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.questionnaire.vsp.general;
+
+/**
+ * Created by TALIO on 11/22/2016.
+ */
+public class General {
+
+ private String affinityData;
+ private Availability availability;
+ private RegionsData regionsData;
+ private StorageDataReplication storageDataReplication;
+
+ public StorageDataReplication getStorageDataReplication() {
+ return storageDataReplication;
+ }
+
+ public void setStorageDataReplication(StorageDataReplication storageDataReplication) {
+ this.storageDataReplication = storageDataReplication;
+ }
+
+ public String getAffinityData() {
+ return affinityData;
+ }
+
+ public void setAffinityData(String affinityData) {
+ this.affinityData = affinityData;
+ }
+
+ public Availability getAvailability() {
+ return availability;
+ }
+
+ public void setAvailability(Availability availability) {
+ this.availability = availability;
+ }
+
+ public RegionsData getRegionsData() {
+ return regionsData;
+ }
+
+ public void setRegionsData(RegionsData regionsData) {
+ this.regionsData = regionsData;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/vsp/general/RegionsData.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/vsp/general/RegionsData.java
new file mode 100644
index 0000000000..efdcb46e89
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/vsp/general/RegionsData.java
@@ -0,0 +1,48 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.questionnaire.vsp.general;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by TALIO on 11/21/2016.
+ */
+public class RegionsData {
+ private boolean multiRegion;
+ private List<String> regions = new ArrayList<>();
+
+ public boolean isMultiRegion() {
+ return multiRegion;
+ }
+
+ public void setMultiRegion(boolean multiRegion) {
+ this.multiRegion = multiRegion;
+ }
+
+ public List<String> getRegions() {
+ return regions;
+ }
+
+ public void setRegions(List<String> regions) {
+ this.regions = regions;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/vsp/general/StorageDataReplication.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/vsp/general/StorageDataReplication.java
new file mode 100644
index 0000000000..7c073af422
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/questionnaire/vsp/general/StorageDataReplication.java
@@ -0,0 +1,72 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.questionnaire.vsp.general;
+
+/**
+ * Created by TALIO on 11/21/2016.
+ */
+public class StorageDataReplication {
+ private boolean storageReplicationAcrossRegion;
+ private int storageReplicationSize;
+ private int storageReplicationFrequency;
+ private String storageReplicationSource;
+ private String storageReplicationDestination;
+
+ public String getStorageReplicationDestination() {
+ return storageReplicationDestination;
+ }
+
+ public void setStorageReplicationDestination(String storageReplicationDestination) {
+ this.storageReplicationDestination = storageReplicationDestination;
+ }
+
+ public int getStorageReplicationSize() {
+ return storageReplicationSize;
+ }
+
+ public void setStorageReplicationSize(int storageReplicationSize) {
+ this.storageReplicationSize = storageReplicationSize;
+ }
+
+ public int getStorageReplicationFrequency() {
+ return storageReplicationFrequency;
+ }
+
+ public void setStorageReplicationFrequency(int storageReplicationFrequency) {
+ this.storageReplicationFrequency = storageReplicationFrequency;
+ }
+
+ public String getStorageReplicationSource() {
+ return storageReplicationSource;
+ }
+
+ public void setStorageReplicationSource(String storageReplicationSource) {
+ this.storageReplicationSource = storageReplicationSource;
+ }
+
+ public boolean isStorageReplicationAcrossRegion() {
+ return storageReplicationAcrossRegion;
+ }
+
+ public void setStorageReplicationAcrossRegion(boolean storageReplicationAcrossRegion) {
+ this.storageReplicationAcrossRegion = storageReplicationAcrossRegion;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/schemagenerator/ComponentCompositionSchemaInput.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/schemagenerator/ComponentCompositionSchemaInput.java
new file mode 100644
index 0000000000..46d0c6c40d
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/schemagenerator/ComponentCompositionSchemaInput.java
@@ -0,0 +1,44 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.schemagenerator;
+
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ComponentData;
+
+public class ComponentCompositionSchemaInput implements SchemaTemplateInput {
+ private boolean manual;
+ private ComponentData component;
+
+ public boolean isManual() {
+ return manual;
+ }
+
+ public void setManual(boolean manual) {
+ this.manual = manual;
+ }
+
+ public ComponentData getComponent() {
+ return component;
+ }
+
+ public void setComponent(ComponentData component) {
+ this.component = component;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/schemagenerator/ComponentQuestionnaireSchemaInput.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/schemagenerator/ComponentQuestionnaireSchemaInput.java
new file mode 100644
index 0000000000..1f92e6d957
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/schemagenerator/ComponentQuestionnaireSchemaInput.java
@@ -0,0 +1,42 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.schemagenerator;
+
+import java.util.List;
+import java.util.Map;
+
+public class ComponentQuestionnaireSchemaInput implements SchemaTemplateInput {
+ private List<String> nicNames;
+ private Map componentQuestionnaireData;
+
+ public ComponentQuestionnaireSchemaInput(List<String> nicNames, Map componentQuestionnaireData) {
+ this.nicNames = nicNames;
+ this.componentQuestionnaireData = componentQuestionnaireData;
+ }
+
+ public List<String> getNicNames() {
+ return nicNames;
+ }
+
+ public Map getComponentQuestionnaireData() {
+ return componentQuestionnaireData;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/schemagenerator/NetworkCompositionSchemaInput.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/schemagenerator/NetworkCompositionSchemaInput.java
new file mode 100644
index 0000000000..67a2f3d5a1
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/schemagenerator/NetworkCompositionSchemaInput.java
@@ -0,0 +1,44 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.schemagenerator;
+
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Network;
+
+public class NetworkCompositionSchemaInput implements SchemaTemplateInput {
+ private boolean manual;
+ private Network network;
+
+ public boolean isManual() {
+ return manual;
+ }
+
+ public void setManual(boolean manual) {
+ this.manual = manual;
+ }
+
+ public Network getNetwork() {
+ return network;
+ }
+
+ public void setNetwork(Network network) {
+ this.network = network;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/schemagenerator/NicCompositionSchemaInput.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/schemagenerator/NicCompositionSchemaInput.java
new file mode 100644
index 0000000000..87693a492c
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/schemagenerator/NicCompositionSchemaInput.java
@@ -0,0 +1,55 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.schemagenerator;
+
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Nic;
+
+import java.util.Collection;
+
+public class NicCompositionSchemaInput implements SchemaTemplateInput {
+ private boolean manual;
+ private Nic nic;
+ private Collection<String> networkIds;
+
+ public boolean isManual() {
+ return manual;
+ }
+
+ public void setManual(boolean manual) {
+ this.manual = manual;
+ }
+
+ public Nic getNic() {
+ return nic;
+ }
+
+ public void setNic(Nic nic) {
+ this.nic = nic;
+ }
+
+ public Collection<String> getNetworkIds() {
+ return networkIds;
+ }
+
+ public void setNetworkIds(Collection<String> networkIds) {
+ this.networkIds = networkIds;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/schemagenerator/SchemaTemplateContext.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/schemagenerator/SchemaTemplateContext.java
new file mode 100644
index 0000000000..3ee3e4a5e6
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/schemagenerator/SchemaTemplateContext.java
@@ -0,0 +1,26 @@
+/*-
+ * ============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.sdc.vendorsoftwareproduct.types.schemagenerator;
+
+public enum SchemaTemplateContext {
+ composition,
+ questionnaire
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ProcessArtifactDao.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/schemagenerator/SchemaTemplateInput.java
index 5b562368b5..93e614f98b 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ProcessArtifactDao.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/schemagenerator/SchemaTemplateInput.java
@@ -18,15 +18,8 @@
* ============LICENSE_END=========================================================
*/
-package org.openecomp.sdc.vendorsoftwareproduct.dao;
+package org.openecomp.sdc.vendorsoftwareproduct.types.schemagenerator;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ProcessArtifactEntity;
+public interface SchemaTemplateInput {
-public interface ProcessArtifactDao {
-
- void update(ProcessArtifactEntity entity);
-
- ProcessArtifactEntity get(ProcessArtifactEntity entity);
-
- void delete(ProcessArtifactEntity entity);
}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/resources/factoryConfiguration.json b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/resources/factoryConfiguration.json
index 86b2f857cf..85177c42c1 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/resources/factoryConfiguration.json
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/resources/factoryConfiguration.json
@@ -1,14 +1,23 @@
{
"org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductDaoFactory": "org.openecomp.sdc.vendorsoftwareproduct.dao.impl.VendorSoftwareProductDaoFactoryImpl",
+ "org.openecomp.sdc.vendorsoftwareproduct.dao.VspDaoFactory": "org.openecomp.sdc.vendorsoftwareproduct.dao.impl.VspDaoFactoryImpl",
"org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDaoFactory": "org.openecomp.sdc.vendorsoftwareproduct.dao.impl.VendorSoftwareProductInfoDaoFactoryImpl",
"org.openecomp.sdc.vendorsoftwareproduct.dao.UploadDataDaoFactory": "org.openecomp.sdc.vendorsoftwareproduct.dao.impl.UploadDataDaoFactoryImpl",
+ "org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateCandidateDaoFactory": "org.openecomp.sdc.vendorsoftwareproduct.dao.impl.OrchestrationTemplateCandidateDaoFactoryImpl",
+ "org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateDaoFactory": "org.openecomp.sdc.vendorsoftwareproduct.dao.impl.OrchestrationTemplateDaoFactoryImpl",
"org.openecomp.sdc.vendorsoftwareproduct.dao.PackageInfoDaoFactory": "org.openecomp.sdc.vendorsoftwareproduct.dao.impl.PackageInfoDaoFactoryImpl",
"org.openecomp.sdc.vendorsoftwareproduct.dao.NetworkDaoFactory": "org.openecomp.sdc.vendorsoftwareproduct.dao.impl.NetworkDaoFactoryImpl",
"org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDaoFactory": "org.openecomp.sdc.vendorsoftwareproduct.dao.impl.ComponentDaoFactoryImpl",
- "org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentArtifactDaoFactory": "org.openecomp.sdc.vendorsoftwareproduct.dao.impl.ComponentArtifactDaoFactoryImpl",
+ "org.openecomp.sdc.vendorsoftwareproduct.dao.MibDaoFactory": "org.openecomp.sdc.vendorsoftwareproduct.dao.impl.MibDaoFactoryImpl",
"org.openecomp.sdc.vendorsoftwareproduct.dao.NicDaoFactory": "org.openecomp.sdc.vendorsoftwareproduct.dao.impl.NicDaoFactoryImpl",
"org.openecomp.sdc.vendorsoftwareproduct.dao.VspQuestionnaireDaoFactory": "org.openecomp.sdc.vendorsoftwareproduct.dao.impl.VspQuestionnaireDaoFactoryImpl",
"org.openecomp.sdc.vendorsoftwareproduct.dao.ProcessDaoFactory": "org.openecomp.sdc.vendorsoftwareproduct.dao.impl.ProcessDaoFactoryImpl",
- "org.openecomp.sdc.vendorsoftwareproduct.dao.ProcessArtifactDaoFactory": "org.openecomp.sdc.vendorsoftwareproduct.dao.impl.ProcessArtifactDaoFactoryImpl"
-
+ "org.openecomp.sdc.vendorsoftwareproduct.dao.ProcessArtifactDaoFactory": "org.openecomp.sdc.vendorsoftwareproduct.dao.impl.ProcessArtifactDaoFactoryImpl",
+ "org.openecomp.sdc.vendorsoftwareproduct.factory.QuestionnnaireDataServiceFactory": "org.openecomp.sdc.vendorsoftwareproduct.factory.QuestionnaireDataServiceFactoryImpl",
+ "org.openecomp.sdc.vendorsoftwareproduct.factory.InformationArtifactGeneratorFactory":"org.openecomp.sdc.vendorsoftwareproduct.factory.InformationArtifactGeneratorFactoryImpl",
+ "org.openecomp.sdc.vendorsoftwareproduct.factory.CandidateServiceFactory": "org.openecomp.sdc.vendorsoftwareproduct.factory.impl.CandidateServiceFactoryImpl",
+ "org.openecomp.sdc.vendorsoftwareproduct.factory.CompositionDataExtractorFactory": "org.openecomp.sdc.vendorsoftwareproduct.factory.impl.CompositionDataExtractorFactoryImpl",
+ "org.openecomp.sdc.vendorsoftwareproduct.factory.CompositionEntityDataManagerFactory": "org.openecomp.sdc.vendorsoftwareproduct.factory.impl.CompositionEntityDataManagerFactoryImpl",
+ "org.openecomp.sdc.vendorsoftwareproduct.factory.ManifestCreatorFactory": "org.openecomp.sdc.vendorsoftwareproduct.factory.impl.ManifestCreatorFactoryImpl",
+ "org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDependencyModelDaoFactory": "org.openecomp.sdc.vendorsoftwareproduct.dao.impl.ComponentDependencyModelDaoFactoryImpl"
} \ No newline at end of file