Fixing the formatting
[aai/gizmo.git] / src / main / java / org / openecomp / schema / RelationshipSchemaLoader.java
index 89a9e58..cc6315c 100644 (file)
@@ -66,9 +66,8 @@ public class RelationshipSchemaLoader {
   final static Pattern propsFilePattern = Pattern.compile(edgePropsFiles + "(.*)" + fileExt);
   final static Pattern versionPattern = Pattern.compile(".*(v\\d+)" + fileExt);
 
-
   private static org.openecomp.cl.api.Logger logger = LoggerFactory.getInstance()
-          .getLogger(RelationshipSchemaLoader.class.getName());
+      .getLogger(RelationshipSchemaLoader.class.getName());
 
   public synchronized static void loadModels() throws CrudException {
     load(rulesFilePattern, propsFilePattern);
@@ -112,7 +111,6 @@ public class RelationshipSchemaLoader {
     RelationshipSchemaLoader.versionContextMap = new ConcurrentHashMap<>();
   }
 
-
   private static void load(Pattern rulesPattern, Pattern edgePropsPattern) throws CrudException {
     ClassLoader cl = RelationshipSchemaLoader.class.getClassLoader();
     ResourcePatternResolver rulesResolver = new PathMatchingResourcePatternResolver(cl);
@@ -121,51 +119,66 @@ public class RelationshipSchemaLoader {
     try {
 
       // getResources method returns objects of type "Resource"
-      // 1. We are getting all the objects from the classpath which has "DbEdgeRules" in the name.
-      // 2. We run them through a filter and return only the objects which match the supplied pattern "p"
-      // 3. We then collect the objects in a list. At this point we have a list of the kind of files we require.
+      // 1. We are getting all the objects from the classpath which has
+      // "DbEdgeRules" in the name.
+      // 2. We run them through a filter and return only the objects which match
+      // the supplied pattern "p"
+      // 3. We then collect the objects in a list. At this point we have a list
+      // of the kind of files we require.
       rulesFiles = Arrays.stream(rulesResolver.getResources("classpath*:/dbedgerules/DbEdgeRules*" + fileExt))
-              .filter(r -> !myMatcher(rulesPattern, r.getFilename()).isEmpty())
-              .collect(Collectors.toList());
+          .filter(r -> !myMatcher(rulesPattern, r.getFilename()).isEmpty()).collect(Collectors.toList());
 
-      // This gets all the objects of type "File" from external directory (not on the classpath)
-      // 1. From an external directory (one not on the classpath) we get all the objects of type "File"
-      // 2. We only return the files whose names matched the supplied pattern "p2".
-      // 3. We then collect all the objects in a list and add the contents of this list
-      //    to the previous collection (rulesFiles)
-      rulesFiles.addAll(Arrays.stream(new File(rulesDir).listFiles((d, name) ->
-              edgePropsPattern.matcher(name).matches())).collect(Collectors.toList()));
+      // This gets all the objects of type "File" from external directory (not
+      // on the classpath)
+      // 1. From an external directory (one not on the classpath) we get all the
+      // objects of type "File"
+      // 2. We only return the files whose names matched the supplied pattern
+      // "p2".
+      // 3. We then collect all the objects in a list and add the contents of
+      // this list
+      // to the previous collection (rulesFiles)
+      rulesFiles
+          .addAll(Arrays.stream(new File(rulesDir).listFiles((d, name) -> edgePropsPattern.matcher(name).matches()))
+              .collect(Collectors.toList()));
 
       if (rulesFiles.isEmpty()) {
         logger.error(CrudServiceMsgs.INVALID_OXM_DIR, rulesDir);
         throw new FileNotFoundException("DbEdgeRules and edge_properties files were not found.");
       }
 
-      // Sort and then group the files with their versions, convert them to the schema, and add them to versionContextMap
-      // 1. Sort the files. We need the DbEdgeRules files to be before the edgeProperties files.
-      // 2. Group the files with their versions. ie. v11 -> ["DbEdgeRule_v11.json", "edgeProperties_v11.json"].
-      //    The "group method" returns a HashMap whose key is the version and the value is a list of objects.
-      // 3. Go through each version and map the files into one schema using the "jsonFilesLoader" method.
-      //      Also update the  "versionContextMap" with the version and it's schema.
+      // Sort and then group the files with their versions, convert them to the
+      // schema, and add them to versionContextMap
+      // 1. Sort the files. We need the DbEdgeRules files to be before the
+      // edgeProperties files.
+      // 2. Group the files with their versions. ie. v11 ->
+      // ["DbEdgeRule_v11.json", "edgeProperties_v11.json"].
+      // The "group method" returns a HashMap whose key is the version and the
+      // value is a list of objects.
+      // 3. Go through each version and map the files into one schema using the
+      // "jsonFilesLoader" method.
+      // Also update the "versionContextMap" with the version and it's schema.
       rulesFiles.stream().sorted(Comparator.comparing(RelationshipSchemaLoader::filename))
-              .collect(Collectors.groupingBy(f -> myMatcher(versionPattern, filename(f))))
-              .forEach((version, resourceAndFile) -> {
-                if (resourceAndFile.size() == 2 ) {
-                  versionContextMap.put(version, jsonFilesLoader(version, resourceAndFile));
-                } else {
-                  String filenames = resourceAndFile.stream().map(f-> filename(f)).collect(Collectors.toList()).toString();
-                  String errorMsg = "Expecting a rules and a edge_properties files for " + version + ". Found: " + filenames;
-                  logger.warn(CrudServiceMsgs.INVALID_OXM_FILE, errorMsg);
-                }});
-      logger.info(CrudServiceMsgs.LOADED_OXM_FILE, "Relationship Schema and Properties files: " + rulesFiles.stream().map(f -> filename(f)).collect(Collectors.toList()));
+          .collect(Collectors.groupingBy(f -> myMatcher(versionPattern, filename(f))))
+          .forEach((version, resourceAndFile) -> {
+            if (resourceAndFile.size() == 2) {
+              versionContextMap.put(version, jsonFilesLoader(version, resourceAndFile));
+            } else {
+              String filenames = resourceAndFile.stream().map(f -> filename(f)).collect(Collectors.toList()).toString();
+              String errorMsg = "Expecting a rules and a edge_properties files for " + version + ". Found: "
+                  + filenames;
+              logger.warn(CrudServiceMsgs.INVALID_OXM_FILE, errorMsg);
+            }
+          });
+      logger.info(CrudServiceMsgs.LOADED_OXM_FILE, "Relationship Schema and Properties files: "
+          + rulesFiles.stream().map(f -> filename(f)).collect(Collectors.toList()));
     } catch (IOException e) {
       logger.error(CrudServiceMsgs.INVALID_OXM_DIR, rulesDir);
       throw new CrudException("DbEdgeRules or edge_properties files were not found.", new FileNotFoundException());
     }
   }
 
-  private static String filename (Object k) throws ClassCastException {
-    if (k instanceof UrlResource){
+  private static String filename(Object k) throws ClassCastException {
+    if (k instanceof UrlResource) {
       return ((UrlResource) k).getFilename();
     } else if (k instanceof File) {
       return ((File) k).getName();
@@ -174,7 +187,7 @@ public class RelationshipSchemaLoader {
     }
   }
 
-  private static RelationshipSchema jsonFilesLoader (String version, List<Object> files) {
+  private static RelationshipSchema jsonFilesLoader(String version, List<Object> files) {
     List<String> fileContents = new ArrayList<>();
     RelationshipSchema rsSchema = null;
     if (files.size() == 2) {
@@ -188,29 +201,29 @@ public class RelationshipSchemaLoader {
       } catch (CrudException | IOException e) {
         e.printStackTrace();
         logger.error(CrudServiceMsgs.INVALID_OXM_FILE,
-                files.stream().map(f -> filename(f)).collect(Collectors.toList()).toString(), e.getMessage());
+            files.stream().map(f -> filename(f)).collect(Collectors.toList()).toString(), e.getMessage());
       }
       return rsSchema;
     }
     return rsSchema;
   }
 
-  private synchronized static void updateVersionContext(String version, RelationshipSchema rs){
+  private synchronized static void updateVersionContext(String version, RelationshipSchema rs) {
     versionContextMap.put(version, rs);
   }
 
-  private synchronized static String jsonToRelationSchema (String version, Object file) {
+  private synchronized static String jsonToRelationSchema(String version, Object file) {
     InputStream inputStream = null;
     String content = null;
 
     try {
-      if (file instanceof  UrlResource) {
+      if (file instanceof UrlResource) {
         inputStream = ((UrlResource) file).getInputStream();
       } else {
         inputStream = new FileInputStream((File) file);
         addtimer(version, file);
       }
-      content =  IOUtils.toString(inputStream, "UTF-8");
+      content = IOUtils.toString(inputStream, "UTF-8");
     } catch (IOException e) {
       e.printStackTrace();
     }
@@ -219,14 +232,14 @@ public class RelationshipSchemaLoader {
 
   private static void addtimer(String version, Object file) {
     TimerTask task = null;
-    task = new FileWatcher(
-            (File) file) {
+    task = new FileWatcher((File) file) {
       protected void onChange(File file) {
         // here we implement the onChange
         logger.info(CrudServiceMsgs.OXM_FILE_CHANGED, file.getName());
 
         try {
-          // Cannot use the file object here because we also have to get the edge properties associated with that version.
+          // Cannot use the file object here because we also have to get the
+          // edge properties associated with that version.
           // The properties are stored in a different file.
           RelationshipSchemaLoader.loadModels(version);
         } catch (Exception e) {
@@ -243,7 +256,7 @@ public class RelationshipSchemaLoader {
     }
   }
 
-  private static String myMatcher (Pattern p, String s) {
+  private static String myMatcher(Pattern p, String s) {
     Matcher m = p.matcher(s);
     return m.matches() ? m.group(1) : "";
   }