2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.openecomp.sdc.vendorsoftwareproduct.dao.impl;
23 import org.openecomp.core.model.dao.EnrichedServiceArtifactDao;
24 import org.openecomp.core.model.dao.EnrichedServiceArtifactDaoFactory;
25 import org.openecomp.core.model.dao.EnrichedServiceModelDao;
26 import org.openecomp.core.model.dao.EnrichedServiceModelDaoFactory;
27 import org.openecomp.core.model.dao.ServiceArtifactDaoFactory;
28 import org.openecomp.core.model.dao.ServiceArtifactDaoInter;
29 import org.openecomp.core.model.dao.ServiceModelDao;
30 import org.openecomp.core.model.dao.ServiceModelDaoFactory;
31 import org.openecomp.core.model.dao.ServiceTemplateDaoFactory;
32 import org.openecomp.core.model.dao.ServiceTemplateDaoInter;
33 import org.openecomp.core.utilities.CommonMethods;
34 import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDao;
35 import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDaoFactory;
36 import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDependencyModelDao;
37 import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDependencyModelDaoFactory;
38 import org.openecomp.sdc.vendorsoftwareproduct.dao.MibDao;
39 import org.openecomp.sdc.vendorsoftwareproduct.dao.MibDaoFactory;
40 import org.openecomp.sdc.vendorsoftwareproduct.dao.NetworkDao;
41 import org.openecomp.sdc.vendorsoftwareproduct.dao.NetworkDaoFactory;
42 import org.openecomp.sdc.vendorsoftwareproduct.dao.NicDao;
43 import org.openecomp.sdc.vendorsoftwareproduct.dao.NicDaoFactory;
44 import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateCandidateDao;
45 import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateCandidateDaoFactory;
46 import org.openecomp.sdc.vendorsoftwareproduct.dao.PackageInfoDao;
47 import org.openecomp.sdc.vendorsoftwareproduct.dao.PackageInfoDaoFactory;
48 import org.openecomp.sdc.vendorsoftwareproduct.dao.ProcessDao;
49 import org.openecomp.sdc.vendorsoftwareproduct.dao.ProcessDaoFactory;
50 import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductDao;
51 import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDao;
52 import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDaoFactory;
53 import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentDependencyModelEntity;
54 import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentEntity;
55 import org.openecomp.sdc.vendorsoftwareproduct.dao.type.NicEntity;
56 import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ProcessEntity;
57 import org.openecomp.sdc.versioning.dao.types.Version;
59 import java.nio.ByteBuffer;
60 import java.util.Collection;
61 import java.util.List;
63 public class VendorSoftwareProductDaoImpl implements VendorSoftwareProductDao {
65 private static final VendorSoftwareProductInfoDao vspInfoDao = VendorSoftwareProductInfoDaoFactory
66 .getInstance().createInterface();
67 private static final PackageInfoDao packageInfoDao =
68 PackageInfoDaoFactory.getInstance().createInterface();
69 private static final OrchestrationTemplateCandidateDao orchestrationTemplateCandidateDataDao =
70 OrchestrationTemplateCandidateDaoFactory.getInstance().createInterface();
71 private static final NetworkDao networkDao = NetworkDaoFactory.getInstance().createInterface();
72 private static final ComponentDao componentDao =
73 ComponentDaoFactory.getInstance().createInterface();
74 private static final NicDao nicDao = NicDaoFactory.getInstance().createInterface();
75 private static final ProcessDao processDao = ProcessDaoFactory.getInstance().createInterface();
76 private static final MibDao
77 MIB_DAO = MibDaoFactory.getInstance().createInterface();
78 private static final ServiceArtifactDaoInter
79 artifactDao = ServiceArtifactDaoFactory.getInstance().createInterface();
80 public static final ServiceTemplateDaoInter
81 templateDao = ServiceTemplateDaoFactory.getInstance().createInterface();
82 private static final EnrichedServiceArtifactDao enrichArtifactDao =
83 EnrichedServiceArtifactDaoFactory.getInstance().createInterface();
84 private static final EnrichedServiceModelDao enrichedServiceModelDao =
85 EnrichedServiceModelDaoFactory.getInstance().createInterface();
86 private static final ServiceModelDao serviceModelDao =
87 ServiceModelDaoFactory.getInstance().createInterface();
88 private static final ComponentDependencyModelDao componentDependencyModelDao =
89 ComponentDependencyModelDaoFactory.getInstance().createInterface();
92 public void registerVersioning(String versionableEntityType) {
93 vspInfoDao.registerVersioning(versionableEntityType);
94 networkDao.registerVersioning(versionableEntityType);
95 componentDao.registerVersioning(versionableEntityType);
96 nicDao.registerVersioning(versionableEntityType);
97 processDao.registerVersioning(versionableEntityType);
98 orchestrationTemplateCandidateDataDao.registerVersioning(versionableEntityType);
99 componentDependencyModelDao.registerVersioning(versionableEntityType);
103 public Collection<ComponentEntity> listComponents(String vspId, Version version) {
104 return componentDao.list(new ComponentEntity(vspId, version, null));
108 public Collection<ComponentEntity> listComponentsQuestionnaire(String vspId, Version version) {
109 return componentDao.listQuestionnaires(vspId, version);
113 public Collection<ComponentEntity> listComponentsCompositionAndQuestionnaire(String vspId,
115 return componentDao.listCompositionAndQuestionnaire(vspId, version);
119 public Collection<ProcessEntity> listProcesses(String vspId, Version version,
120 String componentId) {
121 return processDao.list(new ProcessEntity(vspId, version, componentId, null));
125 public void deleteProcesses(String vspId, Version version, String componentId) {
126 processDao.delete(new ProcessEntity(vspId, version, componentId, null));
130 public ProcessEntity getProcess(String vspId, Version version, String componentId,
132 return processDao.get(new ProcessEntity(vspId, version, componentId, processId));
136 public void createProcess(ProcessEntity processEntity) {
137 processDao.create(processEntity);
141 public void updateProcess(ProcessEntity processEntity) {
142 processDao.update(processEntity);
146 public void deleteProcess(String vspId, Version version, String componentId, String processId) {
147 processDao.delete(new ProcessEntity(vspId, version, componentId, processId));
151 public void uploadProcessArtifact(String vspId, Version version, String componentId,
152 String processId, byte[] artifact, String artifactName) {
154 processArtifact = new ProcessEntity(vspId, version, componentId, processId);
155 processArtifact = processDao.get(processArtifact);
156 processArtifact.setArtifact(ByteBuffer.wrap(artifact));
157 processArtifact.setArtifactName(artifactName);
158 processDao.update(processArtifact);
162 public ProcessEntity getProcessArtifact(String vspId, Version version, String componentId,
165 .get(new ProcessEntity(vspId, version, componentId, processId));
169 public void deleteProcessArtifact(String vspId, Version version, String componentId,
171 processDao.delete(new ProcessEntity(vspId, version, componentId, processId));
175 public Collection<NicEntity> listNicsByVsp(String vspId, Version version) {
176 return nicDao.listByVsp(vspId, version);
180 public void deleteUploadData(String vspId, Version version) {
182 networkDao.deleteAll(vspId, version);
183 //nicDao.deleteByVspId(vspId, version);
184 //artifactDao.delete(vspId, version);
185 //templateDao.deleteAll(vspId, version);
186 enrichedServiceModelDao.deleteAll(vspId, version);
187 serviceModelDao.deleteAll(vspId, version);
188 //processDao.deleteVspAll(vspId,version);
189 componentDao.deleteAll(vspId, version);
190 vspInfoDao.deleteAll(vspId, version);
192 // uploadDataDao.deleteContentDataAndValidationData(vspId, version);
194 // enrichArtifactDao.deleteAll(vspId, version);
195 // artifactDao.deleteAll(vspId, version);
199 public void updateVspLatestModificationTime(String vspId, Version version) {
200 *//* if (Objects.isNull(vspId) || Objects.isNull(version)) {
204 VspDetails retrieved = getVendorSoftwareProductInfo(new VspDetails(vspId, version));
205 updateVendorSoftwareProductInfo(retrieved);*//*
209 public void createComponentDependencyModel(List<ComponentDependencyModelEntity>
210 componentDependencyModel, String vspId,
212 componentDependencyModelDao.deleteAll(vspId, version);
213 for (ComponentDependencyModelEntity entity : componentDependencyModel) {
214 entity.setId(CommonMethods.nextUuId());
215 componentDependencyModelDao.create(entity);
220 public Collection<ComponentDependencyModelEntity> listComponentDependencies(String vspId,
222 return componentDependencyModelDao.list(new ComponentDependencyModelEntity(vspId, version,