Reduce the use of AttrBuilders
[netconf.git] / restconf / restconf-nb-rfc8040 / src / main / java / org / opendaylight / restconf / nb / rfc8040 / services / simple / impl / RestconfOperationsServiceImpl.java
index d51a6347576670520520ca2d70cc5d0398fdfdb3..e543fd050a6404675ad76d129f4eb76b9f80831d 100644 (file)
@@ -7,13 +7,14 @@
  */
 package org.opendaylight.restconf.nb.rfc8040.services.simple.impl;
 
-import com.google.common.base.Optional;
 import com.google.common.collect.ImmutableSet;
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Optional;
 import java.util.Set;
+import javax.ws.rs.Path;
 import javax.ws.rs.core.UriInfo;
-import org.opendaylight.controller.md.sal.dom.api.DOMMountPoint;
+import org.opendaylight.mdsal.dom.api.DOMMountPoint;
 import org.opendaylight.restconf.common.context.InstanceIdentifierContext;
 import org.opendaylight.restconf.common.context.NormalizedNodeContext;
 import org.opendaylight.restconf.common.errors.RestconfDocumentedException;
@@ -29,7 +30,7 @@ import org.opendaylight.yangtools.yang.common.Empty;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
 import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
-import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.DataContainerNodeAttrBuilder;
+import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.DataContainerNodeBuilder;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.Module;
@@ -43,12 +44,13 @@ import org.slf4j.LoggerFactory;
  * Implementation of {@link RestconfOperationsService}.
  *
  */
+@Path("/")
 public class RestconfOperationsServiceImpl implements RestconfOperationsService {
 
     private static final Logger LOG = LoggerFactory.getLogger(RestconfOperationsServiceImpl.class);
 
-    private SchemaContextHandler schemaContextHandler;
-    private DOMMountPointServiceHandler domMountPointServiceHandler;
+    private volatile SchemaContextHandler schemaContextHandler;
+    private volatile DOMMountPointServiceHandler domMountPointServiceHandler;
 
     /**
      * Set {@link SchemaContextHandler} for getting actual {@link SchemaContext}.
@@ -92,9 +94,9 @@ public class RestconfOperationsServiceImpl implements RestconfOperationsService
             mountPoint = mountPointIdentifier.getMountPoint();
             modules = ref.getModules(mountPoint);
         } else {
-            final String errMsg =
-                    "URI has bad format. If operations behind mount point should be showed, URI has to end with ";
-            LOG.debug(errMsg + RestconfConstants.MOUNT + " for " + identifier);
+            final String errMsg = "URI has bad format. If operations behind mount point should be showed, URI has to "
+                    + " end with " + RestconfConstants.MOUNT;
+            LOG.debug("{} for {}", errMsg, identifier);
             throw new RestconfDocumentedException(errMsg + RestconfConstants.MOUNT, ErrorType.PROTOCOL,
                     ErrorTag.INVALID_VALUE);
         }
@@ -129,7 +131,7 @@ public class RestconfOperationsServiceImpl implements RestconfOperationsService
         }
 
         final ContainerSchemaNode fakeCont = new FakeContainerSchemaNode(fakeRpcSchema);
-        final DataContainerNodeAttrBuilder<NodeIdentifier, ContainerNode> containerBuilder =
+        final DataContainerNodeBuilder<NodeIdentifier, ContainerNode> containerBuilder =
                 Builders.containerBuilder(fakeCont);
 
         for (final LeafSchemaNode leaf : fakeRpcSchema) {