Sonar Fixes, Formatting
[aaf/authz.git] / auth / auth-batch / src / main / java / org / onap / aaf / auth / batch / helpers / NS.java
index cad1c12..bf1338f 100644 (file)
@@ -9,9 +9,9 @@
  * 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.
@@ -27,6 +27,8 @@ import java.util.Iterator;
 import java.util.Map;
 import java.util.TreeMap;
 
+import org.onap.aaf.auth.dao.cass.NsDAO;
+import org.onap.aaf.cadi.util.CSV;
 import org.onap.aaf.misc.env.Env;
 import org.onap.aaf.misc.env.TimeTaken;
 import org.onap.aaf.misc.env.Trans;
@@ -40,11 +42,7 @@ import com.datastax.driver.core.Statement;
 public class    NS implements Comparable<NS> {
     public static final Map<String,NS> data = new TreeMap<>();
 
-    public final String name;
-    public final String description;
-    public final String parent;
-    public final int scope;
-    public final int type;
+    public NsDAO.Data ndd;
 
     public static Creator<NS> v2_0_11 = new Creator<NS> () {
         @Override
@@ -59,27 +57,40 @@ public class    NS implements Comparable<NS> {
     };
 
     public NS(String name, String description, String parent, int type, int scope) {
-        this.name = name;
-        this.description = description;
-        this.parent = parent;
-        this.scope = scope;
-        this.type = type;
+        ndd = new NsDAO.Data();
+        ndd.name = name;
+        ndd.description = description;
+        ndd.parent = parent;
+        ndd.type = type;
+        // ndd.attrib =
     }
-    
+
     public static void load(Trans trans, Session session, Creator<NS> creator) {
         load(trans,session,
                 "select name, description, parent, type, scope from authz.ns;"
-                ,creator);
+                ,creator
+                , v -> data.put(v.ndd.name,v)
+                );
     }
-    
+
     public static void loadOne(Trans trans, Session session, Creator<NS> creator, String ns) {
         load(trans,session,
-                ("select name, description, parent, type, scope from authz.ns WHERE name='"+ns+"';")
+                ("select name, description, parent, type, scope from authz.ns WHERE name='" + ns + "';")
                 ,creator
+                , v -> data.put(v.ndd.name,v)
                 );
     }
 
-    private static void load(Trans trans, Session session, String query, Creator<NS> creator) {
+    public static void load(Trans trans, Session session, Creator<NS> creator, Visitor<NS> visitor) {
+         load(trans,session,creator.query(null),creator, visitor);
+    }
+
+    public void row(final CSV.Writer csvw, String tag) {
+        csvw.row(tag,ndd.name,ndd.type,ndd.parent);
+    }
+
+
+    private static void load(Trans trans, Session session, String query, Creator<NS> creator, Visitor<NS> visitor) {
         trans.info().log( "query: " + query );
         ResultSet results;
         TimeTaken tt;
@@ -91,7 +102,7 @@ public class    NS implements Comparable<NS> {
         } finally {
             tt.done();
         }
-        
+
 
         try {
             Iterator<Row> iter = results.iterator();
@@ -101,7 +112,7 @@ public class    NS implements Comparable<NS> {
                 while (iter.hasNext()) {
                     row = iter.next();
                     NS ns = creator.create(row);
-                    data.put(ns.name,ns);
+                    visitor.visit(ns);
                 }
             } finally {
                 tt.done();
@@ -125,9 +136,9 @@ public class    NS implements Comparable<NS> {
             tt.done();
         }
     }
-        
+
     public String toString() {
-        return name;
+        return ndd.name;
     }
 
     /* (non-Javadoc)
@@ -135,7 +146,7 @@ public class    NS implements Comparable<NS> {
      */
     @Override
     public int hashCode() {
-        return name.hashCode();
+        return ndd.name.hashCode();
     }
 
     /* (non-Javadoc)
@@ -143,33 +154,32 @@ public class    NS implements Comparable<NS> {
      */
     @Override
     public boolean equals(Object obj) {
-        return name.equals(obj);
+        return ndd.name.equals(obj);
     }
 
     @Override
     public int compareTo(NS o) {
-        return name.compareTo(o.name);
+        return ndd.name.compareTo(o.ndd.name);
     }
-    
+
     public static class NSSplit {
         public String ns;
         public String other;
         public NSSplit(String s, int dot) {
             ns = s.substring(0,dot);
-            other = s.substring(dot+1);
+            other = s.substring(dot + 1);
         }
     }
     public static NSSplit deriveParent(String dotted) {
         if (dotted==null) {
             return null;
         }
-        for (int idx = dotted.lastIndexOf('.');idx>=0; idx=dotted.lastIndexOf('.',idx-1)) {
-            if (data.get(dotted.substring(0, idx))!=null) {
+        for (int idx = dotted.lastIndexOf('.');idx >= 0; idx = dotted.lastIndexOf('.',idx - 1)) {
+            if (data.get(dotted.substring(0, idx)) != null) {
                 return new NSSplit(dotted,idx);
             }
         }
         return null;
     }
 
-        
 }
\ No newline at end of file