RESTCONF fixes for dynmaic config integration testing
Change-Id: Iebfa1dbbe3fb2f9127cdf1d9a7a4ad80aa71e3be
diff --git a/apps/restconf/restconfmgr/src/main/java/org/onosproject/restconf/restconfmanager/RestconfManager.java b/apps/restconf/restconfmgr/src/main/java/org/onosproject/restconf/restconfmanager/RestconfManager.java
index 6397cba..73044fb 100644
--- a/apps/restconf/restconfmgr/src/main/java/org/onosproject/restconf/restconfmanager/RestconfManager.java
+++ b/apps/restconf/restconfmgr/src/main/java/org/onosproject/restconf/restconfmanager/RestconfManager.java
@@ -25,8 +25,14 @@
import org.apache.felix.scr.annotations.ReferenceCardinality;
import org.apache.felix.scr.annotations.Service;
import org.glassfish.jersey.server.ChunkedOutput;
-import org.onlab.osgi.DefaultServiceDirectory;
-import org.onosproject.event.ListenerTracker;
+import org.onosproject.config.DynamicConfigService;
+import org.onosproject.config.FailedException;
+import org.onosproject.config.Filter;
+import org.onosproject.restconf.api.RestconfException;
+import org.onosproject.restconf.api.RestconfService;
+import org.onosproject.yang.model.DataNode;
+import org.onosproject.yang.model.ResourceData;
+import org.onosproject.yang.model.ResourceId;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -39,20 +45,12 @@
import java.util.concurrent.Executors;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
+
import static java.util.concurrent.TimeUnit.SECONDS;
import static javax.ws.rs.core.Response.Status.INTERNAL_SERVER_ERROR;
-
-import org.onosproject.config.FailedException;
-import org.onosproject.config.DynamicConfigService;
-import org.onosproject.config.Filter;
-import org.onosproject.restconf.api.RestconfException;
-import org.onosproject.restconf.api.RestconfService;
-import org.onosproject.yang.model.ResourceData;
-import org.onosproject.yang.model.ResourceId;
-import org.onosproject.yang.model.DataNode;
-import static org.onosproject.restconf.utils.RestconfUtils.convertUriToRid;
-import static org.onosproject.restconf.utils.RestconfUtils.convertJsonToDataNode;
import static org.onosproject.restconf.utils.RestconfUtils.convertDataNodeToJson;
+import static org.onosproject.restconf.utils.RestconfUtils.convertJsonToDataNode;
+import static org.onosproject.restconf.utils.RestconfUtils.convertUriToRid;
/*
* ONOS RESTCONF application. The RESTCONF Manager
@@ -87,11 +85,7 @@
private final Logger log = LoggerFactory.getLogger(getClass());
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
-
- private static final DynamicConfigService DYNAMIC_CONFIG_SERVICE =
- DefaultServiceDirectory.getService(DynamicConfigService.class);
-
- private ListenerTracker listeners;
+ protected DynamicConfigService dynamicConfigService;
private ConcurrentMap<String, BlockingQueue<ObjectNode>> eventQueueList =
new ConcurrentHashMap<>();
@@ -122,7 +116,7 @@
Filter filter = new Filter();
DataNode dataNode;
try {
- dataNode = DYNAMIC_CONFIG_SERVICE.readNode(rid, filter);
+ dataNode = dynamicConfigService.readNode(rid, filter);
} catch (FailedException e) {
log.error("ERROR: DynamicConfigService: ", e);
throw new RestconfException("ERROR: DynamicConfigService",
@@ -144,7 +138,7 @@
}
DataNode dataNode = dataNodeList.get(0);
try {
- DYNAMIC_CONFIG_SERVICE.createNode(rid, dataNode);
+ dynamicConfigService.createNode(rid, dataNode);
} catch (FailedException e) {
log.error("ERROR: DynamicConfigService: ", e);
throw new RestconfException("ERROR: DynamicConfigService",
@@ -163,7 +157,7 @@
throws RestconfException {
ResourceId rid = convertUriToRid(uri);
try {
- DYNAMIC_CONFIG_SERVICE.deleteNode(rid);
+ dynamicConfigService.deleteNode(rid);
} catch (FailedException e) {
log.error("ERROR: DynamicConfigService: ", e);
throw new RestconfException("ERROR: DynamicConfigService",
diff --git a/apps/restconf/utils/src/main/java/org/onosproject/restconf/utils/RestconfUtils.java b/apps/restconf/utils/src/main/java/org/onosproject/restconf/utils/RestconfUtils.java
index 2150e1d..203dcbb 100644
--- a/apps/restconf/utils/src/main/java/org/onosproject/restconf/utils/RestconfUtils.java
+++ b/apps/restconf/utils/src/main/java/org/onosproject/restconf/utils/RestconfUtils.java
@@ -20,21 +20,22 @@
import com.fasterxml.jackson.databind.node.ObjectNode;
import org.apache.commons.io.IOUtils;
import org.onlab.osgi.DefaultServiceDirectory;
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.onosproject.restconf.utils.exceptions.RestconfUtilsException;
import org.onosproject.restconf.api.RestconfException;
-import org.onosproject.yang.runtime.CompositeStream;
-import org.onosproject.yang.runtime.CompositeData;
-import org.onosproject.yang.runtime.YangRuntimeService;
-import org.onosproject.yang.runtime.DefaultCompositeStream;
-import org.onosproject.yang.runtime.DefaultCompositeData;
-import org.onosproject.yang.runtime.DefaultResourceData;
-import org.onosproject.yang.runtime.RuntimeContext;
+import org.onosproject.restconf.utils.exceptions.RestconfUtilsException;
+import org.onosproject.yang.model.DataNode;
import org.onosproject.yang.model.ResourceData;
import org.onosproject.yang.model.ResourceId;
-import org.onosproject.yang.model.DataNode;
+import org.onosproject.yang.runtime.CompositeData;
+import org.onosproject.yang.runtime.CompositeStream;
+import org.onosproject.yang.runtime.DefaultCompositeData;
+import org.onosproject.yang.runtime.DefaultCompositeStream;
+import org.onosproject.yang.runtime.DefaultResourceData;
+import org.onosproject.yang.runtime.DefaultRuntimeContext;
+import org.onosproject.yang.runtime.RuntimeContext;
+import org.onosproject.yang.runtime.YangRuntimeService;
+
+import java.io.IOException;
+import java.io.InputStream;
import static javax.ws.rs.core.Response.Status.INTERNAL_SERVER_ERROR;
@@ -59,7 +60,7 @@
/**
* Converts an input stream to JSON objectNode.
*
- * @param inputStream the InputStream from Resource Data
+ * @param inputStream the InputStream from Resource Data
* @return JSON representation of the data resource
*/
public static ObjectNode convertInputStreamToObjectNode(InputStream inputStream) {
@@ -76,7 +77,7 @@
/**
* Convert ObjectNode to InputStream.
*
- * @param rootNode JSON representation of the data resource
+ * @param rootNode JSON representation of the data resource
* @return the InputStream from Resource Data
*/
public static InputStream convertObjectNodeToInputStream(ObjectNode rootNode) {
@@ -93,7 +94,7 @@
/**
* Convert URI to ResourceId.
*
- * @param uri URI of the data resource
+ * @param uri URI of the data resource
* @return resource identifier
*/
public static ResourceId convertUriToRid(String uri) {
@@ -104,13 +105,13 @@
/**
* Convert URI and ObjectNode to ResourceData.
*
- * @param uri URI of the data resource
- * @param rootNode JSON representation of the data resource
+ * @param uri URI of the data resource
+ * @param rootNode JSON representation of the data resource
* @return represents type of node in data store
*/
public static ResourceData convertJsonToDataNode(String uri,
- ObjectNode rootNode) {
- RuntimeContext.Builder runtimeContextBuilder = null;
+ ObjectNode rootNode) {
+ RuntimeContext.Builder runtimeContextBuilder = new DefaultRuntimeContext.Builder();
runtimeContextBuilder.setDataFormat(JSON_FORMAT);
RuntimeContext context = runtimeContextBuilder.build();
InputStream jsonData = null;
@@ -127,12 +128,12 @@
/**
* Convert Resource Id and Data Node to Json ObjectNode.
*
- * @param rid resource identifier
- * @param dataNode represents type of node in data store
+ * @param rid resource identifier
+ * @param dataNode represents type of node in data store
* @return JSON representation of the data resource
*/
public static ObjectNode convertDataNodeToJson(ResourceId rid, DataNode dataNode) {
- RuntimeContext.Builder runtimeContextBuilder = null;
+ RuntimeContext.Builder runtimeContextBuilder = DefaultRuntimeContext.builder();
runtimeContextBuilder.setDataFormat(JSON_FORMAT);
RuntimeContext context = runtimeContextBuilder.build();
DefaultResourceData.Builder resourceDataBuilder = DefaultResourceData.builder();