diff options
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/VendorLicenseArtifactsServiceImpl.java')
1 files changed, 61 insertions, 113 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/VendorLicenseArtifactsServiceImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/VendorLicenseArtifactsServiceImpl.java index 2f11b75a98..580fc6c0e5 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/VendorLicenseArtifactsServiceImpl.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/VendorLicenseArtifactsServiceImpl.java @@ -20,11 +20,10 @@ package org.openecomp.sdc.vendorlicense.licenseartifacts.impl; -import org.apache.commons.collections4.MultiValuedMap; -import org.apache.commons.collections4.multimap.ArrayListValuedHashMap; import org.openecomp.core.utilities.file.FileContentHandler; +import org.openecomp.sdc.common.utils.CommonUtil; +import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage; import org.openecomp.sdc.vendorlicense.HealingServiceFactory; -import org.openecomp.sdc.vendorlicense.VendorLicenseConstants; import org.openecomp.sdc.vendorlicense.dao.types.EntitlementPoolEntity; import org.openecomp.sdc.vendorlicense.dao.types.FeatureGroupEntity; import org.openecomp.sdc.vendorlicense.dao.types.FeatureGroupModel; @@ -35,166 +34,115 @@ import org.openecomp.sdc.vendorlicense.healing.HealingService; import org.openecomp.sdc.vendorlicense.licenseartifacts.VendorLicenseArtifactsService; import org.openecomp.sdc.vendorlicense.licenseartifacts.impl.types.VendorLicenseArtifact; import org.openecomp.sdc.vendorlicense.licenseartifacts.impl.types.VnfLicenseArtifact; +import org.openecomp.sdc.vendorlicense.licenseartifacts.impl.util.VendorLicenseArtifactsServiceUtils; import org.openecomp.sdc.versioning.dao.types.Version; -import org.openecomp.sdc.versioning.dao.types.VersionableEntity; -import org.openecomp.sdc.versioning.types.VersionInfo; -import org.openecomp.sdc.versioning.types.VersionableEntityAction; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; import java.util.HashSet; import java.util.List; -import java.util.Map; import java.util.Set; import java.util.stream.Collectors; +import static org.openecomp.sdc.vendorlicense.VendorLicenseConstants.VENDOR_LICENSE_MODEL_ARTIFACT_NAME_WITH_PATH; +import static org.openecomp.sdc.vendorlicense.VendorLicenseConstants.VNF_ARTIFACT_NAME_WITH_PATH; + public class VendorLicenseArtifactsServiceImpl implements VendorLicenseArtifactsService { - private static final VendorLicenseFacade vendorLicenseFacade = VendorLicenseFacadeFactory - .getInstance().createInterface(); - private static final HealingService healingService = HealingServiceFactory - .getInstance().createInterface(); + public static final VendorLicenseFacade vendorLicenseFacade = + VendorLicenseFacadeFactory.getInstance().createInterface(); + public static final HealingService healingService = + HealingServiceFactory.getInstance().createInterface(); + private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage(); - /** - * Create License Artifacts. - * - * @param vspId the vsp id - * @param vlmId the vlm id - * @param vlmVersion the vlm version - * @param featureGroups the feature groups - * @param user the user - * @return FileContentHandler - */ - public FileContentHandler createLicenseArtifacts(String vspId, String vlmId, - Version vlmVersion, - List<String> featureGroups, String user) { - FileContentHandler artifacts = new FileContentHandler(); - String vendorName = getVendorName(vlmId, user); - artifacts.addFile(VendorLicenseConstants.VNF_ARTIFACT_NAME_WITH_PATH, - createVnfArtifact(vspId, vlmId, vlmVersion, vendorName, featureGroups, user)); - artifacts.addFile(VendorLicenseConstants.VENDOR_LICENSE_MODEL_ARTIFACT_NAME_WITH_PATH, - createVendorLicenseArtifact(vlmId, vendorName, user)); + static byte[] createVnfArtifact(String vspId, String vlmId, Version vlmVersion, String vendorName, + List<String> featureGroups, String user) { - return artifacts; - } - static byte[] createVnfArtifact( - String vspId, String vlmId, Version vlmVersion, - String vendorName, List<String> featureGroups, - String user) { + mdcDataDebugMessage.debugEntryMessage("VLM name", vendorName); + VnfLicenseArtifact artifact = new VnfLicenseArtifact(); artifact.setVspId(vspId); artifact.setVendorName(vendorName); for (String featureGroupId : featureGroups) { - FeatureGroupModel featureGroupModel = - vendorLicenseFacade.getFeatureGroupModel(new FeatureGroupEntity( - vlmId, vlmVersion, featureGroupId), user); + FeatureGroupModel featureGroupModel = vendorLicenseFacade + .getFeatureGroupModel(new FeatureGroupEntity(vlmId, vlmVersion, featureGroupId), user); Set<EntitlementPoolEntity> entitlementPoolEntities = featureGroupModel.getEntitlementPools(); Set<LicenseKeyGroupEntity> licenseKeyGroupEntities = featureGroupModel.getLicenseKeyGroups(); - featureGroupModel.setEntitlementPools( - entitlementPoolEntities.stream() - .map(entitlementPoolEntity -> (EntitlementPoolEntity) healingService - .heal(entitlementPoolEntity, user)) - .collect(Collectors.toSet())); - featureGroupModel.setLicenseKeyGroups( - licenseKeyGroupEntities.stream() - .map(licenseKeyGroupEntity -> (LicenseKeyGroupEntity) healingService - .heal(licenseKeyGroupEntity, user)) - .collect(Collectors.toSet())); + featureGroupModel.setEntitlementPools(entitlementPoolEntities.stream().map( + entitlementPoolEntity -> (EntitlementPoolEntity) healingService + .heal(entitlementPoolEntity, user)).collect(Collectors.toSet())); + featureGroupModel.setLicenseKeyGroups(licenseKeyGroupEntities.stream().map( + licenseKeyGroupEntity -> (LicenseKeyGroupEntity) healingService + .heal(licenseKeyGroupEntity, user)).collect(Collectors.toSet())); artifact.getFeatureGroups().add(featureGroupModel); } + mdcDataDebugMessage.debugExitMessage("VLM name", vendorName); return artifact.toXml().getBytes(); } - static byte[] createVendorLicenseArtifact(String vlmId, String vendorName, String user) { + + + mdcDataDebugMessage.debugEntryMessage("VLM name", vendorName); + VendorLicenseArtifact vendorLicenseArtifact = new VendorLicenseArtifact(); vendorLicenseArtifact.setVendorName(vendorName); Set<EntitlementPoolEntity> entitlementPoolEntities = new HashSet<>(); Set<LicenseKeyGroupEntity> licenseKeyGroupEntities = new HashSet<>(); - List<Version> finalVersions = getFinalVersionsForVlm(vlmId); + List<Version> finalVersions = VendorLicenseArtifactsServiceUtils.getFinalVersionsForVlm(vlmId); for (Version finalVersion : finalVersions) { - entitlementPoolEntities.addAll( - vendorLicenseFacade.listEntitlementPools(vlmId, finalVersion, user)); - licenseKeyGroupEntities.addAll( - vendorLicenseFacade.listLicenseKeyGroups(vlmId, finalVersion, user)); + entitlementPoolEntities + .addAll(vendorLicenseFacade.listEntitlementPools(vlmId, finalVersion, user)); + licenseKeyGroupEntities + .addAll(vendorLicenseFacade.listLicenseKeyGroups(vlmId, finalVersion, user)); } - entitlementPoolEntities = healEPs(user, filterChangedEntities(entitlementPoolEntities)); - licenseKeyGroupEntities = healLkgs(user, filterChangedEntities(licenseKeyGroupEntities)); + entitlementPoolEntities = VendorLicenseArtifactsServiceUtils + .healEPs(user, + VendorLicenseArtifactsServiceUtils.filterChangedEntities(entitlementPoolEntities)); + licenseKeyGroupEntities = VendorLicenseArtifactsServiceUtils + .healLkgs(user, + VendorLicenseArtifactsServiceUtils.filterChangedEntities(licenseKeyGroupEntities)); vendorLicenseArtifact.setEntitlementPoolEntities(entitlementPoolEntities); vendorLicenseArtifact.setLicenseKeyGroupEntities(licenseKeyGroupEntities); - return vendorLicenseArtifact.toXml().getBytes(); - } - - private static List<VersionableEntity> filterChangedEntities( - Collection<? extends VersionableEntity> versionableEntities) { - MultiValuedMap<String, VersionableEntity> entitiesById = mapById(versionableEntities); - Map<String, VersionableEntity> entitiesByVersionUuId = new HashMap<>(); - List<VersionableEntity> changedOnly = new ArrayList<>(); - - for (String epId : entitiesById.keySet()) { - Collection<VersionableEntity> versionableEntitiesForId = entitiesById.get(epId); - for (VersionableEntity ep : versionableEntitiesForId) { - entitiesByVersionUuId.put(ep.getVersionUuId(), ep); - } - } - changedOnly.addAll(entitiesByVersionUuId.values()); - - return changedOnly; - } - - private static MultiValuedMap<String, VersionableEntity> mapById( - Collection<? extends VersionableEntity> versionableEntities) { - MultiValuedMap<String, VersionableEntity> mappedById = new ArrayListValuedHashMap<>(); - for (VersionableEntity ve : versionableEntities) { - mappedById.put(ve.getId(), ve); - } - return mappedById; + mdcDataDebugMessage.debugExitMessage("VLM name", vendorName); + return vendorLicenseArtifact.toXml().getBytes(); } - private static Set<LicenseKeyGroupEntity> healLkgs( - String user, Collection<? extends VersionableEntity> licenseKeyGroupEntities) { - Set<LicenseKeyGroupEntity> healed = new HashSet<>(); - for (VersionableEntity licenseKeyGroupEntity : licenseKeyGroupEntities) { - healed.add((LicenseKeyGroupEntity) healingService.heal(licenseKeyGroupEntity, user)); - } - - return healed; - } + /** + * Create License Artifacts. + * @param vspId vspId + * @param vlmId vlmId + * @param vlmVersion vlmVersion + * @param featureGroups featureGroups + * @param user user + * @return FileContentHandler + */ + public FileContentHandler createLicenseArtifacts(String vspId, String vlmId, Version vlmVersion, + List<String> featureGroups, String user) { - private static Set<EntitlementPoolEntity> healEPs( - String user, Collection<? extends VersionableEntity> entitlementPoolEntities) { - Set<EntitlementPoolEntity> healed = new HashSet<>(); - for (VersionableEntity entitlementPoolEntity : entitlementPoolEntities) { - healed.add((EntitlementPoolEntity) healingService.heal(entitlementPoolEntity, user)); - } - return healed; - } + mdcDataDebugMessage.debugEntryMessage("VSP Id", vspId); - private static List<Version> getFinalVersionsForVlm(String vlmId) { - VersionInfo versionInfo = vendorLicenseFacade - .getVersionInfo(vlmId, VersionableEntityAction.Read, ""); - return versionInfo.getFinalVersions(); + FileContentHandler artifacts = new FileContentHandler(); + String vendorName = VendorLicenseArtifactsServiceUtils.getVendorName(vlmId, user); - } + artifacts.addFile(VNF_ARTIFACT_NAME_WITH_PATH, + createVnfArtifact(vspId, vlmId, vlmVersion, vendorName, featureGroups, user)); + artifacts.addFile(VENDOR_LICENSE_MODEL_ARTIFACT_NAME_WITH_PATH, + createVendorLicenseArtifact(vlmId, vendorName, user)); + mdcDataDebugMessage.debugExitMessage("VSP Id", vspId); - private static String getVendorName(String vendorLicenseModelId, String user) { - return vendorLicenseFacade - .getVendorLicenseModel(vendorLicenseModelId, null, user) - .getVendorLicenseModel().getVendorName(); + return artifacts; } } |