Fix brmsgw regex handling for dependecies
[policy/engine.git] / BRMSGateway / src / main / java / org / onap / policy / brmsInterface / BRMSPush.java
index b76812b..a1113f5 100644 (file)
@@ -46,6 +46,7 @@ import java.util.UUID;
 import java.util.concurrent.TimeUnit;
 import java.util.jar.JarEntry;
 import java.util.jar.JarFile;
+import java.util.regex.Pattern;
 
 import javax.persistence.EntityManager;
 import javax.persistence.EntityManagerFactory;
@@ -423,7 +424,7 @@ public class BRMSPush {
 
                 } else if ("$dependency$".equals(key) && value.startsWith("[") && value.endsWith("]")) {
                     value = value.substring(1, value.length() - 1).trim();
-                    List<String> dependencyStrings = Arrays.asList(value.split("},{"));
+                    List<String> dependencyStrings = Arrays.asList(value.split(Pattern.quote("},{")));
                     for (String dependencyString : dependencyStrings) {
                         try {
                             userDependencies
@@ -452,7 +453,7 @@ public class BRMSPush {
             // closedLoop
             if (kSessionName == null) {
                LOGGER.info("kSessionName is null, selectedName is  : " + selectedName );
-                if (selectedName == defaultName) {
+                if (selectedName.equalsIgnoreCase(defaultName)) {
                     kSessionName = "closedloop";
                 } else {
                     kSessionName = "closedloop-" + selectedName;
@@ -571,14 +572,17 @@ public class BRMSPush {
         String fileName = "rule.jar";
         try {
             website = new URL(artifact.getResourceURI());
-            ReadableByteChannel rbc = Channels.newChannel(website.openStream());
-            FileOutputStream fos = new FileOutputStream(fileName);
-            fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
-            fos.close();
-            extractJar(fileName, dirName);
-            new File(fileName).delete();
-        } catch (IOException e) {
-            LOGGER.error("Error while downloading the project to File System. " + e.getMessage(), e);
+            try( ReadableByteChannel rbc = Channels.newChannel(website.openStream());
+                       FileOutputStream fos = new FileOutputStream(fileName)){
+               fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
+                extractJar(fileName, dirName);
+                new File(fileName).delete();
+            }catch (IOException e) {
+         LOGGER.error("Error while downloading the project to File System. " + e.getMessage(), e);
+                       }
+          
+        } catch (IOException e1) {
+            LOGGER.error("Error while retrieve the artifact. " + e1.getMessage(), e1);
         }
     }