diff options
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.java | 56 |
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; + } } |