[SDC-29] Amdocs OnBoard 1707 initial commit.
[sdc.git] / openecomp-be / backend / openecomp-sdc-vendor-license-manager / src / main / java / org / openecomp / sdc / vendorlicense / VendorLicenseManager.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.vendorlicense;
22
23 import org.openecomp.sdc.vendorlicense.dao.types.EntitlementPoolEntity;
24 import org.openecomp.sdc.vendorlicense.dao.types.FeatureGroupEntity;
25 import org.openecomp.sdc.vendorlicense.dao.types.FeatureGroupModel;
26 import org.openecomp.sdc.vendorlicense.dao.types.LicenseAgreementEntity;
27 import org.openecomp.sdc.vendorlicense.dao.types.LicenseAgreementModel;
28 import org.openecomp.sdc.vendorlicense.dao.types.LicenseKeyGroupEntity;
29 import org.openecomp.sdc.vendorlicense.dao.types.VendorLicenseModelEntity;
30 import org.openecomp.sdc.vendorlicense.types.VersionedVendorLicenseModel;
31 import org.openecomp.sdc.versioning.dao.types.Version;
32
33 import java.util.Collection;
34 import java.util.Set;
35
36 public interface VendorLicenseManager {
37
38   void checkout(String vendorLicenseModelId, String user);
39
40   void undoCheckout(String vendorLicenseModelId, String user);
41
42   void checkin(String vendorLicenseModelId, String user);
43
44   void submit(String vendorLicenseModelId, String user);
45
46   Collection<VersionedVendorLicenseModel> listVendorLicenseModels(String versionFilter,
47                                                                   String user);
48
49   VendorLicenseModelEntity createVendorLicenseModel(VendorLicenseModelEntity licenseModel,
50                                                     String user);
51
52   void updateVendorLicenseModel(VendorLicenseModelEntity licenseModel, String user);
53
54   VersionedVendorLicenseModel getVendorLicenseModel(String vlmId, Version version, String user);
55
56   void deleteVendorLicenseModel(String vlmId, String user);
57
58
59   Collection<LicenseAgreementEntity> listLicenseAgreements(String vlmId, Version version,
60                                                            String user);
61
62   LicenseAgreementEntity createLicenseAgreement(LicenseAgreementEntity licenseAgreement,
63                                                 String user);
64
65   void updateLicenseAgreement(LicenseAgreementEntity licenseAgreement,
66                               Set<String> addedFeatureGroupIds, Set<String> removedFeatureGroupIds,
67                               String user);
68
69   LicenseAgreementModel getLicenseAgreementModel(String vlmId, Version version,
70                                                  String licenseAgreementId, String user);
71
72   void deleteLicenseAgreement(String vlmId, Version version, String licenseAgreementId, String user);
73
74
75   Collection<FeatureGroupEntity> listFeatureGroups(String vlmId, Version version, String user);
76
77   FeatureGroupEntity createFeatureGroup(FeatureGroupEntity fg, String user);
78
79   void updateFeatureGroup(FeatureGroupEntity featureGroup,
80                           Set<String> addedLicenseKeyGroups, Set<String> removedLicenseKeyGroups,
81                           Set<String> addedEntitlementPools, Set<String> removedEntitlementPools,
82                           String user);
83
84   FeatureGroupModel getFeatureGroupModel(FeatureGroupEntity featureGroup, String user);
85
86   void deleteFeatureGroup(FeatureGroupEntity featureGroup, String user);
87
88
89   Collection<EntitlementPoolEntity> listEntitlementPools(String vlmId, Version version,
90                                                          String user);
91
92   EntitlementPoolEntity createEntitlementPool(EntitlementPoolEntity entitlementPool, String user);
93
94   void updateEntitlementPool(EntitlementPoolEntity entitlementPool, String user);
95
96   EntitlementPoolEntity getEntitlementPool(EntitlementPoolEntity entitlementPool, String user);
97
98   void deleteEntitlementPool(EntitlementPoolEntity entitlementPool, String user);
99
100
101   Collection<LicenseKeyGroupEntity> listLicenseKeyGroups(String vlmId, Version version,
102                                                          String user);
103
104   LicenseKeyGroupEntity createLicenseKeyGroup(LicenseKeyGroupEntity licenseKeyGroup, String user);
105
106   void updateLicenseKeyGroup(LicenseKeyGroupEntity licenseKeyGroup, String user);
107
108   LicenseKeyGroupEntity getLicenseKeyGroup(LicenseKeyGroupEntity licenseKeyGroup, String user);
109
110   void deleteLicenseKeyGroup(LicenseKeyGroupEntity licenseKeyGroup, String user);
111
112 }