Hide ParserIdentifier 67/109067/1
authorRobert Varga <robert.varga@pantheon.tech>
Sun, 26 Nov 2023 12:28:59 +0000 (13:28 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Sun, 26 Nov 2023 12:29:13 +0000 (13:29 +0100)
We now only have a single production use or ParserIdentifier. Hide the
class and migrate out-of-package users.

JIRA: NETCONF-1157
Change-Id: I78b246cdb843e10bbb9d661c7a36aba1b4c3f46e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/databind/PatchBody.java
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/utils/parser/ParserIdentifier.java
restconf/restconf-nb/src/test/java/org/opendaylight/restconf/nb/rfc8040/databind/AbstractPatchBodyTest.java
restconf/restconf-nb/src/test/java/org/opendaylight/restconf/nb/rfc8040/databind/AbstractResourceBodyTest.java

index 2b55f9ae905429aac6f94966b96dea3354554073..e00bb0165434965fad6cccef1732785461835613 100644 (file)
@@ -11,11 +11,13 @@ import static com.google.common.base.Verify.verify;
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.text.ParseException;
 import org.eclipse.jdt.annotation.NonNull;
+import org.opendaylight.restconf.api.ApiPath;
 import org.opendaylight.restconf.common.errors.RestconfDocumentedException;
 import org.opendaylight.restconf.common.patch.PatchContext;
+import org.opendaylight.restconf.nb.rfc8040.legacy.InstanceIdentifierContext;
 import org.opendaylight.restconf.nb.rfc8040.utils.parser.IdentifierCodec;
-import org.opendaylight.restconf.nb.rfc8040.utils.parser.ParserIdentifier;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.patch.rev170222.yang.patch.yang.patch.Edit.Operation;
 import org.opendaylight.yangtools.yang.common.ErrorTag;
 import org.opendaylight.yangtools.yang.common.ErrorType;
@@ -56,8 +58,8 @@ public abstract sealed class PatchBody extends AbstractBody permits JsonPatchBod
         }
 
         try {
-            return ParserIdentifier.toInstanceIdentifier(targetUrl, context, null).getInstanceIdentifier();
-        } catch (RestconfDocumentedException e) {
+            return InstanceIdentifierContext.ofApiPath(ApiPath.parse(targetUrl), context, null).getInstanceIdentifier();
+        } catch (ParseException | RestconfDocumentedException e) {
             throw new RestconfDocumentedException("Failed to parse target " + target,
                 ErrorType.RPC, ErrorTag.MALFORMED_MESSAGE, e);
         }
index b471d863fc68897f4187d2a6e83ec5cc2b5238e4..6dfc80737cf10ba4a3cc3dfd4c83d4535ba8ea2d 100644 (file)
@@ -22,7 +22,8 @@ import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 /**
  * Util class for parsing identifier.
  */
-public final class ParserIdentifier {
+@Deprecated(forRemoval = true)
+final class ParserIdentifier {
     private ParserIdentifier() {
         // Hidden on purpose
     }
@@ -43,7 +44,7 @@ public final class ParserIdentifier {
      * @param mountPointService mount point service
      * @return {@link InstanceIdentifierContext}
      */
-    public static InstanceIdentifierContext toInstanceIdentifier(final String identifier,
+    static InstanceIdentifierContext toInstanceIdentifier(final String identifier,
             final EffectiveModelContext schemaContext, final @Nullable DOMMountPointService mountPointService) {
         final ApiPath apiPath;
         try {
index 54f1167a46c9e2a8af6b885001cc343dc7b0f9a4..38fcead5de3a552558b27ade64b310e3b7aba078 100644 (file)
@@ -14,6 +14,7 @@ import static org.mockito.Mockito.doReturn;
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.text.ParseException;
 import java.util.Optional;
 import java.util.function.Function;
 import org.eclipse.jdt.annotation.NonNull;
@@ -26,9 +27,10 @@ import org.opendaylight.mdsal.dom.api.DOMMountPoint;
 import org.opendaylight.mdsal.dom.api.DOMMountPointService;
 import org.opendaylight.mdsal.dom.api.DOMSchemaService;
 import org.opendaylight.mdsal.dom.spi.FixedDOMSchemaService;
+import org.opendaylight.restconf.api.ApiPath;
 import org.opendaylight.restconf.common.patch.PatchContext;
 import org.opendaylight.restconf.nb.rfc8040.AbstractInstanceIdentifierTest;
-import org.opendaylight.restconf.nb.rfc8040.utils.parser.ParserIdentifier;
+import org.opendaylight.restconf.nb.rfc8040.legacy.InstanceIdentifierContext;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 
 @RunWith(MockitoJUnitRunner.Silent.class)
@@ -73,8 +75,14 @@ abstract class AbstractPatchBodyTest extends AbstractInstanceIdentifierTest {
         } else {
             uriPath = prefix + '/' + suffix;
         }
+        final ApiPath apiPath;
+        try {
+            apiPath = ApiPath.parse(uriPath);
+        } catch (ParseException e) {
+            throw new AssertionError(e);
+        }
 
-        final var iid = ParserIdentifier.toInstanceIdentifier(uriPath, IID_SCHEMA, mountPointService);
+        final var iid = InstanceIdentifierContext.ofApiPath(apiPath, IID_SCHEMA, mountPointService);
 
         try (var body = bodyConstructor.apply(stringInputStream(patchBody))) {
             return body.toPatchContext(iid.getSchemaContext(), iid.getInstanceIdentifier());
index 4813295a0c7c246e258ebc70b4eec7715ffa809d..1568e8e18bf3312be9f7f2db78e4f993faa45356 100644 (file)
@@ -16,6 +16,7 @@ import static org.mockito.Mockito.mock;
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.text.ParseException;
 import java.util.Optional;
 import java.util.function.Function;
 import org.eclipse.jdt.annotation.NonNull;
@@ -25,8 +26,9 @@ import org.opendaylight.mdsal.dom.api.DOMMountPoint;
 import org.opendaylight.mdsal.dom.api.DOMMountPointService;
 import org.opendaylight.mdsal.dom.api.DOMSchemaService;
 import org.opendaylight.mdsal.dom.spi.FixedDOMSchemaService;
+import org.opendaylight.restconf.api.ApiPath;
 import org.opendaylight.restconf.common.errors.RestconfDocumentedException;
-import org.opendaylight.restconf.nb.rfc8040.utils.parser.ParserIdentifier;
+import org.opendaylight.restconf.nb.rfc8040.legacy.InstanceIdentifierContext;
 import org.opendaylight.yangtools.yang.common.ErrorTag;
 import org.opendaylight.yangtools.yang.common.ErrorType;
 import org.opendaylight.yangtools.yang.common.QName;
@@ -86,8 +88,15 @@ abstract class AbstractResourceBodyTest extends AbstractBodyTest {
     }
 
     private @NonNull NormalizedNode parse(final String uriPath, final InputStream patchBody) throws IOException {
+        final ApiPath apiPath;
+        try {
+            apiPath = ApiPath.parse(uriPath);
+        } catch (ParseException e) {
+            throw new AssertionError(e);
+        }
+
         try (var body = bodyConstructor.apply(patchBody)) {
-            final var context = ParserIdentifier.toInstanceIdentifier(uriPath, MODEL_CONTEXT, mountPointService);
+            final var context = InstanceIdentifierContext.ofApiPath(apiPath, MODEL_CONTEXT, mountPointService);
             return body.toNormalizedNode(context.getInstanceIdentifier(), context.inference(), context.getSchemaNode());
         }
     }