AAI-1523 checkstyle warnings for aai-core query
[aai/aai-common.git] / aai-core / src / test / java / org / onap / aai / query / builder / optimization / AbstractGraphTraversalBuilderOptmizationTest.java
index 29ca742..c8134b2 100644 (file)
@@ -51,159 +51,159 @@ import static org.junit.Assert.assertEquals;
 
 public abstract class AbstractGraphTraversalBuilderOptmizationTest extends AAISetup{
 
-       protected static final List<String> RANDOM_VALUES = Arrays.asList("A","B","C","D","E");
-
-       protected static final String crUriPattern = "/cloud-infrastructure/cloud-regions/cloud-region/%s/%s";
-       protected static final String tenantUriPatternSuffix = "/tenants/tenant/%s";
-       protected static final String tenantUriPattern = crUriPattern + tenantUriPatternSuffix;
-       protected static final String vserverUriPatternSuffix = "/vservers/vserver/%s";
-       protected static final String vserverUriPattern = tenantUriPattern + vserverUriPatternSuffix;
-
-       public static final String VSERVER_ID = "vserver-id";
-       public static final String TENANT_ID = "tenant-id";
-       public static final String TENANT_NAME = "tenant-name";
-       public static final String PROV_STATUS = "prov-status";
-       public static final String VSERVER_NAME = "vserver-name";
-       public static final String VSERVER_SELFLINK = "vserver-selflink";
-       public static final String TENANT = "tenant";
-       public static final String VSERVER = "vserver";
-       public static final String CLOUD_REGION = "cloud-region";
-       public static final String CLOUD_REGION_ID = "cloud-region-id";
-       public static final String CLOUD_OWNER = "cloud-owner";
-
-       private static final ModelType introspectorFactoryType = ModelType.MOXY;
-       private static final QueryStyle queryStyle = QueryStyle.TRAVERSAL;
-       private static final DBConnectionType type = DBConnectionType.REALTIME;
-       private static TransactionalGraphEngine dbEngine;
-       private static DBSerializer dbser;
-       protected static Loader loader;
-       protected static Graph graph;
-       protected static GraphTraversalSource g;
-       @Autowired
-       private static EdgeSerializer edgeSer;
-
-       protected static Random rand;
-
-
-       protected void setupData(int tenantNum, int vserverPerTenantNum, String prefix) throws Exception{
-               loader = loaderFactory.createLoaderForVersion(introspectorFactoryType, schemaVersions.getDefaultVersion());
-               graph = AAIGraph.getInstance().getGraph();
-
-               dbEngine = new JanusGraphDBEngine(queryStyle, type, loader);
-               g = dbEngine.startTransaction().traversal();
-               dbser = new DBSerializer(schemaVersions.getDefaultVersion(), dbEngine, introspectorFactoryType, "AAI-TEST-" + prefix);
-
-               rand = new Random();
-
-               Vertex cr;
-               Vertex tenant;
-               Vertex vserver;
-               String crUri;
-               String tenantUri;
-               String vserverUri;
-               System.out.println("Data load started");
-               long startTime = System.currentTimeMillis();
-               for (int crCtr = 0; crCtr < 3; crCtr++) {
-                       crUri = String.format(crUriPattern, prefix + "cloud-owner-" + crCtr, prefix + "cloud-region-id-" + crCtr);
-                       //System.out.println(crUri);
-                       cr = g.addV(AAIProperties.NODE_TYPE, CLOUD_REGION,
-                                       CLOUD_REGION_ID, prefix + "cloud-region-id-" + crCtr,
-                                       CLOUD_OWNER, prefix + "cloud-owner-" + crCtr,
-                                       AAIProperties.AAI_URI, crUri
-                       ).next();
-                       for (int i = 0; i < tenantNum; i++) {
-                               Introspector intro = loader.introspectorFromName(TENANT);
-                               tenant = dbser.createNewVertex(intro);
-                               edgeSer.addTreeEdge(g, cr, tenant);
-                               intro.setValue(TENANT_ID, prefix + "tenant-id-" + i);
-                               intro.setValue(TENANT_NAME, prefix + "tenant-name-" + i);
-                               dbser.serializeSingleVertex(tenant, intro, "AAI-TEST-" + prefix);
-                               //System.out.println("Tenant " + crCtr + " " + i);
-                               for (int j = 0; j < vserverPerTenantNum; j++) {
-                                       intro = loader.introspectorFromName(VSERVER);
-                                       vserver = dbser.createNewVertex(intro);
-                                       edgeSer.addTreeEdge(g, tenant, vserver);
-                                       intro.setValue(VSERVER_ID, prefix + "vserver-id-" + i + "-" + j);
-                                       intro.setValue(VSERVER_NAME, prefix + "vserver-name-" + i + "-" + j);
-                                       intro.setValue(PROV_STATUS, RANDOM_VALUES.get(rand.nextInt(RANDOM_VALUES.size())));
-                                       intro.setValue(VSERVER_SELFLINK, RANDOM_VALUES.get(rand.nextInt(RANDOM_VALUES.size())));
-                                       dbser.serializeSingleVertex(vserver, intro, "AAI-TEST-" + prefix);
-                                       //System.out.println("Vserver " + crCtr + " " + i + " " + j);
-                               }
-                       }
-               }
-               //g.V().forEachRemaining(v -> v.properties().forEachRemaining(p -> System.out.println(p.key() + " : " + p.value())));
-               //g.E().forEachRemaining(e -> System.out.println(e.outVertex().property(AAIProperties.NODE_TYPE).value() + " : " + e.inVertex().property(AAIProperties.NODE_TYPE).value()));
-               long time = System.currentTimeMillis()-startTime;
-               System.out.println("Data load ended\n" + time);
-
-       }
-
-       @After
-       public void deConfigure() throws Exception {
-       }
-
-       @AfterClass
-       public static void teardown() throws Exception {
-               dbEngine.rollback();
-               System.out.println("Done");
-       }
-
-       protected void execute(Method getQueryMethod, int numResultsExpected) throws Exception{
-
-               int iterations = numOfTimesToRun();
-               long noneTimer = 0;
-               long uriTimer = 0;
-               for (int i = 0; i < iterations+1 ; i++) {
-                       if (i == 0 ) { // dont use incase initial cold starts
-                               timeQuery(getQuery(getQueryMethod, OptimizeEnum.NONE), numResultsExpected, OptimizeEnum.NONE);
-                               timeQuery(getQuery(getQueryMethod, OptimizeEnum.URI), numResultsExpected, OptimizeEnum.URI);
-                       } else {
-                               noneTimer += timeQuery(getQuery(getQueryMethod, OptimizeEnum.NONE), numResultsExpected, OptimizeEnum.NONE);
-                               uriTimer += timeQuery(getQuery(getQueryMethod, OptimizeEnum.URI), numResultsExpected, OptimizeEnum.URI);
-                       }
-               }
-
-               noneTimer /= iterations;
-               uriTimer /= iterations;
-               System.out.println(CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_HYPHEN, getQueryMethod.getName()).replace("-query", "") + "\t" + (noneTimer)/100000.0 + "\t" + (uriTimer)/100000.0);
-               //System.out.println((noneTimer)/100000.0 + " ms, (Not optimized)");
-               //System.out.println((uriTimer)/100000.0 + " ms, (URI optimized)");
-
-       }
-
-       private QueryBuilder<Vertex> getQuery(Method getQueryMethod, OptimizeEnum optimization) throws InvocationTargetException, IllegalAccessException {
-               return (QueryBuilder<Vertex>) getQueryMethod.invoke(this, optimization);
-       }
-
-
-       private long timeQuery(QueryBuilder<Vertex> query, int numResultsExpected, OptimizeEnum optimized) {
-
-               //System.out.println(optimized.toString());
-
-               long startTime = System.nanoTime();
-               List<Vertex> result = query.toList();
-               long endTime = System.nanoTime();
-
-//             if (!optimized) {
-//                     result.get(0).properties().forEachRemaining(p -> System.out.println(p.key() + " : " + p.value()));
-//             }
-               //System.out.println("Result size: " + result.size());
-               if (numResultsExpected != Integer.MIN_VALUE) {
-                       assertEquals( optimized.toString() + " optimized" + " query results in " + numResultsExpected + " vserver ", numResultsExpected, result.size());
-               }
-
-               return endTime - startTime;
-
-       }
-
-       protected abstract int getTenantNum();
-
-       protected abstract int getVserverNumPerTenant();
-
-       protected int numOfTimesToRun() {
-               return 500;
-       }
+    protected static final List<String> RANDOM_VALUES = Arrays.asList("A","B","C","D","E");
+
+    protected static final String crUriPattern = "/cloud-infrastructure/cloud-regions/cloud-region/%s/%s";
+    protected static final String tenantUriPatternSuffix = "/tenants/tenant/%s";
+    protected static final String tenantUriPattern = crUriPattern + tenantUriPatternSuffix;
+    protected static final String vserverUriPatternSuffix = "/vservers/vserver/%s";
+    protected static final String vserverUriPattern = tenantUriPattern + vserverUriPatternSuffix;
+
+    public static final String VSERVER_ID = "vserver-id";
+    public static final String TENANT_ID = "tenant-id";
+    public static final String TENANT_NAME = "tenant-name";
+    public static final String PROV_STATUS = "prov-status";
+    public static final String VSERVER_NAME = "vserver-name";
+    public static final String VSERVER_SELFLINK = "vserver-selflink";
+    public static final String TENANT = "tenant";
+    public static final String VSERVER = "vserver";
+    public static final String CLOUD_REGION = "cloud-region";
+    public static final String CLOUD_REGION_ID = "cloud-region-id";
+    public static final String CLOUD_OWNER = "cloud-owner";
+
+    private static final ModelType introspectorFactoryType = ModelType.MOXY;
+    private static final QueryStyle queryStyle = QueryStyle.TRAVERSAL;
+    private static final DBConnectionType type = DBConnectionType.REALTIME;
+    private static TransactionalGraphEngine dbEngine;
+    private static DBSerializer dbser;
+    protected static Loader loader;
+    protected static Graph graph;
+    protected static GraphTraversalSource g;
+    @Autowired
+    private static EdgeSerializer edgeSer;
+
+    protected static Random rand;
+
+
+    protected void setupData(int tenantNum, int vserverPerTenantNum, String prefix) throws Exception{
+        loader = loaderFactory.createLoaderForVersion(introspectorFactoryType, schemaVersions.getDefaultVersion());
+        graph = AAIGraph.getInstance().getGraph();
+
+        dbEngine = new JanusGraphDBEngine(queryStyle, type, loader);
+        g = dbEngine.startTransaction().traversal();
+        dbser = new DBSerializer(schemaVersions.getDefaultVersion(), dbEngine, introspectorFactoryType, "AAI-TEST-" + prefix);
+
+        rand = new Random();
+
+        Vertex cr;
+        Vertex tenant;
+        Vertex vserver;
+        String crUri;
+        String tenantUri;
+        String vserverUri;
+        System.out.println("Data load started");
+        long startTime = System.currentTimeMillis();
+        for (int crCtr = 0; crCtr < 3; crCtr++) {
+            crUri = String.format(crUriPattern, prefix + "cloud-owner-" + crCtr, prefix + "cloud-region-id-" + crCtr);
+            //System.out.println(crUri);
+            cr = g.addV(AAIProperties.NODE_TYPE, CLOUD_REGION,
+                    CLOUD_REGION_ID, prefix + "cloud-region-id-" + crCtr,
+                    CLOUD_OWNER, prefix + "cloud-owner-" + crCtr,
+                    AAIProperties.AAI_URI, crUri
+            ).next();
+            for (int i = 0; i < tenantNum; i++) {
+                Introspector intro = loader.introspectorFromName(TENANT);
+                tenant = dbser.createNewVertex(intro);
+                edgeSer.addTreeEdge(g, cr, tenant);
+                intro.setValue(TENANT_ID, prefix + "tenant-id-" + i);
+                intro.setValue(TENANT_NAME, prefix + "tenant-name-" + i);
+                dbser.serializeSingleVertex(tenant, intro, "AAI-TEST-" + prefix);
+                //System.out.println("Tenant " + crCtr + " " + i);
+                for (int j = 0; j < vserverPerTenantNum; j++) {
+                    intro = loader.introspectorFromName(VSERVER);
+                    vserver = dbser.createNewVertex(intro);
+                    edgeSer.addTreeEdge(g, tenant, vserver);
+                    intro.setValue(VSERVER_ID, prefix + "vserver-id-" + i + "-" + j);
+                    intro.setValue(VSERVER_NAME, prefix + "vserver-name-" + i + "-" + j);
+                    intro.setValue(PROV_STATUS, RANDOM_VALUES.get(rand.nextInt(RANDOM_VALUES.size())));
+                    intro.setValue(VSERVER_SELFLINK, RANDOM_VALUES.get(rand.nextInt(RANDOM_VALUES.size())));
+                    dbser.serializeSingleVertex(vserver, intro, "AAI-TEST-" + prefix);
+                    //System.out.println("Vserver " + crCtr + " " + i + " " + j);
+                }
+            }
+        }
+        //g.V().forEachRemaining(v -> v.properties().forEachRemaining(p -> System.out.println(p.key() + " : " + p.value())));
+        //g.E().forEachRemaining(e -> System.out.println(e.outVertex().property(AAIProperties.NODE_TYPE).value() + " : " + e.inVertex().property(AAIProperties.NODE_TYPE).value()));
+        long time = System.currentTimeMillis()-startTime;
+        System.out.println("Data load ended\n" + time);
+
+    }
+
+    @After
+    public void deConfigure() throws Exception {
+    }
+
+    @AfterClass
+    public static void teardown() throws Exception {
+        dbEngine.rollback();
+        System.out.println("Done");
+    }
+
+    protected void execute(Method getQueryMethod, int numResultsExpected) throws Exception{
+
+        int iterations = numOfTimesToRun();
+        long noneTimer = 0;
+        long uriTimer = 0;
+        for (int i = 0; i < iterations+1 ; i++) {
+            if (i == 0 ) { // dont use incase initial cold starts
+                timeQuery(getQuery(getQueryMethod, OptimizeEnum.NONE), numResultsExpected, OptimizeEnum.NONE);
+                timeQuery(getQuery(getQueryMethod, OptimizeEnum.URI), numResultsExpected, OptimizeEnum.URI);
+            } else {
+                noneTimer += timeQuery(getQuery(getQueryMethod, OptimizeEnum.NONE), numResultsExpected, OptimizeEnum.NONE);
+                uriTimer += timeQuery(getQuery(getQueryMethod, OptimizeEnum.URI), numResultsExpected, OptimizeEnum.URI);
+            }
+        }
+
+        noneTimer /= iterations;
+        uriTimer /= iterations;
+        System.out.println(CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_HYPHEN, getQueryMethod.getName()).replace("-query", "") + "\t" + (noneTimer)/100000.0 + "\t" + (uriTimer)/100000.0);
+        //System.out.println((noneTimer)/100000.0 + " ms, (Not optimized)");
+        //System.out.println((uriTimer)/100000.0 + " ms, (URI optimized)");
+
+    }
+
+    private QueryBuilder<Vertex> getQuery(Method getQueryMethod, OptimizeEnum optimization) throws InvocationTargetException, IllegalAccessException {
+        return (QueryBuilder<Vertex>) getQueryMethod.invoke(this, optimization);
+    }
+
+
+    private long timeQuery(QueryBuilder<Vertex> query, int numResultsExpected, OptimizeEnum optimized) {
+
+        //System.out.println(optimized.toString());
+
+        long startTime = System.nanoTime();
+        List<Vertex> result = query.toList();
+        long endTime = System.nanoTime();
+
+//      if (!optimized) {
+//          result.get(0).properties().forEachRemaining(p -> System.out.println(p.key() + " : " + p.value()));
+//      }
+        //System.out.println("Result size: " + result.size());
+        if (numResultsExpected != Integer.MIN_VALUE) {
+            assertEquals( optimized.toString() + " optimized" + " query results in " + numResultsExpected + " vserver ", numResultsExpected, result.size());
+        }
+
+        return endTime - startTime;
+
+    }
+
+    protected abstract int getTenantNum();
+
+    protected abstract int getVserverNumPerTenant();
+
+    protected int numOfTimesToRun() {
+        return 500;
+    }
 
 }