Fixing sonar Exception Handling 85/27185/6
authoravigaffa <avi.gaffa@amdocs.com>
Sun, 31 Dec 2017 13:07:39 +0000 (15:07 +0200)
committervempo <vitaliy.emporopulo@amdocs.com>
Tue, 2 Jan 2018 07:41:41 +0000 (09:41 +0200)
Change-Id: I04eb047973a3f5c07dd9dc410cb13af974e8ded1
Issue-ID: SDC-810
Signed-off-by: avigaffa <avi.gaffa@amdocs.com>
Signed-off-by: vempo <vitaliy.emporopulo@amdocs.com>
17 files changed:
openecomp-be/lib/openecomp-common-lib/src/main/java/org/openecomp/sdc/common/errors/SdcConfigurationException.java [new file with mode: 0644]
openecomp-be/lib/openecomp-common-lib/src/main/java/org/openecomp/sdc/common/errors/SdcRuntimeException.java
openecomp-be/lib/openecomp-core-lib/openecomp-facade-lib/openecomp-facade-api/src/main/java/org/openecomp/core/factory/impl/AbstractFactoryBase.java
openecomp-be/lib/openecomp-core-lib/openecomp-facade-lib/openecomp-facade-core/src/main/java/org/openecomp/core/factory/FactoriesConfigImpl.java
openecomp-be/lib/openecomp-core-lib/openecomp-facade-lib/openecomp-facade-core/src/main/java/org/openecomp/core/factory/api/AbstractComponentFactory.java
openecomp-be/lib/openecomp-core-lib/openecomp-nosqldb-lib/openecomp-nosqldb-core/src/main/java/org/openecomp/core/nosqldb/impl/cassandra/CassandraSessionFactory.java
openecomp-be/lib/openecomp-core-lib/openecomp-utilities-lib/src/main/java/org/openecomp/core/utilities/CommonMethods.java
openecomp-be/lib/openecomp-core-lib/openecomp-utilities-lib/src/main/java/org/openecomp/core/utilities/file/FileUtils.java
openecomp-be/lib/openecomp-core-lib/openecomp-utilities-lib/src/test/java/org/openecomp/core/utilities/CommonMethodsTest.java
openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-core/src/main/java/org/openecomp/core/zusammen/db/impl/ZusammenConnectorImpl.java
openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/ZusammenPluginUtil.java
openecomp-be/lib/openecomp-sdc-model-lib/openecomp-sdc-model-api/src/main/java/org/openecomp/core/model/types/EnrichedServiceArtifactEntity.java
openecomp-be/lib/openecomp-sdc-model-lib/openecomp-sdc-model-api/src/main/java/org/openecomp/core/model/types/EnrichedServiceTemplateEntity.java
openecomp-be/lib/openecomp-sdc-model-lib/openecomp-sdc-model-api/src/main/java/org/openecomp/core/model/types/ServiceArtifactEntity.java
openecomp-be/lib/openecomp-sdc-model-lib/openecomp-sdc-model-api/src/main/java/org/openecomp/core/model/types/ServiceTemplateEntity.java
openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/main/java/org/openecomp/core/impl/ToscaConverterUtil.java
openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/services/impl/ToscaAnalyzerServiceImpl.java

