[SDC] Fix sonar issues 22/121422/5
authorsliard <samuel.liard@gmail.com>
Wed, 19 May 2021 15:45:17 +0000 (17:45 +0200)
committerMichael Morris <michael.morris@est.tech>
Mon, 24 May 2021 09:26:20 +0000 (09:26 +0000)
Fix all blocker issues for catalog-be

Issue-ID: SDC-3598
Signed-off-by: sliard <samuel.liard@gmail.com>
Change-Id: I53907c1be4cac5dd94b6f20ab4e5848f6fcebed9

38 files changed:
catalog-be/src/main/java/org/openecomp/sdc/be/auditing/impl/AuditBaseEventFactory.java
catalog-be/src/main/java/org/openecomp/sdc/be/auditing/impl/AuditingManager.java
catalog-be/src/main/java/org/openecomp/sdc/be/auditing/impl/distribution/AuditDistributionEngineEventFactoryManager.java
catalog-be/src/main/java/org/openecomp/sdc/be/auditing/impl/externalapi/AuditExternalApiEventFactory.java
catalog-be/src/main/java/org/openecomp/sdc/be/auditing/impl/resourceadmin/AuditResourceEventFactoryManager.java
catalog-be/src/main/java/org/openecomp/sdc/be/catalog/impl/DmaapProducer.java
catalog-be/src/main/java/org/openecomp/sdc/be/catalog/impl/DmaapProducerHealth.java
catalog-be/src/main/java/org/openecomp/sdc/be/components/attribute/DefaultAttributeDeclarator.java
catalog-be/src/main/java/org/openecomp/sdc/be/components/csar/YamlTemplateParsingHandler.java
catalog-be/src/main/java/org/openecomp/sdc/be/components/distribution/engine/ArtifactInfoImpl.java
catalog-be/src/main/java/org/openecomp/sdc/be/components/distribution/engine/DistributionEngineClusterHealth.java
catalog-be/src/main/java/org/openecomp/sdc/be/components/distribution/engine/DmaapConsumer.java
catalog-be/src/main/java/org/openecomp/sdc/be/components/distribution/engine/DmaapHealth.java
catalog-be/src/main/java/org/openecomp/sdc/be/components/distribution/engine/EnvironmentsEngine.java
catalog-be/src/main/java/org/openecomp/sdc/be/components/distribution/engine/VfModuleArtifactPayload.java
catalog-be/src/main/java/org/openecomp/sdc/be/components/health/HealthCheckBusinessLogic.java
catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/AdditionalInformationBusinessLogic.java
catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ArchiveBusinessLogic.java
catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ArtifactsBusinessLogic.java
catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/CADIHealthCheck.java
catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/CategoriesImportManager.java
catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ComponentBusinessLogic.java
catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ComponentInstanceBusinessLogic.java
catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/CsarValidationUtils.java
catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/GroupBusinessLogic.java
catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/InputsBusinessLogic.java
catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/PropertyBusinessLogic.java
catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ResourceBusinessLogic.java
catalog-be/src/main/java/org/openecomp/sdc/be/components/lifecycle/CheckinTransition.java
catalog-be/src/main/java/org/openecomp/sdc/be/components/utils/MapUtils.java
catalog-be/src/main/java/org/openecomp/sdc/be/externalapi/servlet/ArtifactExternalServlet.java
catalog-be/src/main/java/org/openecomp/sdc/be/servlets/LifecycleServlet.java
catalog-be/src/main/java/org/openecomp/sdc/be/tosca/CsarUtils.java
catalog-be/src/main/java/org/openecomp/sdc/be/tosca/model/ToscaCapability.java
catalog-be/src/test/java/org/openecomp/sdc/be/auditing/impl/AuditResourceEventFactoryManangerTest.java
catalog-model/src/main/java/org/openecomp/sdc/be/model/CatalogUpdateTimestamp.java
catalog-model/src/main/java/org/openecomp/sdc/be/model/Resource.java
common-app-api/src/main/java/org/openecomp/sdc/exception/ResponseFormat.java

