summaryrefslogtreecommitdiffstats
path: root/appc-dispatcher/appc-license-manager/appc-license-manager-core/src/main/java/org/onap/appc/licmgr/impl/LicenseManagerImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'appc-dispatcher/appc-license-manager/appc-license-manager-core/src/main/java/org/onap/appc/licmgr/impl/LicenseManagerImpl.java')
-rw-r--r--appc-dispatcher/appc-license-manager/appc-license-manager-core/src/main/java/org/onap/appc/licmgr/impl/LicenseManagerImpl.java56
1 files changed, 25 insertions, 31 deletions
diff --git a/appc-dispatcher/appc-license-manager/appc-license-manager-core/src/main/java/org/onap/appc/licmgr/impl/LicenseManagerImpl.java b/appc-dispatcher/appc-license-manager/appc-license-manager-core/src/main/java/org/onap/appc/licmgr/impl/LicenseManagerImpl.java
index 6f8d33ea5..58b9b9e87 100644
--- a/appc-dispatcher/appc-license-manager/appc-license-manager-core/src/main/java/org/onap/appc/licmgr/impl/LicenseManagerImpl.java
+++ b/appc-dispatcher/appc-license-manager/appc-license-manager-core/src/main/java/org/onap/appc/licmgr/impl/LicenseManagerImpl.java
@@ -6,18 +6,20 @@
* ================================================================================
* Copyright (C) 2017 Amdocs
* =============================================================================
+ * Modifications Copyright (C) 2018 Nokia
+ * =============================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
+ *
* ============LICENSE_END=========================================================
*/
@@ -25,12 +27,15 @@ package org.onap.appc.licmgr.impl;
import static org.onap.appc.licmgr.Constants.SDC_ARTIFACTS_FIELDS.ARTIFACT_CONTENT;
+import java.io.IOException;
import java.util.Map;
-
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamException;
import org.onap.appc.licmgr.LicenseDataAccessService;
import org.onap.appc.licmgr.LicenseManager;
import org.onap.appc.licmgr.exception.DataAccessException;
import org.onap.appc.licmgr.objects.LicenseModel;
+import org.onap.appc.licmgr.objects.LicenseModelBuilder;
@SuppressWarnings("all")
@@ -38,50 +43,39 @@ public class LicenseManagerImpl implements LicenseManager {
private LicenseDataAccessService DAService;
- public void setDAService(LicenseDataAccessService daSrv){
- DAService = daSrv;
- }
-
public LicenseManagerImpl() {
+
}
@Override
public LicenseModel retrieveLicenseModel(String vnfType, String vnfVersion) throws DataAccessException {
- LicenseModel licenseModel;
+ LicenseModelBuilder builder = new LicenseModelBuilder();
try {
- Map<String,String> resultMap = DAService.retrieveLicenseModelData(vnfType, vnfVersion);
+ Map<String, String> resultMap = DAService.retrieveLicenseModelData(vnfType, vnfVersion);
if (resultMap.isEmpty()) {
- throw new DataAccessException(String.format("License model not found for vnfType='%s' and vnfVersion='%s'", vnfType, vnfVersion));
+ throw new DataAccessException(
+ String.format("License model not found for vnfType='%s' and vnfVersion='%s'", vnfType, vnfVersion));
}
String licenseModelXML = resultMap.get(ARTIFACT_CONTENT.name());
- licenseModel = convert(licenseModelXML); // JAXBUtil.<VfLicenseModel>toObject(licenseModelXML, VfLicenseModel.class);
+ convert(licenseModelXML, builder);
} catch (DataAccessException le) {
throw le;
} catch (Exception e) {
throw new DataAccessException(e);
}
- return licenseModel;
+ return builder.build();
}
-
- private static LicenseModel convert(String xml) {
-
- LicenseModel licenseModel = new LicenseModel();
-
- int posEntitlementStart = xml.indexOf("<entitlement-pool-uuid>");
- int posEntitlementEnd = xml.indexOf("</entitlement-pool-uuid>", posEntitlementStart);
- if (-1 != posEntitlementStart) {
- licenseModel.setEntitlementPoolUuid(xml.substring(posEntitlementStart + "<entitlement-pool-uuid>".length(), posEntitlementEnd));
- }
-
- int posLicenseStart = xml.indexOf("<license-key-group-uuid>");
- int posLicenseEnd = xml.indexOf("</license-key-group-uuid>", posEntitlementStart);
- if (-1 != posLicenseStart) {
- licenseModel.setLicenseKeyGroupUuid(xml.substring(posLicenseStart + "<license-key-group-uuid>".length(), posLicenseEnd));
- }
-
- return licenseModel;
+ public void setDAService(LicenseDataAccessService daSrv) {
+ DAService = daSrv;
}
+ private LicenseModelBuilder convert(String xml, LicenseModelBuilder builder)
+ throws XMLStreamException, IOException {
+ XmlToLicenseModelConverter converter = new XmlToLicenseModelConverter(
+ XMLInputFactory.newInstance());
+ converter.convert(VfLicenseModelXmlConsumer::setLicenseModel, xml, builder);
+ return builder;
+ }
}