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 ProcessEntity process = processDao.get(new ProcessEntity(processEntity.getVspId(), processEntity.getVersion(),
143 processEntity.getComponentId(), processEntity.getId()));
144 processEntity.setArtifact(process.getArtifact());
145 processEntity.setArtifactName(process.getArtifactName());
146 processDao.update(processEntity);
150 public void deleteProcess(String vspId, Version version, String componentId, String processId) {
151 processDao.delete(new ProcessEntity(vspId, version, componentId, processId));
155 public void uploadProcessArtifact(String vspId, Version version, String componentId,
156 String processId, byte[] artifact, String artifactName) {
158 processArtifact = new ProcessEntity(vspId, version, componentId, processId);
159 processArtifact = processDao.get(processArtifact);
160 processArtifact.setArtifact(ByteBuffer.wrap(artifact));
161 processArtifact.setArtifactName(artifactName);
162 processDao.update(processArtifact);
166 public ProcessEntity getProcessArtifact(String vspId, Version version, String componentId,
169 .get(new ProcessEntity(vspId, version, componentId, processId));
173 public void deleteProcessArtifact(String vspId, Version version, String componentId,
175 processDao.delete(new ProcessEntity(vspId, version, componentId, processId));
179 public Collection<NicEntity> listNicsByVsp(String vspId, Version version) {
180 return nicDao.listByVsp(vspId, version);
184 public void deleteUploadData(String vspId, Version version) {
186 networkDao.deleteAll(vspId, version);
187 //nicDao.deleteByVspId(vspId, version);
188 //artifactDao.delete(vspId, version);
189 //templateDao.deleteAll(vspId, version);
190 enrichedServiceModelDao.deleteAll(vspId, version);
191 serviceModelDao.deleteAll(vspId, version);
192 //processDao.deleteVspAll(vspId,version);
193 componentDao.deleteAll(vspId, version);
194 vspInfoDao.deleteAll(vspId, version);
196 // uploadDataDao.deleteContentDataAndValidationData(vspId, version);
198 // enrichArtifactDao.deleteAll(vspId, version);
199 // artifactDao.deleteAll(vspId, version);
203 public void updateVspLatestModificationTime(String vspId, Version version) {
204 *//* if (Objects.isNull(vspId) || Objects.isNull(version)) {
208 VspDetails retrieved = getVendorSoftwareProductInfo(new VspDetails(vspId, version));
209 updateVendorSoftwareProductInfo(retrieved);*//*
213 public void createComponentDependencyModel(List<ComponentDependencyModelEntity>
214 componentDependencyModel, String vspId,
216 componentDependencyModelDao.deleteAll(vspId, version);
217 for (ComponentDependencyModelEntity entity : componentDependencyModel) {
218 entity.setId(CommonMethods.nextUuId());
219 componentDependencyModelDao.create(entity);
224 public Collection<ComponentDependencyModelEntity> listComponentDependencies(String vspId,
226 return componentDependencyModelDao.list(new ComponentDependencyModelEntity(vspId, version,