aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/util
diff options
context:
space:
mode:
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/util')
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/util/VendorLicenseArtifactsServiceUtils.java221
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/util/VersionableEntitySortByVlmMajorVersion.java17
2 files changed, 100 insertions, 138 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/util/VendorLicenseArtifactsServiceUtils.java b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/util/VendorLicenseArtifactsServiceUtils.java
index 7153f45d2f..7dbbad7b44 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/util/VendorLicenseArtifactsServiceUtils.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/util/VendorLicenseArtifactsServiceUtils.java
@@ -13,17 +13,14 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.openecomp.sdc.vendorlicense.licenseartifacts.impl.util;
-
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
-
import org.apache.commons.collections4.MultiValuedMap;
import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
import org.openecomp.sdc.vendorlicense.HealingServiceFactory;
@@ -38,148 +35,116 @@ import org.openecomp.sdc.versioning.dao.types.Version;
import org.openecomp.sdc.versioning.dao.types.VersionStatus;
import org.openecomp.sdc.versioning.dao.types.VersionableEntity;
-
-
/**
* @author katyr
* @since January 10, 2017
*/
-
public class VendorLicenseArtifactsServiceUtils {
- private static final HealingService healingService =
- HealingServiceFactory.getInstance().createInterface();
- /**
- * maps the entities by id
- *
- * @return a Map of id -> list of versionable entities with that id
- */
- 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);
+ private static final HealingService healingService = HealingServiceFactory.getInstance().createInterface();
+
+ /**
+ * maps the entities by id
+ *
+ * @return a Map of id -> list of versionable entities with that id
+ */
+ 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;
}
- return mappedById;
- }
-
- /**
- * For all entities with same id, only entities that differ from one another will be returned.
- * If no change has occured, the entity with the earlier VLM version will be returned.
- * If only one version of said entities exists it will be returned
- *
- * @return a list of entities that has been changed
- */
- public static List<VersionableEntity> filterChangedEntities(
- Collection<? extends VersionableEntity> versionableEntities) {
- MultiValuedMap<String, VersionableEntity> entitiesById = mapById(
- versionableEntities);
- MultiValuedMap<String, VersionableEntity> entitiesByVersionUuId =
- new ArrayListValuedHashMap<>();
- 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);
- }
+ /**
+ * For all entities with same id, only entities that differ from one another will be returned. If no change has occured, the entity with the
+ * earlier VLM version will be returned. If only one version of said entities exists it will be returned
+ *
+ * @return a list of entities that has been changed
+ */
+ public static List<VersionableEntity> filterChangedEntities(Collection<? extends VersionableEntity> versionableEntities) {
+ MultiValuedMap<String, VersionableEntity> entitiesById = mapById(versionableEntities);
+ MultiValuedMap<String, VersionableEntity> entitiesByVersionUuId = new ArrayListValuedHashMap<>();
+ 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);
+ }
+ }
+ //for every list of eps which have the same uuid, get the one with the earliest vlm version.
+ for (String versionUid : entitiesByVersionUuId.keySet()) {
+ List<VersionableEntity> versionableEntitiesForUuid = (List<VersionableEntity>) entitiesByVersionUuId.get(versionUid);
+ versionableEntitiesForUuid.sort(new VersionableEntitySortByVlmMajorVersion());
+ changedOnly.add(versionableEntitiesForUuid.get(0));
+ }
+ return changedOnly;
}
- //for every list of eps which have the same uuid, get the one with the earliest vlm version.
- for (String versionUid : entitiesByVersionUuId.keySet()) {
- List<VersionableEntity> versionableEntitiesForUuid =
- (List<VersionableEntity>) entitiesByVersionUuId.get(versionUid);
- versionableEntitiesForUuid.sort(new VersionableEntitySortByVlmMajorVersion());
- changedOnly.add(versionableEntitiesForUuid.get(0));
+ public static Set<LicenseKeyGroupEntity> healLkgs(Collection<? extends VersionableEntity> licenseKeyGroupEntities) {
+ Set<LicenseKeyGroupEntity> healed = new HashSet<>();
+ for (VersionableEntity licenseKeyGroupEntity : licenseKeyGroupEntities) {
+ healed.add((LicenseKeyGroupEntity) VendorLicenseArtifactsServiceImpl.healingService.heal(licenseKeyGroupEntity));
+ }
+ return healed;
}
- return changedOnly;
- }
-
- public static Set<LicenseKeyGroupEntity> healLkgs(
- Collection<? extends VersionableEntity> licenseKeyGroupEntities) {
- Set<LicenseKeyGroupEntity> healed = new HashSet<>();
- for (VersionableEntity licenseKeyGroupEntity : licenseKeyGroupEntities) {
- healed.add((LicenseKeyGroupEntity) VendorLicenseArtifactsServiceImpl.healingService
- .heal(licenseKeyGroupEntity));
+ public static Set<EntitlementPoolEntity> healEPs(Collection<? extends VersionableEntity> entitlementPoolEntities) {
+ Set<EntitlementPoolEntity> healed = new HashSet<>();
+ for (VersionableEntity entitlementPoolEntity : entitlementPoolEntities) {
+ healed.add((EntitlementPoolEntity) VendorLicenseArtifactsServiceImpl.healingService.heal(entitlementPoolEntity));
+ }
+ return healed;
}
- return healed;
- }
-
- public static Set<EntitlementPoolEntity> healEPs(
- Collection<? extends VersionableEntity> entitlementPoolEntities) {
- Set<EntitlementPoolEntity> healed = new HashSet<>();
- for (VersionableEntity entitlementPoolEntity : entitlementPoolEntities) {
- healed.add((EntitlementPoolEntity) VendorLicenseArtifactsServiceImpl.healingService
- .heal(entitlementPoolEntity));
+ public static List<Version> getFinalVersionsForVlm(String vlmId) {
+ VersioningManager versioningManager = VersioningManagerFactory.getInstance().createInterface();
+ return versioningManager.list(vlmId).stream().filter(version -> VersionStatus.Certified == version.getStatus())
+ .map(certifiedVersion -> versioningManager.get(vlmId, certifiedVersion)) //sync to private
+ .collect(Collectors.toList());
}
- return healed;
- }
-
- public static List<Version> getFinalVersionsForVlm(String vlmId) {
- VersioningManager versioningManager = VersioningManagerFactory.getInstance().createInterface();
- return versioningManager.list(vlmId).stream()
- .filter(version -> VersionStatus.Certified == version.getStatus())
- .map(certifiedVersion -> versioningManager.get(vlmId, certifiedVersion)) //sync to private
- .collect(Collectors.toList());
- }
-
- public static String getVendorName(String vendorLicenseModelId) {
- return AsdcItemManagerFactory.getInstance().createInterface().get(vendorLicenseModelId)
- .getName();
- }
-
-
- /**
- * Written to handle the consequences of ATTASDC-4780 where version_uuid was not saved or
- * retrieved correctly by DAO for EPs and LKGs. Performs a healing of sorts according to the
- * following : 1. all versions of a specific entity (EP or LKG that have the same invariant_uuid)
- * are ordered by their VLM version 2. first element is sent to healing (which will set a
- * versionUUID for it IF it doesnt exist) 3. each subsequent element is compared to previous . If
- * same, UUID is copied from the previous element , if they differ - the current element is sent
- * to healing as before. For VLMs created post-bugfix this code should not update any element
- */
- public static Collection<? extends VersionableEntity> prepareForFiltering(Collection<? extends
- VersionableEntity> versionableEntities, boolean isEP) {
- MultiValuedMap<String, VersionableEntity> entitiesById = mapById(
- versionableEntities);
-
- for (String epId : entitiesById.keySet()) {
- List<VersionableEntity> versionableEntitiesForId = new ArrayList<>();
- versionableEntitiesForId.addAll(entitiesById.get(epId));
- versionableEntitiesForId.sort(new VersionableEntitySortByVlmMajorVersion());
- healingService.heal(versionableEntitiesForId.get(0));
- for (int i = 1; i < versionableEntitiesForId.size(); i++) {
- if (isEP) {
- EntitlementPoolEntity current = (EntitlementPoolEntity) versionableEntitiesForId.get(i);
- EntitlementPoolEntity previous = (EntitlementPoolEntity) versionableEntitiesForId
- .get(i - 1);
- if (current.equals(previous) && current.getVersionUuId() == null) {
- current.setVersionUuId(previous.getVersionUuId());
- healingService.persistNoHealing(current);
- } else {
- versionableEntitiesForId.set(i, healingService.heal(versionableEntitiesForId.get(i)));
- }
-
- } else {
- LicenseKeyGroupEntity current = (LicenseKeyGroupEntity) versionableEntitiesForId.get(i);
- LicenseKeyGroupEntity previous = (LicenseKeyGroupEntity) versionableEntitiesForId
- .get(i - 1);
- if (current.equals(previous) && current.getVersionUuId() == null) {
- current.setVersionUuId(previous.getVersionUuId());
- healingService.persistNoHealing(current);
- } else {
- versionableEntitiesForId.set(i, healingService.heal(versionableEntitiesForId.get(i)));
- }
-
+ public static String getVendorName(String vendorLicenseModelId) {
+ return AsdcItemManagerFactory.getInstance().createInterface().get(vendorLicenseModelId).getName();
+ }
+ /**
+ * Written to handle the consequences of ATTASDC-4780 where version_uuid was not saved or retrieved correctly by DAO for EPs and LKGs. Performs a
+ * healing of sorts according to the following : 1. all versions of a specific entity (EP or LKG that have the same invariant_uuid) are ordered by
+ * their VLM version 2. first element is sent to healing (which will set a versionUUID for it IF it doesnt exist) 3. each subsequent element is
+ * compared to previous . If same, UUID is copied from the previous element , if they differ - the current element is sent to healing as before.
+ * For VLMs created post-bugfix this code should not update any element
+ */
+ public static Collection<? extends VersionableEntity> prepareForFiltering(Collection<? extends VersionableEntity> versionableEntities,
+ boolean isEP) {
+ MultiValuedMap<String, VersionableEntity> entitiesById = mapById(versionableEntities);
+ for (String epId : entitiesById.keySet()) {
+ List<VersionableEntity> versionableEntitiesForId = new ArrayList<>();
+ versionableEntitiesForId.addAll(entitiesById.get(epId));
+ versionableEntitiesForId.sort(new VersionableEntitySortByVlmMajorVersion());
+ healingService.heal(versionableEntitiesForId.get(0));
+ for (int i = 1; i < versionableEntitiesForId.size(); i++) {
+ if (isEP) {
+ EntitlementPoolEntity current = (EntitlementPoolEntity) versionableEntitiesForId.get(i);
+ EntitlementPoolEntity previous = (EntitlementPoolEntity) versionableEntitiesForId.get(i - 1);
+ if (current.equals(previous) && current.getVersionUuId() == null) {
+ current.setVersionUuId(previous.getVersionUuId());
+ healingService.persistNoHealing(current);
+ } else {
+ versionableEntitiesForId.set(i, healingService.heal(versionableEntitiesForId.get(i)));
+ }
+ } else {
+ LicenseKeyGroupEntity current = (LicenseKeyGroupEntity) versionableEntitiesForId.get(i);
+ LicenseKeyGroupEntity previous = (LicenseKeyGroupEntity) versionableEntitiesForId.get(i - 1);
+ if (current.equals(previous) && current.getVersionUuId() == null) {
+ current.setVersionUuId(previous.getVersionUuId());
+ healingService.persistNoHealing(current);
+ } else {
+ versionableEntitiesForId.set(i, healingService.heal(versionableEntitiesForId.get(i)));
+ }
+ }
+ }
}
- }
+ return versionableEntities;
}
- return versionableEntities;
- }
-
-
}
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/util/VersionableEntitySortByVlmMajorVersion.java b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/util/VersionableEntitySortByVlmMajorVersion.java
index 1aee2dd97e..2626382479 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/util/VersionableEntitySortByVlmMajorVersion.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/util/VersionableEntitySortByVlmMajorVersion.java
@@ -7,9 +7,9 @@
* 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.
@@ -17,22 +17,19 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
-
package org.openecomp.sdc.vendorlicense.licenseartifacts.impl.util;
-import org.openecomp.sdc.versioning.dao.types.VersionableEntity;
-
import java.util.Comparator;
+import org.openecomp.sdc.versioning.dao.types.VersionableEntity;
/**
* @author katyr
* @since January 10, 2017
*/
-
public class VersionableEntitySortByVlmMajorVersion implements Comparator<VersionableEntity> {
- @Override
- public int compare(VersionableEntity o1, VersionableEntity o2) {
- return Integer.compare(o1.getVersion().getMajor(), o2.getVersion().getMajor());
- }
+ @Override
+ public int compare(VersionableEntity o1, VersionableEntity o2) {
+ return Integer.compare(o1.getVersion().getMajor(), o2.getVersion().getMajor());
+ }
}