Use DOMMountPointServiceHandler non-statically
[netconf.git] / restconf / restconf-nb-rfc8040 / src / main / java / org / opendaylight / restconf / nb / rfc8040 / jersey / providers / spi / AbstractIdentifierAwareJaxRsProvider.java
index a3398aa7b2af47f56f815a62eaf69b752e02436b..f516e5f1d45f2882e0f599a6d6f0bfe3bc453d0a 100644 (file)
@@ -22,8 +22,9 @@ import javax.ws.rs.core.MultivaluedMap;
 import javax.ws.rs.core.Request;
 import javax.ws.rs.core.UriInfo;
 import javax.ws.rs.ext.MessageBodyReader;
+import org.opendaylight.controller.md.sal.dom.api.DOMMountPointService;
 import org.opendaylight.restconf.common.context.InstanceIdentifierContext;
-import org.opendaylight.restconf.nb.rfc8040.RestConnectorProvider;
+import org.opendaylight.restconf.nb.rfc8040.handlers.DOMMountPointServiceHandler;
 import org.opendaylight.restconf.nb.rfc8040.handlers.SchemaContextHandler;
 import org.opendaylight.restconf.nb.rfc8040.utils.RestconfConstants;
 import org.opendaylight.restconf.nb.rfc8040.utils.parser.ParserIdentifier;
@@ -38,9 +39,12 @@ public abstract class AbstractIdentifierAwareJaxRsProvider<T> implements Message
     private Request request;
 
     private final SchemaContextHandler schemaContextHandler;
+    private final DOMMountPointServiceHandler mountPointServiceHandler;
 
-    protected AbstractIdentifierAwareJaxRsProvider(SchemaContextHandler schemaContextHandler) {
+    protected AbstractIdentifierAwareJaxRsProvider(SchemaContextHandler schemaContextHandler,
+            DOMMountPointServiceHandler mountPointServiceHandler) {
         this.schemaContextHandler = schemaContextHandler;
+        this.mountPointServiceHandler = mountPointServiceHandler;
     }
 
     @Override
@@ -86,7 +90,7 @@ public abstract class AbstractIdentifierAwareJaxRsProvider<T> implements Message
 
     private InstanceIdentifierContext<?> getInstanceIdentifierContext() {
         return ParserIdentifier.toInstanceIdentifier(getIdentifier(), getSchemaContext(),
-                Optional.of(RestConnectorProvider.getMountPointService()));
+                Optional.fromNullable(getMountPointService()));
     }
 
     protected UriInfo getUriInfo() {
@@ -97,6 +101,10 @@ public abstract class AbstractIdentifierAwareJaxRsProvider<T> implements Message
         return schemaContextHandler.get();
     }
 
+    protected DOMMountPointService getMountPointService() {
+        return mountPointServiceHandler.get();
+    }
+
     protected boolean isPost() {
         return HttpMethod.POST.equals(this.request.getMethod());
     }