Fix handling of non-OSGi
[ccsdk/sli/adaptors.git] / aai-service / provider / src / main / java / org / onap / ccsdk / sli / adaptors / aai / AAIRequest.java
index b621564..9facab8 100755 (executable)
@@ -5,6 +5,8 @@
  * Copyright (C) 2017 AT&T Intellectual Property. All rights
  *             reserved.
  * ================================================================================
+ * Modifications Copyright (C) 2018 IBM.
+ * ================================================================================
  * 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
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
-
+/**
+ * @author Rich Tabedzki
+ *
+ */
 package org.onap.ccsdk.sli.adaptors.aai;
 
 import java.io.IOException;
@@ -46,7 +51,7 @@ import java.util.Set;
 import java.util.TreeSet;
 
 import org.apache.commons.lang.StringUtils;
-import org.onap.aai.inventory.v14.GenericVnf;
+import org.onap.aai.inventory.v21.GenericVnf;
 import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
@@ -112,8 +117,6 @@ public abstract class AAIRequest {
         switch(resoource){
         case "generic-query":
             return new GenericQueryRequest();
-        case "named-query":
-            return new NamedQueryRequest();
         case "nodes-query":
             return new NodesQueryRequest();
         case "custom-query":
@@ -159,8 +162,11 @@ public abstract class AAIRequest {
         AAIRequest.configProperties = props;
         AAIRequest.aaiService = aaiService;
 
+        InputStream in = null;
+
         try
         {
+            LOG.info("Loading aai-path.properties via OSGi");
             URL url = null;
             Bundle bundle = FrameworkUtil.getBundle(AAIService.class);
             if(bundle != null) {
@@ -173,7 +179,19 @@ public abstract class AAIRequest {
                 url = aaiService.getClass().getResource("/aai-path.properties");
             }
 
-            InputStream in = url.openStream();
+            in = url.openStream();
+        }
+        catch (NoClassDefFoundError|Exception e) {
+            LOG.info("Loading aai-path.properties from jar");
+            in = AAIRequest.class.getResourceAsStream("/aai-path.properties");
+
+        }
+
+        if (in == null) {
+            return;
+        }
+
+        try {
             Reader reader = new InputStreamReader(in, StandardCharsets.UTF_8);
 
             Properties properties = new Properties();
@@ -200,7 +218,7 @@ public abstract class AAIRequest {
                     bs.set(bitIndex);
                 }
                 String path = properties.getProperty(key);
-                LOG.info(String.format("bitset %s\t\t%s", bs.toString(), path));
+                LOG.trace(String.format("bitset %s\t\t%s", bs.toString(), path));
                 bitsetPaths.put(bs, path);
             }
             LOG.info("loaded " + resourceNames.toString());
@@ -266,7 +284,7 @@ public abstract class AAIRequest {
                     function = clazz.getMethod("processPathData", request_url.getClass(), requestProperties.getClass());
                     request_url = (String) function.invoke(null, request_url,  requestProperties);
                 } catch (Exception e) {
-                    e.printStackTrace();
+                       LOG.error("Caught exception", e);
                 }
             }
         }
@@ -292,7 +310,7 @@ public abstract class AAIRequest {
             // for group search add itself, but remove singular version of itself
             if(!uniqueResources.contains(resource)) {
                 boolean replaced =  false;
-                Set<String> tmpUniqueResources = new HashSet<String>();
+                Set<String> tmpUniqueResources = new HashSet<>();
                 tmpUniqueResources.addAll(uniqueResources);
                 for(String item : tmpUniqueResources){
                     String plural = item +"s";
@@ -431,8 +449,7 @@ public abstract class AAIRequest {
         if(clazz == null) {
             return null;
         }
-        GenericRequest request = new GenericRequest(clazz);
-        return request;
+        return new GenericRequest(clazz);
     }
 
     public static Map<String, String> splitQuery(String query) throws UnsupportedEncodingException {
@@ -471,6 +488,6 @@ public abstract class AAIRequest {
     }
  
     public static final String getSupportedAAIVersion() {
-        return configProperties.getProperty(AAIDeclarations.AAI_VERSION, "/v14/");
+        return configProperties.getProperty(AAIDeclarations.AAI_VERSION, "/v21/");
     }
 }