[SDC] Onboarding 1710 rebase.
[sdc.git] / 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
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
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
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
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=========================================================
19  */
20
21 package org.openecomp.sdc.vendorsoftwareproduct.dao;
22
23 import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentDependencyModelEntity;
24 import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentEntity;
25 import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComputeEntity;
26 import org.openecomp.sdc.vendorsoftwareproduct.dao.type.DeploymentFlavorEntity;
27 import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ImageEntity;
28 import org.openecomp.sdc.vendorsoftwareproduct.dao.type.NicEntity;
29 import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ProcessEntity;
30 import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
31 import org.openecomp.sdc.versioning.dao.VersionableDao;
32 import org.openecomp.sdc.versioning.dao.types.Version;
33
34 import java.util.Collection;
35 import java.util.List;
36
37
38 public interface VendorSoftwareProductDao extends VersionableDao {
39
40   //VspDetails getVendorSoftwareProductInfo(VspDetails vspDetails);
41
42   Collection<ComponentEntity> listComponents(String vspId, Version version);
43
44   Collection<ComponentEntity> listComponentsQuestionnaire(String vspId, Version version);
45
46   Collection<ComponentEntity> listComponentsCompositionAndQuestionnaire(String vspId,
47                                                                         Version version);
48
49
50   Collection<ProcessEntity> listProcesses(String vspId, Version version, String componentId);
51
52   void deleteProcesses(String vspId, Version version, String componentId);
53
54   ProcessEntity getProcess(String vspId, Version version, String componentId, String processId);
55
56   void createProcess(ProcessEntity processEntity);
57
58   void updateProcess(ProcessEntity processEntity);
59
60   void deleteProcess(String vspId, Version version, String componentId, String processId);
61
62
63   void uploadProcessArtifact(String vspId, Version version, String componentId, String processId,
64                              byte[] artifact, String artifactFileName);
65
66   ProcessEntity getProcessArtifact(String vspId, Version version, String componentId,
67                                    String processId);
68
69   void deleteProcessArtifact(String vspId, Version version, String componentId, String processId);
70
71
72   Collection<NicEntity> listNicsByVsp(String vspId, Version version);
73
74
75   void deleteUploadData(String vspId, Version version);
76
77   //void updateVspLatestModificationTime(String vspId, Version version);
78   void createComponentDependencyModel(
79       List<ComponentDependencyModelEntity> componentDependencyModelEntity, String vspId,
80       Version version);
81
82   Collection<ComponentDependencyModelEntity> listComponentDependencies(String vspId,Version
83       version);
84
85   void createDeploymentFlavor(DeploymentFlavorEntity deploymentFlavor);
86
87   Collection<DeploymentFlavorEntity> listDeploymentFlavors(String vspId, Version version);
88
89   DeploymentFlavorEntity getDeploymentFlavor(String vspId, Version version, String
90       deploymentFlavorId);
91   void deleteDeploymentFlavor(String vspId, Version version, String deploymentFlavorId);
92
93
94   void createImage(ImageEntity imageEntity);
95
96   Collection<ImageEntity> listImages(String vspId, Version version, String componentId);
97
98   ImageEntity getImage(String vspId, Version version, String componentId, String imageId);
99
100   Collection<ImageEntity> listImagesByVsp(String vspId, Version version);
101
102   void createCompute(ComputeEntity computeEntity);
103
104   Collection<ComputeEntity> listComputes(String vspId, Version version, String componentId);
105
106   Collection<ComputeEntity> listComputesByVsp(String vspId, Version version);
107
108   ComputeEntity getCompute(String vspId, Version version, String componentId, String
109       computeFlavorId);
110
111   void deleteImage(String vspId, Version version, String componentId, String imageId);
112
113   void updateDeploymentFlavor(DeploymentFlavorEntity deploymentFlavorEntity);
114
115   void updateImage(ImageEntity imageEntity);
116
117   void updateImageQuestionnaire(String vspId, Version activeVersion, String componentId,
118                                 String imageId, String questionnaireData);
119
120   void updateComputeQuestionnaire(String vspId, Version activeVersion, String componentId,
121                                   String computeId, String questionnaireData);
122
123   void updateCompute(ComputeEntity compute);
124
125   void deleteCompute(String vspId, Version version, String componentId, String computeFlavorId);
126
127 }