diff --git a/openecomp-be/lib/openecomp-common-lib/src/main/java/org/openecomp/sdc/common/errors/SdcConfigurationException.java b/openecomp-be/lib/openecomp-common-lib/src/main/java/org/openecomp/sdc/common/errors/SdcConfigurationException.java
new file mode 100644 (file)
index 0000000..4fb8cad
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+ * Copyright © 2016-2017 European Support Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.openecomp.sdc.common.errors;
+
+public class SdcConfigurationException extends RuntimeException {
+
+  public SdcConfigurationException(String message) {
+    super(message);
+  }
+
+  public SdcConfigurationException(String message, Throwable cause) {
+    super(message, cause);
+  }
+
+  public SdcConfigurationException(Throwable cause) {
+    super(cause);
+  }
+}
index 6e41d58..f71dd45 100644 (file)
@@ -1,9 +1,6 @@
-/*-
- * ============LICENSE_START=======================================================
- * SDC
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
+/*
+ * Copyright © 2016-2017 European Support Limited
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- * ============LICENSE_END=========================================================
  */
 
 package org.openecomp.sdc.common.errors;
 
 public class SdcRuntimeException extends RuntimeException {
-  public SdcRuntimeException() {
-  }
 
   public SdcRuntimeException(String message) {
     super(message);
@@ -35,8 +29,4 @@ public class SdcRuntimeException extends RuntimeException {
   public SdcRuntimeException(Throwable cause) {
     super(cause);
   }
-
-  public SdcRuntimeException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
-    super(message, cause, enableSuppression, writableStackTrace);
-  }
 }
index 7b53f34..cff9da0 100644 (file)
@@ -1,26 +1,23 @@
-/*-
- * ============LICENSE_START=======================================================
- * SDC
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
+/*
+ * Copyright © 2016-2017 European Support Limited
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- * ============LICENSE_END=========================================================
  */
 
 package org.openecomp.core.factory.impl;
 
 
+import org.apache.commons.lang3.StringUtils;
 import org.openecomp.sdc.common.errors.CoreException;
 import org.openecomp.sdc.common.errors.ErrorCategory;
 import org.openecomp.sdc.common.errors.ErrorCode;
@@ -29,7 +26,6 @@ import java.util.Collection;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
-import static org.openecomp.core.utilities.CommonMethods.isEmpty;
 import static org.openecomp.core.utilities.CommonMethods.newInstance;
 
 public abstract class AbstractFactoryBase {
@@ -39,13 +35,12 @@ public abstract class AbstractFactoryBase {
    * types to allow unloading of those classes from memory by garbage collector if factory is not
    * actually used.
    */
-  private static Map<String, String> registry = new ConcurrentHashMap<String, String>();
+  private static final Map<String, String> REGISTRY = new ConcurrentHashMap<>();
 
   /**
    * Cached factory instances.
    */
-  private static Map<String, AbstractFactoryBase> factoryMap =
-      new ConcurrentHashMap<String, AbstractFactoryBase>();
+  private static final Map<String, AbstractFactoryBase> FACTORY_MAP = new ConcurrentHashMap<>();
 
   /**
    * Registers implementor for an abstract factory. The method accepts Java classes rather then
@@ -69,15 +64,15 @@ public abstract class AbstractFactoryBase {
           new ErrorCode.ErrorCodeBuilder().withId("E0001").withMessage("Mandatory input impl.")
               .withCategory(ErrorCategory.SYSTEM).build());
     }
-    if (factoryMap != null && factoryMap.containsKey(factory.getName())) {
-      factoryMap.remove(factory.getName());
+    if (FACTORY_MAP.containsKey(factory.getName())) {
+      FACTORY_MAP.remove(factory.getName());
     }
-    registry.put(factory.getName(), impl.getName());
+    REGISTRY.put(factory.getName(), impl.getName());
   } // registerFactory
 
   // TODO: Remove
   protected static void registerFactory(String factoryName, String implName) {
-    registry.put(factoryName, implName);
+    REGISTRY.put(factoryName, implName);
   } // registerFactory
 
   /**
@@ -92,9 +87,8 @@ public abstract class AbstractFactoryBase {
           new ErrorCode.ErrorCodeBuilder().withId("E0001").withMessage("Mandatory input factory.")
               .withCategory(ErrorCategory.SYSTEM).build());
     }
-    if (factoryMap != null) {
-      factoryMap.remove(factory.getName());
-    }
+
+    FACTORY_MAP.remove(factory.getName());
   }
 
   /**
@@ -115,18 +109,18 @@ public abstract class AbstractFactoryBase {
 
     }
     // Pick up factory instance from cache
-    F factory = (F) factoryMap.get(factoryType.getName());
+    F factory = (F) FACTORY_MAP.get(factoryType.getName());
     // Check for the first time access
     if (factory == null) {
       // Synchronize factory instantiation
       synchronized (factoryType) {
         // Re-check the factory instance
-        factory = (F) factoryMap.get(factoryType.getName());
+        factory = (F) FACTORY_MAP.get(factoryType.getName());
         if (factory == null) {
           // Get the implementation class name
-          String implName = registry.get(factoryType.getName());
+          String implName = REGISTRY.get(factoryType.getName());
 
-          if (isEmpty(implName)) {
+          if (StringUtils.isEmpty(implName)) {
             throw new CoreException(
                 new ErrorCode.ErrorCodeBuilder().withId("E0001")
                     .withMessage("Mandatory input factory implementation.")
@@ -138,7 +132,7 @@ public abstract class AbstractFactoryBase {
           factory.init();
 
           // Cache the instantiated singleton
-          factoryMap.put(factoryType.getName(), factory);
+          FACTORY_MAP.put(factoryType.getName(), factory);
         }
       }
     }
@@ -164,14 +158,14 @@ public abstract class AbstractFactoryBase {
               .build());
     }
     // Pick up factory instance from cache
-    F factory = (F) factoryMap.get(factoryType.getName());
+    F factory = (F) FACTORY_MAP.get(factoryType.getName());
     // Check for the first time access
     if (factory != null) {
       isFactoryRegistered = true;
     } else {
       // Get the implementation class name
-      String implName = registry.get(factoryType.getName());
-      if (!isEmpty(implName)) {
+      String implName = REGISTRY.get(factoryType.getName());
+      if (StringUtils.isNotEmpty(implName)) {
         isFactoryRegistered = true;
       }
     }
@@ -182,16 +176,20 @@ public abstract class AbstractFactoryBase {
    * Stop all.
    */
   public static void stopAll() {
-    Collection<AbstractFactoryBase> factorylist = factoryMap.values();
+    Collection<AbstractFactoryBase> factorylist = FACTORY_MAP.values();
     for (AbstractFactoryBase factory : factorylist) {
       factory.stop();
     }
   }
 
   protected void init() {
+    // allows custom initialization
+    // noop by default
   }
 
   protected void stop() {
+    // allows custom shutdown
+    // noop by default
   }
 
 }
index b9d03f4..15b9f8c 100644 (file)
@@ -1,21 +1,17 @@
-/*-
- * ============LICENSE_START=======================================================
- * SDC
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
+/*
+ * Copyright © 2016-2017 European Support Limited
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- * ============LICENSE_END=========================================================
  */
 
 package org.openecomp.core.factory;
@@ -24,6 +20,7 @@ package org.openecomp.core.factory;
 import org.openecomp.core.factory.api.FactoriesConfiguration;
 import org.openecomp.core.utilities.file.FileUtils;
 import org.openecomp.core.utilities.json.JsonUtil;
+import org.openecomp.sdc.common.errors.SdcConfigurationException;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -36,7 +33,7 @@ public final class FactoriesConfigImpl implements FactoriesConfiguration {
 
 
   private static final String FACTORY_CONFIG_FILE_NAME = "factoryConfiguration.json";
-  private static Map factoryMap = new HashMap();
+  private static final Map FACTORY_MAP = new HashMap();
   private static boolean initialized = false;
 
   @SuppressWarnings("unchecked")
@@ -48,7 +45,7 @@ public final class FactoriesConfigImpl implements FactoriesConfiguration {
         initialized = true;
       }
     }
-    return factoryMap;
+    return FACTORY_MAP;
   }
 
   private void init() {
@@ -57,9 +54,9 @@ public final class FactoriesConfigImpl implements FactoriesConfiguration {
     for (URL factoryConfigUrl : factoryConfigUrlList) {
 
       try (InputStream stream = factoryConfigUrl.openStream()) {
-        factoryMap.putAll(JsonUtil.json2Object(stream, Map.class));
+        FACTORY_MAP.putAll(JsonUtil.json2Object(stream, Map.class));
       } catch (IOException e) {
-        throw new RuntimeException(e);
+        throw new SdcConfigurationException("Failed to initialize Factory from '" + factoryConfigUrl.getPath() +"'", e);
       }
     }
   }
index 102c6db..24f71e7 100644 (file)
@@ -16,6 +16,7 @@
 
 package org.openecomp.core.factory.api;
 
+import org.apache.commons.lang3.StringUtils;
 import org.openecomp.core.factory.FactoryConfig;
 import org.openecomp.core.factory.impl.AbstractFactoryBase;
 import org.openecomp.core.utilities.CommonMethods;
@@ -66,7 +67,7 @@ public abstract class AbstractComponentFactory<I> extends AbstractFactory<I> {
           String abstractClassName = entry.getKey();
           String concreteTypeName = entry.getValue();
 
-          if (CommonMethods.isEmpty(concreteTypeName)) {
+          if (StringUtils.isEmpty(concreteTypeName)) {
             throw new CoreException(
                 new ErrorCode.ErrorCodeBuilder().withId("E0003")
                     .withMessage("Missing configuration value:" + concreteTypeName + ".")
index 519d7b1..c6b9160 100644 (file)
@@ -1,21 +1,17 @@
-/*-
- * ============LICENSE_START=======================================================
- * SDC
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
+/*
+ * Copyright © 2016-2017 European Support Limited
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- * ============LICENSE_END=========================================================
  */
 
 package org.openecomp.core.nosqldb.impl.cassandra;
@@ -28,147 +24,143 @@ import com.datastax.driver.core.Session;
 import com.datastax.driver.core.policies.DCAwareRoundRobinPolicy;
 import com.datastax.driver.core.policies.LoadBalancingPolicy;
 import com.datastax.driver.core.policies.TokenAwarePolicy;
-import com.google.common.base.Optional;
 import org.openecomp.core.nosqldb.util.CassandraUtils;
+import org.openecomp.sdc.common.errors.SdcConfigurationException;
 import org.openecomp.sdc.logging.api.Logger;
 import org.openecomp.sdc.logging.api.LoggerFactory;
 
 import javax.net.ssl.SSLContext;
 import javax.net.ssl.TrustManagerFactory;
 import java.io.FileInputStream;
-import java.io.IOException;
-import java.security.KeyManagementException;
 import java.security.KeyStore;
-import java.security.KeyStoreException;
-import java.security.NoSuchAlgorithmException;
 import java.security.SecureRandom;
-import java.security.UnrecoverableKeyException;
-import java.security.cert.CertificateException;
 import java.util.Objects;
+import java.util.Optional;
 
 public class CassandraSessionFactory {
 
-  private static final Logger log = (Logger) LoggerFactory.getLogger
-      (CassandraSessionFactory.class.getName());
-
-  public static Session getSession() {
-    return ReferenceHolder.CASSANDRA;
-  }
-
-  /**
-   * New cassandra session session.
-   *
-   * @return the session
-   */
-  public static Session newCassandraSession() {
-    Cluster.Builder builder = Cluster.builder();
-    String[] addresses = CassandraUtils.getAddresses();
-    for (String address : addresses) {
-      builder.addContactPoint(address);
-    }
+    private static final Logger LOGGER = LoggerFactory.getLogger(CassandraSessionFactory.class);
 
-    //Check if ssl
-    Boolean isSsl = CassandraUtils.isSsl();
-    if (isSsl) {
-      builder.withSSL(getSslOptions().get());
+    private CassandraSessionFactory() {
+        // static methods, cannot be instantiated
     }
-    int port = CassandraUtils.getCassandraPort();
-    if (port > 0) {
-      builder.withPort(port);
+
+    public static Session getSession() {
+        return ReferenceHolder.CASSANDRA;
     }
-    //Check if user/pass
-    Boolean isAuthenticate = CassandraUtils.isAuthenticate();
-    if (isAuthenticate) {
-      builder.withCredentials(CassandraUtils.getUser(), CassandraUtils.getPassword());
+
+    /**
+     * New cassandra session session.
+     *
+     * @return the session
+     */
+    public static Session newCassandraSession() {
+        Cluster.Builder builder = Cluster.builder();
+        String[] addresses = CassandraUtils.getAddresses();
+        for (String address : addresses) {
+            builder.addContactPoint(address);
+        }
+
+        //Check if ssl
+        Boolean isSsl = CassandraUtils.isSsl();
+        if (isSsl) {
+            builder.withSSL(getSslOptions());
+        }
+        int port = CassandraUtils.getCassandraPort();
+        if (port > 0) {
+            builder.withPort(port);
+        }
+        //Check if user/pass
+        Boolean isAuthenticate = CassandraUtils.isAuthenticate();
+        if (isAuthenticate) {
+            builder.withCredentials(CassandraUtils.getUser(), CassandraUtils.getPassword());
+        }
+
+        setConsistencyLevel(builder, addresses);
+
+        setLocalDataCenter(builder);
+
+
+        Cluster cluster = builder.build();
+        String keyStore = CassandraUtils.getKeySpace();
+        return cluster.connect(keyStore);
     }
 
-    setConsistencyLevel(builder, addresses);
+    private static void setLocalDataCenter(Cluster.Builder builder) {
+        String localDataCenter = CassandraUtils.getLocalDataCenter();
+        if (Objects.nonNull(localDataCenter)) {
+            LOGGER.info("localDatacenter was provided, setting Cassndra client to use datacenter: {} as " +
+                    "local.", localDataCenter);
+
+            LoadBalancingPolicy tokenAwarePolicy = new TokenAwarePolicy(
+                    DCAwareRoundRobinPolicy.builder().withLocalDc(localDataCenter).build());
+            builder.withLoadBalancingPolicy(tokenAwarePolicy);
+        } else {
+            LOGGER.info(
+                    "localDatacenter was provided,  the driver will use the datacenter of the first contact " +
+                            "point that was reached at initialization");
+        }
+    }
 
-    setLocalDataCenter(builder);
+    private static void setConsistencyLevel(Cluster.Builder builder, String[] addresses) {
+        if (addresses != null && addresses.length > 1) {
+            String consistencyLevel = CassandraUtils.getConsistencyLevel();
+            if (Objects.nonNull(consistencyLevel)) {
+                LOGGER.info(
+                        "consistencyLevel was provided, setting Cassandra client to use consistencyLevel: {}" +
+                                " as "
+                        , consistencyLevel);
+                builder.withQueryOptions(new QueryOptions().setConsistencyLevel(ConsistencyLevel.valueOf
+                        (consistencyLevel)));
+            }
+        }
+    }
 
+    private static SSLOptions getSslOptions() {
 
-    Cluster cluster = builder.build();
-    String keyStore = CassandraUtils.getKeySpace();
-    return cluster.connect(keyStore);
-  }
+        Optional<String> trustStorePath = Optional.ofNullable(CassandraUtils.getTruststore());
+        if (!trustStorePath.isPresent()) {
+            throw new SdcConfigurationException("Missing configuration for Cassandra trustStorePath");
+        }
 
-  private static void setLocalDataCenter(Cluster.Builder builder) {
-    String localDataCenter = CassandraUtils.getLocalDataCenter();
-    if (Objects.nonNull(localDataCenter)) {
-      log.info("localDatacenter was provided, setting Cassndra client to use datacenter: {} as " +
-          "local.", localDataCenter);
+        Optional<String> trustStorePassword = Optional.ofNullable(CassandraUtils.getTruststorePassword());
+        if (!trustStorePassword.isPresent()) {
+            throw new SdcConfigurationException("Missing configuration for Cassandra trustStorePassword");
+        }
 
-      LoadBalancingPolicy tokenAwarePolicy = new TokenAwarePolicy(
-          DCAwareRoundRobinPolicy.builder().withLocalDc(localDataCenter).build());
-      builder.withLoadBalancingPolicy(tokenAwarePolicy);
-    } else {
-      log.info(
-          "localDatacenter was provided,  the driver will use the datacenter of the first contact point that was reached at initialization");
-    }
-  }
-
-  private static void setConsistencyLevel(Cluster.Builder builder, String[] addresses) {
-    if (addresses != null && addresses.length > 1) {
-      String consistencyLevel = CassandraUtils.getConsistencyLevel();
-      if (Objects.nonNull(consistencyLevel)) {
-        log.info(
-            "consistencyLevel was provided, setting Cassandra client to use consistencyLevel: {}" +
-                " as "
-            , consistencyLevel);
-        builder.withQueryOptions(new QueryOptions().setConsistencyLevel(ConsistencyLevel.valueOf
-            (consistencyLevel)));
-      }
+        SSLContext context = getSslContext(trustStorePath.get(), trustStorePassword.get());
+        String[] css = new String[]{"TLS_RSA_WITH_AES_128_CBC_SHA"};
+        return new SSLOptions(context, css);
     }
-  }
-
-  private static Optional<SSLOptions> getSslOptions() {
-    Optional<String> truststorePath = Optional.of(CassandraUtils.getTruststore());
-    Optional<String> truststorePassword = Optional.of(CassandraUtils.getTruststorePassword());
-
-    if (truststorePath.isPresent() && truststorePassword.isPresent()) {
-      SSLContext context;
-      try {
-        context = getSslContext(truststorePath.get(), truststorePassword.get());
-      } catch (UnrecoverableKeyException | KeyManagementException
-          | NoSuchAlgorithmException | KeyStoreException | CertificateException
-          | IOException exception) {
-        throw new RuntimeException(exception);
-      }
-      String[] css = new String[]{"TLS_RSA_WITH_AES_128_CBC_SHA"};
-      return Optional.of(new SSLOptions(context, css));
-    }
-    return Optional.absent();
-  }
-
-  private static SSLContext getSslContext(String truststorePath, String truststorePassword)
-      throws NoSuchAlgorithmException, KeyStoreException, CertificateException, IOException,
-      UnrecoverableKeyException, KeyManagementException {
-    FileInputStream tsf = null;
-    SSLContext ctx = null;
-    try {
-      tsf = new FileInputStream(truststorePath);
-      ctx = SSLContext.getInstance("SSL");
-
-      KeyStore ts = KeyStore.getInstance("JKS");
-      ts.load(tsf, truststorePassword.toCharArray());
-      TrustManagerFactory tmf =
-          TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
-      tmf.init(ts);
-
-      ctx.init(null, tmf.getTrustManagers(), new SecureRandom());
-    } catch (Exception exception) {
-      log.debug("", exception);
-    } finally {
-      if (tsf != null) {
-        tsf.close();
-      }
+
+    private static SSLContext getSslContext(String truststorePath, String trustStorePassword) {
+
+        try (FileInputStream tsf = new FileInputStream(truststorePath)) {
+
+            SSLContext ctx = SSLContext.getInstance("SSL");
+
+            KeyStore ts = KeyStore.getInstance("JKS");
+            ts.load(tsf, trustStorePassword.toCharArray());
+            TrustManagerFactory tmf =
+                    TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
+            tmf.init(ts);
+
+            ctx.init(null, tmf.getTrustManagers(), new SecureRandom());
+            return ctx;
+
+        } catch (Exception exception) {
+            throw new SdcConfigurationException("Failed to get SSL Contexts for Cassandra connection", exception);
+        }
     }
-    return ctx;
-  }
 
-  private static class ReferenceHolder {
-    private static final Session CASSANDRA = newCassandraSession();
-  }
+    private static class ReferenceHolder {
+
+        private ReferenceHolder() {
+            // prevent instantiation
+        }
+
+        private static final Session CASSANDRA = newCassandraSession();
+    }
 
 
 }
index 5a17f88..7f207c5 100644 (file)
 
 package org.openecomp.core.utilities;
 
-import org.apache.commons.codec.binary.Base64;
 import org.apache.commons.collections4.MapUtils;
+import org.apache.commons.lang3.ArrayUtils;
+import org.apache.commons.lang3.StringUtils;
 
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.io.PrintWriter;
-import java.io.Serializable;
-import java.io.StringWriter;
 import java.lang.reflect.Array;
-import java.net.URL;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
@@ -49,7 +40,6 @@ public class CommonMethods {
       '0', '1', '2', '3', '4', '5', '6', '7',
       '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'
   };
-  private static final char[] hexArray = "0123456789ABCDEF".toCharArray();
 
   /**
    * Private default constructor to prevent instantiation of the class objects.
@@ -57,108 +47,6 @@ public class CommonMethods {
   private CommonMethods() {
   }
 
-  /**
-   * Serializes an object instance into byte array.
-   *
-   * @param object An instance to be serialized.
-   * @return Java array of bytes.
-   * @see #deserializeObject(byte[]) #deserializeObject(byte[])
-   */
-  public static byte[] serializeObject(Serializable object) {
-    ByteArrayOutputStream byteArray = new ByteArrayOutputStream(2048);
-    try {
-      ObjectOutputStream ds = new ObjectOutputStream(byteArray);
-      ds.writeObject(object);
-      ds.close();
-    } catch (IOException exception) {
-      throw new RuntimeException(exception);
-    }
-
-    return byteArray.toByteArray();
-  } // serializeObject
-
-  /**
-   * Deserializes an object instance.
-   *
-   * @param bytes Java array of bytes.
-   * @return Deserialized instance of an object.
-   * @see #serializeObject(Serializable) #serializeObject(Serializable)
-   */
-  public static Serializable deserializeObject(byte[] bytes) {
-    Serializable obj = null;
-    try {
-      ObjectInputStream stream = new ObjectInputStream(new ByteArrayInputStream(bytes));
-      obj = (Serializable) stream.readObject();
-      stream.close();
-    } catch (IOException | ClassNotFoundException exception) {
-      throw new RuntimeException(exception);
-    }
-
-    return obj;
-  } // deserializeObject
-
-  /**
-   * Encodes binary byte stream to ASCII format.
-   *
-   * @param binary An Java array of bytes in binary format.
-   * @return An Java array of bytes encoded in ASCII format.
-   * @see #decode(byte[]) #decode(byte[])
-   */
-  public static byte[] encode(byte[] binary) {
-    return Base64.encodeBase64(binary);
-  }
-
-  /**
-   * Decodes ASCII byte stream into binary format.
-   *
-   * @param ascii An Java array of bytes in ASCII format.
-   * @return An Java array of bytes encoded in binary format.
-   * @see #encode(byte[]) #encode(byte[])
-   */
-  public static byte[] decode(byte[] ascii) {
-    return Base64.decodeBase64(ascii);
-  }
-
-  /**
-   * Checks whether the given <tt>Object</tt> is empty.
-   *
-   * @param obj Object to be checked.
-   * @return <tt>true</tt> - if the Object is null, <tt>false</tt> otherwise.
-   */
-  public static boolean isEmpty(Object obj) {
-    return obj == null;
-  }
-
-  /**
-   * Checks whether the given <tt>Object</tt> is empty.
-   *
-   * @param byteArray Object to be checked.
-   * @return <tt>true</tt> - if the Object is null, <tt>false</tt> otherwise.
-   */
-  public static boolean isEmpty(byte[] byteArray) {
-    return byteArray == null || byteArray.length == 0;
-  }
-
-  /**
-   * Checks whether the given <tt>String</tt> is empty.
-   *
-   * @param str String object to be checked.
-   * @return <tt>true</tt> - if the String is null or empty, <tt>false</tt> - otherwise.
-   */
-  public static boolean isEmpty(String str) {
-    return str == null || str.length() == 0;
-  }
-
-  /**
-   * Checks whether the given Java array is empty.
-   *
-   * @param array Java array to be checked.
-   * @return <tt>true</tt> - if the array is null or empty, <tt>false</tt> - otherwise.
-   */
-  public static boolean isEmpty(Object[] array) {
-    return array == null || array.length == 0;
-  }
-
   /**
    * Checks whether the given collection is empty.
    *
@@ -169,49 +57,6 @@ public class CommonMethods {
     return collection == null || collection.isEmpty();
   }
 
-  /**
-   * Checks whether the given map is empty.
-   *
-   * @param map A map to be checked.
-   * @return <tt>true</tt> - if the map is null or empty, <tt>false</tt> - otherwise.
-   */
-  public static boolean isEmpty(Map<?, ?> map) {
-    return map == null || map.isEmpty();
-  }
-
-  /**
-   * Converts the array with Long elements to the array with long (primitive type).
-   *
-   * @param array input array with Long elements
-   * @return array with the same elements converted to the long type (primitive)
-   */
-  public static long[] toPrimitive(Long[] array) {
-    if (array == null) {
-      return null;
-    }
-
-    long[] result = new long[array.length];
-    for (int i = 0; i < array.length; i++) {
-      result[i] = array[i] != null ? array[i] : 0L;
-    }
-    return result;
-  }
-
-  /**
-   * Converts a collection to Java array.
-   *
-   * @param <T>  Java type of the collection element.
-   * @param col  Collection to be converted to array
-   * @param type Java type of collection/array element
-   * @return An Java array of collection elements, or empty array if collection is null or empty.
-   */
-  @SuppressWarnings("unchecked")
-  public static <T> T[] toArray(Collection<? extends T> col, Class<T> type) {
-    int length = isEmpty(col) ? 0 : col.size();
-    T[] array = (T[]) Array.newInstance(type, length);
-    return col != null ? col.toArray(array) : array;
-  }
-
   /**
    * Gets an universally unique identifier (UUID).
    *
@@ -233,7 +78,7 @@ public class CommonMethods {
       long nextByte = value & 0xF000000000000000L;
       value <<= 4;
       boolean isNegative = nextByte < 0;
-      nextByte = rightShift(nextByte, 60);
+      nextByte = nextByte >>> 60;
 
       if (isNegative) {
         nextByte |= 0x08;
@@ -243,10 +88,6 @@ public class CommonMethods {
     }
   }
 
-  private static long rightShift(long lng, int num) {
-    return lng >>> num;
-  }
-
   /**
    * Concatenates two Java arrays. The method allocates a new array and copies
    * all elements to it or returns one of input arrays if another one is
@@ -264,9 +105,9 @@ public class CommonMethods {
   public static <T> T[] concat(T[] left, T[] right) {
     T[] res;
 
-    if (isEmpty(left)) {
+    if (ArrayUtils.isEmpty(left)) {
       res = right;
-    } else if (isEmpty(right)) {
+    } else if (ArrayUtils.isEmpty(right)) {
       res = left;
     } else {
       res = (T[]) Array.newInstance(left[0].getClass(), left.length + right.length);
@@ -277,36 +118,6 @@ public class CommonMethods {
     return res;
   } // concat
 
-  /**
-   * Casts an object to the class or interface represented by the specified
-   * <tt>Class</tt> object. The method logic is similar to Java method
-   * <tt>Class.cast(Object)</tt> with the only difference that unlike Java's
-   * version the type name of the current object instance is specified in the
-   * error message if casting fails to simplify error tracking.
-   *
-   * @param <B> the type parameter
-   * @param <D> the type parameter
-   * @param b1  An object instance to be casted to the specified Java type.
-   * @param cls Target Java type.
-   * @return Object instance safely casted to the requested Java type.
-   * @throws ClassCastException In case which is the given object is not instance of the specified
-   *                            Java type.
-   */
-  @SuppressWarnings("unchecked")
-  public static <B, D> D cast(B b1, Class<D> cls) {
-    D d1 = null;
-    if (b1 != null) {
-      if (!cls.isInstance(b1)) {
-        throw new ClassCastException(String
-            .format("Failed to cast from '%s' to '%s'", b1.getClass().getName(), cls.getName()));
-      } else {
-        d1 = (D) b1;
-      }
-    }
-
-    return d1;
-  } // cast
-
   /**
    * New instance object.
    *
@@ -328,7 +139,7 @@ public class CommonMethods {
   @SuppressWarnings("unchecked")
   public static <T> T newInstance(String classname, Class<T> cls) {
 
-    if (isEmpty(classname)) {
+    if (StringUtils.isEmpty(classname)) {
       throw new IllegalArgumentException();
     }
 
@@ -367,33 +178,6 @@ public class CommonMethods {
     }
   }
 
-  /**
-   * Gets resources path.
-   *
-   * @param resourceName the resource name
-   * @return the resources path
-   */
-  public static String getResourcesPath(String resourceName) {
-    URL resourceUrl = CommonMethods.class.getClassLoader().getResource(resourceName);
-    return resourceUrl != null ? resourceUrl.getPath()
-        .substring(0, resourceUrl.getPath().lastIndexOf("/") + 1) : null;
-  }
-
-  /**
-   * Gets stack trace.
-   *
-   * @param throwable the throwable
-   * @return the stack trace
-   */
-  public static String getStackTrace(Throwable throwable) {
-    if (null == throwable) {
-      return "";
-    }
-    StringWriter sw = new StringWriter();
-    throwable.printStackTrace(new PrintWriter(sw));
-    return sw.toString();
-  }
-
   /**
    * Print stack trace string.
    *
@@ -409,25 +193,6 @@ public class CommonMethods {
     return sb.toString();
   }
 
-  /**
-   * Is equal object boolean.
-   *
-   * @param obj1 the obj 1
-   * @param obj2 the obj 2
-   * @return the boolean
-   */
-  public static boolean isEqualObject(Object obj1, Object obj2) {
-    boolean isEqualValue = false;
-    if (obj1 == null && obj2 == null) {
-      isEqualValue = true;
-    }
-
-    if (!isEqualValue && obj1 != null && obj2 != null && obj1.equals(obj2)) {
-      isEqualValue = true;
-    }
-    return isEqualValue;
-  }
-
   /**
    * Converts array of strings to comma-separated string.
    *
@@ -445,9 +210,7 @@ public class CommonMethods {
    * @return the string
    */
   public static String collectionToCommaSeparatedString(Collection<String> elementCollection) {
-    List<String> list = new ArrayList<>();
-    list.addAll(elementCollection);
-    return listToSeparatedString(list, ',');
+    return String.join(",", elementCollection);
   }
 
   /**
@@ -458,7 +221,7 @@ public class CommonMethods {
    * @return the string
    */
   public static String arrayToSeparatedString(String[] arr, char separator) {
-    return listToSeparatedString(Arrays.asList(arr), separator);
+    return String.join(Character.toString(separator), arr);
   }
 
   /**
@@ -469,19 +232,7 @@ public class CommonMethods {
    * @return the string
    */
   public static String listToSeparatedString(List<String> list, char separator) {
-    String res = null;
-    if (null != list) {
-      StringBuilder sb = new StringBuilder();
-      int sz = list.size();
-      for (int i = 0; i < sz; i++) {
-        if (i > 0) {
-          sb.append(separator);
-        }
-        sb.append(list.get(i));
-      }
-      res = sb.toString();
-    }
-    return res;
+    return String.join(Character.toString(separator), list);
   }
 
   /**
@@ -505,23 +256,6 @@ public class CommonMethods {
     return sb.toString();
   }
 
-  /**
-   * Bytes to hex string.
-   *
-   * @param bytes the bytes
-   * @return the string
-   */
-  public static String bytesToHex(byte[] bytes) {
-    char[] hexChars = new char[bytes.length * 2];
-    for (int j = 0; j < bytes.length; j++) {
-      int var = bytes[j] & 0xFF;
-      int x1 = j << 1;
-      hexChars[x1] = hexArray[var >>> 4];
-      hexChars[x1 + 1] = hexArray[var & 0x0F];
-    }
-    return new String(hexChars);
-  }
-
   /**
    * To single element set set.
    *
index 786def9..e70ad92 100644 (file)
@@ -1,21 +1,17 @@
-/*-
- * ============LICENSE_START=======================================================
- * SDC
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
+/*
+ * Copyright © 2016-2017 European Support Limited
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- * ============LICENSE_END=========================================================
  */
 
 package org.openecomp.core.utilities.file;
@@ -189,7 +185,7 @@ public class FileUtils {
       return IOUtils.toByteArray(input);
     } catch (IOException exception) {
       throw new RuntimeException(
-          "error will convertion input stream to byte array:" + exception.getMessage());
+          "error while converting input stream to byte array", exception);
     }
   }
 
@@ -203,7 +199,7 @@ public class FileUtils {
     if (!fileName.contains(".")) {
       return fileName;
     }
-    return fileName.substring(0, fileName.lastIndexOf("."));
+    return fileName.substring(0, fileName.lastIndexOf('.'));
   }
 
   public static String getFileExtension(String filename) {
@@ -264,7 +260,7 @@ public class FileUtils {
      */
     YML("yml");
 
-    private String displayName;
+    private final String displayName;
 
     FileExtension(String displayName) {
       this.displayName = displayName;
index c675f89..ff3584a 100644 (file)
@@ -18,14 +18,100 @@ package org.openecomp.core.utilities;
 
 import org.testng.annotations.Test;
 
+import java.util.Arrays;
+import java.util.Collections;
+
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNull;
 import static org.testng.Assert.assertTrue;
 
 public class CommonMethodsTest {
+
+  private static final String[] ARRAY = { "A", "B", "C" };
+
   @Test
-  public void testPrintStackTrace() throws Exception {
-    assertTrue(CommonMethods.printStackTrace().contains("org.openecomp.core.utilities" +
+  public void testPrintStackTrace() {
+
+    String trace = CommonMethods.printStackTrace();
+    assertTrue(trace.contains("org.openecomp.core.utilities" +
         ".CommonMethods.printStackTrace(CommonMethods.java:"));
-    assertTrue(CommonMethods.printStackTrace().contains("org.openecomp.core.utilities" +
+    assertTrue(trace.contains("org.openecomp.core.utilities" +
         ".CommonMethodsTest.testPrintStackTrace(CommonMethodsTest.java"));
   }
+
+  @Test
+  public void testArrayToCommaSeparatedString() {
+    assertEquals(CommonMethods.arrayToCommaSeparatedString(ARRAY), "A,B,C");
+  }
+
+  @Test
+  public void testArrayToCommaSeparatedStringEmpty() {
+    assertEquals(CommonMethods.arrayToCommaSeparatedString(new String[0]), "");
+  }
+
+  @Test
+  public void testArrayToCommaSeparatedStringNulls() {
+    assertEquals(CommonMethods.arrayToCommaSeparatedString(new String[] { null, null }), "null,null");
+  }
+
+  @Test
+  public void testArrayToCommaSeparatedStringEmptyStrings() {
+    assertEquals(CommonMethods.arrayToCommaSeparatedString(new String[] { "", "" }), ",");
+  }
+
+  @Test(expectedExceptions = NullPointerException.class)
+  public void testArrayToCommaSeparatedStringNull() {
+    CommonMethods.arrayToCommaSeparatedString(null);
+  }
+
+  @Test
+  public void testArrayToSeparatedString() {
+    assertEquals(CommonMethods.arrayToSeparatedString(ARRAY, '/'),"A/B/C");
+  }
+
+  @Test
+  public void testArrayToSeparatedStringEmpty() {
+    assertEquals(CommonMethods.arrayToSeparatedString(new String[0], '/'),"");
+  }
+
+  @Test
+  public void testArrayToSeparatedStringNulls() {
+    assertEquals(CommonMethods.arrayToSeparatedString(new String[] {null, null}, '/'),"null/null");
+  }
+
+  @Test
+  public void testArrayToSeparatedStringEmptyStrings() {
+    assertEquals(CommonMethods.arrayToSeparatedString(new String[] {"", ""}, '/'),"/");
+  }
+
+  @Test(expectedExceptions = NullPointerException.class)
+  public void testArrayToSeparatedStringNull() {
+    CommonMethods.arrayToSeparatedString(null, '/');
+  }
+
+  @Test
+  public void testCollectionToCommaSeparatedString() {
+    assertEquals(CommonMethods.collectionToCommaSeparatedString(Arrays.asList(ARRAY)), "A,B,C");
+  }
+
+  @Test
+  public void testCollectionToCommaSeparatedStringNulls() {
+    assertEquals(CommonMethods.collectionToCommaSeparatedString(Arrays.asList(null, null)), "null,null");
+  }
+
+  @Test
+  public void testCollectionToCommaSeparatedStringEmptyStrings() {
+    assertEquals(CommonMethods.collectionToCommaSeparatedString(Arrays.asList("", "")), ",");
+  }
+
+  @Test
+  public void testCollectionToCommaSeparatedStringEmtpy() {
+    assertEquals(CommonMethods.collectionToCommaSeparatedString(Collections.emptySet()), "");
+  }
+
+  @Test(expectedExceptions = NullPointerException.class)
+  public void testCollectionToCommaSeparatedStringNull() {
+    assertNull(CommonMethods.collectionToCommaSeparatedString(null));
+  }
+
 }
index fc0c2a1..e05d02d 100644 (file)
@@ -43,6 +43,7 @@ import com.amdocs.zusammen.datatypes.response.ReturnCode;
 import org.openecomp.core.zusammen.db.ZusammenConnector;
 import org.openecomp.core.zusammen.impl.CassandraConnectionInitializer;
 import org.openecomp.core.zusammen.impl.ItemElementLoggerTargetServiceName;
+import org.openecomp.sdc.common.errors.SdcRuntimeException;
 import org.openecomp.sdc.datatypes.error.ErrorLevel;
 import org.openecomp.sdc.logging.context.impl.MdcDataErrorMessage;
 import org.openecomp.sdc.logging.types.LoggerConstants;
@@ -87,7 +88,7 @@ public class ZusammenConnectorImpl implements ZusammenConnector {
   public Collection<Item> listItems(SessionContext context) {
     Response<Collection<Item>> response = itemAdaptorFactory.createInterface(context).list(context);
     if (!response.isSuccessful()) {
-      throw new RuntimeException(
+      throw new SdcRuntimeException(
           "Failed to list Items. message:" + response.getReturnCode().toString());
     }
     return response.getValue();
@@ -97,7 +98,7 @@ public class ZusammenConnectorImpl implements ZusammenConnector {
   public Item getItem(SessionContext context, Id itemId) {
     Response<Item> response = itemAdaptorFactory.createInterface(context).get(context, itemId);
     if (!response.isSuccessful()) {
-      throw new RuntimeException(
+      throw new SdcRuntimeException(
           "Failed to get Item. message:" + response.getReturnCode().toString());
     }
     return response.getValue();
@@ -107,7 +108,7 @@ public class ZusammenConnectorImpl implements ZusammenConnector {
   public Id createItem(SessionContext context, Info info) {
     Response<Id> response = itemAdaptorFactory.createInterface(context).create(context, info);
     if (!response.isSuccessful()) {
-      throw new RuntimeException(
+      throw new SdcRuntimeException(
           "Failed to create Item. message:" + response.getReturnCode().toString());
     }
     return response.getValue();
@@ -119,7 +120,7 @@ public class ZusammenConnectorImpl implements ZusammenConnector {
         itemAdaptorFactory.createInterface(context).update(context, itemId, info);
 
     if (!response.isSuccessful()) {
-      throw new RuntimeException("failed to update Item . ItemId:" + itemId + "" +
+      throw new SdcRuntimeException("failed to update Item . ItemId:" + itemId + "" +
           " message:" + response.getReturnCode().toString());
     }
   }
@@ -131,7 +132,8 @@ public class ZusammenConnectorImpl implements ZusammenConnector {
     if (!versions.isSuccessful()) {
       logErrorMessageToMdc(ItemElementLoggerTargetServiceName.ITEM_VERSION_RETRIEVAL, versions
           .getReturnCode());
-      throw new RuntimeException(versions.getReturnCode().toString());
+      throw new SdcRuntimeException("failed to list public versions. message: " +
+              versions.getReturnCode().toString());
     }
     return versions.getValue();
   }
@@ -141,7 +143,7 @@ public class ZusammenConnectorImpl implements ZusammenConnector {
     Response<ItemVersion> response = versionAdaptorFactory.createInterface(context)
         .get(context, Space.PUBLIC, itemId, versionId);
     if (!response.isSuccessful()) {
-      throw new RuntimeException(
+      throw new SdcRuntimeException(
           String.format("failed to get public Item Version. ItemId: %s, versionId: %s, message: %s",
               itemId.getValue(), versionId.getValue(), response.getReturnCode().toString()));
     }
@@ -156,7 +158,7 @@ public class ZusammenConnectorImpl implements ZusammenConnector {
     if (response.isSuccessful()) {
       return response.getValue();
     } else {
-      throw new RuntimeException(String.format(
+      throw new SdcRuntimeException(String.format(
           "failed to create Item Version. ItemId: %s, base versionId: %s, message: %s",
           itemId.getValue(), baseVersionId.getValue(), response.getReturnCode().toString()));
     }
@@ -168,7 +170,7 @@ public class ZusammenConnectorImpl implements ZusammenConnector {
     Response<Void> response = versionAdaptorFactory.createInterface(context)
         .update(context, itemId, versionId, itemVersionData);
     if (!response.isSuccessful()) {
-      throw new RuntimeException(
+      throw new SdcRuntimeException(
           String.format("failed to update Item Version. ItemId: %s, versionId: %s, message: %s",
               itemId.getValue(), versionId.getValue(), response.getReturnCode().toString()));
     }
@@ -179,7 +181,7 @@ public class ZusammenConnectorImpl implements ZusammenConnector {
     Response<ItemVersion> response = versionAdaptorFactory.createInterface(context)
         .get(context, Space.PRIVATE, itemId, versionId);
     if (!response.isSuccessful()) {
-      throw new RuntimeException(
+      throw new SdcRuntimeException(
           String.format("failed to get Item Version. ItemId: %s, versionId: %s, message: %s",
               itemId.getValue(), versionId.getValue(), response.getReturnCode().toString()));
     }
@@ -191,7 +193,7 @@ public class ZusammenConnectorImpl implements ZusammenConnector {
     Response<ItemVersionStatus> response =
         versionAdaptorFactory.createInterface(context).getStatus(context, itemId, versionId);
     if (!response.isSuccessful()) {
-      throw new RuntimeException(
+      throw new SdcRuntimeException(
           String.format("failed to get Item Version status. ItemId: %s, versionId: %s, message: %s",
               itemId.getValue(), versionId.getValue(), response.getReturnCode().toString()));
     }
@@ -203,7 +205,7 @@ public class ZusammenConnectorImpl implements ZusammenConnector {
     Response<Void> response = versionAdaptorFactory.createInterface(context)
         .tag(context, itemId, versionId, null, tag);
     if (!response.isSuccessful()) {
-      throw new RuntimeException(String.format(
+      throw new SdcRuntimeException(String.format(
           "failed to tag Item Version with tag %s. ItemId: %s, versionId: %s, message: %s",
           tag.getName(), itemId.getValue(), versionId.getValue(),
           response.getReturnCode().toString()));
@@ -216,7 +218,7 @@ public class ZusammenConnectorImpl implements ZusammenConnector {
     Response<Void> response = versionAdaptorFactory.createInterface(context)
         .resetRevision(context, itemId, versionId, revisionId);
     if (!response.isSuccessful()) {
-      throw new RuntimeException(String.format(
+      throw new SdcRuntimeException(String.format(
           "failed to reset Item Version back to revision: %s. ItemId: %s, versionId: %s, message:" +
               " %s",
           revisionId.getValue(), itemId.getValue(), versionId.getValue(),
@@ -230,7 +232,7 @@ public class ZusammenConnectorImpl implements ZusammenConnector {
     Response<Void> response = versionAdaptorFactory.createInterface(context)
         .revertRevision(context, itemId, versionId, revisionId);
     if (!response.isSuccessful()) {
-      throw new RuntimeException(String.format(
+      throw new SdcRuntimeException(String.format(
           "failed to revert Item Version back to revision: %s. ItemId: %s, versionId: %s, " +
               "message: %s",
           revisionId.getValue(), itemId.getValue(), versionId.getValue(),
@@ -245,7 +247,7 @@ public class ZusammenConnectorImpl implements ZusammenConnector {
         versionAdaptorFactory.createInterface(context)
             .listRevisions(context, itemId, versionId);
     if (!response.isSuccessful()) {
-      throw new RuntimeException(String.format(
+      throw new SdcRuntimeException(String.format(
           "failed to list revisions of Item Version. ItemId: %s, versionId: %s, message: %s",
           itemId.getValue(), versionId.getValue(), response.getReturnCode().toString()));
     }
@@ -258,7 +260,7 @@ public class ZusammenConnectorImpl implements ZusammenConnector {
     Response<Void> response =
         versionAdaptorFactory.createInterface(context).publish(context, itemId, versionId, message);
     if (!response.isSuccessful()) {
-      throw new RuntimeException(String.format(
+      throw new SdcRuntimeException(String.format(
           "failed to publish item Version. ItemId: %s, versionId: %s, message: %s",
           itemId.getValue(), versionId.getValue(), response.getReturnCode().toString()));
     }
@@ -269,7 +271,7 @@ public class ZusammenConnectorImpl implements ZusammenConnector {
     Response<MergeResult> response =
         versionAdaptorFactory.createInterface(context).sync(context, itemId, versionId);
     if (!response.isSuccessful()) {
-      throw new RuntimeException(String.format(
+      throw new SdcRuntimeException(String.format(
           "failed to sync item Version. ItemId: %s, versionId: %s, message: %s",
           itemId.getValue(), versionId.getValue(), response.getReturnCode().toString()));
     }
@@ -280,7 +282,7 @@ public class ZusammenConnectorImpl implements ZusammenConnector {
     Response<MergeResult> response =
         versionAdaptorFactory.createInterface(context).forceSync(context, itemId, versionId);
     if (!response.isSuccessful()) {
-      throw new RuntimeException(String.format(
+      throw new SdcRuntimeException(String.format(
           "failed to force sync item Version. ItemId: %s, versionId: %s, message: %s",
           itemId.getValue(), versionId.getValue(), response.getReturnCode().toString()));
     }
@@ -291,7 +293,7 @@ public class ZusammenConnectorImpl implements ZusammenConnector {
     Response<ItemVersionConflict> response =
         versionAdaptorFactory.createInterface(context).getConflict(context, itemId, versionId);
     if (!response.isSuccessful()) {
-      throw new RuntimeException(String
+      throw new SdcRuntimeException(String
           .format("failed to get Item Version conflict. ItemId: %s, versionId: %s, message: %s",
               itemId.getValue(), versionId.getValue(), response.getReturnCode().toString()));
     }
@@ -309,7 +311,7 @@ public class ZusammenConnectorImpl implements ZusammenConnector {
     } else {
       logErrorMessageToMdc(ItemElementLoggerTargetServiceName.ELEMENT_GET_BY_PROPERTY,
           response.getReturnCode());
-      throw new RuntimeException(response.getReturnCode().toString());
+      throw new SdcRuntimeException(response.getReturnCode().toString());
     }
   }
 
@@ -345,7 +347,7 @@ public class ZusammenConnectorImpl implements ZusammenConnector {
     Response<ElementConflict> response = elementAdaptorFactory.createInterface(context)
         .getConflict(context, elementContext, elementId);
     if (!response.isSuccessful()) {
-      throw new RuntimeException(String.format(
+      throw new SdcRuntimeException(String.format(
           "Failed to get element conflict. Item Id: %s, version Id: %s, element Id: %s message: %s",
           elementContext.getItemId().getValue(), elementContext.getVersionId().getValue(),
           elementId.getValue(), response.getReturnCode().toString()));
@@ -359,7 +361,7 @@ public class ZusammenConnectorImpl implements ZusammenConnector {
     Response<Element> response = elementAdaptorFactory.createInterface(context)
         .save(context, elementContext, element, message);
     if (!response.isSuccessful()) {
-      throw new RuntimeException(String
+      throw new SdcRuntimeException(String
           .format("Failed to create element %s. ItemId: %s, versionId: %s, message: %s",
               element.getElementId().getValue(), elementContext.getItemId().getValue(),
               elementContext.getVersionId().getValue(), response.getReturnCode().toString()));
@@ -374,7 +376,7 @@ public class ZusammenConnectorImpl implements ZusammenConnector {
     Response<Void> response = elementAdaptorFactory.createInterface(context)
         .resolveConflict(context, elementContext, element, resolution);
     if (!response.isSuccessful()) {
-      throw new RuntimeException(
+      throw new SdcRuntimeException(
           "Failed to resolve conflict. message:" + response.getReturnCode().toString());
     }
   }
@@ -385,14 +387,14 @@ public class ZusammenConnectorImpl implements ZusammenConnector {
     // no-op, required by the interface
   }
 
-  private RuntimeException buildGetElementException(ElementContext elementContext, Id elementId,
+  private SdcRuntimeException buildGetElementException(ElementContext elementContext, Id elementId,
                                                     String zusammenErrorMessage) {
     if (elementContext.getRevisionId() == null) {
-      return new RuntimeException(String.format(GET_ELEMENT_ERR_MSG,
+      return new SdcRuntimeException(String.format(GET_ELEMENT_ERR_MSG,
           elementContext.getItemId().getValue(), elementContext.getVersionId().getValue(),
           elementId.getValue(), zusammenErrorMessage));
     }
-    return new RuntimeException(String.format(GET_ELEMENT_IN_REV_ERR_MSG,
+    return new SdcRuntimeException(String.format(GET_ELEMENT_IN_REV_ERR_MSG,
         elementContext.getItemId().getValue(), elementContext.getVersionId().getValue(),
         elementContext.getRevisionId().getValue(),
         elementId.getValue(), zusammenErrorMessage));
index a973590..c285bf8 100644 (file)
@@ -24,16 +24,15 @@ import com.amdocs.zusammen.datatypes.item.ElementContext;
 import com.amdocs.zusammen.datatypes.item.ItemVersion;
 import com.amdocs.zusammen.datatypes.item.ItemVersionChange;
 import com.amdocs.zusammen.datatypes.item.ItemVersionData;
-import com.amdocs.zusammen.datatypes.item.ItemVersionDataConflict;
 import com.amdocs.zusammen.sdk.collaboration.types.CollaborationElement;
 import com.amdocs.zusammen.sdk.collaboration.types.CollaborationElementChange;
-import com.amdocs.zusammen.sdk.collaboration.types.CollaborationElementConflict;
 import com.amdocs.zusammen.sdk.state.types.StateElement;
 import com.amdocs.zusammen.sdk.types.ElementDescriptor;
 import com.amdocs.zusammen.utils.fileutils.FileUtils;
 import com.amdocs.zusammen.utils.fileutils.json.JsonUtil;
 import org.openecomp.core.zusammen.plugin.dao.types.ElementEntity;
 import org.openecomp.core.zusammen.plugin.dao.types.VersionEntity;
+import org.openecomp.sdc.common.errors.SdcRuntimeException;
 
 import java.io.ByteArrayInputStream;
 import java.nio.ByteBuffer;
@@ -46,6 +45,10 @@ import static org.openecomp.core.zusammen.plugin.ZusammenPluginConstants.ROOT_EL
 
 public class ZusammenPluginUtil {
 
+  private ZusammenPluginUtil() {
+    // prevent instantiation
+  }
+
   public static String getSpaceName(SessionContext context, Space space) {
     switch (space) {
       case PUBLIC:
@@ -69,14 +72,6 @@ public class ZusammenPluginUtil {
   public static VersionEntity convertToVersionEntity(Id versionId, Id baseVersionId,
                                                      Date creationTime,
                                                      Date modificationTime) {
-
-    return convertToVersionEntity(versionId, null, baseVersionId,
-        creationTime, modificationTime);
-  }
-
-  public static VersionEntity convertToVersionEntity(Id versionId, Id revisionId, Id baseVersionId,
-                                                     Date creationTime,
-                                                     Date modificationTime) {
     VersionEntity version = new VersionEntity(versionId);
     version.setBaseId(baseVersionId);
     version.setCreationTime(creationTime);
@@ -180,25 +175,6 @@ public class ZusammenPluginUtil {
     return versionChange;
   }
 
-  public static ItemVersionDataConflict getVersionConflict(ElementEntity localVesionData,
-                                                           ElementEntity remoteVersionData) {
-    ItemVersionDataConflict versionConflict = new ItemVersionDataConflict();
-    versionConflict.setLocalData(convertToVersionData(localVesionData));
-    versionConflict.setRemoteData(convertToVersionData(remoteVersionData));
-    return versionConflict;
-  }
-
-  public static CollaborationElementConflict getElementConflict(ElementContext elementContext,
-                                                                ElementEntity localElement,
-                                                                ElementEntity remoteElement) {
-    CollaborationElementConflict elementConflict = new CollaborationElementConflict();
-    elementConflict
-        .setLocalElement(convertToCollaborationElement(elementContext, localElement));
-    elementConflict.setRemoteElement(
-        convertToCollaborationElement(elementContext, remoteElement));
-    return elementConflict;
-  }
-
   public static ItemVersionData convertToVersionData(ElementEntity versionDataElement) {
     ItemVersionData versionData = new ItemVersionData();
     versionData.setInfo(versionDataElement.getInfo());
@@ -219,7 +195,8 @@ public class ZusammenPluginUtil {
   }
 
   public static String calculateElementHash(ElementEntity elementEntity) {
-    StringBuffer elementHash = new StringBuffer();
+
+    StringBuilder elementHash = new StringBuilder();
     if (elementEntity.getData() != null) {
       elementHash.append(calculateSHA1(elementEntity.getData().array()));
     } else {
@@ -258,13 +235,11 @@ public class ZusammenPluginUtil {
   }
 
   private static String calculateSHA1(byte[] content2Convert) {
-    MessageDigest md = null;
     try {
-      md = MessageDigest.getInstance("SHA-1");
+      return Base64.getEncoder().encodeToString(MessageDigest.getInstance("SHA-1").digest(content2Convert));
     } catch (NoSuchAlgorithmException e) {
-      throw new RuntimeException(e);
+      throw new SdcRuntimeException(e);
     }
-    return Base64.getEncoder().encodeToString(md.digest(content2Convert));
   }
 
 
index 379b110..c3ee44c 100644 (file)
@@ -22,6 +22,7 @@ import com.datastax.driver.mapping.annotations.Frozen;
 import com.datastax.driver.mapping.annotations.PartitionKey;
 import com.datastax.driver.mapping.annotations.Table;
 import com.google.common.io.ByteStreams;
+import org.openecomp.sdc.common.errors.SdcRuntimeException;
 import org.openecomp.sdc.datatypes.error.ErrorLevel;
 import org.openecomp.sdc.logging.context.impl.MdcDataErrorMessage;
 import org.openecomp.sdc.logging.types.LoggerConstants;
@@ -35,117 +36,113 @@ import java.nio.ByteBuffer;
 
 @Table(keyspace = "dox", name = "vsp_enriched_service_artifact")
 public class EnrichedServiceArtifactEntity implements ServiceElementEntity {
-  private static final String ENTITY_TYPE;
-
-  static {
-    ENTITY_TYPE = "Vendor Software Product Service artifact";
-  }
-
-  @PartitionKey
-  @Column(name = "vsp_id")
-  public String id;
-
-  @PartitionKey(value = 1)
-  @Frozen
-  public Version version;
-
-  @ClusteringColumn
-  @Column(name = "name")
-  public String name;
-
-  @Column(name = "content_data")
-  public ByteBuffer contentData;
-
-  /**
-   * Every entity class must have a default constructor according to
-   * <a href="http://docs.datastax.com/en/developer/java-driver/2.1/manual/object_mapper/creating/">
-   * Definition of mapped classes</a>.
-   */
-  public EnrichedServiceArtifactEntity() {
-    // Don't delete! Default constructor is required by DataStax driver
-  }
-
-  /**
-   * Instantiates a new Enriched service artifact entity.
-   *
-   * @param entity the entity
-   */
-  public EnrichedServiceArtifactEntity(ServiceArtifact entity) {
-    this.id = entity.getVspId();
-    this.version = entity.getVersion();
-    this.name = entity.getName();
-
-    try {
-      this.contentData = ByteBuffer.wrap(ByteStreams.toByteArray(entity.getContent()));
-    } catch (IOException ioException) { //todo fix typo in Traget
-      MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB,
-          LoggerTragetServiceName.CREATE_SERVICE_ENRICH_ARTIFACT, ErrorLevel.ERROR.name(),
-          LoggerErrorCode.DATA_ERROR.getErrorCode(),
-          LoggerErrorDescription.CREATE_ENRICH_SERVICE_ARTIFACT);
-      throw new RuntimeException(ioException);
+
+    private static final String ENTITY_TYPE;
+
+    static {
+        ENTITY_TYPE = "Vendor Software Product Service artifact";
+    }
+
+    @PartitionKey
+    @Column(name = "vsp_id")
+    public String id;
+
+    @PartitionKey(value = 1)
+    @Frozen
+    public Version version;
+
+    @ClusteringColumn
+    @Column(name = "name")
+    public String name;
+
+    @Column(name = "content_data")
+    public ByteBuffer contentData;
+
+    /**
+     * Every entity class must have a default constructor according to
+     * <a href="http://docs.datastax.com/en/developer/java-driver/2.1/manual/object_mapper/creating/">
+     * Definition of mapped classes</a>.
+     */
+    public EnrichedServiceArtifactEntity() {
+        // Don't delete! Default constructor is required by DataStax driver
+    }
+
+    /**
+     * Instantiates a new Enriched service artifact entity.
+     *
+     * @param entity the entity
+     */
+    public EnrichedServiceArtifactEntity(ServiceArtifact entity) {
+        this.id = entity.getVspId();
+        this.version = entity.getVersion();
+        this.name = entity.getName();
+
+        try {
+            this.contentData = ByteBuffer.wrap(ByteStreams.toByteArray(entity.getContent()));
+        } catch (IOException ioException) {
+            MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB,
+                    LoggerTragetServiceName.CREATE_SERVICE_ENRICH_ARTIFACT, ErrorLevel.ERROR.name(),
+                    LoggerErrorCode.DATA_ERROR.getErrorCode(),
+                    LoggerErrorDescription.CREATE_ENRICH_SERVICE_ARTIFACT);
+            throw new SdcRuntimeException(ioException);
+        }
+
+    }
+
+    @Override
+    public String getEntityType() {
+        return ENTITY_TYPE;
+    }
+
+    @Override
+    public String getFirstClassCitizenId() {
+        return getId();
+    }
+
+    @Override
+    public String getId() {
+        return id;
+    }
+
+    @Override
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    @Override
+    public Version getVersion() {
+        return version;
+    }
+
+    @Override
+    public void setVersion(Version version) {
+        this.version = version;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    @Override
+    public ByteBuffer getContentData() {
+        return contentData;
+    }
+
+    public void setContentData(ByteBuffer contentData) {
+        this.contentData = contentData;
     }
 
-  }
-
-  @Override
-  public String getEntityType() {
-    return ENTITY_TYPE;
-  }
-
-  @Override
-  public String getFirstClassCitizenId() {
-    return getId();
-  }
-
-  @Override
-  public String getId() {
-    return id;
-  }
-
-  @Override
-  public void setId(String id) {
-    this.id = id;
-  }
-
-  @Override
-  public Version getVersion() {
-    return version;
-  }
-
-  @Override
-  public void setVersion(Version version) {
-    this.version = version;
-  }
-
-  @Override
-  public String getName() {
-    return name;
-  }
-
-  public void setName(String name) {
-    this.name = name;
-  }
-
-  @Override
-  public ByteBuffer getContentData() {
-    return contentData;
-  }
-
-  public void setContentData(ByteBuffer contentData) {
-    this.contentData = contentData;
-  }
-
-  /**
-   * Gets service artifact.
-   *
-   * @return the service artifact
-   */
-  public ServiceArtifact getServiceArtifact() {
-    ServiceArtifact serviceArtifact = new ServiceArtifact();
-    serviceArtifact.setName(this.getName());
-    serviceArtifact.setVersion(this.getVersion());
-    serviceArtifact.setContentData(this.getContentData().array());
-    serviceArtifact.setVspId(this.getId());
-    return serviceArtifact;
-  }
+    public ServiceArtifact getServiceArtifact() {
+        ServiceArtifact serviceArtifact = new ServiceArtifact();
+        serviceArtifact.setName(this.getName());
+        serviceArtifact.setVersion(this.getVersion());
+        serviceArtifact.setContentData(this.getContentData().array());
+        serviceArtifact.setVspId(this.getId());
+        return serviceArtifact;
+    }
 }
index b6b6278..65c3d94 100644 (file)
@@ -22,6 +22,7 @@ import com.datastax.driver.mapping.annotations.Frozen;
 import com.datastax.driver.mapping.annotations.PartitionKey;
 import com.datastax.driver.mapping.annotations.Table;
 import com.google.common.io.ByteStreams;
+import org.openecomp.sdc.common.errors.SdcRuntimeException;
 import org.openecomp.sdc.datatypes.error.ErrorLevel;
 import org.openecomp.sdc.logging.context.impl.MdcDataErrorMessage;
 import org.openecomp.sdc.logging.types.LoggerConstants;
@@ -36,130 +37,124 @@ import java.nio.ByteBuffer;
 @Table(keyspace = "dox", name = "vsp_enriched_service_template")
 public class EnrichedServiceTemplateEntity implements ServiceElementEntity {
 
-  private static final String ENTITY_TYPE;
-
-  static {
-    ENTITY_TYPE = "Vendor Software Product Service model";
-  }
-
-  @PartitionKey
-  @Column(name = "vsp_id")
-  public String id;
-
-  @PartitionKey(value = 1)
-  @Frozen
-  public Version version;
-
-  @ClusteringColumn
-  @Column(name = "name")
-  public String name;
-
-  @Column(name = "content_data")
-  public ByteBuffer contentData;
-
-  @Column(name = "base_name")
-  private String baseName;
-
-  /**
-   * Every entity class must have a default constructor according to
-   * <a href="http://docs.datastax.com/en/developer/java-driver/2.1/manual/object_mapper/creating/">
-   * Definition of mapped classes</a>.
-   */
-  public EnrichedServiceTemplateEntity() {
-    // Don't delete! Default constructor is required by DataStax driver
-  }
-
-  /**
-   * Instantiates a new Enriched service template entity.
-   *
-   * @param entity the entity
-   */
-  public EnrichedServiceTemplateEntity(ServiceTemplate entity) {
-    this.id = entity.getVspId();
-    this.version = entity.getVersion();
-    this.name = entity.getName();
-    this.setBaseName(entity.getBaseName());
-    try {
-      this.contentData = ByteBuffer.wrap(ByteStreams.toByteArray(entity.getContent()));
-    } catch (IOException ioException) {
-      MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB,
-          LoggerTragetServiceName.CREATE_ENRICH_SERVICE_TEMPLATE, ErrorLevel.ERROR.name(),
-          LoggerErrorCode.DATA_ERROR.getErrorCode(),
-          LoggerErrorDescription.CREATE_ENRICH_SERVICE_TEMPLATE);
-      throw new RuntimeException(ioException);
-    }
-
-  }
-
-  public String getBaseName() {
-    return baseName;
-  }
-
-  public void setBaseName(String baseName) {
-    this.baseName = baseName;
-  }
-
-  @Override
-  public String getEntityType() {
-    return ENTITY_TYPE;
-  }
-
-  @Override
-  public String getFirstClassCitizenId() {
-    return getId();
-  }
-
-  @Override
-  public String getId() {
-    return id;
-  }
-
-  @Override
-  public void setId(String id) {
-    this.id = id;
-  }
-
-  @Override
-  public Version getVersion() {
-    return version;
-  }
-
-  @Override
-  public void setVersion(Version version) {
-    this.version = version;
-  }
-
-  @Override
-  public String getName() {
-    return name;
-  }
-
-  public void setName(String name) {
-    this.name = name;
-  }
-
-  @Override
-  public ByteBuffer getContentData() {
-    return contentData;
-  }
-
-  public void setContentData(ByteBuffer contentData) {
-    this.contentData = contentData;
-  }
-
-  /**
-   * Gets service template.
-   *
-   * @return the service template
-   */
-  public ServiceTemplate getServiceTemplate() {
-    ServiceTemplate serviceTemplate = new ServiceTemplate();
-    serviceTemplate.setName(this.getName());
-    serviceTemplate.setVersion(this.getVersion());
-    serviceTemplate.setContentData(this.getContentData().array());
-    serviceTemplate.setVspId(this.getId());
-    serviceTemplate.setBaseName(this.getBaseName());
-    return serviceTemplate;
-
-  }
+    private static final String ENTITY_TYPE;
+
+    static {
+        ENTITY_TYPE = "Vendor Software Product Service model";
+    }
+
+    @PartitionKey
+    @Column(name = "vsp_id")
+    public String id;
+
+    @PartitionKey(value = 1)
+    @Frozen
+    public Version version;
+
+    @ClusteringColumn
+    @Column(name = "name")
+    public String name;
+
+    @Column(name = "content_data")
+    public ByteBuffer contentData;
+
+    @Column(name = "base_name")
+    private String baseName;
+
+    /**
+     * Every entity class must have a default constructor according to
+     * <a href="http://docs.datastax.com/en/developer/java-driver/2.1/manual/object_mapper/creating/">
+     * Definition of mapped classes</a>.
+     */
+    public EnrichedServiceTemplateEntity() {
+        // Don't delete! Default constructor is required by DataStax driver
+    }
+
+    /**
+     * Instantiates a new Enriched service template entity.
+     *
+     * @param entity the entity
+     */
+    public EnrichedServiceTemplateEntity(ServiceTemplate entity) {
+        this.id = entity.getVspId();
+        this.version = entity.getVersion();
+        this.name = entity.getName();
+        this.setBaseName(entity.getBaseName());
+        try {
+            this.contentData = ByteBuffer.wrap(ByteStreams.toByteArray(entity.getContent()));
+        } catch (IOException ioException) {
+            MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB,
+                    LoggerTragetServiceName.CREATE_ENRICH_SERVICE_TEMPLATE, ErrorLevel.ERROR.name(),
+                    LoggerErrorCode.DATA_ERROR.getErrorCode(),
+                    LoggerErrorDescription.CREATE_ENRICH_SERVICE_TEMPLATE);
+            throw new SdcRuntimeException(ioException);
+        }
+
+    }
+
+    public String getBaseName() {
+        return baseName;
+    }
+
+    public void setBaseName(String baseName) {
+        this.baseName = baseName;
+    }
+
+    @Override
+    public String getEntityType() {
+        return ENTITY_TYPE;
+    }
+
+    @Override
+    public String getFirstClassCitizenId() {
+        return getId();
+    }
+
+    @Override
+    public String getId() {
+        return id;
+    }
+
+    @Override
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    @Override
+    public Version getVersion() {
+        return version;
+    }
+
+    @Override
+    public void setVersion(Version version) {
+        this.version = version;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    @Override
+    public ByteBuffer getContentData() {
+        return contentData;
+    }
+
+    public void setContentData(ByteBuffer contentData) {
+        this.contentData = contentData;
+    }
+
+    public ServiceTemplate getServiceTemplate() {
+        ServiceTemplate serviceTemplate = new ServiceTemplate();
+        serviceTemplate.setName(getName());
+        serviceTemplate.setVersion(getVersion());
+        serviceTemplate.setContentData(getContentData().array());
+        serviceTemplate.setVspId(getId());
+        serviceTemplate.setBaseName(getBaseName());
+        return serviceTemplate;
+    }
 }
index 579bdf2..802cf17 100644 (file)
@@ -22,6 +22,7 @@ import com.datastax.driver.mapping.annotations.Frozen;
 import com.datastax.driver.mapping.annotations.PartitionKey;
 import com.datastax.driver.mapping.annotations.Table;
 import com.google.common.io.ByteStreams;
+import org.openecomp.sdc.common.errors.SdcRuntimeException;
 import org.openecomp.sdc.datatypes.error.ErrorLevel;
 import org.openecomp.sdc.logging.context.impl.MdcDataErrorMessage;
 import org.openecomp.sdc.logging.types.LoggerConstants;
@@ -35,117 +36,113 @@ import java.nio.ByteBuffer;
 
 @Table(keyspace = "dox", name = "vsp_service_artifact")
 public class ServiceArtifactEntity implements ServiceElementEntity {
-  private static final String ENTITY_TYPE;
-
-  static {
-    ENTITY_TYPE = "Vendor Software Product Service artifact";
-  }
-
-  @PartitionKey
-  @Column(name = "vsp_id")
-  public String id;
-
-  @PartitionKey(value = 1)
-  @Frozen
-  public Version version;
-
-  @ClusteringColumn
-  @Column(name = "name")
-  public String name;
-
-  @Column(name = "content_data")
-  public ByteBuffer contentData;
-
-  /**
-   * Every entity class must have a default constructor according to
-   * <a href="http://docs.datastax.com/en/developer/java-driver/2.1/manual/object_mapper/creating/">
-   * Definition of mapped classes</a>.
-   */
-  public ServiceArtifactEntity() {
-    // Don't delete! Default constructor is required by DataStax driver
-  }
-
-  /**
-   * Instantiates a new Service artifact entity.
-   *
-   * @param entity the entity
-   */
-  public ServiceArtifactEntity(ServiceArtifact entity) {
-    this.id = entity.getVspId();
-    this.version = entity.getVersion();
-    this.name = entity.getName();
-
-    try {
-      this.contentData = ByteBuffer.wrap(ByteStreams.toByteArray(entity.getContent()));
-    } catch (IOException ioException) {
-      MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB,
-          LoggerTragetServiceName.CREATE_SERVICE_ARTIFACT, ErrorLevel.ERROR.name(),
-          LoggerErrorCode.DATA_ERROR.getErrorCode(),
-          LoggerErrorDescription.CREATE_SERVICE_ARTIFACT);
-      throw new RuntimeException(ioException);
+    private static final String ENTITY_TYPE;
+
+    static {
+        ENTITY_TYPE = "Vendor Software Product Service artifact";
+    }
+
+    @PartitionKey
+    @Column(name = "vsp_id")
+    public String id;
+
+    @PartitionKey(value = 1)
+    @Frozen
+    public Version version;
+
+    @ClusteringColumn
+    @Column(name = "name")
+    public String name;
+
+    @Column(name = "content_data")
+    public ByteBuffer contentData;
+
+    /**
+     * Every entity class must have a default constructor according to
+     * <a href="http://docs.datastax.com/en/developer/java-driver/2.1/manual/object_mapper/creating/">
+     * Definition of mapped classes</a>.
+     */
+    public ServiceArtifactEntity() {
+        // Don't delete! Default constructor is required by DataStax driver
+    }
+
+    /**
+     * Instantiates a new Service artifact entity.
+     *
+     * @param entity the entity
+     */
+    public ServiceArtifactEntity(ServiceArtifact entity) {
+        this.id = entity.getVspId();
+        this.version = entity.getVersion();
+        this.name = entity.getName();
+
+        try {
+            this.contentData = ByteBuffer.wrap(ByteStreams.toByteArray(entity.getContent()));
+        } catch (IOException ioException) {
+            MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB,
+                    LoggerTragetServiceName.CREATE_SERVICE_ARTIFACT, ErrorLevel.ERROR.name(),
+                    LoggerErrorCode.DATA_ERROR.getErrorCode(),
+                    LoggerErrorDescription.CREATE_SERVICE_ARTIFACT);
+            throw new SdcRuntimeException(ioException);
+        }
+
+    }
+
+    @Override
+    public String getEntityType() {
+        return ENTITY_TYPE;
+    }
+
+    @Override
+    public String getFirstClassCitizenId() {
+        return getId();
+    }
+
+    @Override
+    public String getId() {
+        return id;
+    }
+
+    @Override
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    @Override
+    public Version getVersion() {
+        return version;
+    }
+
+    @Override
+    public void setVersion(Version version) {
+        this.version = version;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    @Override
+    public ByteBuffer getContentData() {
+        return contentData;
+    }
+
+    public void setContentData(ByteBuffer contentData) {
+        this.contentData = contentData;
+    }
+
+    public ServiceArtifact getServiceArtifact() {
+        ServiceArtifact serviceArtifact = new ServiceArtifact();
+        serviceArtifact.setName(this.getName());
+        serviceArtifact.setVersion(this.getVersion());
+        serviceArtifact.setContentData(this.getContentData().array());
+        serviceArtifact.setVspId(this.getId());
+        return serviceArtifact;
     }
 
-  }
-
-  @Override
-  public String getEntityType() {
-    return ENTITY_TYPE;
-  }
-
-  @Override
-  public String getFirstClassCitizenId() {
-    return getId();
-  }
-
-  @Override
-  public String getId() {
-    return id;
-  }
-
-  @Override
-  public void setId(String id) {
-    this.id = id;
-  }
-
-  @Override
-  public Version getVersion() {
-    return version;
-  }
-
-  @Override
-  public void setVersion(Version version) {
-    this.version = version;
-  }
-
-  @Override
-  public String getName() {
-    return name;
-  }
-
-  public void setName(String name) {
-    this.name = name;
-  }
-
-  @Override
-  public ByteBuffer getContentData() {
-    return contentData;
-  }
-
-  public void setContentData(ByteBuffer contentData) {
-    this.contentData = contentData;
-  }
-
-  /**
-   * Gets service artifact.
-   *
-   * @return the service artifact
-   */
-  public ServiceArtifact getServiceArtifact() {
-    ServiceArtifact serviceArtifact = new ServiceArtifact();
-    serviceArtifact.setName(this.getName());
-    serviceArtifact.setVersion(this.getVersion());
-    serviceArtifact.setContentData(this.getContentData().array());
-    serviceArtifact.setVspId(this.getId());
-    return serviceArtifact;
-  }
 }
index 17f17dc..71b3e49 100644 (file)
@@ -22,6 +22,7 @@ import com.datastax.driver.mapping.annotations.Frozen;
 import com.datastax.driver.mapping.annotations.PartitionKey;
 import com.datastax.driver.mapping.annotations.Table;
 import com.google.common.io.ByteStreams;
+import org.openecomp.sdc.common.errors.SdcRuntimeException;
 import org.openecomp.sdc.datatypes.error.ErrorLevel;
 import org.openecomp.sdc.logging.context.impl.MdcDataErrorMessage;
 import org.openecomp.sdc.logging.types.LoggerConstants;
@@ -36,131 +37,124 @@ import java.nio.ByteBuffer;
 @Table(keyspace = "dox", name = "vsp_service_template")
 public class ServiceTemplateEntity implements ServiceElementEntity {
 
-  private static final String ENTITY_TYPE;
-
-  static {
-    ENTITY_TYPE = "Vendor Software Product Service model";
-  }
-
-  @PartitionKey
-  @Column(name = "vsp_id")
-  public String id;
-
-  @PartitionKey(value = 1)
-  @Frozen
-  public Version version;
-
-  @ClusteringColumn
-  @Column(name = "name")
-  public String name;
-
-  @Column(name = "content_data")
-  public ByteBuffer contentData;
-
-  @Column(name = "base_name")
-  private String baseName;
-
-  /**
-   * Every entity class must have a default constructor according to
-   * <a href="http://docs.datastax.com/en/developer/java-driver/2.1/manual/object_mapper/creating/">
-   * Definition of mapped classes</a>.
-   */
-  public ServiceTemplateEntity() {
-    // Don't delete! Default constructor is required by DataStax driver
-  }
-
-  /**
-   * Instantiates a new Service template entity.
-   *
-   * @param entity the entity
-   */
-  public ServiceTemplateEntity(ServiceTemplate entity) {
-    this.id = entity.getVspId();
-    this.version = entity.getVersion();
-    this.name = entity.getName();
-    this.setBaseName(entity.getBaseName());
-    try {
-      this.contentData = ByteBuffer.wrap(ByteStreams.toByteArray(entity.getContent()));
-    } catch (IOException ioException) {
-      MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB,
-          LoggerTragetServiceName.CREATE_SERVICE_TEMPLATE, ErrorLevel.ERROR.name(),
-          LoggerErrorCode.DATA_ERROR.getErrorCode(),
-          LoggerErrorDescription.CREATE_SERVICE_TEMPLATE);
-      throw new RuntimeException(ioException);
-    }
-
-  }
-
-  public String getBaseName() {
-    return baseName;
-  }
-
-  public void setBaseName(String baseName) {
-    this.baseName = baseName;
-  }
-
-  @Override
-  public String getEntityType() {
-    return ENTITY_TYPE;
-  }
-
-  @Override
-  public String getFirstClassCitizenId() {
-    return getId();
-  }
-
-  @Override
-  public String getId() {
-    return id;
-  }
-
-  @Override
-  public void setId(String id) {
-    this.id = id;
-  }
-
-  @Override
-  public Version getVersion() {
-    return version;
-  }
-
-  @Override
-  public void setVersion(Version version) {
-    this.version = version;
-  }
-
-  @Override
-  public String getName() {
-    return name;
-  }
-
-  public void setName(String name) {
-    this.name = name;
-  }
-
-  @Override
-  public ByteBuffer getContentData() {
-    return contentData;
-  }
-
-  public void setContentData(ByteBuffer contentData) {
-    this.contentData = contentData;
-  }
-
-
-  /**
-   * Gets service template.
-   *
-   * @return the service template
-   */
-  public ServiceTemplate getServiceTemplate() {
-    ServiceTemplate serviceTemplate = new ServiceTemplate();
-    serviceTemplate.setName(this.getName());
-    serviceTemplate.setVersion(this.getVersion());
-    serviceTemplate.setContentData(this.getContentData().array());
-    serviceTemplate.setVspId(this.getId());
-    serviceTemplate.setBaseName(this.getBaseName());
-    return serviceTemplate;
-
-  }
+    private static final String ENTITY_TYPE;
+
+    static {
+        ENTITY_TYPE = "Vendor Software Product Service model";
+    }
+
+    @PartitionKey
+    @Column(name = "vsp_id")
+    public String id;
+
+    @PartitionKey(value = 1)
+    @Frozen
+    public Version version;
+
+    @ClusteringColumn
+    @Column(name = "name")
+    public String name;
+
+    @Column(name = "content_data")
+    public ByteBuffer contentData;
+
+    @Column(name = "base_name")
+    private String baseName;
+
+    /**
+     * Every entity class must have a default constructor according to
+     * <a href="http://docs.datastax.com/en/developer/java-driver/2.1/manual/object_mapper/creating/">
+     * Definition of mapped classes</a>.
+     */
+    public ServiceTemplateEntity() {
+        // Don't delete! Default constructor is required by DataStax driver
+    }
+
+    /**
+     * Instantiates a new Service template entity.
+     *
+     * @param entity the entity
+     */
+    public ServiceTemplateEntity(ServiceTemplate entity) {
+        this.id = entity.getVspId();
+        this.version = entity.getVersion();
+        this.name = entity.getName();
+        this.setBaseName(entity.getBaseName());
+        try {
+            this.contentData = ByteBuffer.wrap(ByteStreams.toByteArray(entity.getContent()));
+        } catch (IOException ioException) {
+            MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB,
+                    LoggerTragetServiceName.CREATE_SERVICE_TEMPLATE, ErrorLevel.ERROR.name(),
+                    LoggerErrorCode.DATA_ERROR.getErrorCode(),
+                    LoggerErrorDescription.CREATE_SERVICE_TEMPLATE);
+            throw new SdcRuntimeException(ioException);
+        }
+
+    }
+
+    public String getBaseName() {
+        return baseName;
+    }
+
+    public void setBaseName(String baseName) {
+        this.baseName = baseName;
+    }
+
+    @Override
+    public String getEntityType() {
+        return ENTITY_TYPE;
+    }
+
+    @Override
+    public String getFirstClassCitizenId() {
+        return getId();
+    }
+
+    @Override
+    public String getId() {
+        return id;
+    }
+
+    @Override
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    @Override
+    public Version getVersion() {
+        return version;
+    }
+
+    @Override
+    public void setVersion(Version version) {
+        this.version = version;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    @Override
+    public ByteBuffer getContentData() {
+        return contentData;
+    }
+
+    public void setContentData(ByteBuffer contentData) {
+        this.contentData = contentData;
+    }
+
+    public ServiceTemplate getServiceTemplate() {
+        ServiceTemplate serviceTemplate = new ServiceTemplate();
+        serviceTemplate.setName(getName());
+        serviceTemplate.setVersion(getVersion());
+        serviceTemplate.setContentData(getContentData().array());
+        serviceTemplate.setVspId(getId());
+        serviceTemplate.setBaseName(getBaseName());
+        return serviceTemplate;
+    }
 }
index d34d467..802827e 100644 (file)
@@ -1,3 +1,19 @@
+/*
+ * Copyright © 2016-2017 European Support Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.openecomp.core.impl;
 
 import org.apache.commons.collections4.CollectionUtils;
@@ -17,18 +33,23 @@ import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
 public class ToscaConverterUtil {
+
   private static final String SET = "set";
   private static final String DEFAULT = "default";
   private static final String DEFAULT_CAPITAL = "Default";
-  private static Set<String> defaultValueKeys;
+  private static final Set<String> DEFAULT_VALUE_KEYS;
 
-  private static Logger LOGGER = LoggerFactory.getLogger(ToscaConverterUtil.class.getName());
+  private static final Logger LOGGER = LoggerFactory.getLogger(ToscaConverterUtil.class);
 
   static {
-    defaultValueKeys =
+    DEFAULT_VALUE_KEYS =
         Stream.of(DEFAULT, DEFAULT_CAPITAL).collect(Collectors.toSet());
   }
 
+  private ToscaConverterUtil() {
+    // static utility methods only, prevent instantiation
+  }
+
   public static <T> Optional<T> createObjectFromClass(String objectId,
                                                       Object objectCandidate,
                                                       Class<T> classToCreate) {
@@ -42,7 +63,8 @@ public class ToscaConverterUtil {
   }
 
   private static <T> Optional<T> createObjectUsingSetters(Object objectCandidate,
-                                                          Class<T> classToCreate) throws Exception {
+                                                          Class<T> classToCreate)
+          throws ReflectiveOperationException {
     if (Objects.isNull(objectCandidate)
         || !(objectCandidate instanceof Map)) {
       return Optional.empty();
@@ -91,7 +113,7 @@ public class ToscaConverterUtil {
   private static Object getDefaultParameterValue(Map<String, Object> entryValue) {
     Object defaultValue = null;
     Set<String> keys = new HashSet<>(entryValue.keySet());
-    keys.retainAll(defaultValueKeys);
+    keys.retainAll(DEFAULT_VALUE_KEYS);
 
     if (CollectionUtils.isNotEmpty(keys)) {
       defaultValue = entryValue.get(keys.iterator().next());
index 30e767b..08fb193 100644 (file)
@@ -1,27 +1,24 @@
-/*-
- * ============LICENSE_START=======================================================
- * SDC
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
+/*
+ * Copyright © 2016-2017 European Support Limited
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- * ============LICENSE_END=========================================================
  */
 
 package org.openecomp.sdc.tosca.services.impl;
 
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.collections4.MapUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.openecomp.core.utilities.CommonMethods;
 import org.openecomp.sdc.common.errors.CoreException;
 import org.openecomp.sdc.datatypes.error.ErrorLevel;
@@ -68,12 +65,12 @@ import java.util.Set;
 
 public class ToscaAnalyzerServiceImpl implements ToscaAnalyzerService {
 
-  protected static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
+  protected static final MdcDataDebugMessage MDC_DATA_DEBUG_MESSAGE = new MdcDataDebugMessage();
 
   public List<Map<String, RequirementDefinition>> calculateExposedRequirements(
       List<Map<String, RequirementDefinition>> nodeTypeRequirementsDefinitionList,
       Map<String, RequirementAssignment> nodeTemplateRequirementsAssignment) {
-    mdcDataDebugMessage.debugEntryMessage(null, null);
+    MDC_DATA_DEBUG_MESSAGE.debugEntryMessage(null, null);
 
     if (nodeTypeRequirementsDefinitionList == null) {
       return null;
@@ -109,7 +106,7 @@ public class ToscaAnalyzerServiceImpl implements ToscaAnalyzerService {
       }
     }
 
-    mdcDataDebugMessage.debugExitMessage(null, null);
+    MDC_DATA_DEBUG_MESSAGE.debugExitMessage(null, null);
     return nodeTypeRequirementsDefinitionList;
   }
 
@@ -136,7 +133,7 @@ public class ToscaAnalyzerServiceImpl implements ToscaAnalyzerService {
       Map<String, Map<String, RequirementAssignment>> fullFilledRequirementsDefinitionMap) {
 
 
-    mdcDataDebugMessage.debugEntryMessage(null, null);
+    MDC_DATA_DEBUG_MESSAGE.debugEntryMessage(null, null);
 
     String capabilityKey;
     String capability;
@@ -169,7 +166,7 @@ public class ToscaAnalyzerServiceImpl implements ToscaAnalyzerService {
       exposedCapabilitiesDefinition.put(entry.getKey(), entry.getValue());
     }
 
-    mdcDataDebugMessage.debugExitMessage(null, null);
+    MDC_DATA_DEBUG_MESSAGE.debugExitMessage(null, null);
     return exposedCapabilitiesDefinition;
   }
 
@@ -425,8 +422,7 @@ public class ToscaAnalyzerServiceImpl implements ToscaAnalyzerService {
             "Entity[" + elementType + "] id[" + typeId + "] flat not supported");
     }
 
-    scanAnFlatEntity(elementType, typeId, returnEntity, serviceTemplate, toscaModel,
-        new ArrayList<String>(), 0);
+    scanAnFlatEntity(elementType, typeId, returnEntity, serviceTemplate, toscaModel, new ArrayList<>(), 0);
 
 
     return returnEntity;
@@ -512,12 +508,6 @@ public class ToscaAnalyzerServiceImpl implements ToscaAnalyzerService {
     return Optional.of(false);
   }
 
-  private Set<String> addImportFileToAnalyzedImportFilesSet(Set<String> analyzedImportFiles,
-                                                            String importFile) {
-    analyzedImportFiles.add(importFile);
-    return analyzedImportFiles;
-  }
-
   private Set<String> createFilesScannedSet(Set<String> filesScanned) {
     if (Objects.isNull(filesScanned)) {
       filesScanned = new HashSet<>();
@@ -568,7 +558,7 @@ public class ToscaAnalyzerServiceImpl implements ToscaAnalyzerService {
         if (found) {
           return true;
         }
-        String filename = "";
+        String filename;
         for (Object importObject : importMap.values()) {
           Import importServiceTemplate = toscaExtensionYamlUtil
               .yamlToObject(toscaExtensionYamlUtil.objectToYaml(importObject), Import.class);
@@ -694,13 +684,13 @@ public class ToscaAnalyzerServiceImpl implements ToscaAnalyzerService {
         .mergeLists(targetCapabilityType.getValid_source_types(),
             sourceCapabilityType.getValid_source_types()));
 
-    if (!CommonMethods.isEmpty(sourceCapabilityType.getDerived_from())) {
+    if (StringUtils.isNotEmpty(sourceCapabilityType.getDerived_from())) {
       targetCapabilityType.setDerived_from(sourceCapabilityType.getDerived_from());
     }
-    if (!CommonMethods.isEmpty(sourceCapabilityType.getDescription())) {
+    if (StringUtils.isNotEmpty(sourceCapabilityType.getDescription())) {
       targetCapabilityType.setDescription(sourceCapabilityType.getDescription());
     }
-    if (!CommonMethods.isEmpty(sourceCapabilityType.getVersion())) {
+    if (StringUtils.isNotEmpty(sourceCapabilityType.getVersion())) {
       targetCapabilityType.setVersion(sourceCapabilityType.getVersion());
     }