[ONOS-6032] Yang regisry optimization
Change-Id: I5f91058f23b0cde95bdc0227bf88b3db5ef18c4b
diff --git a/runtime/src/main/java/org/onosproject/yang/runtime/AppModuleInfo.java b/runtime/src/main/java/org/onosproject/yang/runtime/AppModuleInfo.java
index 4ad75a4..baa1450 100644
--- a/runtime/src/main/java/org/onosproject/yang/runtime/AppModuleInfo.java
+++ b/runtime/src/main/java/org/onosproject/yang/runtime/AppModuleInfo.java
@@ -20,7 +20,8 @@
/**
* Representation of an entity which defines additional information about the
- * module required for the model registration.
+ * module required for the model registration. App info should only contain
+ * interface/service file generated for module node.
*/
public interface AppModuleInfo {
diff --git a/runtime/src/main/java/org/onosproject/yang/runtime/helperutils/RuntimeHelper.java b/runtime/src/main/java/org/onosproject/yang/runtime/helperutils/RuntimeHelper.java
index 79fe85d..4139fc4 100644
--- a/runtime/src/main/java/org/onosproject/yang/runtime/helperutils/RuntimeHelper.java
+++ b/runtime/src/main/java/org/onosproject/yang/runtime/helperutils/RuntimeHelper.java
@@ -21,11 +21,7 @@
import org.onosproject.yang.model.YangModel;
import org.onosproject.yang.model.YangModule;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.ObjectInputStream;
import java.util.HashSet;
-import java.util.Iterator;
import java.util.Set;
import static org.onosproject.yang.runtime.helperutils.YangApacheUtils.getYangModel;
@@ -65,22 +61,9 @@
*/
public static Set<YangNode> getNodes(YangModel model) {
Set<YangNode> nodes = new HashSet<>();
- Iterator<YangModule> it = model.getYangModules().iterator();
- YangModule module;
- InputStream is;
- if (it.hasNext()) {
- module = it.next();
- is = module.getMetadata();
- ObjectInputStream os;
- try {
- os = new ObjectInputStream(is);
- nodes.addAll((Set<YangNode>) os.readObject());
- os.close();
- is.close();
- } catch (IOException | ClassNotFoundException e) {
- throw new RuntimeException("failed to deserialize model" + e
- .getLocalizedMessage());
- }
+ for (YangModule info : model.getYangModules()) {
+ YangModuleExtendedInfo ex = (YangModuleExtendedInfo) info;
+ nodes.add(ex.getSchema());
}
return nodes;
}
diff --git a/runtime/src/main/java/org/onosproject/yang/runtime/helperutils/YangApacheUtils.java b/runtime/src/main/java/org/onosproject/yang/runtime/helperutils/YangApacheUtils.java
index 3514ab9..439334a 100644
--- a/runtime/src/main/java/org/onosproject/yang/runtime/helperutils/YangApacheUtils.java
+++ b/runtime/src/main/java/org/onosproject/yang/runtime/helperutils/YangApacheUtils.java
@@ -17,12 +17,9 @@
package org.onosproject.yang.runtime.helperutils;
import org.onosproject.yang.compiler.datamodel.YangNode;
-import org.onosproject.yang.compiler.datamodel.YangSchemaNode;
import org.onosproject.yang.model.DefaultYangModel;
-import org.onosproject.yang.model.DefaultYangModule;
import org.onosproject.yang.model.DefaultYangModuleId;
import org.onosproject.yang.model.YangModel;
-import org.onosproject.yang.model.YangModule;
import org.onosproject.yang.model.YangModuleId;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
@@ -31,7 +28,6 @@
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
-import java.util.Iterator;
import java.util.List;
import java.util.regex.Pattern;
@@ -97,12 +93,11 @@
List<YangNode> curNodes) {
YangModel.Builder b = DefaultYangModel.builder();
YangModuleId id;
- Iterator<YangNode> it = curNodes.iterator();
- while (it.hasNext()) {
- YangSchemaNode node = it.next();
- id = processModuleId((YangNode) node);
- YangModule module =
- new DefaultYangModule(id, get(node.getFileName()), get(path));
+ for (YangNode node : curNodes) {
+ id = processModuleId(node);
+ YangModuleExtendedInfo module =
+ new YangModuleExtendedInfo(id, get(node.getFileName()), get(path));
+ module.setSchema(node);
b.addModule(id, module);
}
return b.build();
diff --git a/runtime/src/main/java/org/onosproject/yang/runtime/helperutils/YangModuleExtendedInfo.java b/runtime/src/main/java/org/onosproject/yang/runtime/helperutils/YangModuleExtendedInfo.java
new file mode 100644
index 0000000..cc85080
--- /dev/null
+++ b/runtime/src/main/java/org/onosproject/yang/runtime/helperutils/YangModuleExtendedInfo.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright 2017-present Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onosproject.yang.runtime.helperutils;
+
+import org.onosproject.yang.compiler.datamodel.YangNode;
+import org.onosproject.yang.model.DefaultYangModule;
+import org.onosproject.yang.model.YangModuleId;
+
+import java.nio.file.Path;
+
+/**
+ * Represents extended info for YANG module.
+ */
+public class YangModuleExtendedInfo extends DefaultYangModule {
+
+ private YangNode schema;
+
+ /**
+ * Creates an instance of YANG module extended information.
+ *
+ * @param id module id
+ * @param yangSrc YANG resource path
+ * @param metadata meta data resource path
+ */
+ YangModuleExtendedInfo(YangModuleId id, Path yangSrc, Path metadata) {
+ super(id, yangSrc, metadata);
+ }
+
+
+ /**
+ * Returns schema info for module.
+ *
+ * @return schema info for module
+ */
+ public YangNode getSchema() {
+ return schema;
+ }
+
+ /**
+ * Sets schema info for module.
+ *
+ * @param schema schema info for module
+ */
+ public void setSchema(YangNode schema) {
+ this.schema = schema;
+ }
+}
diff --git a/runtime/src/main/java/org/onosproject/yang/runtime/impl/DefaultYangModelRegistry.java b/runtime/src/main/java/org/onosproject/yang/runtime/impl/DefaultYangModelRegistry.java
index e2d470f..ca3b84e 100644
--- a/runtime/src/main/java/org/onosproject/yang/runtime/impl/DefaultYangModelRegistry.java
+++ b/runtime/src/main/java/org/onosproject/yang/runtime/impl/DefaultYangModelRegistry.java
@@ -29,7 +29,6 @@
import org.onosproject.yang.model.YangModel;
import org.onosproject.yang.model.YangModuleId;
import org.onosproject.yang.runtime.AppModuleInfo;
-import org.onosproject.yang.runtime.DefaultModelRegistrationParam;
import org.onosproject.yang.runtime.ModelRegistrationParam;
import org.onosproject.yang.runtime.YangModelRegistry;
import org.slf4j.Logger;
@@ -46,10 +45,10 @@
import static java.util.Collections.sort;
import static java.util.Collections.unmodifiableSet;
import static org.onosproject.yang.compiler.datamodel.utils.DataModelUtils.getNodeIdFromSchemaId;
+import static org.onosproject.yang.model.DataNode.Type.SINGLE_INSTANCE_NODE;
import static org.onosproject.yang.runtime.helperutils.RuntimeHelper.getDateInStringFormat;
import static org.onosproject.yang.runtime.helperutils.RuntimeHelper.getInterfaceClassName;
import static org.onosproject.yang.runtime.helperutils.RuntimeHelper.getNodes;
-import static org.onosproject.yang.runtime.helperutils.RuntimeHelper.getOpParamClassName;
import static org.onosproject.yang.runtime.helperutils.RuntimeHelper.getServiceName;
import static org.slf4j.LoggerFactory.getLogger;
@@ -71,26 +70,15 @@
/*
* Map for storing YANG schema nodes with respect to root's generated
- * interface file name.
+ * file name by which registration is being done.
*/
- private final ConcurrentMap<String, YangSchemaNode> interfaceNameKeyStore;
+ private final ConcurrentMap<String, YangSchemaNode> regClassNameKeyStore;
/*
* Map for storing YANG schema nodes with respect to root's generated
- * interface file name.
+ * file's qualified name.
*/
- private final ConcurrentMap<String, YangSchemaNode> pkgKeyStore;
-
- /*
- * Map for storing YANG schema nodes root's generated op param file name.
- */
- private final ConcurrentMap<String, YangSchemaNode> opParamNameKeyStore;
-
- /*
- * Map for storing YANG schema nodes with respect to app name. Key will
- * be the registered class name.
- */
- private final ConcurrentMap<String, YangSchemaNode> appNameKeyStore;
+ private final ConcurrentMap<String, YangSchemaNode> qNameKeyStore;
/*
* Map for storing registered classes. Will be used by YOB for class
@@ -111,23 +99,15 @@
private final Set<YangModel> models;
/**
- * Represents the schema id for model registry.
- */
- private SchemaId schemaId;
-
- /**
* Creates an instance of default YANG schema registry.
*/
public DefaultYangModelRegistry() {
models = new LinkedHashSet<>();
yangSchemaStore = new ConcurrentHashMap<>();
- interfaceNameKeyStore = new ConcurrentHashMap<>();
- opParamNameKeyStore = new ConcurrentHashMap<>();
+ regClassNameKeyStore = new ConcurrentHashMap<>();
registerClassStore = new ConcurrentHashMap<>();
- appNameKeyStore = new ConcurrentHashMap<>();
nameSpaceSchemaStore = new ConcurrentHashMap<>();
- pkgKeyStore = new ConcurrentHashMap<>();
- schemaId = new SchemaId("/", null);
+ qNameKeyStore = new ConcurrentHashMap<>();
}
@Override
@@ -135,53 +115,45 @@
YangModel model = checkNotNull(param.getYangModel(), "Model must not be null");
Set<YangNode> curNodes = getNodes(model);
models.add(model);
+ String name;
+ Class<?> service;
AppModuleInfo info;
- //TODO: changing for models-demo app to work.
- if (checkForAppInfo(param)) {
- for (YangModuleId id : model.getYangModulesId()) {
- info = param.getAppModuleInfo(id);
- if (info != null) {
- registerModule(curNodes, info);
+ //adding class info if added by application.
+ for (YangModuleId id : model.getYangModulesId()) {
+ info = param.getAppModuleInfo(id);
+ if (info != null) {
+ service = info.getModuleClass();
+ name = service.getName();
+ if (!registerClassStore.containsKey(name)) {
+ registerClassStore.put(name, service);
}
}
- } else {
- //TODO: check this after demo1:
- registerWhenAppInfoNull(curNodes);
}
- updateChildContext(curNodes);
- }
- /**
- * Registerer all the model if app info is null.
- *
- * @param curNodes current nodes
- */
- private void registerWhenAppInfoNull(Set<YangNode> curNodes) {
- String name;
- for (YangNode node : curNodes) {
- name = getInterfaceClassName(node);
- if (!interfaceNameKeyStore.containsKey(name)) {
- processApplicationContext(node, name);
- }
- }
+ //Register all the YANG nodes.
+ registerModule(curNodes);
+
+ //update child context
+ updateChildContext(curNodes);
}
/**
* Register specific model.
*
* @param curNodes current nodes
- * @param info application info
*/
- private void registerModule(Set<YangNode> curNodes, AppModuleInfo info) {
- Class<?> service;
- service = info.getModuleClass();
- String name = service.getName();
- if (!verifyIfApplicationAlreadyRegistered(service)) {
- if (!registerClassStore.containsKey(name)) {
- registerClassStore.put(name, service);
- }
- if (curNodes != null && !curNodes.isEmpty()) {
- processRegistration(service, curNodes);
+ private void registerModule(Set<YangNode> curNodes) {
+ String name;
+ //register all the nodes present in YANG model.
+ if (curNodes != null && !curNodes.isEmpty()) {
+ for (YangNode node : curNodes) {
+ name = getInterfaceClassName(node);
+ if (!regClassNameKeyStore.containsKey(name)) {
+ processApplicationContext(node, name);
+ } else {
+ log.info("class already registered with model registry " +
+ "{}", name);
+ }
}
}
}
@@ -189,62 +161,27 @@
@Override
public void unregisterModel(ModelRegistrationParam param) {
synchronized (DefaultYangModelRegistry.class) {
- YangModel model = checkNotNull(param.getYangModel(), "Model must not be null");
+ YangModel model = checkNotNull(param.getYangModel(),
+ "Model must not be null");
models.remove(model);
- AppModuleInfo info;
- //TODO: changing for models-demo app to work
- if (checkForAppInfo(param)) {
- for (YangModuleId id : model.getYangModulesId()) {
- info = param.getAppModuleInfo(id);
- if (info != null) {
- unregisterModule(info);
- }
- }
- } else {
- Set<YangNode> curNodes = getNodes(model);
- for (YangNode cur : curNodes) {
- processUnReg(getInterfaceClassName(cur));
- }
+ //Unregister all yang files
+ Set<YangNode> curNodes = getNodes(model);
+ for (YangNode node : curNodes) {
+ processUnReg(getInterfaceClassName(node));
}
}
}
- /**
- * Checks if current application has any application info.
- *
- * @param param model param
- * @return if current application has any application info
- */
- private boolean checkForAppInfo(ModelRegistrationParam param) {
- return ((DefaultModelRegistrationParam) param).ifAppInfoPresent();
- }
-
- private void unregisterModule(AppModuleInfo info) {
- Class<?> sClass = info.getModuleClass();
- String serviceName = sClass.getName();
- //Remove registered class from store.
- registerClassStore.remove(serviceName);
- //check if service is in app store.
- processUnReg(serviceName);
- }
-
private void processUnReg(String serviceName) {
- YangSchemaNode curNode = appNameKeyStore.get(serviceName);
- if (curNode == null) {
- curNode = interfaceNameKeyStore.get(serviceName);
- }
+ YangSchemaNode curNode = regClassNameKeyStore.get(serviceName);
if (curNode != null) {
removeSchemaNode(curNode);
- interfaceNameKeyStore.remove(
- getInterfaceClassName(curNode));
- pkgKeyStore.remove(getInterfaceClassName(curNode)
- .toLowerCase());
- opParamNameKeyStore.remove(
- getOpParamClassName(curNode));
- appNameKeyStore.remove(serviceName);
+ regClassNameKeyStore.remove(serviceName);
+ qNameKeyStore.remove(serviceName.toLowerCase());
nameSpaceSchemaStore.remove(
curNode.getNameSpace().getModuleNamespace());
+ registerClassStore.remove(serviceName);
log.info(" service class {} of model is " +
"unregistered.", serviceName);
} else {
@@ -266,34 +203,19 @@
* @param schemaName schema name
* @return YANG schema node
*/
- public YangSchemaNode getForSchemaName(String schemaName) {
+ YangSchemaNode getForSchemaName(String schemaName) {
return getForNameWithRev(schemaName);
}
/**
* Returns schema node for the given name. Name should be generated class
- * name. the name provided here should be for registered service class.
- *
- * @param appName application name
- * @return YANG schema node
- */
- public YangSchemaNode getForAppName(String appName) {
- YangSchemaNode node = appNameKeyStore.get(appName);
- if (node == null) {
- log.error("{} not found.", appName);
- }
- return node;
- }
-
- /**
- * Returns schema node for the given name. Name should be generated class
- * name. the name provided here should be for registered interface class.
+ * name. the name provided here should be for registered class.
*
* @param name interface class name
* @return YANG schema node
*/
- public YangSchemaNode getForInterfaceFileName(String name) {
- YangSchemaNode node = interfaceNameKeyStore.get(name);
+ YangSchemaNode getForRegClassName(String name) {
+ YangSchemaNode node = regClassNameKeyStore.get(name);
if (node == null) {
log.error("{} not found.", name);
}
@@ -310,8 +232,8 @@
* @param isFromDnb true when request has come from data tree builder
* @return YANG schema node
*/
- public YangSchemaNode getForInterfaceFilePkg(String pkg, boolean isFromDnb) {
- YangSchemaNode node = pkgKeyStore.get(pkg);
+ YangSchemaNode getForRegClassQualifiedName(String pkg, boolean isFromDnb) {
+ YangSchemaNode node = qNameKeyStore.get(pkg);
if (node == null && !isFromDnb) {
log.error("{} not found.", pkg);
}
@@ -319,22 +241,6 @@
}
/**
- * Returns schema node for the given name. Name should be generated class
- * name. the name provided here should be for registered op param class.
- *
- * @param name opparm class name
- * @return YANG schema node
- */
- public YangSchemaNode getForOpPramFileName(
- String name) {
- YangSchemaNode node = opParamNameKeyStore.get(name);
- if (node == null) {
- log.error("{} not found.", name);
- }
- return node;
- }
-
- /**
* Returns schema node for the given name. Name should be nodes namespace
* defined in YANG file
*
@@ -358,7 +264,7 @@
* @param schemaNode schema node
* @return registered class
*/
- public Class<?> getRegisteredClass(YangSchemaNode schemaNode) {
+ Class<?> getRegisteredClass(YangSchemaNode schemaNode) {
Class<?> regClass = null;
if (schemaNode != null) {
String interfaceName = getInterfaceClassName(schemaNode);
@@ -375,79 +281,20 @@
}
/**
- * Process application registration.
- *
- * @param service service class
- * @param nodes YANG nodes
- */
- private void processRegistration(Class<?> service, Set<YangNode> nodes) {
-
- // process storing operations.
- YangNode schemaNode = findNodeWhichShouldBeReg(service.getName(),
- nodes);
- if (schemaNode != null) {
- //Process application context for registrations.
- processApplicationContext(schemaNode, service.getName());
- }
- }
-
- /**
- * Returns the node for which corresponding class is generated.
- *
- * @param name generated class name
- * @param nodes list of yang nodes
- * @return node for which corresponding class is generated
- */
- private YangNode findNodeWhichShouldBeReg(String name,
- Set<YangNode> nodes) {
- for (YangNode node : nodes) {
- if (name.equals(getServiceName(node)) ||
- name.equals(getInterfaceClassName(node))) {
- return node;
- }
- }
- return null;
- }
-
- /**
- * Verifies if application is already registered with runtime.
- *
- * @param appClass application class
- * @return true if application already registered
- */
- private boolean verifyIfApplicationAlreadyRegistered(Class<?> appClass) {
- String appName = appClass.getName();
- return registerClassStore.containsKey(appName) ||
- interfaceNameKeyStore.containsKey(appName);
- }
-
- /**
* Process an application an updates the maps for YANG model registry.
*
* @param appNode application YANG schema nodes
* @param name class name
*/
- public void processApplicationContext(YangSchemaNode appNode,
- String name) {
-
- //Update map for which registrations is being called.
- try {
- if (appNode.isNotificationPresent() || appNode.isRpcPresent()) {
- appNameKeyStore.put(name, appNode);
- }
- } catch (DataModelException e) {
- log.error("error occurred due to {}", e.getLocalizedMessage());
- }
+ void processApplicationContext(YangSchemaNode appNode, String name) {
// Updates schema store.
addToSchemaStore(appNode);
+
// update interface store.
- interfaceNameKeyStore.put(getInterfaceClassName(appNode), appNode);
+ regClassNameKeyStore.put(name, appNode);
- pkgKeyStore.put(getInterfaceClassName(appNode).toLowerCase(), appNode);
-
- //update op param store.
- opParamNameKeyStore.put(getOpParamClassName(appNode), appNode);
+ qNameKeyStore.put(getInterfaceClassName(appNode).toLowerCase(), appNode);
//update namespaceSchema store.
nameSpaceSchemaStore.put(appNode.getNameSpace().getModuleNamespace(),
@@ -551,12 +398,12 @@
@Override
public DataNode.Type getType() {
- return DataNode.Type.SINGLE_INSTANCE_NODE;
+ return SINGLE_INSTANCE_NODE;
}
@Override
public SchemaId getSchemaId() {
- return schemaId;
+ return new SchemaId("/", null);
}
/**
diff --git a/runtime/src/main/java/org/onosproject/yang/runtime/impl/ModIdToRscIdConverter.java b/runtime/src/main/java/org/onosproject/yang/runtime/impl/ModIdToRscIdConverter.java
index 70ba78e..270e315 100644
--- a/runtime/src/main/java/org/onosproject/yang/runtime/impl/ModIdToRscIdConverter.java
+++ b/runtime/src/main/java/org/onosproject/yang/runtime/impl/ModIdToRscIdConverter.java
@@ -135,7 +135,7 @@
*/
YangSchemaNode fetchModNodeFromLeaf(String pkg) {
String[] array = pkg.split(Pattern.quote("$"));
- return reg.getForInterfaceFileName(array[0]);
+ return reg.getForRegClassName(array[0]);
}
/**
@@ -162,8 +162,8 @@
// because the next string will be rpc name in received from fetch
// package method.
modPkg.deleteCharAt(modPkg.lastIndexOf(PERIOD));
- YangNode node = (YangNode) reg.getForInterfaceFilePkg(modPkg.toString(),
- true);
+ YangNode node = (YangNode) reg.getForRegClassQualifiedName(modPkg.toString(),
+ true);
if (node != null) {
isInputOrOutput = true;
modNode = node;
@@ -185,7 +185,7 @@
modPkg.append(PERIOD);
//In this case this package will be of module fetchNode.
modPkg.append(strArray[i]);
- modNode = reg.getForInterfaceFilePkg(modPkg.toString(), false);
+ modNode = reg.getForRegClassQualifiedName(modPkg.toString(), false);
}
return modNode;
}
diff --git a/runtime/src/test/java/org/onosproject/yang/runtime/impl/DefaultYangModelRegistryTest.java b/runtime/src/test/java/org/onosproject/yang/runtime/impl/DefaultYangModelRegistryTest.java
index 45419a1..f3af240 100644
--- a/runtime/src/test/java/org/onosproject/yang/runtime/impl/DefaultYangModelRegistryTest.java
+++ b/runtime/src/test/java/org/onosproject/yang/runtime/impl/DefaultYangModelRegistryTest.java
@@ -16,9 +16,7 @@
package org.onosproject.yang.runtime.impl;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.ExpectedException;
import org.onosproject.yang.compiler.datamodel.YangNode;
import org.onosproject.yang.compiler.datamodel.YangRevision;
import org.onosproject.yang.compiler.datamodel.YangSchemaNode;
@@ -36,71 +34,31 @@
*/
public class DefaultYangModelRegistryTest {
- private static final String SERVICE_NAME_3 =
- "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
- ".network3.rev20151208.IetfNetwork3Service";
private static final String SCHEMA_NAME_3 = "ietf-network3";
private static final String INTERFACE_NAME_3 =
"org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
".network3.rev20151208.IetfNetwork3";
- private static final String OP_PARAM_NAME_3 =
- "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
- ".network3.rev20151208.IetfNetwork3OpParam";
private static final String SCHEMA_NAME_4_14 = "ietf-network4@2014-00-08";
private static final String SCHEMA_NAME_4_15 = "ietf-network4@2015-00-08";
private static final String SCHEMA_NAME_4_16 = "ietf-network4@2016-00-08";
private static final String SCHEMA_NAME_4_17 = "ietf-network4@2017-00-08";
private static final String SCHEMA_NAME_4 = "ietf-network4";
- private static final String SERVICE_NAME_REV_14 =
- "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
- ".network4.rev20141208.IetfNetwork4Service";
private static final String INTERFACE_NAME_REV_14 =
"org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
".network4.rev20141208.IetfNetwork4";
- private static final String OP_PARAM_NAME_REV_14 =
- "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
- ".network4.rev20141208.IetfNetwork4OpParam";
-
- private static final String SERVICE_NAME_REV_15 =
- "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
- ".network4.rev20151208.IetfNetwork4Service";
private static final String INTERFACE_NAME_REV_15 =
"org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
".network4.rev20151208.IetfNetwork4";
- private static final String OP_PARAM_NAME_REV_15 =
- "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
- ".network4.rev20151208.IetfNetwork4OpParam";
-
- private static final String SERVICE_NAME_REV_16 =
- "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
- ".network4.rev20161208.IetfNetwork4Service";
private static final String INTERFACE_NAME_REV_16 =
"org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
".network4.rev20161208.IetfNetwork4";
- private static final String OP_PARAM_NAME_REV_16 =
- "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
- ".network4.rev20161208.IetfNetwork4OpParam";
-
- private static final String SERVICE_NAME_REV_17 =
- "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
- ".network4.rev20171208.IetfNetwork4Service";
private static final String INTERFACE_NAME_REV_17 =
"org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
".network4.rev20171208.IetfNetwork4";
- private static final String OP_PARAM_NAME_REV_17 =
- "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
- ".network4.rev20171208.IetfNetwork4OpParam";
-
- private static final String SERVICE_NAME_NO_REV =
- "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
- ".network4.IetfNetwork4Service";
private static final String INTERFACE_NAME_NO_REV =
"org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
".network4.IetfNetwork4";
- private static final String OP_PARAM_NAME_NO_REV =
- "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
- ".network4.IetfNetwork4OpParam";
private static final String CHECK = "check";
private static final String DATE_NAMESPACE = "2015-00-08";
@@ -109,8 +67,6 @@
private final TestYangSchemaNodeProvider provider =
new TestYangSchemaNodeProvider();
- @Rule
- public ExpectedException thrown = ExpectedException.none();
/**
* Unit test case in which schema node should be present.
@@ -129,10 +85,7 @@
YangSchemaNode yangNode = registry.getForSchemaName(SCHEMA_NAME_3);
assertThat(true, is(SCHEMA_NAME_3.equals(yangNode.getName())));
- yangNode = registry.getForInterfaceFileName(INTERFACE_NAME_3);
- assertThat(true, is(SCHEMA_NAME_3.equals(yangNode.getName())));
-
- yangNode = registry.getForOpPramFileName(OP_PARAM_NAME_3);
+ yangNode = registry.getForRegClassName(INTERFACE_NAME_3);
assertThat(true, is(SCHEMA_NAME_3.equals(yangNode.getName())));
Class<?> cls = registry.getRegisteredClass(yangNode);
@@ -142,16 +95,10 @@
nodes.add((YangNode) yangNode);
provider.unRegister(nodes);
- yangNode = registry.getForAppName(SERVICE_NAME_3);
- assertThat(true, is(yangNode == null));
-
yangNode = registry.getForSchemaName(SCHEMA_NAME_3);
assertThat(true, is(yangNode == null));
- yangNode = registry.getForInterfaceFileName(INTERFACE_NAME_3);
- assertThat(true, is(yangNode == null));
-
- yangNode = registry.getForOpPramFileName(OP_PARAM_NAME_3);
+ yangNode = registry.getForRegClassName(INTERFACE_NAME_3);
assertThat(true, is(yangNode == null));
cls = registry.getRegisteredClass(yangNode);
@@ -176,10 +123,7 @@
YangSchemaNode yangNode = registry.getForSchemaName(SCHEMA_NAME_4_15);
assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
- yangNode = registry.getForInterfaceFileName(INTERFACE_NAME_REV_15);
- assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
- yangNode = registry.getForOpPramFileName(OP_PARAM_NAME_REV_15);
+ yangNode = registry.getForRegClassName(INTERFACE_NAME_REV_15);
assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
Class<?> cls = registry.getRegisteredClass(yangNode);
@@ -189,16 +133,10 @@
nodes.add((YangNode) yangNode);
provider.unRegister(nodes);
- yangNode = registry.getForAppName(SERVICE_NAME_REV_15);
- assertThat(true, is(yangNode == null));
-
yangNode = registry.getForSchemaName(SCHEMA_NAME_4);
assertThat(true, is(yangNode != null));
- yangNode = registry.getForInterfaceFileName(INTERFACE_NAME_REV_15);
- assertThat(true, is(yangNode == null));
-
- yangNode = registry.getForOpPramFileName(OP_PARAM_NAME_REV_15);
+ yangNode = registry.getForRegClassName(INTERFACE_NAME_REV_15);
assertThat(true, is(yangNode == null));
cls = registry.getRegisteredClass(yangNode);
@@ -214,10 +152,7 @@
yangNode = registry.getForSchemaName(SCHEMA_NAME_4);
assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
- yangNode = registry.getForInterfaceFileName(INTERFACE_NAME_NO_REV);
- assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
- yangNode = registry.getForOpPramFileName(OP_PARAM_NAME_NO_REV);
+ yangNode = registry.getForRegClassName(INTERFACE_NAME_NO_REV);
assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
cls = registry.getRegisteredClass(yangNode);
@@ -227,18 +162,12 @@
nodes.add((YangNode) yangNode);
provider.unRegister(nodes);
- yangNode = registry.getForAppName(SERVICE_NAME_NO_REV);
- assertThat(true, is(yangNode == null));
-
//Here the yangNode should be the node which have different revision.
yangNode = registry.getForSchemaName(SCHEMA_NAME_4);
assertThat(true, is(yangNode != null));
assertThat(true, is(((YangNode) yangNode).getRevision() != null));
- yangNode = registry.getForInterfaceFileName(INTERFACE_NAME_NO_REV);
- assertThat(true, is(yangNode == null));
-
- yangNode = registry.getForOpPramFileName(OP_PARAM_NAME_NO_REV);
+ yangNode = registry.getForRegClassName(INTERFACE_NAME_NO_REV);
assertThat(true, is(yangNode == null));
cls = registry.getRegisteredClass(yangNode);
@@ -263,10 +192,7 @@
YangSchemaNode yangNode = registry.getForSchemaName(SCHEMA_NAME_4_15);
assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
- yangNode = registry.getForInterfaceFileName(INTERFACE_NAME_REV_15);
- assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
- yangNode = registry.getForOpPramFileName(OP_PARAM_NAME_REV_15);
+ yangNode = registry.getForRegClassName(INTERFACE_NAME_REV_15);
assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
Class<?> cls = registry.getRegisteredClass(yangNode);
@@ -276,16 +202,10 @@
nodes.add((YangNode) yangNode);
provider.unRegister(nodes);
- yangNode = registry.getForAppName(SERVICE_NAME_REV_15);
- assertThat(true, is(yangNode == null));
-
yangNode = registry.getForSchemaName(SCHEMA_NAME_4);
assertThat(true, is(yangNode != null));
- yangNode = registry.getForInterfaceFileName(INTERFACE_NAME_REV_15);
- assertThat(true, is(yangNode == null));
-
- yangNode = registry.getForOpPramFileName(OP_PARAM_NAME_REV_15);
+ yangNode = registry.getForRegClassName(INTERFACE_NAME_REV_15);
assertThat(true, is(yangNode == null));
//Here the yangNode should be the node which does not have revision.
@@ -303,17 +223,10 @@
yangNode = registry.getForSchemaName(SCHEMA_NAME_4);
assertThat(true, is(((YangNode) yangNode).getRevision() == null));
- //Service with different revision.
- yangNode = registry.getForAppName(SERVICE_NAME_REV_16);
- assertThat(true, is(yangNode == null));
-
yangNode = registry.getForSchemaName(SCHEMA_NAME_4_16);
assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
- yangNode = registry.getForInterfaceFileName(INTERFACE_NAME_REV_16);
- assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
- yangNode = registry.getForOpPramFileName(OP_PARAM_NAME_REV_16);
+ yangNode = registry.getForRegClassName(INTERFACE_NAME_REV_16);
assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
cls = registry.getRegisteredClass(yangNode);
@@ -323,13 +236,7 @@
nodes.add((YangNode) yangNode);
provider.unRegister(nodes);
- yangNode = registry.getForAppName(SERVICE_NAME_REV_16);
- assertThat(true, is(yangNode == null));
-
- yangNode = registry.getForInterfaceFileName(INTERFACE_NAME_REV_16);
- assertThat(true, is(yangNode == null));
-
- yangNode = registry.getForOpPramFileName(OP_PARAM_NAME_REV_16);
+ yangNode = registry.getForRegClassName(INTERFACE_NAME_REV_16);
assertThat(true, is(yangNode == null));
//Here the yangNode should be the node which have different revision.
@@ -342,16 +249,11 @@
//---------------------------------------------------------------//
//Service with different revision.
- yangNode = registry.getForAppName(SERVICE_NAME_REV_17);
- assertThat(true, is(yangNode == null));
yangNode = registry.getForSchemaName(SCHEMA_NAME_4_17);
assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
- yangNode = registry.getForInterfaceFileName(INTERFACE_NAME_REV_17);
- assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
- yangNode = registry.getForOpPramFileName(OP_PARAM_NAME_REV_17);
+ yangNode = registry.getForRegClassName(INTERFACE_NAME_REV_17);
assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
cls = registry.getRegisteredClass(yangNode);
@@ -361,13 +263,7 @@
nodes.add((YangNode) yangNode);
provider.unRegister(nodes);
- yangNode = registry.getForAppName(SERVICE_NAME_REV_17);
- assertThat(true, is(yangNode == null));
-
- yangNode = registry.getForInterfaceFileName(INTERFACE_NAME_REV_17);
- assertThat(true, is(yangNode == null));
-
- yangNode = registry.getForOpPramFileName(OP_PARAM_NAME_REV_17);
+ yangNode = registry.getForRegClassName(INTERFACE_NAME_REV_17);
assertThat(true, is(yangNode == null));
//Here the yangNode should be the node which have different revision.
@@ -380,16 +276,11 @@
//---------------------------------------------------------------//
//Service no revision.
- yangNode = registry.getForAppName(SERVICE_NAME_NO_REV);
- assertThat(true, is(yangNode == null));
yangNode = registry.getForSchemaName(SCHEMA_NAME_4);
assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
- yangNode = registry.getForInterfaceFileName(INTERFACE_NAME_NO_REV);
- assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
- yangNode = registry.getForOpPramFileName(OP_PARAM_NAME_NO_REV);
+ yangNode = registry.getForRegClassName(INTERFACE_NAME_NO_REV);
assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
cls = registry.getRegisteredClass(yangNode);
@@ -399,13 +290,7 @@
nodes.add((YangNode) yangNode);
provider.unRegister(nodes);
- yangNode = registry.getForAppName(SERVICE_NAME_NO_REV);
- assertThat(true, is(yangNode == null));
-
- yangNode = registry.getForInterfaceFileName(INTERFACE_NAME_NO_REV);
- assertThat(true, is(yangNode == null));
-
- yangNode = registry.getForOpPramFileName(OP_PARAM_NAME_NO_REV);
+ yangNode = registry.getForRegClassName(INTERFACE_NAME_NO_REV);
assertThat(true, is(yangNode == null));
//Here the yangNode should be the node which have different revision.
@@ -419,16 +304,11 @@
//---------------------------------------------------------------//
//Service with different revision.
- yangNode = registry.getForAppName(SERVICE_NAME_REV_14);
- assertThat(true, is(yangNode == null));
yangNode = registry.getForSchemaName(SCHEMA_NAME_4_14);
assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
- yangNode = registry.getForInterfaceFileName(INTERFACE_NAME_REV_14);
- assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
- yangNode = registry.getForOpPramFileName(OP_PARAM_NAME_REV_14);
+ yangNode = registry.getForRegClassName(INTERFACE_NAME_REV_14);
assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
cls = registry.getRegisteredClass(yangNode);
@@ -438,16 +318,10 @@
nodes.add((YangNode) yangNode);
provider.unRegister(nodes);
- yangNode = registry.getForAppName(SERVICE_NAME_REV_14);
- assertThat(true, is(yangNode == null));
-
yangNode = registry.getForSchemaName(SCHEMA_NAME_4);
assertThat(true, is(yangNode == null));
- yangNode = registry.getForInterfaceFileName(INTERFACE_NAME_REV_14);
- assertThat(true, is(yangNode == null));
-
- yangNode = registry.getForOpPramFileName(OP_PARAM_NAME_REV_14);
+ yangNode = registry.getForRegClassName(INTERFACE_NAME_REV_14);
assertThat(true, is(yangNode == null));
cls = registry.getRegisteredClass(yangNode);