correctly generate local fields when prefix has 10/109910/1
authorBenjamin, Max <max.benjamin@att.com>
Tue, 7 Jul 2020 14:43:22 +0000 (10:43 -0400)
committerBenjamin, Max (mb388a) <mb388a@att.com>
Tue, 7 Jul 2020 14:43:22 +0000 (10:43 -0400)
correctly generate local fields when prefix has type and name

Issue-ID: SO-3032
Signed-off-by: Benjamin, Max (mb388a) <mb388a@att.com>
Change-Id: I0ba88949a136fae87850553dab5b4b80b32f9824

graph-inventory/fluent-builder-maven-plugin/src/main/java/org/onap/graphinventory/generate/FluentGenerator.java
graph-inventory/fluent-builder-maven-plugin/src/main/java/org/onap/graphinventory/generate/Patterns.java
graph-inventory/fluent-builder-maven-plugin/src/main/java/org/onap/graphinventory/generate/SwaggerConverter.java

index 23a1a81..4a8b7d9 100644 (file)
@@ -325,13 +325,8 @@ public class FluentGenerator {
             String value;
             String name;
 
-            if (params.group(2) != null) {
-                name = params.group(2);
-            } else {
-                name = params.group(1);
-            }
             value = params.group(1);
-
+            name = params.group(2);
             name = CaseFormat.LOWER_HYPHEN.to(CaseFormat.LOWER_CAMEL, name);
 
             classFields.add(FieldSpec.builder(String.class, name, Modifier.PUBLIC, Modifier.FINAL)
index 8be22e1..d27794c 100644 (file)
@@ -7,5 +7,5 @@ public class Patterns {
     public static final Pattern pluralPattern = Pattern.compile(".*(?<partial>/(?<name>[^{]*$))");
     public static final Pattern singularPattern = Pattern.compile(".*(?<partial>/(?<name>[^/{}]*)/\\{.*$)");
     public static final Pattern topLevelPattern = Pattern.compile("^/([^/]+)/.*");
-    public static final Pattern urlTemplatePattern = Pattern.compile("\\{([^}.]+(?:\\.([^}]+))?)\\}");
+    public static final Pattern urlTemplatePattern = Pattern.compile("\\{((?:.+\\.)?([^}.]+))\\}");
 }
index 4230548..ec09af8 100644 (file)
@@ -125,8 +125,6 @@ public class SwaggerConverter {
             }
         }
 
-        log.debug(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(output));
-
         for (Map.Entry<String, ObjectType> item : output.entrySet()) {
 
             if (item.getValue().getType().equals("plural")) {
@@ -156,7 +154,7 @@ public class SwaggerConverter {
                 Matcher templates = Patterns.urlTemplatePattern.matcher(item.getValue().getPartialUri());
                 List<String> localFields = new ArrayList<>();
                 while (templates.find()) {
-                    localFields.add(templates.group(1));
+                    localFields.add(templates.group(2));
                 }
                 item.getValue().setFields(item.getValue().getFields().stream()
                         .filter(f -> localFields.contains(f.getName())).collect(Collectors.toList()));
@@ -166,6 +164,8 @@ public class SwaggerConverter {
         output.values().stream().filter(item -> item.getType().equals("plural"))
                 .forEach(item -> item.getChildren().clear());
 
+        log.debug(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(output));
+
         return output;
     }
 }