BUG-1442: integrate XML/JSON Normalized Node writers with Restconf
[controller.git] / opendaylight / md-sal / sal-rest-connector / src / main / java / org / opendaylight / controller / sal / rest / impl / AbstractIdentifierAwareJaxRsProvider.java
diff --git a/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/rest/impl/AbstractIdentifierAwareJaxRsProvider.java b/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/rest/impl/AbstractIdentifierAwareJaxRsProvider.java
new file mode 100644 (file)
index 0000000..978ae0d
--- /dev/null
@@ -0,0 +1,30 @@
+package org.opendaylight.controller.sal.rest.impl;
+
+import com.google.common.base.Optional;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.UriInfo;
+import org.opendaylight.controller.sal.rest.api.RestconfConstants;
+import org.opendaylight.controller.sal.restconf.impl.ControllerContext;
+import org.opendaylight.controller.sal.restconf.impl.InstanceIdentifierContext;
+
+public class AbstractIdentifierAwareJaxRsProvider {
+
+    @Context
+    private UriInfo uriInfo;
+
+    protected final String getIdentifier() {
+        return uriInfo.getPathParameters().getFirst(RestconfConstants.IDENTIFIER);
+    }
+
+    protected final Optional<InstanceIdentifierContext> getIdentifierWithSchema() {
+        return Optional.of(getInstanceIdentifierContext());
+    }
+
+    protected InstanceIdentifierContext getInstanceIdentifierContext() {
+        return ControllerContext.getInstance().toInstanceIdentifier(getIdentifier());
+    }
+
+    protected UriInfo getUriInfo() {
+        return uriInfo;
+    }
+}