Rework summary creation by formatting text blocks 34/106934/13
authorŠimon Ukuš <simon.ukus@pantheon.tech>
Mon, 17 Jul 2023 12:58:31 +0000 (14:58 +0200)
committerIvan Hrasko <ivan.hrasko@pantheon.tech>
Wed, 9 Aug 2023 14:45:00 +0000 (14:45 +0000)
We had a dedicated method to construct a basic summary.
Remove the method and use formatted text block to increase readability.

JIRA: NETCONF-1088
Change-Id: I019403b4725c30f0e06ab05d68523bab633f0128
Signed-off-by: Šimon Ukuš <simon.ukus@pantheon.tech>
Signed-off-by: Ivan Hrasko <ivan.hrasko@pantheon.tech>
restconf/restconf-openapi/src/main/java/org/opendaylight/restconf/openapi/model/builder/OperationBuilder.java
restconf/restconf-openapi/src/main/java/org/opendaylight/restconf/openapi/mountpoints/MountPointOpenApi.java

index e69d63921e752ed2cbba01aeb46dc730d29a3dd3..04905e630ffcc7f8db7d0215418aa1a74f8fcf51 100644 (file)
@@ -38,7 +38,7 @@ public final class OperationBuilder {
     public static final String PROPERTIES_KEY = "properties";
     public static final String REF_KEY = "$ref";
     public static final String SCHEMA_KEY = "schema";
-    public static final String SUMMARY_SEPARATOR = " - ";
+    public static final String SUMMARY_TEMPLATE = "%s - %s - %s - %s";
     public static final String TOP = "_TOP";
     public static final String XML_KEY = "xml";
     private static final List<String> MIME_TYPES = List.of(MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON);
@@ -52,7 +52,7 @@ public final class OperationBuilder {
     public static Operation buildPost(final String parentName, final String nodeName, final String discriminator,
             final String moduleName, final @NonNull String deviceName, final String description,
             final List<Parameter> pathParams) {
-        final var summary = buildSummaryValue(HttpMethod.POST, moduleName, deviceName, nodeName);
+        final var summary = SUMMARY_TEMPLATE.formatted(HttpMethod.POST, deviceName, moduleName, nodeName);
         final List<String> tags = List.of(deviceName + " " + moduleName);
         final List<Parameter> parameters = new ArrayList<>(pathParams);
         final ObjectNode ref = JsonNodeFactory.instance.objectNode();
@@ -79,7 +79,7 @@ public final class OperationBuilder {
             final @NonNull String deviceName, final List<Parameter> pathParams, final String defName,
             final String defNameTop) {
         final String description = node.getDescription().orElse("");
-        final String summary = buildSummaryValue(HttpMethod.GET, moduleName, deviceName,
+        final String summary = SUMMARY_TEMPLATE.formatted(HttpMethod.GET, deviceName, moduleName,
                 node.getQName().getLocalName());
         final List<String> tags = List.of(deviceName + " " + moduleName);
         final List<Parameter> parameters = new ArrayList<>(pathParams);
@@ -118,7 +118,7 @@ public final class OperationBuilder {
     public static Operation buildPut(final String parentName, final String nodeName, final String discriminator,
             final String moduleName, final @NonNull String deviceName, final String description,
             final List<Parameter> pathParams) {
-        final String summary = buildSummaryValue(HttpMethod.PUT, moduleName, deviceName, nodeName);
+        final String summary = SUMMARY_TEMPLATE.formatted(HttpMethod.PUT, deviceName, moduleName, nodeName);
         final List<String> tags = List.of(deviceName + " " + moduleName);
         final List<Parameter> parameters = new ArrayList<>(pathParams);
         final String defName = parentName + "_" + nodeName + TOP;
@@ -142,7 +142,7 @@ public final class OperationBuilder {
 
     public static Operation buildPatch(final String parentName, final String nodeName, final String moduleName,
             final @NonNull String deviceName, final String description, final List<Parameter> pathParams) {
-        final String summary = buildSummaryValue(HttpMethod.PATCH, moduleName, deviceName, nodeName);
+        final String summary = SUMMARY_TEMPLATE.formatted(HttpMethod.PATCH, deviceName, moduleName, nodeName);
         final List<String> tags = List.of(deviceName + " " + moduleName);
         final List<Parameter> parameters = new ArrayList<>(pathParams);
         final String defName = parentName + "_" + nodeName + TOP;
@@ -166,7 +166,7 @@ public final class OperationBuilder {
 
     public static Operation buildDelete(final DataSchemaNode node, final String moduleName,
             final @NonNull String deviceName, final List<Parameter> pathParams) {
-        final String summary = buildSummaryValue(HttpMethod.DELETE, moduleName, deviceName,
+        final String summary = SUMMARY_TEMPLATE.formatted(HttpMethod.DELETE, deviceName, moduleName,
                 node.getQName().getLocalName());
         final List<String> tags = List.of(deviceName + " " + moduleName);
         final String description = node.getDescription().orElse("");
@@ -190,7 +190,7 @@ public final class OperationBuilder {
         final List<Parameter> parameters = new ArrayList<>(parentPathParameters);
         final String operationName = operDef.getQName().getLocalName();
         final String inputName = operationName + INPUT_SUFFIX;
-        final String summary = buildSummaryValue(HttpMethod.POST, moduleName, deviceName, operationName);
+        final String summary = SUMMARY_TEMPLATE.formatted(HttpMethod.POST, deviceName, moduleName, operationName);
 
         final InputSchemaNode input = operDef.getInput();
         final OutputSchemaNode output = operDef.getOutput();
@@ -317,11 +317,4 @@ public final class OperationBuilder {
         response.put(DESCRIPTION_KEY, description);
         return response;
     }
-
-    private static String buildSummaryValue(final String httpMethod, final String moduleName,
-            final String deviceName, final String nodeName) {
-        // FIXME eliminate this method
-        return httpMethod + SUMMARY_SEPARATOR + deviceName + SUMMARY_SEPARATOR
-            + moduleName + SUMMARY_SEPARATOR + nodeName;
-    }
 }
index cc496689b99165f8547bb84649ac4e87b9c58dea..1ab6bd92ef4052b4febfd237f5090d259fef8e04 100644 (file)
@@ -18,7 +18,7 @@ import static org.opendaylight.restconf.openapi.impl.BaseYangOpenApiGenerator.fi
 import static org.opendaylight.restconf.openapi.impl.BaseYangOpenApiGenerator.getSortedModules;
 import static org.opendaylight.restconf.openapi.impl.OpenApiServiceImpl.DEFAULT_PAGESIZE;
 import static org.opendaylight.restconf.openapi.model.builder.OperationBuilder.DESCRIPTION_KEY;
-import static org.opendaylight.restconf.openapi.model.builder.OperationBuilder.SUMMARY_SEPARATOR;
+import static org.opendaylight.restconf.openapi.model.builder.OperationBuilder.SUMMARY_TEMPLATE;
 
 import com.fasterxml.jackson.databind.node.JsonNodeFactory;
 import com.fasterxml.jackson.databind.node.ObjectNode;
@@ -237,7 +237,7 @@ public class MountPointOpenApi implements DOMMountPointListener, AutoCloseable {
 
     private static Operation createGetPathItem(final String resourceType, final String description,
             final String deviceName) {
-        final String summary = HttpMethod.GET + SUMMARY_SEPARATOR + deviceName + SUMMARY_SEPARATOR + resourceType;
+        final String summary = SUMMARY_TEMPLATE.formatted(HttpMethod.GET, deviceName, "datastore", resourceType);
         final List<String> tags = List.of(deviceName + " GET root");
         final ObjectNode okResponse = JsonNodeFactory.instance.objectNode();
         okResponse.put(DESCRIPTION_KEY, Response.Status.OK.getReasonPhrase());