[SDC-29] Amdocs OnBoard 1707 initial commit.
[sdc.git] / openecomp-be / api / openecomp-sdc-rest-webapp / vendor-software-products-rest / vendor-software-products-rest-services / src / main / java / org / openecomp / sdcrests / vsp / rest / VspEntities.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.sdcrests.vsp.rest;
22
23 import org.openecomp.sdc.vendorsoftwareproduct.VendorSoftwareProductConstants;
24 import org.openecomp.sdc.versioning.VersioningManager;
25 import org.openecomp.sdc.versioning.VersioningManagerFactory;
26 import org.openecomp.sdc.versioning.VersioningUtil;
27 import org.openecomp.sdc.versioning.dao.types.Version;
28 import org.openecomp.sdc.versioning.types.VersionInfo;
29 import org.openecomp.sdc.versioning.types.VersionableEntityAction;
30
31 public interface VspEntities {
32   VersioningManager versioningManager = VersioningManagerFactory.getInstance().createInterface();
33
34   default Version resolveVspVersion(String vspId, String version, String user,
35                                     VersionableEntityAction action) {
36     return VersioningUtil
37         .resolveVersion(Version.valueOf(version), getVersionInfo(vspId, action, user), user);
38   }
39
40   default VersionInfo getVersionInfo(String vendorSoftwareProductId, VersionableEntityAction action,
41                                      String user) {
42     return versioningManager.getEntityVersionInfo(
43         VendorSoftwareProductConstants.VENDOR_SOFTWARE_PRODUCT_VERSIONABLE_TYPE,
44         vendorSoftwareProductId, user, action);
45   }
46 }