package org.opendaylight.restconf.nb.rfc8040.utils.parser;
import static com.google.common.base.Preconditions.checkState;
+import static java.util.Objects.requireNonNull;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Splitter;
// @NonNull InstanceIdentifierContext forUrl(identifier, schemaContexxt, mountPointService)
//
public static InstanceIdentifierContext toInstanceIdentifier(final String identifier,
- final EffectiveModelContext schemaContext, final Optional<DOMMountPointService> mountPointService) {
+ final EffectiveModelContext schemaContext, final @Nullable DOMMountPointService mountPointService) {
if (identifier == null || !identifier.contains(MOUNT)) {
return createIIdContext(schemaContext, identifier, null);
}
- if (mountPointService.isEmpty()) {
+ if (mountPointService == null) {
throw new RestconfDocumentedException("Mount point service is not available");
}
final Iterator<String> pathsIt = MP_SPLITTER.split(identifier).iterator();
final String mountPointId = pathsIt.next();
final YangInstanceIdentifier mountPath = IdentifierCodec.deserialize(mountPointId, schemaContext);
- final DOMMountPoint mountPoint = mountPointService.orElseThrow().getMountPoint(mountPath)
+ final DOMMountPoint mountPoint = mountPointService.getMountPoint(mountPath)
.orElseThrow(() -> new RestconfDocumentedException("Mount point does not exist.",
ErrorType.PROTOCOL, ErrorTags.RESOURCE_DENIED_TRANSPORT));
pathBuilder.append(current);
}
final InstanceIdentifierContext point = toInstanceIdentifier(pathBuilder.toString(), schemaContext,
- Optional.of(domMountPointService));
+ requireNonNull(domMountPointService));
final String moduleName = validateAndGetModulName(componentIter);
final Revision revision = validateAndGetRevision(componentIter);
final EffectiveModelContext context = coerceModelContext(point.getMountPoint());
targetUrl = IdentifierCodec.serialize(urlPath, schemaContext) + target;
}
- return toInstanceIdentifier(targetUrl, schemaContext, Optional.empty()).getInstanceIdentifier();
+ return toInstanceIdentifier(targetUrl, schemaContext, null).getInstanceIdentifier();
}
/**
import org.opendaylight.mdsal.dom.broker.DOMMountPointServiceImpl;
import org.opendaylight.mdsal.dom.spi.FixedDOMSchemaService;
import org.opendaylight.restconf.common.ErrorTags;
-import org.opendaylight.restconf.common.context.InstanceIdentifierContext;
import org.opendaylight.restconf.common.errors.RestconfDocumentedException;
import org.opendaylight.restconf.common.errors.RestconfError;
import org.opendaylight.restconf.nb.rfc8040.TestRestconfUtils;
*/
@Test
public void toInstanceIdentifierTest() {
- final InstanceIdentifierContext context = ParserIdentifier.toInstanceIdentifier(
- TEST_IDENT, SCHEMA_CONTEXT, Optional.empty());
-
- assertEquals("Returned not expected identifier",
- TEST_IDENT_RESULT, context .getInstanceIdentifier().toString());
+ final var context = ParserIdentifier.toInstanceIdentifier(TEST_IDENT, SCHEMA_CONTEXT, null);
+ assertEquals(TEST_IDENT_RESULT, context.getInstanceIdentifier().toString());
}
/**
*/
@Test
public void toInstanceIdentifierOtherModulesTest() {
- final InstanceIdentifierContext context = ParserIdentifier.toInstanceIdentifier(
- TEST_IDENT_OTHERS, SCHEMA_CONTEXT, Optional.empty());
-
- assertEquals("Returned not expected identifier",
- TEST_IDENT_OTHERS_RESULT, context.getInstanceIdentifier().toString());
+ final var context = ParserIdentifier.toInstanceIdentifier(TEST_IDENT_OTHERS, SCHEMA_CONTEXT, null);
+ assertEquals(TEST_IDENT_OTHERS_RESULT, context.getInstanceIdentifier().toString());
}
/**
*/
@Test
public void toInstanceIdentifierMountPointTest() {
- final InstanceIdentifierContext context = ParserIdentifier.toInstanceIdentifier(
- MOUNT_POINT_IDENT + "/" + TEST_IDENT, SCHEMA_CONTEXT, Optional.of(mountPointService));
-
- assertEquals("Returned not expected identifier",
- TEST_IDENT_RESULT.toString(), context.getInstanceIdentifier().toString());
-
- assertEquals("Mount point not found",
- mountPoint, context.getMountPoint());
-
- assertEquals("Schema context from mount point expected",
- SCHEMA_CONTEXT_ON_MOUNT_POINT, context.getSchemaContext());
+ final var context = ParserIdentifier.toInstanceIdentifier(MOUNT_POINT_IDENT + "/" + TEST_IDENT, SCHEMA_CONTEXT,
+ mountPointService);
+ assertEquals(TEST_IDENT_RESULT.toString(), context.getInstanceIdentifier().toString());
+ assertEquals(mountPoint, context.getMountPoint());
+ assertEquals(SCHEMA_CONTEXT_ON_MOUNT_POINT, context.getSchemaContext());
}
/**
*/
@Test
public void toInstanceIdentifierNullIdentifierTest() {
- final InstanceIdentifierContext context = ParserIdentifier.toInstanceIdentifier(
- null, SCHEMA_CONTEXT, Optional.empty());
- assertEquals("Returned not expected identifier",
- YangInstanceIdentifier.of(), context.getInstanceIdentifier());
+ final var context = ParserIdentifier.toInstanceIdentifier(null, SCHEMA_CONTEXT, null);
+ assertEquals(YangInstanceIdentifier.of(), context.getInstanceIdentifier());
}
/**
*/
@Test
public void toInstanceIdentifierNullSchemaContextNegativeTest() {
- assertThrows(NullPointerException.class,
- () -> ParserIdentifier.toInstanceIdentifier(TEST_IDENT, null, Optional.empty()));
+ assertThrows(NullPointerException.class, () -> ParserIdentifier.toInstanceIdentifier(TEST_IDENT, null, null));
}
/**
*/
@Test
public void toInstanceIdentifierEmptyIdentifierTest() {
- final InstanceIdentifierContext context = ParserIdentifier.toInstanceIdentifier(
- "", SCHEMA_CONTEXT, Optional.empty());
- assertEquals("Returned not expected identifier",
- YangInstanceIdentifier.of(), context.getInstanceIdentifier());
+ final var context = ParserIdentifier.toInstanceIdentifier("", SCHEMA_CONTEXT, null);
+ assertEquals(YangInstanceIdentifier.of(), context.getInstanceIdentifier());
}
/**
*/
@Test
public void toInstanceIdentifierInvalidIdentifierNegativeTest() {
- RestconfDocumentedException ex = assertThrows(RestconfDocumentedException.class,
- () -> ParserIdentifier.toInstanceIdentifier(INVALID_TEST_IDENT, SCHEMA_CONTEXT, Optional.empty()));
+ final var ex = assertThrows(RestconfDocumentedException.class,
+ () -> ParserIdentifier.toInstanceIdentifier(INVALID_TEST_IDENT, SCHEMA_CONTEXT, null));
}
/**
*/
@Test
public void toInstanceIdentifierMountPointInvalidIdentifierNegativeTest() {
- RestconfDocumentedException ex = assertThrows(RestconfDocumentedException.class,
- () -> ParserIdentifier.toInstanceIdentifier(INVALID_MOUNT_POINT_IDENT, SCHEMA_CONTEXT,
- Optional.of(mountPointService)));
+ final var ex = assertThrows(RestconfDocumentedException.class,
+ () -> ParserIdentifier.toInstanceIdentifier(INVALID_MOUNT_POINT_IDENT, SCHEMA_CONTEXT, mountPointService));
}
/**
*/
@Test
public void toInstanceIdentifierMissingMountPointNegativeTest() {
- RestconfDocumentedException ex = assertThrows(RestconfDocumentedException.class,
- () -> ParserIdentifier.toInstanceIdentifier("/yang-ext:mount", SCHEMA_CONTEXT,
- Optional.of(mountPointService)));
+ final var ex = assertThrows(RestconfDocumentedException.class,
+ () -> ParserIdentifier.toInstanceIdentifier("/yang-ext:mount", SCHEMA_CONTEXT, mountPointService));
final List<RestconfError> errors = ex.getErrors();
assertEquals(1, errors.size());
assertEquals("Not expected error type", ErrorType.PROTOCOL, errors.get(0).getErrorType());
*/
@Test
public void toInstanceIdentifierMissingMountPointServiceNegativeTest() {
- RestconfDocumentedException ex = assertThrows(RestconfDocumentedException.class,
- () -> ParserIdentifier.toInstanceIdentifier("yang-ext:mount", SCHEMA_CONTEXT, Optional.empty()));
+ final var ex = assertThrows(RestconfDocumentedException.class,
+ () -> ParserIdentifier.toInstanceIdentifier("yang-ext:mount", SCHEMA_CONTEXT, null));
assertEquals("Not expected error type", ErrorType.APPLICATION, ex.getErrors().get(0).getErrorType());
assertEquals("Not expected error tag", ErrorTag.OPERATION_FAILED, ex.getErrors().get(0).getErrorTag());
}
*/
@Test
public void invokeRpcTest() {
- final InstanceIdentifierContext result = ParserIdentifier.toInstanceIdentifier(
- INVOKE_RPC, SCHEMA_CONTEXT, Optional.empty());
+ final var result = ParserIdentifier.toInstanceIdentifier(INVOKE_RPC, SCHEMA_CONTEXT, null);
// RPC schema node
final QName rpcQName = result.getSchemaNode().getQName();
*/
@Test
public void invokeRpcOnMountPointTest() {
- final InstanceIdentifierContext result = ParserIdentifier.toInstanceIdentifier(
- MOUNT_POINT_IDENT + "/" + INVOKE_RPC, SCHEMA_CONTEXT, Optional.of(mountPointService));
+ final var result = ParserIdentifier.toInstanceIdentifier(MOUNT_POINT_IDENT + "/" + INVOKE_RPC, SCHEMA_CONTEXT,
+ mountPointService);
// RPC schema node
final QName rpcQName = result.getSchemaNode().getQName();
*/
@Test
public void invokeActionTest() {
- final InstanceIdentifierContext result = ParserIdentifier
- .toInstanceIdentifier(INVOKE_ACTION, SCHEMA_CONTEXT, Optional.empty());
+ final var result = ParserIdentifier.toInstanceIdentifier(INVOKE_ACTION, SCHEMA_CONTEXT, null);
// Action schema node
final QName actionQName = result.getSchemaNode().getQName();
*/
@Test
public void invokeActionOnMountPointTest() {
- final InstanceIdentifierContext result = ParserIdentifier
- .toInstanceIdentifier(MOUNT_POINT_IDENT + "/" + INVOKE_ACTION, SCHEMA_CONTEXT,
- Optional.of(mountPointService));
+ final var result = ParserIdentifier.toInstanceIdentifier(MOUNT_POINT_IDENT + "/" + INVOKE_ACTION,
+ SCHEMA_CONTEXT, mountPointService);
// Action schema node
final QName actionQName = result.getSchemaNode().getQName();