+++ /dev/null
-/*
- * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.restconf.nb.rfc8040.utils.parser;
-
-import java.text.ParseException;
-import org.eclipse.jdt.annotation.Nullable;
-import org.opendaylight.mdsal.dom.api.DOMMountPoint;
-import org.opendaylight.mdsal.dom.api.DOMMountPointService;
-import org.opendaylight.restconf.api.ApiPath;
-import org.opendaylight.restconf.common.errors.RestconfDocumentedException;
-import org.opendaylight.restconf.nb.rfc8040.legacy.InstanceIdentifierContext;
-import org.opendaylight.restconf.server.api.DatabindContext;
-import org.opendaylight.yangtools.yang.common.ErrorTag;
-import org.opendaylight.yangtools.yang.common.ErrorType;
-import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-
-/**
- * Util class for parsing identifier.
- */
-@Deprecated(forRemoval = true)
-final class ParserIdentifier {
- private ParserIdentifier() {
- // Hidden on purpose
- }
-
- /**
- * Make {@link InstanceIdentifierContext} from {@link String} identifier.
- * <br>
- * For identifiers of data NOT behind mount points returned
- * {@link InstanceIdentifierContext} is prepared with {@code null} reference of {@link DOMMountPoint} and with
- * controller's {@link SchemaContext}.
- * <br>
- * For identifiers of data behind mount points returned
- * {@link InstanceIdentifierContext} is prepared with reference of {@link DOMMountPoint} and its
- * own {@link SchemaContext}.
- *
- * @param identifier path identifier
- * @param schemaContext controller schema context
- * @param mountPointService mount point service
- * @return {@link InstanceIdentifierContext}
- */
- static InstanceIdentifierContext toInstanceIdentifier(final String identifier,
- final EffectiveModelContext schemaContext, final @Nullable DOMMountPointService mountPointService) {
- final ApiPath apiPath;
- try {
- apiPath = ApiPath.parseUrl(identifier);
- } catch (ParseException e) {
- throw new RestconfDocumentedException(e.getMessage(), ErrorType.PROTOCOL, ErrorTag.INVALID_VALUE, e);
- }
-
- return InstanceIdentifierContext.ofApiPath(apiPath, DatabindContext.ofModel(schemaContext), mountPointService);
- }
-}
import static org.junit.jupiter.api.Assertions.assertThrows;
import java.text.ParseException;
+import org.eclipse.jdt.annotation.Nullable;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.opendaylight.mdsal.dom.api.DOMMountPoint;
import org.opendaylight.restconf.api.ApiPath;
import org.opendaylight.restconf.common.errors.RestconfDocumentedException;
import org.opendaylight.restconf.nb.rfc8040.legacy.ErrorTags;
+import org.opendaylight.restconf.nb.rfc8040.legacy.InstanceIdentifierContext;
import org.opendaylight.restconf.server.api.DatabindContext;
import org.opendaylight.restconf.server.spi.ApiPathNormalizer;
import org.opendaylight.yangtools.yang.common.ErrorTag;
/**
* Unit tests for {@link ParserIdentifier}.
*/
-public class ParserIdentifierTest {
+class ParserIdentifierTest {
// mount point identifier
private static final String MOUNT_POINT_IDENT = "mount-point:mount-container/point-number/yang-ext:mount";
*/
@Test
void toInstanceIdentifierTest() {
- final var context = ParserIdentifier.toInstanceIdentifier(TEST_IDENT, MODEL_CONTEXT, null);
+ final var context = toInstanceIdentifier(TEST_IDENT, MODEL_CONTEXT, null);
assertEquals(TEST_IDENT_RESULT, context.getInstanceIdentifier().toString());
}
*/
@Test
void toInstanceIdentifierOtherModulesTest() {
- final var context = ParserIdentifier.toInstanceIdentifier(TEST_IDENT_OTHERS, MODEL_CONTEXT, null);
+ final var context = toInstanceIdentifier(TEST_IDENT_OTHERS, MODEL_CONTEXT, null);
assertEquals(TEST_IDENT_OTHERS_RESULT, context.getInstanceIdentifier().toString());
}
*/
@Test
void toInstanceIdentifierMountPointTest() {
- final var context = ParserIdentifier.toInstanceIdentifier(MOUNT_POINT_IDENT + "/" + TEST_IDENT, MODEL_CONTEXT,
+ final var context = toInstanceIdentifier(MOUNT_POINT_IDENT + "/" + TEST_IDENT, MODEL_CONTEXT,
mountPointService);
assertEquals(TEST_IDENT_RESULT.toString(), context.getInstanceIdentifier().toString());
assertEquals(mountPoint, context.getMountPoint());
*/
@Test
void toInstanceIdentifierNullSchemaContextNegativeTest() {
- assertThrows(NullPointerException.class, () -> ParserIdentifier.toInstanceIdentifier(TEST_IDENT, null, null));
+ assertThrows(NullPointerException.class, () -> toInstanceIdentifier(TEST_IDENT, null, null));
}
/**
*/
@Test
void toInstanceIdentifierEmptyIdentifierTest() {
- final var context = ParserIdentifier.toInstanceIdentifier("", MODEL_CONTEXT, null);
+ final var context = toInstanceIdentifier("", MODEL_CONTEXT, null);
assertEquals(YangInstanceIdentifier.of(), context.getInstanceIdentifier());
}
@Test
void toInstanceIdentifierInvalidIdentifierNegativeTest() {
final var ex = assertThrows(RestconfDocumentedException.class,
- () -> ParserIdentifier.toInstanceIdentifier(INVALID_TEST_IDENT, MODEL_CONTEXT, null));
+ () -> toInstanceIdentifier(INVALID_TEST_IDENT, MODEL_CONTEXT, null));
final var errors = ex.getErrors();
assertEquals(1, errors.size());
final var error = errors.get(0);
@Test
void toInstanceIdentifierMountPointInvalidIdentifierNegativeTest() {
final var ex = assertThrows(RestconfDocumentedException.class,
- () -> ParserIdentifier.toInstanceIdentifier("mount-point:point-number/yang-ext:mount", MODEL_CONTEXT,
- mountPointService));
+ () -> toInstanceIdentifier("mount-point:point-number/yang-ext:mount", MODEL_CONTEXT, mountPointService));
final var errors = ex.getErrors();
assertEquals(1, errors.size());
final var error = errors.get(0);
@Test
void toInstanceIdentifierMissingMountPointNegativeTest() {
final var ex = assertThrows(RestconfDocumentedException.class,
- () -> ParserIdentifier.toInstanceIdentifier("yang-ext:mount", MODEL_CONTEXT, mountPointService));
+ () -> toInstanceIdentifier("yang-ext:mount", MODEL_CONTEXT, mountPointService));
final var errors = ex.getErrors();
assertEquals(1, errors.size());
final var error = errors.get(0);
@Test
void toInstanceIdentifierMissingMountPointServiceNegativeTest() {
final var ex = assertThrows(RestconfDocumentedException.class,
- () -> ParserIdentifier.toInstanceIdentifier("yang-ext:mount", MODEL_CONTEXT, null));
+ () -> toInstanceIdentifier("yang-ext:mount", MODEL_CONTEXT, null));
final var errors = ex.getErrors();
assertEquals(1, errors.size());
final var error = errors.get(0);
*/
@Test
void invokeRpcTest() throws Exception {
- final var result = ParserIdentifier.toInstanceIdentifier(INVOKE_RPC, MODEL_CONTEXT, null);
+ final var result = toInstanceIdentifier(INVOKE_RPC, MODEL_CONTEXT, null);
// RPC schema node
final QName rpcQName = result.getSchemaNode().getQName();
*/
@Test
void invokeRpcOnMountPointTest() throws Exception {
- final var result = ParserIdentifier.toInstanceIdentifier(MOUNT_POINT_IDENT + "/" + INVOKE_RPC, MODEL_CONTEXT,
- mountPointService);
+ final var result = toInstanceIdentifier(MOUNT_POINT_IDENT + "/" + INVOKE_RPC, MODEL_CONTEXT, mountPointService);
// RPC schema node
final var rpcQName = result.getSchemaNode().getQName();
*/
@Test
void invokeActionTest() throws Exception {
- final var result = ParserIdentifier.toInstanceIdentifier(INVOKE_ACTION, MODEL_CONTEXT, null);
+ final var result = toInstanceIdentifier(INVOKE_ACTION, MODEL_CONTEXT, null);
// Action schema node
final var actionQName = result.getSchemaNode().getQName();
*/
@Test
void invokeActionOnMountPointTest() throws Exception {
- final var result = ParserIdentifier.toInstanceIdentifier(MOUNT_POINT_IDENT + "/" + INVOKE_ACTION,
- MODEL_CONTEXT, mountPointService);
+ final var result = toInstanceIdentifier(MOUNT_POINT_IDENT + "/" + INVOKE_ACTION, MODEL_CONTEXT,
+ mountPointService);
// Action schema node
final QName actionQName = result.getSchemaNode().getQName();
throw new AssertionError(e);
}
}
+
+ private static InstanceIdentifierContext toInstanceIdentifier(final String identifier,
+ final EffectiveModelContext schemaContext, final @Nullable DOMMountPointService mountPointService) {
+ final ApiPath apiPath;
+ try {
+ apiPath = ApiPath.parseUrl(identifier);
+ } catch (ParseException e) {
+ throw new AssertionError(e);
+ }
+
+ return InstanceIdentifierContext.ofApiPath(apiPath, DatabindContext.ofModel(schemaContext), mountPointService);
+ }
}