AAI-1523 Batch reformat aai-core
[aai/aai-common.git] / aai-core / src / main / java / org / onap / aai / serialization / queryformats / utils / QueryParamInjector.java
index e397613..1b51088 100644 (file)
@@ -17,6 +17,7 @@
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
+
 package org.onap.aai.serialization.queryformats.utils;
 
 import java.lang.reflect.InvocationTargetException;
@@ -32,52 +33,49 @@ import org.reflections.Reflections;
 
 public class QueryParamInjector {
 
-       private final Set<Class<?>> results;
-       
-       
-       private QueryParamInjector () {
-               Reflections reflections = new Reflections("org.onap.aai.serialization.queryformats.params");
-               results = reflections.getTypesAnnotatedWith(Inject.class);
-       }
-       
-       private static class Helper {
-               private static final QueryParamInjector INSTANCE = new QueryParamInjector();
-       }
-       
-       public static QueryParamInjector getInstance() {
-               return Helper.INSTANCE;
-       }
-       
-       public <T> T injectParams(T obj, MultivaluedMap<String, String> params) throws QueryParamInjectionException{
-               try {
-                       for (Class<?> item : results) {
-                               if (item.isAssignableFrom(obj.getClass())) {
-                                       String name = item.getAnnotation(Inject.class).name();
-                                       
-                                       if (params.containsKey(name)) {
-                                               String value = params.getFirst(name);
-                                               
-                                               for (Method method : item.getMethods()) {
-                                                       if (method.isAnnotationPresent(Setter.class)) {
-                                                               Class<?>[] args = method.getParameterTypes();
-                                                               if (args.length == 1) {
-                                                                       Object o = args[0].getConstructor(String.class).newInstance(value);
-                                                                       method.invoke(obj, o);
-                                                               } else {
-                                                                       method.invoke(obj);
-                                                               }
-                                                       }
-                                               }
-                                       }
-                               }
-                       }
-       } catch (InstantiationException | IllegalAccessException | IllegalArgumentException
-                                                                                       | InvocationTargetException | NoSuchMethodException
-                                                                                       | SecurityException e) {
-               throw new QueryParamInjectionException("issue with query params", e);
-       }
-               
-               
-               return obj;
-       }
+    private final Set<Class<?>> results;
+
+    private QueryParamInjector() {
+        Reflections reflections = new Reflections("org.onap.aai.serialization.queryformats.params");
+        results = reflections.getTypesAnnotatedWith(Inject.class);
+    }
+
+    private static class Helper {
+        private static final QueryParamInjector INSTANCE = new QueryParamInjector();
+    }
+
+    public static QueryParamInjector getInstance() {
+        return Helper.INSTANCE;
+    }
+
+    public <T> T injectParams(T obj, MultivaluedMap<String, String> params) throws QueryParamInjectionException {
+        try {
+            for (Class<?> item : results) {
+                if (item.isAssignableFrom(obj.getClass())) {
+                    String name = item.getAnnotation(Inject.class).name();
+
+                    if (params.containsKey(name)) {
+                        String value = params.getFirst(name);
+
+                        for (Method method : item.getMethods()) {
+                            if (method.isAnnotationPresent(Setter.class)) {
+                                Class<?>[] args = method.getParameterTypes();
+                                if (args.length == 1) {
+                                    Object o = args[0].getConstructor(String.class).newInstance(value);
+                                    method.invoke(obj, o);
+                                } else {
+                                    method.invoke(obj);
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        } catch (InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException
+                | NoSuchMethodException | SecurityException e) {
+            throw new QueryParamInjectionException("issue with query params", e);
+        }
+
+        return obj;
+    }
 }