index 986b60b..a3367a3 100644 (file)
@@ -34,11 +34,11 @@ public abstract class AuditBaseEventFactory implements AuditEventFactory {
 
     private AuditingActionEnum action;
 
-    public AuditBaseEventFactory(AuditingActionEnum action) {
+    protected AuditBaseEventFactory(AuditingActionEnum action) {
         this.action = Objects.requireNonNull(action);
     }
 
-    public AuditBaseEventFactory() {
+    protected AuditBaseEventFactory() {
     }
 
     public static String buildUserNameExtended(User user) {
index 7130666..3e37691 100644 (file)
@@ -23,10 +23,12 @@ package org.openecomp.sdc.be.auditing.impl;
 
 import org.onap.logging.ref.slf4j.ONAPLogConstants;
 import org.openecomp.sdc.be.auditing.api.AuditEventFactory;
+import org.openecomp.sdc.be.components.impl.ResourceBusinessLogic;
 import org.openecomp.sdc.be.dao.cassandra.AuditCassandraDao;
 import org.openecomp.sdc.be.dao.cassandra.CassandraOperationStatus;
 import org.openecomp.sdc.be.resources.data.auditing.AuditingGenericEvent;
 import org.openecomp.sdc.common.log.elements.LogFieldsMdcHandler;
+import org.openecomp.sdc.common.log.enums.EcompLoggerErrorCode;
 import org.openecomp.sdc.common.log.enums.LogLevel;
 import org.openecomp.sdc.common.log.enums.Severity;
 import org.openecomp.sdc.common.log.wrappers.Logger;
@@ -71,7 +73,7 @@ public class AuditingManager {
     private void saveEventToCassandra(AuditingGenericEvent event) {
         CassandraOperationStatus result = cassandraDao.saveRecord(event);
         if (result != CassandraOperationStatus.OK) {
-            log.warn("Failed to persist to cassandra auditing event: {}", result.name());
+            log.warn(EcompLoggerErrorCode.SCHEMA_ERROR, "AuditingManager", "catalog-be", "Failed to persist to cassandra auditing event: {}", result.name());
         }
     }
 
index f4bb5be..1655671 100644 (file)
@@ -27,6 +27,12 @@ import org.openecomp.sdc.common.util.ThreadLocalsHolder;
 
 public class AuditDistributionEngineEventFactoryManager {
 
+    /**
+     * Utility classes, which are collections of static members, are not meant to be instantiated
+     */
+    private AuditDistributionEngineEventFactoryManager() {
+    }
+
     public static AuditEventFactory createDistributionEngineEventFactory(AuditingActionEnum action, String environmentName,
                                                                          DistributionTopicData distributionTopicData, String role, String apiKey,
                                                                          String status) {
index 3fa8c8f..cee65b9 100644 (file)
@@ -34,7 +34,7 @@ public abstract class AuditExternalApiEventFactory extends AuditBaseEventFactory
 
     protected final ExternalApiEvent event;
 
-    public AuditExternalApiEventFactory(AuditingActionEnum action, CommonAuditData commonAuditData, ResourceCommonInfo resourceCommonInfo,
+    protected AuditExternalApiEventFactory(AuditingActionEnum action, CommonAuditData commonAuditData, ResourceCommonInfo resourceCommonInfo,
                                         DistributionData distributionData, ResourceVersionInfo prevParams, ResourceVersionInfo currParams,
                                         String invariantUuid, User modifier, String artifactData) {
         super(action);
index 78cd70f..863faaa 100644 (file)
@@ -29,6 +29,12 @@ import org.openecomp.sdc.be.resources.data.auditing.model.ResourceVersionInfo;
 
 public class AuditResourceEventFactoryManager {
 
+    /**
+     * Utility classes, which are collections of static members, are not meant to be instantiated
+     */
+    private AuditResourceEventFactoryManager() {
+    }
+
     public static AuditEventFactory createResourceEventFactory(AuditingActionEnum action, CommonAuditData commonFields,
                                                                ResourceCommonInfo resourceCommonInfo, ResourceVersionInfo prevParams,
                                                                ResourceVersionInfo currParams, String invariantUuid, User modifier,
index 855ef64..69fd082 100644 (file)
@@ -53,7 +53,7 @@ public class DmaapProducer implements IMessageQueueHandlerProducer {
     public IStatus pushMessage(ITypeMessage message) {
         try {
             DmaapProducerConfiguration producerConfiguration = configurationManager.getConfiguration().getDmaapProducerConfiguration();
-            if (!producerConfiguration.getActive()) {
+            if (Boolean.FALSE.equals(producerConfiguration.getActive())) { // avoid NPE
                 LOG.info("[Microservice DMAAP] producer is disabled [re-enable in configuration->isActive],message not sent.");
                 dmaapHealth.report(false);
                 return IStatus.getServiceDisabled();
@@ -87,7 +87,7 @@ public class DmaapProducer implements IMessageQueueHandlerProducer {
     public IStatus init() {
         LOG.debug("MessageQueueHandlerProducer:: Start initializing");
         DmaapProducerConfiguration configuration = configurationManager.getConfiguration().getDmaapProducerConfiguration();
-        if (configuration.getActive()) {
+        if (Boolean.TRUE.equals(configuration.getActive())) { // avoid NPE
             try {
                 publisher = dmaapClientFactory.createProducer(configuration);
                 if (publisher == null) {
index 4000be3..c0150fa 100644 (file)
@@ -43,7 +43,6 @@ public class DmaapProducerHealth {
     private static final Logger logHealth = Logger.getLogger(DMAAP_HEALTH_LOG_CONTEXT);
     private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
     private HealthCheckInfo healthCheckInfo = DmaapProducerHealth.HealthCheckInfoResult.UNAVAILABLE.getHealthCheckInfo();
-    private long healthCheckReadTimeout = 20;
     private long reconnectInterval = 5;
     private HealthCheckScheduledTask healthCheckScheduledTask = null;
     private ScheduledFuture<?> scheduledFuture = null;
@@ -60,10 +59,6 @@ public class DmaapProducerHealth {
             if (pollingInterval != null && pollingInterval != 0) {
                 reconnectInterval = pollingInterval;
             }
-            Integer healthCheckReadTimeoutConfig = configuration.getTimeoutMs();
-            if (healthCheckReadTimeoutConfig != null) {
-                this.healthCheckReadTimeout = healthCheckReadTimeoutConfig;
-            }
             this.healthCheckScheduledTask = new HealthCheckScheduledTask(configuration); //what is the representation? csv? delimiter? json or other
             startHealthCheckTask(true);
         }
@@ -149,7 +144,6 @@ public class DmaapProducerHealth {
      */
     public class HealthCheckScheduledTask implements Runnable {
 
-        private static final int TIMEOUT = 8192;
         private final DmaapProducerConfiguration config;
 
         HealthCheckScheduledTask(final DmaapProducerConfiguration config) {
index 62f4211..79bfcc6 100644 (file)
@@ -308,22 +308,23 @@ public abstract class DefaultAttributeDeclarator<PROPERTYOWNER extends Propertie
      *        @return mutated @param toscaElement , where empty maps are deleted , return null for empty map.
      **/
     private Object cleanEmptyNestedValuesInMap(final Object toscaElement, short loopProtectionLevel) {
-        if (loopProtectionLevel <= 0 || toscaElement == null || !(toscaElement instanceof Map)) {
+        if (loopProtectionLevel <= 0 || !(toscaElement instanceof Map)) {
             return toscaElement;
         }
-        if (MapUtils.isNotEmpty((Map) toscaElement)) {
+        Map<Object, Object> toscaMap = (Map<Object, Object>) toscaElement;
+        if (MapUtils.isNotEmpty(toscaMap)) {
             Object ret;
             final Set<Object> keysToRemove = new HashSet<>();                                                                 // use different set to avoid ConcurrentModificationException
-            for (final Object key : ((Map) toscaElement).keySet()) {
-                final Object value = ((Map) toscaElement).get(key);
+            for (final Object key : toscaMap.keySet()) {
+                final Object value = toscaMap.get(key);
                 ret = cleanEmptyNestedValuesInMap(value, --loopProtectionLevel);
                 if (ret == null) {
                     keysToRemove.add(key);
                 }
             }
-            final Collection set = ((Map) toscaElement).keySet();
-            if (CollectionUtils.isNotEmpty(set)) {
-                set.removeAll(keysToRemove);
+            final Set<Object> keySet = toscaMap.keySet();
+            if (CollectionUtils.isNotEmpty(keySet)) {
+                keySet.removeAll(keysToRemove);
             }
             if (isEmptyNestedMap(toscaElement)) {
                 return null;
index 32e0918..e227b5e 100644 (file)
@@ -189,7 +189,8 @@ public class YamlTemplateParsingHandler {
         String policyName = policyNameValue.getKey();
         emptyPolicyDef.setName(policyName);
         try {
-            if (policyNameValue.getValue() != null && policyNameValue.getValue() instanceof Map) {
+            // There's no need to null test in conjunction with an instanceof test. null is not an instanceof anything, so a null check is redundant.
+            if (policyNameValue.getValue() instanceof Map) {
                 Map<String, Object> policyTemplateJsonMap = (Map<String, Object>) policyNameValue.getValue();
                 validateAndFillPolicy(emptyPolicyDef, policyTemplateJsonMap);
             } else {
@@ -346,7 +347,7 @@ public class YamlTemplateParsingHandler {
         GroupDefinition group = new GroupDefinition();
         group.setName(groupNameValue.getKey());
         try {
-            if (groupNameValue.getValue() != null && groupNameValue.getValue() instanceof Map) {
+            if (groupNameValue.getValue() instanceof Map) {
                 Map<String, Object> groupTemplateJsonMap = (Map<String, Object>) groupNameValue.getValue();
                 validateAndFillGroup(group, groupTemplateJsonMap);
                 validateUpdateGroupProperties(group, groupTemplateJsonMap);
@@ -534,8 +535,10 @@ public class YamlTemplateParsingHandler {
 
     private void verifyMissingProperties(ActionStatus actionStatus, String name, String type, List<String> missingProperties) {
         if (CollectionUtils.isNotEmpty(missingProperties)) {
-            log.debug("#validateProperties - Failed to validate properties. The properties {} are missing on {} of the type {}. ",
-                missingProperties.toString(), name, type);
+            if (log.isDebugEnabled()) {
+                log.debug("#validateProperties - Failed to validate properties. The properties {} are missing on {} of the type {}. ",
+                        missingProperties.toString(), name, type);
+            }
             rollbackWithException(actionStatus, missingProperties.toString(), missingProperties.toString(), name, type);
         }
     }
@@ -725,17 +728,17 @@ public class YamlTemplateParsingHandler {
     @SuppressWarnings("unchecked")
     private Map<String, Map<String, UploadArtifactInfo>> createArtifactsModuleFromYaml(Map<String, Object> nodeTemplateJsonMap) {
         Map<String, Map<String, UploadArtifactInfo>> moduleArtifacts = new HashMap<>();
-        Either<List<Object>, ResultStatusEnum> ArtifactsListRes = findFirstToscaListElement(nodeTemplateJsonMap, ARTIFACTS);
-        if (ArtifactsListRes.isLeft()) {
-            for (Object jsonArtifactObj : ArtifactsListRes.left().value()) {
+        Either<List<Object>, ResultStatusEnum> artifactsListRes = findFirstToscaListElement(nodeTemplateJsonMap, ARTIFACTS);
+        if (artifactsListRes.isLeft()) {
+            for (Object jsonArtifactObj : artifactsListRes.left().value()) {
                 String key = ((Map<String, Object>) jsonArtifactObj).keySet().iterator().next();
                 Object artifactJson = ((Map<String, Object>) jsonArtifactObj).get(key);
                 addModuleNodeTemplateArtifacts(moduleArtifacts, artifactJson, key);
             }
         } else {
-            Either<Map<String, Map<String, Object>>, ResultStatusEnum> ArtifactsMapRes = findFirstToscaMapElement(nodeTemplateJsonMap, ARTIFACTS);
-            if (ArtifactsMapRes.isLeft()) {
-                for (Map.Entry<String, Map<String, Object>> entry : ArtifactsMapRes.left().value().entrySet()) {
+            Either<Map<String, Map<String, Object>>, ResultStatusEnum> artifactsMapRes = findFirstToscaMapElement(nodeTemplateJsonMap, ARTIFACTS);
+            if (artifactsMapRes.isLeft()) {
+                for (Map.Entry<String, Map<String, Object>> entry : artifactsMapRes.left().value().entrySet()) {
                     String artifactName = entry.getKey();
                     Object artifactJson = entry.getValue();
                     addModuleNodeTemplateArtifacts(moduleArtifacts, artifactJson, artifactName);
@@ -979,8 +982,9 @@ public class YamlTemplateParsingHandler {
 
     @SuppressWarnings("unchecked")
     private void findAndFillInputRecursively(Map<String, Object> propValue, UploadPropInfo propertyDef) {
-        for (String propName : propValue.keySet()) {
-            Object value = propValue.get(propName);
+        for (Map.Entry<String,Object> entry : propValue.entrySet()) {
+            String propName = entry.getKey();
+            Object value = entry.getValue();
             if (value instanceof Map) {
                 fillInputRecursively(propName, (Map<String, Object>) value, propertyDef);
             } else if (value instanceof List) {
@@ -990,7 +994,9 @@ public class YamlTemplateParsingHandler {
     }
 
     private void fillInputsRecursively(UploadPropInfo propertyDef, String propName, List<Object> inputs) {
-        inputs.stream().filter(o -> o instanceof Map).forEach(o -> fillInputRecursively(propName, (Map<String, Object>) o, propertyDef));
+        inputs.stream()
+                .filter(Map.class::isInstance)
+                .forEach(o -> fillInputRecursively(propName, (Map<String, Object>) o, propertyDef));
     }
 
     @SuppressWarnings("unchecked")
@@ -1036,18 +1042,22 @@ public class YamlTemplateParsingHandler {
     }
 
     private void failOnMissingCapabilityTypes(GroupDefinition groupDefinition, List<String> missingCapTypes) {
-        log.debug(
-            "#failOnMissingCapabilityTypes - Failed to validate the capabilities of the group {}. The capability types {} are missing on the group type {}. ",
-            groupDefinition.getName(), missingCapTypes.toString(), groupDefinition.getType());
+        if (log.isDebugEnabled()) {
+            log.debug(
+                    "#failOnMissingCapabilityTypes - Failed to validate the capabilities of the group {}. The capability types {} are missing on the group type {}. ",
+                    groupDefinition.getName(), missingCapTypes.toString(), groupDefinition.getType());
+        }
         if (CollectionUtils.isNotEmpty(missingCapTypes)) {
             rollbackWithException(ActionStatus.MISSING_CAPABILITY_TYPE, missingCapTypes.toString());
         }
     }
 
     private void failOnMissingCapabilityNames(GroupDefinition groupDefinition, List<String> missingCapNames) {
-        log.debug(
-            "#failOnMissingCapabilityNames - Failed to validate the capabilities of the group {}. The capabilities with the names {} are missing on the group type {}. ",
-            groupDefinition.getName(), missingCapNames.toString(), groupDefinition.getType());
+        if (log.isDebugEnabled()) {
+            log.debug(
+                    "#failOnMissingCapabilityNames - Failed to validate the capabilities of the group {}. The capabilities with the names {} are missing on the group type {}. ",
+                    groupDefinition.getName(), missingCapNames.toString(), groupDefinition.getType());
+        }
         rollbackWithException(ActionStatus.MISSING_CAPABILITIES, missingCapNames.toString(), CapabilityDataDefinition.OwnerType.GROUP.getValue(),
             groupDefinition.getName());
     }
index 4106263..6dc0d9a 100644 (file)
@@ -64,8 +64,8 @@ public class ArtifactInfoImpl implements IArtifactInfo {
     public static List<ArtifactInfoImpl> convertToArtifactInfoImpl(Service service, ComponentInstance resourceInstance,
                                                                    Collection<ArtifactDefinition> list) {
         List<ArtifactInfoImpl> ret = new ArrayList<>();
-        Map<String, List<ArtifactDefinition>> artifactIdToDef = list.stream().collect(Collectors.groupingBy(ArtifactDefinition::getUniqueId));
         if (list != null) {
+            Map<String, List<ArtifactDefinition>> artifactIdToDef = list.stream().collect(Collectors.groupingBy(ArtifactDefinition::getUniqueId));
             for (ArtifactDefinition artifactDef : list) {
                 String generatedFromUUID = null;
                 if (artifactDef.getGeneratedFromId() != null && !artifactDef.getGeneratedFromId().isEmpty()) {
@@ -85,8 +85,8 @@ public class ArtifactInfoImpl implements IArtifactInfo {
 
     public static List<ArtifactInfoImpl> convertServiceArtifactToArtifactInfoImpl(Service service, Collection<ArtifactDefinition> list) {
         List<ArtifactInfoImpl> ret = new ArrayList<>();
-        Map<String, List<ArtifactDefinition>> artifactIdToDef = list.stream().collect(Collectors.groupingBy(ArtifactDefinition::getUniqueId));
         if (list != null) {
+            Map<String, List<ArtifactDefinition>> artifactIdToDef = list.stream().collect(Collectors.groupingBy(ArtifactDefinition::getUniqueId));
             for (ArtifactDefinition artifactDef : list) {
                 String generatedFromUUID = null;
                 if (artifactDef.getGeneratedFromId() != null && !artifactDef.getGeneratedFromId().isEmpty()) {
index 1e9899b..b1bf59f 100644 (file)
@@ -47,7 +47,7 @@ public class DistributionEngineClusterHealth {
 
     private static final String UEB_HEALTH_CHECK_STR = "uebHealthCheck";
     private static final Logger logger = Logger.getLogger(DistributionEngineClusterHealth.class.getName());
-    protected static String UEB_HEALTH_LOG_CONTEXT = "ueb.healthcheck";
+    protected static final String UEB_HEALTH_LOG_CONTEXT = "ueb.healthcheck";
     //TODO use LoggerMetric instead
     private static final Logger healthLogger = Logger.getLogger(UEB_HEALTH_LOG_CONTEXT);
     boolean lastHealthState = false;
@@ -212,10 +212,10 @@ public class DistributionEngineClusterHealth {
             }
         });
 
-        public HealthCheckScheduledTask(List<String> uebServers) {
-            logger.debug("Create health check calls for servers {}", uebServers);
-            if (uebServers != null) {
-                for (String server : uebServers) {
+        public HealthCheckScheduledTask(List<String> localUebServers) {
+            logger.debug("Create health check calls for servers {}", localUebServers);
+            if (localUebServers != null) {
+                for (String server : localUebServers) {
                     healthCheckCalls.add(new UebHealthCheckCall(server, publicApiKey));
                 }
             }
index 81fa3dd..d0c3a73 100644 (file)
@@ -39,7 +39,7 @@ import org.springframework.stereotype.Service;
 public class DmaapConsumer {
 
     private static final String LOG_PARTNER_NAME = "SDC.BE";
-    private static final Logger logger = Logger.getLogger(DmaapClientFactory.class.getName());
+    private static final Logger logger = Logger.getLogger(DmaapConsumer.class.getName());
     private static LogFieldsMdcHandler mdcFieldsHandler = new LogFieldsMdcHandler();
     private final ExecutorFactory executorFactory;
     private final DmaapClientFactory dmaapClientFactory;
index 96ac070..8d053bf 100644 (file)
@@ -95,15 +95,15 @@ public class DmaapHealth {
         log.trace("Enter init method of Dmaap health");
         synchronized (DmaapHealth.class) {
             this.configuration = ConfigurationManager.getConfigurationManager().getConfiguration().getDmaapConsumerConfiguration();
-            Integer pollingInterval = configuration.getPollingInterval();
+            Integer pollingInterval = this.configuration.getPollingInterval();
             if (pollingInterval != null && pollingInterval != 0) {
                 reconnectInterval = pollingInterval;
             }
-            Integer healthCheckReadTimeoutConfig = configuration.getTimeoutMs();
+            Integer healthCheckReadTimeoutConfig = this.configuration.getTimeoutMs();
             if (healthCheckReadTimeoutConfig != null) {
                 this.healthCheckReadTimeout = healthCheckReadTimeoutConfig;
             }
-            this.healthCheckScheduledTask = new HealthCheckScheduledTask(configuration); //what is the representation? csv? delimiter? json or other
+            this.healthCheckScheduledTask = new HealthCheckScheduledTask(this.configuration); //what is the representation? csv? delimiter? json or other
             startHealthCheckTask(true);
         }
         log.trace("Exit init method of DistributionEngineClusterHealth");
index 315ba1d..26992b9 100644 (file)
@@ -489,7 +489,7 @@ public class EnvironmentsEngine implements INotificationHandler {
     }
 
     public OperationalEnvironmentEntry getEnvironmentByDmaapUebAddress(List<String> dmaapUebAddress) {
-        return environments.values().stream().filter(e -> e.getDmaapUebAddress().stream().filter(dmaapUebAddress::contains).findAny().isPresent())
+        return environments.values().stream().filter(e -> e.getDmaapUebAddress().stream().anyMatch(dmaapUebAddress::contains))
             .findFirst()
             .orElseThrow(() -> new ByActionStatusComponentException(ActionStatus.DISTRIBUTION_ENV_DOES_NOT_EXIST, dmaapUebAddress.toString()));
     }
index 9222da0..0af2bb5 100644 (file)
@@ -23,44 +23,30 @@ import java.util.ArrayList;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
-import java.util.Optional;
 import java.util.stream.Collectors;
 import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition;
 import org.openecomp.sdc.be.model.GroupDefinition;
 import org.openecomp.sdc.be.model.GroupInstance;
 import org.openecomp.sdc.be.model.GroupInstanceProperty;
-import org.openecomp.sdc.be.model.GroupProperty;
 import org.openecomp.sdc.common.api.Constants;
 
 public class VfModuleArtifactPayload {
 
-    private String vfModuleModelName, vfModuleModelInvariantUUID, vfModuleModelVersion, vfModuleModelUUID, vfModuleModelCustomizationUUID, vfModuleModelDescription;
-    private Boolean isBase;
+    private String vfModuleModelName;
     private List<String> artifacts;
     private Map<String, Object> properties;
 
     public VfModuleArtifactPayload(GroupDefinition group) {
         vfModuleModelName = group.getName();
-        vfModuleModelInvariantUUID = group.getInvariantUUID();
-        vfModuleModelVersion = group.getVersion();
-        vfModuleModelUUID = group.getGroupUUID();
-        vfModuleModelDescription = group.getDescription();
         artifacts = group.getArtifactsUuid();
         // Base Value is set from properties
-        setBaseValue(group);
     }
 
     public VfModuleArtifactPayload(GroupInstance group) {
         vfModuleModelName = group.getGroupName();
-        vfModuleModelInvariantUUID = group.getInvariantUUID();
-        vfModuleModelVersion = group.getVersion();
-        vfModuleModelUUID = group.getGroupUUID();
-        vfModuleModelCustomizationUUID = group.getCustomizationUUID();
-        vfModuleModelDescription = group.getDescription();
         artifacts = new ArrayList<>(group.getArtifactsUuid() != null ? group.getArtifactsUuid() : new LinkedList<>());
         artifacts.addAll(group.getGroupInstanceArtifactsUuid() != null ? group.getGroupInstanceArtifactsUuid() : new LinkedList<>());
         // Base Value is set from properties
-        setBaseValue(group);
         if (group.convertToGroupInstancesProperties() != null) {
             setProperties(group.convertToGroupInstancesProperties());
         }
@@ -72,26 +58,6 @@ public class VfModuleArtifactPayload {
         return thisCounter.compareTo(otherCounter);
     }
 
-    private void setBaseValue(GroupInstance group) {
-        if (group.convertToGroupInstancesProperties() != null) {
-            Optional<GroupInstanceProperty> findBaseProperty = group.convertToGroupInstancesProperties().stream()
-                .filter(p -> p.getName().equals(Constants.IS_BASE)).findAny();
-            if (findBaseProperty.isPresent()) {
-                isBase = Boolean.valueOf(findBaseProperty.get().getValue());
-            }
-        }
-    }
-
-    private void setBaseValue(GroupDefinition group) {
-        if (group.getProperties() != null) {
-            Optional<GroupProperty> findBaseProperty = group.convertToGroupProperties().stream().filter(p -> p.getName().equals(Constants.IS_BASE))
-                .findAny();
-            if (findBaseProperty.isPresent()) {
-                isBase = Boolean.valueOf(findBaseProperty.get().getValue());
-            }
-        }
-    }
-
     public List<String> getArtifacts() {
         return artifacts;
     }
index a90ebf9..3372d55 100644 (file)
@@ -168,8 +168,8 @@ public class HealthCheckBusinessLogic {
             dmaapProducerHealth.getHealthCheckInfo().setVersion(appVersion);
             return dmaapProducerHealth.getHealthCheckInfo();
         } else {
-            log.debug("Dmaap health check disabled");
-            String description = ("Dmaap health check disabled");
+            String description = "Dmaap health check disabled";
+            log.debug(description);
             return new HealthCheckInfo(HC_COMPONENT_DMAAP_PRODUCER, DOWN, null, description);
         }
     }
@@ -210,12 +210,10 @@ public class HealthCheckBusinessLogic {
         }
         if (isCassandraUp) {
             description = "OK";
-//            healthCheckInfos.add(new HealthCheckInfo(HC_COMPONENT_CASSANDRA, UP, null, description));
             healthCheckInfo.setHealthCheckStatus(HealthCheckStatus.UP);
             healthCheckInfo.setDescription(description);
         } else {
             description = "Cassandra is down";
-//            healthCheckInfos.add(new HealthCheckInfo(HC_COMPONENT_CASSANDRA, DOWN, null, description));
             healthCheckInfo.setDescription(description);
         }
         return healthCheckInfo;
index c3efa61..837b118 100644 (file)
@@ -156,10 +156,8 @@ public class AdditionalInformationBusinessLogic extends BaseBusinessLogic {
             result = valueValidRes.right().value();
         } else {
             String newValue = valueValidRes.left().value();
-            if (log.isTraceEnabled()) {
-                if (value != null && !value.equals(newValue)) {
-                    log.trace("The additional information value was normalized from {} to {}", value, newValue);
-                }
+            if (log.isTraceEnabled() && (value != null && !value.equals(newValue))) {
+                log.trace("The additional information value was normalized from {} to {}", value, newValue);
             }
             additionalInfoParameterInfo.setValue(newValue);
         }
index 34b01c7..58a0ebf 100644 (file)
@@ -139,7 +139,7 @@ public class ArchiveBusinessLogic {
                 return comps.stream().collect(Collectors.groupingBy(cmpt -> ComponentTypeEnum.findParamByType(cmpt.getComponentType())));
             } else {
                 log.info("No components found");
-                return new HashMap();
+                return new HashMap<>();
             }
         } catch (Exception e) {
             log.error("Error fetching archived elements", e);
@@ -182,7 +182,9 @@ public class ArchiveBusinessLogic {
     }
 
     protected Either<Component, ResponseFormat> sendNotificationToFacade(String componentId, ChangeTypeEnum changeStatus) {
-        log.debug("build {} notification for facade start", changeStatus.name());
+        if (log.isDebugEnabled()) {
+            log.debug("build {} notification for facade start", changeStatus.name());
+        }
         Either<Component, StorageOperationStatus> toscaElement = toscaOperationFacade.getToscaElement(componentId);
         Component component = toscaElement.left().value();
         ActionStatus status = catalogOperations.updateCatalog(changeStatus, component);
index 849e3c8..55c4353 100644 (file)
@@ -2947,7 +2947,7 @@ public class ArtifactsBusinessLogic extends BaseBusinessLogic {
         }
         sb.append(ConfigurationManager.getConfigurationManager().getConfiguration().getHeatEnvArtifactFooter());
         // DE265919 fix
-        return sb.toString().replaceAll("\\\\n", "\n");
+        return sb.toString().replace("\\\\n", "\n");
     }
 
     /**
index 2fc012b..bb12b31 100644 (file)
@@ -47,7 +47,9 @@ public class CADIHealthCheck {
     }
 
     public void setIsCADIUp(HealthCheckInfo.HealthCheckStatus cadiStatus) {
-        log.debug("Setting cadiHealthCheckInstance status to: {}", cadiStatus.toString());
+        if (log.isDebugEnabled()) {
+            log.debug("Setting cadiHealthCheckInstance status to: {}", cadiStatus.toString());
+        }
         isCADIUpOrDown = cadiStatus;
     }
 }
index 1efb4b6..12eb837 100644 (file)
@@ -140,8 +140,7 @@ public class CategoriesImportManager {
                 }
             }
             log.debug("Failed to create groupingcategory for {}  category {} subcategory {} grouping {} error {}", entry.getKey(), category.getName(),
-                subcategory.getName(), grouping != null ? grouping.getName() : null,
-                createdGrouping != null && createdGrouping.right() != null ? createdGrouping.right().value() : null);
+                subcategory.getName(), grouping != null ? grouping.getName() : null, createdGrouping.right().value());
             return Either.right(componentsUtils.getResponseFormat(createdGrouping.right().value()));
         } else {
             log.debug("createGroupingDeo: create Grouping was successful {}", createdGrouping.left().value());
index 9ce54c2..afb84a9 100644 (file)
@@ -111,7 +111,6 @@ public abstract class ComponentBusinessLogic extends BaseBusinessLogic {
     protected ComponentProjectCodeValidator componentProjectCodeValidator;
     protected CatalogOperation catalogOperations;
     protected ComponentIconValidator componentIconValidator;
-    protected ComponentValidator componentValidator;
     protected ComponentTagsValidator componentTagsValidator;
     protected ComponentNameValidator componentNameValidator;
     protected ComponentContactIdValidator componentContactIdValidator;
@@ -131,7 +130,6 @@ public abstract class ComponentBusinessLogic extends BaseBusinessLogic {
         this.componentContactIdValidator = componentContactIdValidator;
         this.componentNameValidator = componentNameValidator;
         this.componentTagsValidator = componentTagsValidator;
-        this.componentValidator = componentValidator;
         this.componentIconValidator = componentIconValidator;
         this.componentProjectCodeValidator = componentProjectCodeValidator;
         this.componentDescriptionValidator = componentDescriptionValidator;
@@ -887,16 +885,20 @@ public abstract class ComponentBusinessLogic extends BaseBusinessLogic {
         Either<Map<String, PropertyDefinition>, String> validPropertiesMerge = validateNoConflictingProperties(genericTypeProps,
             ((Resource) componentToCheckOut).getProperties());
         if (validPropertiesMerge.isRight()) {
-            log.debug("property {} cannot be overriden, check out performed without upgrading to latest generic",
-                validPropertiesMerge.right().value());
+            if (log.isDebugEnabled()) {
+                log.debug("property {} cannot be overriden, check out performed without upgrading to latest generic",
+                        validPropertiesMerge.right().value());
+            }
             return false;
         }
         List<AttributeDefinition> genericTypeAttributes = latestGeneric.getAttributes();
         final Either<Map<String, AttributeDefinition>, String> validAttributesMerge = validateNoConflictingProperties(genericTypeAttributes,
             ((Resource) componentToCheckOut).getAttributes());
         if (validAttributesMerge.isRight()) {
-            log.debug("attribute {} cannot be overriden, check out performed without upgrading to latest generic",
-                validAttributesMerge.right().value());
+            if (log.isDebugEnabled()) {
+                log.debug("attribute {} cannot be overriden, check out performed without upgrading to latest generic",
+                        validAttributesMerge.right().value());
+            }
             return false;
         }
         return true;
@@ -925,7 +927,9 @@ public abstract class ComponentBusinessLogic extends BaseBusinessLogic {
         }
         Either<Map<String, InputDefinition>, String> eitherMerged = validateNoConflictingProperties(genericTypeInputs, currentList);
         if (eitherMerged.isRight()) {
-            log.debug("input {} cannot be overriden, check out performed without upgrading to latest generic", eitherMerged.right().value());
+            if (log.isDebugEnabled()) {
+                log.debug("input {} cannot be overriden, check out performed without upgrading to latest generic", eitherMerged.right().value());
+            }
             return false;
         }
         componentToCheckOut.setInputs(new ArrayList<>(eitherMerged.left().value().values()));
@@ -963,8 +967,10 @@ public abstract class ComponentBusinessLogic extends BaseBusinessLogic {
     }
 
     protected Either<Component, ResponseFormat> updateCatalog(Component component, ChangeTypeEnum changeStatus) {
-        log.debug("update Catalog start with Component Type {} And Componet Name {} with change status {}", component.getComponentType().name(),
-            component.getName(), changeStatus.name());
+        if (log.isDebugEnabled()) {
+            log.debug("update Catalog start with Component Type {} And Componet Name {} with change status {}",
+                    component.getComponentType().name(),component.getName(), changeStatus.name());
+        }
         ActionStatus status = catalogOperations.updateCatalog(changeStatus, component);
         if (status != ActionStatus.OK) {
             return Either.right(componentsUtils.getResponseFormat(status));
index 90716f9..8b1537a 100644 (file)
@@ -161,6 +161,14 @@ public class ComponentInstanceBusinessLogic extends BaseBusinessLogic {
         + "container {}";
     private static final String SERVICE_PROXY = "serviceProxy";
     private static final String ASSOCIATE_RI_TO_RI = "associateRIToRI";
+    private static final String COMPONENT_ARCHIVED = "Component is archived. Component id: {}";
+    private static final String RESTRICTED_OPERATION_ON_SERVIVE = "Restricted operation for user: {} on service {}";
+    private static final String FAILED_TO_LOCK_COMPONENT = "Failed to lock component {}";
+    private static final String RESTRICTED_OPERATION_ON_COMPONENT = "Restricted operation for user: {} on component {}";
+    private static final String RESOURCE_INSTANCE = "resource instance";
+    private static final String SERVICE = "service";
+    private static final String UPDATE_PROPERTY_CONTEXT = "UpdatePropertyValueOnComponentInstance";
+
     private ComponentInstanceOperation componentInstanceOperation;
     private ArtifactsBusinessLogic artifactBusinessLogic;
     private ComponentInstanceMergeDataBusinessLogic compInstMergeDataBL;
@@ -1919,17 +1927,17 @@ public class ComponentInstanceBusinessLogic extends BaseBusinessLogic {
 
         if (!ComponentValidationUtils.canWorkOnComponent(containerComponent, userId)) {
             if (Boolean.TRUE.equals(containerComponent.isArchived())) {
-                log.info("Component is archived. Component id: {}", componentId);
+                log.info(COMPONENT_ARCHIVED, componentId);
                 return Either.right(componentsUtils.getResponseFormat(ActionStatus.COMPONENT_IS_ARCHIVED, containerComponent.getName()));
             }
-            log.info("Restricted operation for user: {} on service {}", userId, componentId);
+            log.info(RESTRICTED_OPERATION_ON_SERVIVE, userId, componentId);
             return Either.right(componentsUtils.getResponseFormat(ActionStatus.RESTRICTED_OPERATION));
         }
 
         Either<ComponentInstance, StorageOperationStatus> resourceInstanceStatus = getResourceInstanceById(containerComponent, resourceInstanceId);
         if (resourceInstanceStatus.isRight()) {
             return Either.right(componentsUtils.getResponseFormat(ActionStatus.COMPONENT_INSTANCE_NOT_FOUND_ON_CONTAINER,
-                resourceInstanceId, "resource instance", "service", componentId));
+                resourceInstanceId, RESOURCE_INSTANCE, SERVICE, componentId));
         }
         ComponentInstance foundResourceInstance = resourceInstanceStatus.left().value();
 
@@ -2019,10 +2027,10 @@ public class ComponentInstanceBusinessLogic extends BaseBusinessLogic {
 
         if (!ComponentValidationUtils.canWorkOnComponent(containerComponent, userId)) {
             if (Boolean.TRUE.equals(containerComponent.isArchived())) {
-                log.info("Component is archived. Component id: {}", componentId);
+                log.info(COMPONENT_ARCHIVED, componentId);
                 return Either.right(componentsUtils.getResponseFormat(ActionStatus.COMPONENT_IS_ARCHIVED, containerComponent.getName()));
             }
-            log.info("Restricted operation for user: {} on service {}", userId, componentId);
+            log.info(RESTRICTED_OPERATION_ON_SERVIVE, userId, componentId);
             return Either.right(componentsUtils.getResponseFormat(ActionStatus.RESTRICTED_OPERATION));
         }
 
@@ -2030,7 +2038,7 @@ public class ComponentInstanceBusinessLogic extends BaseBusinessLogic {
             resourceInstanceId);
         if (resourceInstanceStatus.isRight()) {
             return Either.right(componentsUtils.getResponseFormat(ActionStatus.COMPONENT_INSTANCE_NOT_FOUND_ON_CONTAINER,
-                resourceInstanceId, "resource instance", "service", componentId));
+                resourceInstanceId, RESOURCE_INSTANCE, SERVICE, componentId));
         }
         final ComponentInstance foundResourceInstance = resourceInstanceStatus.left().value();
 
@@ -2223,7 +2231,7 @@ public class ComponentInstanceBusinessLogic extends BaseBusinessLogic {
         if (allDataTypesEither.isRight()) {
             JanusGraphOperationStatus status = allDataTypesEither.right().value();
             BeEcompErrorManager.getInstance()
-                .logInternalFlowError("UpdatePropertyValueOnComponentInstance", "Failed to update property value on instance. Status is " + status,
+                .logInternalFlowError(UPDATE_PROPERTY_CONTEXT, "Failed to update property value on instance. Status is " + status,
                     ErrorSeverity.ERROR);
             return Either.right(componentsUtils
                 .getResponseFormat(componentsUtils.convertFromStorageResponse(DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status))));
@@ -2271,7 +2279,7 @@ public class ComponentInstanceBusinessLogic extends BaseBusinessLogic {
         if (allDataTypesEither.isRight()) {
             JanusGraphOperationStatus status = allDataTypesEither.right().value();
             BeEcompErrorManager.getInstance()
-                .logInternalFlowError("UpdatePropertyValueOnComponentInstance", "Failed to update property value on instance. Status is " + status,
+                .logInternalFlowError(UPDATE_PROPERTY_CONTEXT, "Failed to update property value on instance. Status is " + status,
                     ErrorSeverity.ERROR);
             return Either.right(componentsUtils
                 .getResponseFormat(componentsUtils.convertFromStorageResponse(DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status))));
@@ -2337,7 +2345,7 @@ public class ComponentInstanceBusinessLogic extends BaseBusinessLogic {
         if (allDataTypesEither.isRight()) {
             JanusGraphOperationStatus status = allDataTypesEither.right().value();
             BeEcompErrorManager.getInstance()
-                .logInternalFlowError("UpdatePropertyValueOnComponentInstance", "Failed to update attribute value on instance. Status is " + status,
+                .logInternalFlowError(UPDATE_PROPERTY_CONTEXT, "Failed to update attribute value on instance. Status is " + status,
                     ErrorSeverity.ERROR);
             return Either.right(componentsUtils
                 .getResponseFormat(componentsUtils.convertFromStorageResponse(DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status))));
@@ -2446,17 +2454,17 @@ public class ComponentInstanceBusinessLogic extends BaseBusinessLogic {
 
         if (!ComponentValidationUtils.canWorkOnComponent(containerComponent, userId)) {
             if (Boolean.TRUE.equals(containerComponent.isArchived())) {
-                log.info("Component is archived. Component id: {}", componentId);
+                log.info(COMPONENT_ARCHIVED, componentId);
                 return Either.right(componentsUtils.getResponseFormat(ActionStatus.COMPONENT_IS_ARCHIVED, containerComponent.getName()));
             }
-            log.info("Restricted operation for user: {} on service {}", userId, componentId);
+            log.info(RESTRICTED_OPERATION_ON_SERVIVE, userId, componentId);
             resultOp = Either.right(componentsUtils.getResponseFormat(ActionStatus.RESTRICTED_OPERATION));
             return resultOp;
         }
         Either<ComponentInstance, StorageOperationStatus> resourceInstanceStatus = getResourceInstanceById(containerComponent, resourceInstanceId);
         if (resourceInstanceStatus.isRight()) {
             return Either.right(componentsUtils.getResponseFormat(ActionStatus.COMPONENT_INSTANCE_NOT_FOUND_ON_CONTAINER,
-                resourceInstanceId, "resource instance", "service", componentId));
+                resourceInstanceId, RESOURCE_INSTANCE, SERVICE, componentId));
         }
 
         ComponentInstance foundResourceInstance = resourceInstanceStatus.left().value();
@@ -3200,7 +3208,7 @@ public class ComponentInstanceBusinessLogic extends BaseBusinessLogic {
         }
         Component containerComponent = getResourceResult.left().value();
         if (!ComponentValidationUtils.canWorkOnComponent(containerComponent, userId)) {
-            log.info("Restricted operation for user: {} on component {}", userId, containerComponentId);
+            log.info(RESTRICTED_OPERATION_ON_COMPONENT, userId, containerComponentId);
             return Either.right(componentsUtils.getResponseFormat(ActionStatus.RESTRICTED_OPERATION));
         }
         Either<ComponentInstance, StorageOperationStatus> resourceInstanceStatus = getResourceInstanceById(containerComponent,
@@ -3212,7 +3220,7 @@ public class ComponentInstanceBusinessLogic extends BaseBusinessLogic {
         // lock resource
         StorageOperationStatus lockStatus = graphLockOperation.lockComponent(containerComponentId, componentTypeEnum.getNodeType());
         if (lockStatus != StorageOperationStatus.OK) {
-            log.debug("Failed to lock component {}", containerComponentId);
+            log.debug(FAILED_TO_LOCK_COMPONENT, containerComponentId);
             return Either.right(componentsUtils.getResponseFormat(componentsUtils.convertFromStorageResponse(lockStatus)));
         }
         try {
@@ -3260,7 +3268,7 @@ public class ComponentInstanceBusinessLogic extends BaseBusinessLogic {
         }
         final Component containerComponent = getResourceResult.left().value();
         if (!ComponentValidationUtils.canWorkOnComponent(containerComponent, userId)) {
-            log.info("Restricted operation for user: {} on component {}", userId, containerComponentId);
+            log.info(RESTRICTED_OPERATION_ON_COMPONENT, userId, containerComponentId);
             return Either.right(componentsUtils.getResponseFormat(ActionStatus.RESTRICTED_OPERATION));
         }
         final Either<ComponentInstance, StorageOperationStatus> resourceInstanceStatus =
@@ -3272,7 +3280,7 @@ public class ComponentInstanceBusinessLogic extends BaseBusinessLogic {
         // lock resource
         final StorageOperationStatus lockStatus = graphLockOperation.lockComponent(containerComponentId, containerComponentType.getNodeType());
         if (lockStatus != StorageOperationStatus.OK) {
-            log.debug("Failed to lock component {}", containerComponentId);
+            log.debug(FAILED_TO_LOCK_COMPONENT, containerComponentId);
             return Either.right(componentsUtils.getResponseFormat(componentsUtils.convertFromStorageResponse(lockStatus)));
         }
         var success = false;
@@ -3325,7 +3333,7 @@ public class ComponentInstanceBusinessLogic extends BaseBusinessLogic {
         }
         Component containerComponent = getResourceResult.left().value();
         if (!ComponentValidationUtils.canWorkOnComponent(containerComponent, userId)) {
-            log.info("Restricted operation for user: {} on component {}", userId, containerComponentId);
+            log.info(RESTRICTED_OPERATION_ON_COMPONENT, userId, containerComponentId);
             return Either.right(componentsUtils.getResponseFormat(ActionStatus.RESTRICTED_OPERATION));
         }
         Either<ComponentInstance, StorageOperationStatus> resourceInstanceStatus = getResourceInstanceById(containerComponent,
@@ -3338,7 +3346,7 @@ public class ComponentInstanceBusinessLogic extends BaseBusinessLogic {
         // lock resource
         StorageOperationStatus lockStatus = graphLockOperation.lockComponent(containerComponentId, componentTypeEnum.getNodeType());
         if (lockStatus != StorageOperationStatus.OK) {
-            log.debug("Failed to lock component {}", containerComponentId);
+            log.debug(FAILED_TO_LOCK_COMPONENT, containerComponentId);
             return Either.right(componentsUtils.getResponseFormat(componentsUtils.convertFromStorageResponse(lockStatus)));
         }
         try {
index fad72cc..c6aa1b7 100644 (file)
@@ -68,6 +68,12 @@ public class CsarValidationUtils {
     private static final String ENTRY_DEFINITIONS = "Entry-Definitions ";
     private static final Pattern floatPattern = Pattern.compile("^\\d{1}[.]\\d{1}$");
 
+    /**
+     * Utility classes, which are collections of static members, are not meant to be instantiated
+     */
+    private CsarValidationUtils() {
+    }
+
     /**
      * Validates Csar
      *
index fee80c6..0d59b14 100644 (file)
@@ -802,17 +802,13 @@ public class GroupBusinessLogic extends BaseBusinessLogic {
                                                                                               GroupInstance oldGroupInstance,
                                                                                               List<GroupInstanceProperty> newProperties) {
         Either<GroupInstance, ResponseFormat> actionResult = null;
-        Either<GroupInstance, StorageOperationStatus> updateGroupInstanceResult = null;
-        List<GroupInstanceProperty> validateRes = validateReduceGroupInstancePropertiesBeforeUpdate(oldGroupInstance, newProperties);
-        if (actionResult == null) {
-            List<GroupInstanceProperty> validatedReducedNewProperties = validateRes;
-            updateGroupInstanceResult = groupsOperation
-                .updateGroupInstancePropertyValuesOnGraph(componentId, instanceId, oldGroupInstance, validatedReducedNewProperties);
-            if (updateGroupInstanceResult.isRight()) {
-                log.debug("Failed to update group instance {} property values. ", oldGroupInstance.getName());
-                actionResult = Either
-                    .right(componentsUtils.getResponseFormat(componentsUtils.convertFromStorageResponse(updateGroupInstanceResult.right().value())));
-            }
+        List<GroupInstanceProperty> validatedReducedNewProperties = validateReduceGroupInstancePropertiesBeforeUpdate(oldGroupInstance, newProperties);
+        Either<GroupInstance, StorageOperationStatus> updateGroupInstanceResult = groupsOperation
+            .updateGroupInstancePropertyValuesOnGraph(componentId, instanceId, oldGroupInstance, validatedReducedNewProperties);
+        if (updateGroupInstanceResult.isRight()) {
+            log.debug("Failed to update group instance {} property values. ", oldGroupInstance.getName());
+            actionResult = Either
+                .right(componentsUtils.getResponseFormat(componentsUtils.convertFromStorageResponse(updateGroupInstanceResult.right().value())));
         }
         if (actionResult == null) {
             actionResult = Either.left(updateGroupInstanceResult.left().value());
index da84921..d3cc6dc 100644 (file)
@@ -732,7 +732,7 @@ public class InputsBusinessLogic extends BaseBusinessLogic {
         }
         // convert property
         ToscaPropertyType type = getType(newInputDefinition.getType());
-        if (type != null && newInputDefinition != null) {
+        if (type != null) {
             PropertyValueConverter converter = type.getConverter();
             // get inner type
             SchemaDefinition schema = newInputDefinition.getSchema();
index baab08d..d7564ed 100644 (file)
@@ -136,20 +136,18 @@ public class PropertyBusinessLogic extends BaseBusinessLogic {
                     PropertyValueConverter converter = type.getConverter();
                     // get inner type
                     String innerType = null;
-                    if (newPropertyDefinition != null) {
-                        SchemaDefinition schema = newPropertyDefinition.getSchema();
-                        if (schema != null) {
-                            PropertyDataDefinition prop = schema.getProperty();
-                            if (prop != null) {
-                                innerType = prop.getType();
-                            }
-                        }
-                        String convertedValue = null;
-                        if (newPropertyDefinition.getDefaultValue() != null) {
-                            convertedValue = converter.convert(newPropertyDefinition.getDefaultValue(), innerType, allDataTypes);
-                            newPropertyDefinition.setDefaultValue(convertedValue);
+                    SchemaDefinition schema = newPropertyDefinition.getSchema();
+                    if (schema != null) {
+                        PropertyDataDefinition prop = schema.getProperty();
+                        if (prop != null) {
+                            innerType = prop.getType();
                         }
                     }
+                    String convertedValue = null;
+                    if (newPropertyDefinition.getDefaultValue() != null) {
+                        convertedValue = converter.convert(newPropertyDefinition.getDefaultValue(), innerType, allDataTypes);
+                        newPropertyDefinition.setDefaultValue(convertedValue);
+                    }
                 }
                 Either<PropertyDefinition, StorageOperationStatus> addPropertyEither = toscaOperationFacade
                     .addPropertyToComponent(propertyName, newPropertyDefinition, component);
index c8162d7..ba98282 100644 (file)
@@ -393,10 +393,10 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
             csarBusinessLogic.validateCsarBeforeCreate(resource, auditingAction, user, csarUUID);
             log.debug("CsarUUID is {} - going to create resource from CSAR", csarUUID);
             Resource createResourceFromCsar = createResourceFromCsar(resource, user, csarUIPayload, csarUUID);
-            return updateCatalog(createResourceFromCsar, ChangeTypeEnum.LIFECYCLE).left().map(r -> (Resource) r).left().value();
+            return updateCatalog(createResourceFromCsar, ChangeTypeEnum.LIFECYCLE).left().map(Resource.class::cast).left().value();
         }
         final Resource createResourceByDao = createResourceByDao(resource, user, auditingAction, false, false);
-        return updateCatalog(createResourceByDao, ChangeTypeEnum.LIFECYCLE).left().map(r -> (Resource) r).left().value();
+        return updateCatalog(createResourceByDao, ChangeTypeEnum.LIFECYCLE).left().map(Resource.class::cast).left().value();
     }
 
     public Resource validateAndUpdateResourceFromCsar(Resource resource, User user, Map<String, byte[]> csarUIPayload, String payloadName,
@@ -832,7 +832,7 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
                                                   List<ArtifactDefinition> artifactsToUpdate, List<ArtifactDefinition> artifactsToDelete,
                                                   Map<String, ArtifactDefinition> existingArtifacts) {
         if (!existingArtifacts.isEmpty()) {
-            extractedArtifacts.stream().forEach(a -> processNodeTypeArtifact(artifactsToUpload, artifactsToUpdate, existingArtifacts, a));
+            extractedArtifacts.forEach(a -> processNodeTypeArtifact(artifactsToUpload, artifactsToUpdate, existingArtifacts, a));
             artifactsToDelete.addAll(existingArtifacts.values());
         }
     }
@@ -953,9 +953,7 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
                     handledNodeTypeArtifacts.addAll(handleNodeTypeArtifactsRequestRes);
                 }
             }
-            if (handleNodeTypeArtifactsRes == null) {
-                handleNodeTypeArtifactsRes = Either.left(handledNodeTypeArtifacts);
-            }
+            handleNodeTypeArtifactsRes = Either.left(handledNodeTypeArtifacts);
         } catch (Exception e) {
             ResponseFormat responseFormat = componentsUtils.getResponseFormat(ActionStatus.GENERAL_ERROR);
             handleNodeTypeArtifactsRes = Either.right(responseFormat);
@@ -969,11 +967,9 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
         final Map<String, ImmutablePair<String, String>> vfcToscaNames = new HashMap<>();
         final Map<String, Object> nodes = extractAllNodes(nodeTypesInfo, csarInfo);
         if (!nodes.isEmpty()) {
-            final Iterator<Entry<String, Object>> nodesNameEntry = nodes.entrySet().iterator();
-            while (nodesNameEntry.hasNext()) {
-                final Entry<String, Object> nodeType = nodesNameEntry.next();
+            for (Entry<String, Object> nodeType : nodes.entrySet()) {
                 final ImmutablePair<String, String> toscaResourceName = buildNestedToscaResourceName(ResourceTypeEnum.VFC.name(), vfResourceName,
-                    nodeType.getKey());
+                        nodeType.getKey());
                 vfcToscaNames.put(nodeType.getKey(), toscaResourceName);
             }
         }
@@ -1309,7 +1305,7 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
             throw new ByActionStatusComponentException(ActionStatus.INVALID_NODE_TEMPLATE, yamlName, resourceMetaData.getName(), nodeName);
         }
         // Setting name
-        resourceMetaData.setName(new StringBuilder(resourceVf.getSystemName()).append(actualName).toString());
+        resourceMetaData.setName(resourceVf.getSystemName() + actualName);
         // Setting type from name
         final String type = resourceType.toUpperCase();
         resourceMetaData.setResourceType(type);
@@ -1598,7 +1594,7 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
             return rollbackWithEither(ActionStatus.INPUTS_NOT_FOUND, inputName);
         } else {
             Optional<InputDefinition> inputOpt = inputs.stream().filter(p -> p.getName().equals(inputName)).findFirst();
-            if (!inputOpt.isPresent()) {
+            if (inputOpt.isEmpty()) {
                 log.debug("#findInputByName - Failed to find the input {} ", inputName);
                 return rollbackWithEither(ActionStatus.INPUTS_NOT_FOUND, inputName);
             } else {
@@ -1655,7 +1651,7 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
         for (GroupDefinition group : groupsFromResource) {
             Optional<GroupDefinition> op = groupsAsList.stream().filter(p -> p.getInvariantName().equalsIgnoreCase(group.getInvariantName()))
                 .findAny();
-            if (!op.isPresent() && (group.getArtifacts() == null || group.getArtifacts().isEmpty())) {
+            if (op.isEmpty() && (group.getArtifacts() == null || group.getArtifacts().isEmpty())) {
                 groupsToDelete.add(group);
             }
         }
@@ -1719,7 +1715,7 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
                                     List<ComponentInstance> componentInstances, String groupName, Map<String, String> members) {
         Set<String> compInstancesNames = members.keySet();
         if (CollectionUtils.isEmpty(componentInstances)) {
-            String membersAstString = compInstancesNames.stream().collect(joining(","));
+            String membersAstString = String.join(",", compInstancesNames);
             log.debug("The members: {}, in group: {}, cannot be found in component {}. There are no component instances.", membersAstString,
                 groupName, component.getNormalizedName());
             throw new ByActionStatusComponentException(ActionStatus.GROUP_INVALID_COMPONENT_INSTANCE, membersAstString, groupName,
@@ -1730,13 +1726,10 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
         memberNames.putAll(groups.keySet().stream().collect(toMap(g -> g, g -> "")));
         Map<String, String> relevantInstances = memberNames.entrySet().stream().filter(n -> compInstancesNames.contains(n.getKey()))
             .collect(toMap(Entry::getKey, Entry::getValue));
-        if (relevantInstances == null || relevantInstances.size() != compInstancesNames.size()) {
-            List<String> foundMembers = new ArrayList<>();
-            if (relevantInstances != null) {
-                foundMembers = relevantInstances.keySet().stream().collect(toList());
-            }
-            compInstancesNames.removeAll(foundMembers);
-            String membersAstString = compInstancesNames.stream().collect(joining(","));
+        if (relevantInstances.size() != compInstancesNames.size()) {
+            List<String> foundMembers = new ArrayList<>(relevantInstances.keySet());
+            foundMembers.forEach(compInstancesNames::remove);
+            String membersAstString = String.join(",", compInstancesNames);
             log.debug("The members: {}, in group: {}, cannot be found in component: {}", membersAstString, groupName, component.getNormalizedName());
             throw new ByActionStatusComponentException(ActionStatus.GROUP_INVALID_COMPONENT_INSTANCE, membersAstString, groupName,
                 component.getNormalizedName(), getComponentTypeForResponse(component));
@@ -1809,11 +1802,8 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
 
     private boolean isfillGroupMemebersRecursivlyStopCondition(String groupName, Map<String, GroupDefinition> allGroups,
                                                                Set<String> allGroupMembers) {
-        boolean stop = false;
+        boolean stop = !allGroups.containsKey(groupName);
         // In Case Not Group Stop
-        if (!allGroups.containsKey(groupName)) {
-            stop = true;
-        }
         // In Case Group Has no members stop
         if (!stop) {
             GroupDefinition groupDefinition = allGroups.get(groupName);
@@ -1859,7 +1849,7 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
 
     private void handleAndAddExtractedVfcsArtifacts(List<ArtifactDefinition> vfcArtifacts, List<ArtifactDefinition> artifactsToAdd) {
         List<String> vfcArtifactNames = vfcArtifacts.stream().map(ArtifactDataDefinition::getArtifactName).collect(toList());
-        artifactsToAdd.stream().forEach(a -> {
+        artifactsToAdd.forEach(a -> {
             if (!vfcArtifactNames.contains(a.getArtifactName())) {
                 vfcArtifacts.add(a);
             } else {
@@ -2158,7 +2148,7 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
         List<String> artifactsToIgnore = new ArrayList<>();
         // collect IDs of Artifacts of VF which belongs to any group
         if (resource.getGroups() != null) {
-            resource.getGroups().stream().forEach(g -> {
+            resource.getGroups().forEach(g -> {
                 if (g.getArtifacts() != null && !g.getArtifacts().isEmpty()) {
                     artifactsToIgnore.addAll(g.getArtifacts());
                 }
@@ -2171,20 +2161,12 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
     }
 
     private boolean isNonMetaArtifact(ArtifactDefinition artifact) {
-        boolean result = true;
-        if (artifact.getMandatory() || artifact.getArtifactName() == null || !isValidArtifactType(artifact)) {
-            result = false;
-        }
-        return result;
+        return !artifact.getMandatory() && artifact.getArtifactName() != null && isValidArtifactType(artifact);
     }
 
     private boolean isValidArtifactType(ArtifactDefinition artifact) {
-        boolean result = true;
-        if (artifact.getArtifactType() == null || ArtifactTypeEnum.parse(artifact.getArtifactType()) == ArtifactTypeEnum.VENDOR_LICENSE
-            || ArtifactTypeEnum.parse(artifact.getArtifactType()) == ArtifactTypeEnum.VF_LICENSE) {
-            result = false;
-        }
-        return result;
+        return artifact.getArtifactType() != null && ArtifactTypeEnum.parse(artifact.getArtifactType()) != ArtifactTypeEnum.VENDOR_LICENSE
+                && ArtifactTypeEnum.parse(artifact.getArtifactType()) != ArtifactTypeEnum.VF_LICENSE;
     }
 
     private Resource createResourceInstancesRelations(User user, String yamlName, Resource resource, Resource oldResource,
@@ -2455,7 +2437,7 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
                                           UploadComponentInstanceInfo uploadComponentInstanceInfo) {
         Optional<ComponentInstance> currentCompInstanceOpt = componentInstancesList.stream()
             .filter(i -> i.getName().equals(uploadComponentInstanceInfo.getName())).findFirst();
-        if (!currentCompInstanceOpt.isPresent()) {
+        if (currentCompInstanceOpt.isEmpty()) {
             log.debug(COMPONENT_INSTANCE_WITH_NAME_IN_RESOURCE, uploadComponentInstanceInfo.getName(), resource.getUniqueId());
             BeEcompErrorManager.getInstance()
                 .logInternalDataError(COMPONENT_INSTANCE_WITH_NAME + uploadComponentInstanceInfo.getName() + IN_RESOURCE, resource.getUniqueId(),
@@ -2602,7 +2584,7 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
                                                          Map<String, UploadComponentInstanceInfo> uploadResInstancesMap,
                                                          Map<ComponentInstance, Map<String, List<CapabilityDefinition>>> updatedInstCapabilities,
                                                          Map<ComponentInstance, Map<String, List<RequirementDefinition>>> updatedInstRequirements) {
-        componentInstances.stream().forEach(i -> {
+        componentInstances.forEach(i -> {
             fillUpdatedInstCapabilities(updatedInstCapabilities, i, uploadResInstancesMap.get(i.getName()).getCapabilitiesNamesToUpdate());
             fillUpdatedInstRequirements(updatedInstRequirements, i, uploadResInstancesMap.get(i.getName()).getRequirementsNamesToUpdate());
         });
@@ -2670,26 +2652,24 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
         String resourceInstanceId = currentCompInstance.getUniqueId();
         Map<String, List<UploadReqInfo>> regMap = nodesInfoValue.getRequirements();
         if (regMap != null) {
-            Iterator<Entry<String, List<UploadReqInfo>>> nodesRegValue = regMap.entrySet().iterator();
-            while (nodesRegValue.hasNext()) {
-                Entry<String, List<UploadReqInfo>> nodesRegInfoEntry = nodesRegValue.next();
+            for (Entry<String, List<UploadReqInfo>> nodesRegInfoEntry : regMap.entrySet()) {
                 List<UploadReqInfo> uploadRegInfoList = nodesRegInfoEntry.getValue();
                 for (UploadReqInfo uploadRegInfo : uploadRegInfoList) {
                     log.debug("Going to create  relation {}", uploadRegInfo.getName());
                     loggerSupportability
-                        .log(LoggerSupportabilityActions.CREATE_RELATIONS, resource.getComponentMetadataForSupportLog(), StatusCode.STARTED,
-                            "Started to create relations on instance: {}", uploadRegInfo.getName());
+                            .log(LoggerSupportabilityActions.CREATE_RELATIONS, resource.getComponentMetadataForSupportLog(), StatusCode.STARTED,
+                                    "Started to create relations on instance: {}", uploadRegInfo.getName());
                     String regName = uploadRegInfo.getName();
                     RequirementCapabilityRelDef regCapRelDef = new RequirementCapabilityRelDef();
                     regCapRelDef.setFromNode(resourceInstanceId);
                     log.debug("try to find available requirement {} ", regName);
                     Either<RequirementDefinition, ResponseFormat> eitherReqStatus = findAviableRequiremen(regName, yamlName, nodesInfoValue,
-                        currentCompInstance, uploadRegInfo.getCapabilityName());
+                            currentCompInstance, uploadRegInfo.getCapabilityName());
                     if (eitherReqStatus.isRight()) {
                         log.debug("failed to find available requirement {} status is {}", regName, eitherReqStatus.right().value());
                         loggerSupportability
-                            .log(LoggerSupportabilityActions.CREATE_RELATIONS, resource.getComponentMetadataForSupportLog(), StatusCode.ERROR,
-                                "ERROR while search available requirement {} status is: {}", regName, eitherReqStatus.right().value());
+                                .log(LoggerSupportabilityActions.CREATE_RELATIONS, resource.getComponentMetadataForSupportLog(), StatusCode.ERROR,
+                                        "ERROR while search available requirement {} status is: {}", regName, eitherReqStatus.right().value());
                         return eitherReqStatus.right().value();
                     }
                     RequirementDefinition validReq = eitherReqStatus.left().value();
@@ -2714,11 +2694,11 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
                     if (currentCapCompInstance == null) {
                         log.debug("The component instance  with name {} not found on resource {} ", uploadRegInfo.getNode(), resource.getUniqueId());
                         loggerSupportability
-                            .log(LoggerSupportabilityActions.CREATE_RELATIONS, resource.getComponentMetadataForSupportLog(), StatusCode.ERROR,
-                                "ERROR component instance  with name: {} not found on resource: {}", uploadRegInfo.getNode(), resource.getUniqueId());
+                                .log(LoggerSupportabilityActions.CREATE_RELATIONS, resource.getComponentMetadataForSupportLog(), StatusCode.ERROR,
+                                        "ERROR component instance  with name: {} not found on resource: {}", uploadRegInfo.getNode(), resource.getUniqueId());
                         BeEcompErrorManager.getInstance()
-                            .logInternalDataError(COMPONENT_INSTANCE_WITH_NAME + uploadRegInfo.getNode() + IN_RESOURCE, resource.getUniqueId(),
-                                ErrorSeverity.ERROR);
+                                .logInternalDataError(COMPONENT_INSTANCE_WITH_NAME + uploadRegInfo.getNode() + IN_RESOURCE, resource.getUniqueId(),
+                                        ErrorSeverity.ERROR);
                         return componentsUtils.getResponseFormat(ActionStatus.NOT_TOPOLOGY_TOSCA_TEMPLATE, yamlName);
                     }
                     regCapRelDef.setToNode(currentCapCompInstance.getUniqueId());
@@ -2726,14 +2706,14 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
                     CapabilityDefinition aviableCapForRel = findAvailableCapabilityByTypeOrName(validReq, currentCapCompInstance, uploadRegInfo);
                     if (aviableCapForRel == null) {
                         log.debug("aviable capability was not found. req name is {} component instance is {}", validReq.getName(),
-                            currentCapCompInstance.getUniqueId());
-                        loggerSupportability
-                            .log(LoggerSupportabilityActions.CREATE_RELATIONS, resource.getComponentMetadataForSupportLog(), StatusCode.ERROR,
-                                "ERROR available capability was not found. req name is: {} component instance is: {}", validReq.getName(),
                                 currentCapCompInstance.getUniqueId());
+                        loggerSupportability
+                                .log(LoggerSupportabilityActions.CREATE_RELATIONS, resource.getComponentMetadataForSupportLog(), StatusCode.ERROR,
+                                        "ERROR available capability was not found. req name is: {} component instance is: {}", validReq.getName(),
+                                        currentCapCompInstance.getUniqueId());
                         BeEcompErrorManager.getInstance().logInternalDataError(
-                            "aviable capability was not found. req name is " + validReq.getName() + " component instance is " + currentCapCompInstance
-                                .getUniqueId(), resource.getUniqueId(), ErrorSeverity.ERROR);
+                                "aviable capability was not found. req name is " + validReq.getName() + " component instance is " + currentCapCompInstance
+                                        .getUniqueId(), resource.getUniqueId(), ErrorSeverity.ERROR);
                         return componentsUtils.getResponseFormat(ActionStatus.NOT_TOPOLOGY_TOSCA_TEMPLATE, yamlName);
                     }
                     reqAndRelationshipPair.setCapability(aviableCapForRel.getName());
@@ -2815,7 +2795,7 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
                     throw new ByActionStatusComponentException(ActionStatus.INVALID_CONTENT);
                 }
                 Optional<InputDefinition> optional = inputs.stream().filter(p -> p.getName().equals(getInput.getInputName())).findAny();
-                if (!optional.isPresent()) {
+                if (optional.isEmpty()) {
                     loggerSupportability.log(LoggerSupportabilityActions.PROPERTY, resource.getComponentMetadataForSupportLog(), StatusCode.ERROR,
                         "ERROR Failed to find input: " + getInput.getInputName());
                     log.debug("Failed to find input {} ", getInput.getInputName());
@@ -2840,7 +2820,7 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
         Optional<InputDefinition> optional;
         if (getInputIndex != null) {
             optional = inputs.stream().filter(p -> p.getName().equals(getInputIndex.getInputName())).findAny();
-            if (!optional.isPresent()) {
+            if (optional.isEmpty()) {
                 log.debug("Failed to find input {} ", getInputIndex.getInputName());
                 // @@TODO error message
                 throw new ByActionStatusComponentException(ActionStatus.INVALID_CONTENT);
@@ -2981,7 +2961,7 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
         }
         Optional<CapabilityDefinition> capByName = capMap.get(validReq.getCapability()).stream()
             .filter(p -> p.getName().equals(uploadReqInfo.getCapabilityName())).findAny();
-        if (!capByName.isPresent()) {
+        if (capByName.isEmpty()) {
             return null;
         }
         cap = capByName.get();
@@ -3169,7 +3149,7 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
             Map<String, ToscaArtifactDataDefinition> toscaArtifacts = new HashMap<>();
             Map<String, Map<String, UploadArtifactInfo>> arts = artifacts.entrySet().stream()
                 .filter(e -> e.getKey().contains(TypeUtils.ToscaTagNamesEnum.ARTIFACTS.getElementName()))
-                .collect(Collectors.toMap(e -> e.getKey(), e -> e.getValue()));
+                .collect(Collectors.toMap(Entry::getKey, Entry::getValue));
             Map<String, UploadArtifactInfo> artifact = arts.get(TypeUtils.ToscaTagNamesEnum.ARTIFACTS.getElementName());
             for (Map.Entry<String, UploadArtifactInfo> entry : artifact.entrySet()) {
                 ToscaArtifactDataDefinition to = new ToscaArtifactDataDefinition();
@@ -3180,7 +3160,7 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
             componentInstance.setToscaArtifacts(toscaArtifacts);
         }
         if (!existingnodeTypeMap.containsKey(uploadComponentInstanceInfo.getType())) {
-            log.debug("createResourceInstances - not found lates version for resource instance with name {} and type ",
+            log.debug("createResourceInstances - not found lates version for resource instance with name {} and type {}",
                 uploadComponentInstanceInfo.getName(), uploadComponentInstanceInfo.getType());
             throw new ByActionStatusComponentException(ActionStatus.INVALID_NODE_TEMPLATE, yamlName, uploadComponentInstanceInfo.getName(),
                 uploadComponentInstanceInfo.getType());
@@ -3196,13 +3176,13 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
                                          Map<String, List<UploadCapInfo>> uploadedCapabilities) {
         for (Entry<String, List<UploadCapInfo>> currEntry : uploadedCapabilities.entrySet()) {
             if (originCapabilities.containsKey(currEntry.getKey())) {
-                currEntry.getValue().stream().forEach(cap -> cap.setType(currEntry.getKey()));
+                currEntry.getValue().forEach(cap -> cap.setType(currEntry.getKey()));
             }
         }
         for (Map.Entry<String, List<CapabilityDefinition>> capabilities : originCapabilities.entrySet()) {
-            capabilities.getValue().stream().forEach(cap -> {
+            capabilities.getValue().forEach(cap -> {
                 if (uploadedCapabilities.containsKey(cap.getName())) {
-                    uploadedCapabilities.get(cap.getName()).stream().forEach(c -> {
+                    uploadedCapabilities.get(cap.getName()).forEach(c -> {
                         c.setName(cap.getName());
                         c.setType(cap.getType());
                     });
@@ -3239,7 +3219,7 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
                 refResource.getName(), componentState);
         }
         if (!ModelConverter.isAtomicComponent(refResource) && refResource.getResourceType() != ResourceTypeEnum.CVFC) {
-            log.debug("validateResourceInstanceBeforeCreate -  ref resource type is  ", refResource.getResourceType());
+            log.debug("validateResourceInstanceBeforeCreate -  ref resource type is {} ", refResource.getResourceType());
             throw new ByActionStatusComponentException(ActionStatus.INVALID_NODE_TEMPLATE, yamlName, uploadComponentInstanceInfo.getName(),
                 uploadComponentInstanceInfo.getType());
         }
@@ -3493,8 +3473,8 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
         }
         List<GroupDefinition> oldForUpdate = oldResource.getGroups();
         if (CollectionUtils.isNotEmpty(oldForUpdate)) {
-            List<GroupDefinition> groupForUpdate = oldForUpdate.stream().map(group -> new GroupDefinition(group)).collect(Collectors.toList());
-            groupForUpdate.stream().filter(group -> group.isVspOriginated()).forEach(group -> group.setName(group.getInvariantName()));
+            List<GroupDefinition> groupForUpdate = oldForUpdate.stream().map(GroupDefinition::new).collect(Collectors.toList());
+            groupForUpdate.stream().filter(GroupDataDefinition::isVspOriginated).forEach(group -> group.setName(group.getInvariantName()));
             newResource.setGroups(groupForUpdate);
         }
         if (newResource.getResourceType().isAtomicType() && !newResource.getName().equals("Root")
@@ -3917,7 +3897,7 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
             }
             return responseFormat;
         } finally {
-            if (result == null || result != StorageOperationStatus.OK) {
+            if (!StorageOperationStatus.OK.equals(result)) {
                 janusGraphDao.rollback();
             } else {
                 janusGraphDao.commit();
@@ -3957,7 +3937,7 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
                 failed = true;
                 throw e;
             } finally {
-                if (failed || result == null || result != StorageOperationStatus.OK) {
+                if (failed || !StorageOperationStatus.OK.equals(result)) {
                     janusGraphDao.rollback();
                 } else {
                     janusGraphDao.commit();
@@ -3978,7 +3958,7 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
             return Either.right(
                 componentsUtils.getResponseFormatByResource(componentsUtils.convertFromStorageResponse(storageStatus.right().value()), resourceId));
         }
-        if (!(storageStatus.left().value() instanceof Resource)) {
+        if (storageStatus.left().value() == null) {
             return Either.right(componentsUtils
                 .getResponseFormatByResource(componentsUtils.convertFromStorageResponse(StorageOperationStatus.NOT_FOUND), resourceId));
         }
@@ -4541,13 +4521,14 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
             }
             List<CategoryDefinition> categoryList = categories.left().value();
             Optional<CategoryDefinition> foundCategory = categoryList.stream().filter(cat -> cat.getName().equals(category.getName())).findFirst();
-            if (!foundCategory.isPresent()) {
+            if (foundCategory.isEmpty()) {
                 log.debug("Category {} is not part of resource category group. Resource category valid values are {}", category, categoryList);
                 failOnInvalidCategory(user, resource, actionEnum);
+                return; // explisite output even if failOnInvalidCategory throw an exception
             }
             Optional<SubCategoryDefinition> foundSubcategory = foundCategory.get().getSubcategories().stream()
                 .filter(subcat -> subcat.getName().equals(subcategory.getName())).findFirst();
-            if (!foundSubcategory.isPresent()) {
+            if (foundSubcategory.isEmpty()) {
                 log.debug("SubCategory {} is not part of resource category group. Resource subcategory valid values are {}", subcategory,
                     foundCategory.get().getSubcategories());
                 failOnInvalidCategory(user, resource, actionEnum);
@@ -4789,7 +4770,7 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
         ResponseFormat responseFormat = null;
         ImmutablePair<String, Boolean> propertyInnerTypeValid = propertyOperation.isPropertyInnerTypeValid(property, allDataTypes);
         innerType = propertyInnerTypeValid.getLeft();
-        if (!propertyInnerTypeValid.getRight().booleanValue()) {
+        if (!propertyInnerTypeValid.getRight()) {
             log.info("Invalid inner type for property {}", property);
             responseFormat = componentsUtils.getResponseFormat(ActionStatus.INVALID_PROPERTY_INNER_TYPE, innerType, property.getName());
         }
index 71c41ca..61243d4 100644 (file)
@@ -136,7 +136,8 @@ public class CheckinTransition extends LifeCycleTransition {
                     owner.getUserId());
             return Either.right(error);
         }
-        if (oldState.equals(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT) && !modifier.getUserId().equals(owner.getUserId()) && !modifier.getRole()
+        // here oldState == NOT_CERTIFIED_CHECKOUT because of previous if with a return
+        if (!modifier.getUserId().equals(owner.getUserId()) && !modifier.getRole()
             .equals(Role.ADMIN.name())) {
             ResponseFormat error = componentUtils
                 .getResponseFormat(ActionStatus.COMPONENT_CHECKOUT_BY_ANOTHER_USER, componentName, componentType.name().toLowerCase(),
index 045658d..9e8c0e6 100644 (file)
@@ -28,7 +28,7 @@ public class MapUtils {
         if (source == null && target == null) {
             return true;
         }
-        if ((source == null && target != null) || source != null && target == null || source.keySet().size() != target.keySet().size()) {
+        if (source == null || target == null || source.keySet().size() != target.keySet().size()) {
             return false;
         }
         for (Map.Entry<String, Object> entry : source.entrySet()) {
@@ -48,7 +48,7 @@ public class MapUtils {
         if (source == null && target == null) {
             return true;
         }
-        if ((source == null && target != null) || source != null && target == null || source.size() != target.size()) {
+        if (source == null || target == null || source.size() != target.size()) {
             return false;
         }
         for (int i = 0; i < source.size(); i++) {
@@ -68,7 +68,7 @@ public class MapUtils {
         if (sourceObj == null && targetObj == null) {
             return true;
         }
-        if (sourceObj == null && targetObj != null) {
+        if (sourceObj == null) {
             return false;
         }
         if (sourceObj.getClass().equals(targetObj.getClass())) {
@@ -81,9 +81,6 @@ public class MapUtils {
                     return false;
                 }
             } else {
-                if (sourceObj.getClass() != targetObj.getClass()) {
-                    return false;
-                }
                 if (!sourceObj.equals(targetObj)) {
                     return false;
                 }
index 2bb28dd..b444532 100644 (file)
@@ -741,18 +741,23 @@ public class ArtifactExternalServlet extends AbstractValidationsServlet {
             responseWrapper.setInnerElement(buildErrorResponse(responseFormat));
         }
         ResourceCommonInfo resourceCommonInfo = new ResourceCommonInfo(componentTypeValue);
-        try {
-            if (responseWrapper.isEmpty()) {
-                byte[] value = artifactsBusinessLogic.downloadComponentArtifactByUUIDs(componentType, uuid, artifactUUID, resourceCommonInfo);
-                InputStream is = new ByteArrayInputStream(value);
-                Map<String, String> headers = new HashMap<>();
-                headers.put(Constants.MD5_HEADER, GeneralUtility.calculateMD5Base64EncodedByByteArray(value));
-                responseFormat = getComponentsUtils().getResponseFormat(ActionStatus.OK);
-                responseWrapper.setInnerElement(buildOkResponse(responseFormat, is, headers));
-            }
+        if (!responseWrapper.isEmpty()) {
+            getComponentsUtils().auditExternalDownloadArtifact(responseFormat,
+                    resourceCommonInfo, new DistributionData(instanceIdHeader, requestURI),
+                    requestId, artifactUUID, userId);
+            return responseWrapper.getInnerElement();
+        }
+        byte[] value = artifactsBusinessLogic.downloadComponentArtifactByUUIDs(componentType, uuid, artifactUUID, resourceCommonInfo);
+        try (InputStream is = new ByteArrayInputStream(value)) {
+            Map<String, String> headers = new HashMap<>();
+            headers.put(Constants.MD5_HEADER, GeneralUtility.calculateMD5Base64EncodedByByteArray(value));
+            responseFormat = getComponentsUtils().getResponseFormat(ActionStatus.OK);
+            responseWrapper.setInnerElement(buildOkResponse(responseFormat, is, headers));
         } catch (ComponentException e) {
             responseFormat = getComponentsUtils().getResponseFormat(e);
             throw e;
+        } catch (IOException e) {
+            log.debug("close ByteArrayInputStream error");
         } finally {
             getComponentsUtils()
                 .auditExternalDownloadArtifact(responseFormat, resourceCommonInfo, new DistributionData(instanceIdHeader, requestURI), requestId,
@@ -805,19 +810,23 @@ public class ArtifactExternalServlet extends AbstractValidationsServlet {
             responseFormat = getComponentsUtils().getResponseFormat(ActionStatus.MISSING_X_ECOMP_INSTANCE_ID);
             responseWrapper.setInnerElement(buildErrorResponse(responseFormat));
         }
-        try {
-            if (responseWrapper.isEmpty()) {
-                byte[] value = artifactsBusinessLogic
-                    .downloadResourceInstanceArtifactByUUIDs(componentType, uuid, resourceInstanceName, artifactUUID);
-                InputStream is = new ByteArrayInputStream(value);
-                Map<String, String> headers = new HashMap<>();
-                headers.put(Constants.MD5_HEADER, GeneralUtility.calculateMD5Base64EncodedByByteArray(value));
-                responseFormat = getComponentsUtils().getResponseFormat(ActionStatus.OK);
-                responseWrapper.setInnerElement(buildOkResponse(responseFormat, is, headers));
-            }
+        if (!responseWrapper.isEmpty()) {
+            getComponentsUtils().auditExternalDownloadArtifact(responseFormat, new ResourceCommonInfo(resourceInstanceName, componentTypeValue),
+                    new DistributionData(instanceIdHeader, requestURI), requestId, artifactUUID, userId);
+            return responseWrapper.getInnerElement();
+        }
+        byte[] value = artifactsBusinessLogic
+                .downloadResourceInstanceArtifactByUUIDs(componentType, uuid, resourceInstanceName, artifactUUID);
+        try (InputStream is = new ByteArrayInputStream(value)) {
+            Map<String, String> headers = new HashMap<>();
+            headers.put(Constants.MD5_HEADER, GeneralUtility.calculateMD5Base64EncodedByByteArray(value));
+            responseFormat = getComponentsUtils().getResponseFormat(ActionStatus.OK);
+            responseWrapper.setInnerElement(buildOkResponse(responseFormat, is, headers));
         } catch (ComponentException e) {
             responseFormat = getComponentsUtils().getResponseFormat(e);
             throw e;
+        } catch (IOException e) {
+            log.debug("close ByteArrayInputStream error");
         } finally {
             getComponentsUtils().auditExternalDownloadArtifact(responseFormat, new ResourceCommonInfo(resourceInstanceName, componentTypeValue),
                 new DistributionData(instanceIdHeader, requestURI), requestId, artifactUUID, userId);
index 77b36f0..bd61ad6 100644 (file)
@@ -156,7 +156,7 @@ public class LifecycleServlet extends BeGenericServlet {
             try {
                 value = RepresentationUtils.toRepresentation(componentMetatdata);
             } catch (IOException e) {
-                e.printStackTrace();
+                log.debug("toRepresentation of componentMetatdata error :", e);
             }
             response = buildOkResponse(getComponentsUtils().getResponseFormat(ActionStatus.OK), value);
             loggerSupportability
index b083fbf..282efc4 100644 (file)
@@ -135,7 +135,7 @@ public class CsarUtils {
     private static final String TOSCA_META_VERSION = "1.0";
     private static final String CSAR_VERSION = "1.1";
     // add manifest
-    private static final String Service_Manifest = "NS.mf";
+    private static final String SERVICE_MANIFEST = "NS.mf";
     private static final String DEFINITION = "Definitions";
     private static final String DEL_PATTERN = "([/\\\\]+)";
     private static final String WORD_PATTERN = "\\w\\_\\@\\-\\.\\s]+)";
@@ -173,7 +173,8 @@ public class CsarUtils {
 
     public CsarUtils() {
         if (SDC_VERSION != null && !SDC_VERSION.isEmpty()) {
-            Matcher matcher = Pattern.compile("(?!\\.)(\\d+(\\.\\d+)+)(?![\\d\\.])").matcher(SDC_VERSION);
+            // change regex to avoid DoS sonar issue
+            Matcher matcher = Pattern.compile("(?!\\.)(\\d{1,9}(\\.\\d{1,9}){1,9})(?![\\d\\.])").matcher(SDC_VERSION);
             matcher.find();
             setVersionFirstThreeOctets(matcher.group(0));
         } else {
@@ -478,7 +479,7 @@ public class CsarUtils {
             String nsMfBlock0 = createNsMfBlock0(serviceName, createdBy, serviceVersion, releaseTime, serviceType, description, serviceTemplate,
                 hash);
             byte[] nsMfBlock0Byte = nsMfBlock0.getBytes();
-            zip.putNextEntry(new ZipEntry(Service_Manifest));
+            zip.putNextEntry(new ZipEntry(SERVICE_MANIFEST));
             zip.write(nsMfBlock0Byte);
         }
     }
index 8a748ed..8cda46f 100644 (file)
@@ -30,9 +30,6 @@ public class ToscaCapability {
     private List<String> valid_source_types;
     private Map<String, ToscaProperty> properties;
 
-    public ToscaCapability() {
-    }
-
     public List<String> getValid_source_types() {
         return valid_source_types;
     }
index d41f3ce..548048d 100644 (file)
@@ -32,10 +32,6 @@ import org.openecomp.sdc.be.resources.data.auditing.model.ResourceVersionInfo;
 
 public class AuditResourceEventFactoryManangerTest {
 
-       private AuditResourceEventFactoryManager createTestSubject() {
-               return new AuditResourceEventFactoryManager();
-       }
-
        @Test
        public void testCreateResourceEventFactory() throws Exception {
                AuditingActionEnum action = null;
index 7bcb8aa..9abf528 100644 (file)
@@ -26,12 +26,14 @@ import lombok.Getter;
 import lombok.Setter;
 import lombok.ToString;
 
+import java.io.Serializable;
+
 @Getter
 @Setter
 @ToString
 @AllArgsConstructor
 @EqualsAndHashCode
-public class CatalogUpdateTimestamp {
+public class CatalogUpdateTimestamp implements Serializable {
 
     @JsonProperty("previousUpdateTime")
     private long previousUpdateTime;
index a75ed9f..51623a5 100644 (file)
@@ -19,6 +19,7 @@
  */
 package org.openecomp.sdc.be.model;
 
+import java.io.Serializable;
 import java.util.List;
 import java.util.Map;
 import java.util.Optional;
@@ -37,7 +38,7 @@ import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
 @Setter
 @EqualsAndHashCode(callSuper = true)
 @ToString
-public class Resource extends Component {
+public class Resource extends Component implements Serializable {
 
     /**
      * Please note that more than one "derivedFrom" resource is not currently supported by the app. The first list element is always addressed.
index 2840ccd..7fa1a87 100644 (file)
@@ -21,6 +21,8 @@ package org.openecomp.sdc.exception;
 
 import lombok.Setter;
 
+import java.io.Serializable;
+
 /**
  * Nested POJOs to express required JSON format of the error
  * <p>
@@ -28,7 +30,7 @@ import lombok.Setter;
  *
  * @author paharoni
  */
-public class ResponseFormat {
+public class ResponseFormat implements Serializable {
 
     @Setter
     private int status;
@@ -110,7 +112,7 @@ public class ResponseFormat {
         return this.requestErrorWrapper.requestError.policyException.getMessageId();
     }
 
-    public class RequestErrorWrapper {
+    public class RequestErrorWrapper implements Serializable {
 
         private RequestError requestError;
 
@@ -143,7 +145,7 @@ public class ResponseFormat {
         }
     }
 
-    public class RequestError {
+    public class RequestError implements Serializable {
 
         @SuppressWarnings("unused")
         private PolicyException policyException;