[ONOS-5003][ONOS-5004][ONOS-5005]Generated Code modification for YangUtils+added interface for augmentation method and other api changes.
Change-Id: I954b9c99e182f21d01fcc5cd76fbac7d61a6c3aa
diff --git a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangAugment.java b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangAugment.java
index 64c13ed..13e43ac 100644
--- a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangAugment.java
+++ b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangAugment.java
@@ -83,7 +83,7 @@
public class YangAugment
extends YangNode
implements YangLeavesHolder, YangCommonInfo, Parsable, CollisionDetector, YangAugmentedInfo, Resolvable,
- YangXPathResolver, YangWhenHolder, YangIfFeatureHolder {
+ YangXPathResolver, YangWhenHolder, YangIfFeatureHolder, YangTranslatorOperatorNode {
private static final long serialVersionUID = 806201602L;
@@ -254,7 +254,7 @@
@Override
public void addLeaf(YangLeaf leaf) {
if (getListOfLeaf() == null) {
- setListOfLeaf(new LinkedList<YangLeaf>());
+ setListOfLeaf(new LinkedList<>());
}
getListOfLeaf().add(leaf);
@@ -288,7 +288,7 @@
@Override
public void addLeafList(YangLeafList leafList) {
if (getListOfLeafList() == null) {
- setListOfLeafList(new LinkedList<YangLeafList>());
+ setListOfLeafList(new LinkedList<>());
}
getListOfLeafList().add(leafList);
diff --git a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangCase.java b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangCase.java
index 6677a8c..e1e037a 100644
--- a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangCase.java
+++ b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangCase.java
@@ -96,7 +96,7 @@
public class YangCase
extends YangNode
implements YangLeavesHolder, YangCommonInfo, Parsable, CollisionDetector, YangAugmentableNode,
- YangWhenHolder, YangIfFeatureHolder {
+ YangWhenHolder, YangIfFeatureHolder, YangIsFilterContentNodes {
private static final long serialVersionUID = 806201603L;
@@ -149,6 +149,8 @@
*/
public YangCase() {
super(YangNodeType.CASE_NODE);
+ listOfLeaf = new LinkedList<>();
+ listOfLeafList = new LinkedList<>();
}
/**
@@ -239,7 +241,7 @@
@Override
public void addLeaf(YangLeaf leaf) {
if (getListOfLeaf() == null) {
- setListOfLeaf(new LinkedList<YangLeaf>());
+ setListOfLeaf(new LinkedList<>());
}
getListOfLeaf().add(leaf);
diff --git a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangContainer.java b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangContainer.java
index bc3c72e..ddace18 100644
--- a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangContainer.java
+++ b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangContainer.java
@@ -91,7 +91,7 @@
public class YangContainer
extends YangNode
implements YangLeavesHolder, YangCommonInfo, Parsable, CollisionDetector,
- YangAugmentableNode, YangMustHolder, YangWhenHolder, YangIfFeatureHolder {
+ YangAugmentableNode, YangMustHolder, YangWhenHolder, YangIfFeatureHolder, YangIsFilterContentNodes {
private static final long serialVersionUID = 806201605L;
@@ -158,6 +158,8 @@
*/
public YangContainer() {
super(YangNodeType.CONTAINER_NODE);
+ listOfLeaf = new LinkedList<>();
+ listOfLeafList = new LinkedList<>();
}
/**
diff --git a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangInput.java b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangInput.java
index 25e11b6..272a6e2 100644
--- a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangInput.java
+++ b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangInput.java
@@ -71,7 +71,7 @@
*/
public class YangInput
extends YangNode
- implements YangLeavesHolder, Parsable, CollisionDetector, YangAugmentableNode {
+ implements YangLeavesHolder, Parsable, CollisionDetector, YangAugmentableNode, YangIsFilterContentNodes {
private static final long serialVersionUID = 806201608L;
@@ -97,8 +97,8 @@
*/
public YangInput() {
super(YangNodeType.INPUT_NODE);
- listOfLeaf = new LinkedList<YangLeaf>();
- listOfLeafList = new LinkedList<YangLeafList>();
+ listOfLeaf = new LinkedList<>();
+ listOfLeafList = new LinkedList<>();
}
@Override
diff --git a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangIsFilterContentNodes.java b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangIsFilterContentNodes.java
new file mode 100644
index 0000000..196305c
--- /dev/null
+++ b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangIsFilterContentNodes.java
@@ -0,0 +1,23 @@
+/*
+ * Copyright 2016-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.yangutils.datamodel;
+
+/**
+ * Represent the YANG nodes which can contain is filter content match.
+ */
+public interface YangIsFilterContentNodes {
+}
diff --git a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangList.java b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangList.java
index b86911a..e2bd8b5 100644
--- a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangList.java
+++ b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangList.java
@@ -19,6 +19,7 @@
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
+
import org.onosproject.yangutils.datamodel.exceptions.DataModelException;
import org.onosproject.yangutils.datamodel.utils.Parsable;
import org.onosproject.yangutils.datamodel.utils.YangConstructType;
@@ -71,7 +72,8 @@
public class YangList
extends YangNode
implements YangLeavesHolder, YangCommonInfo, Parsable, CollisionDetector,
- YangAugmentableNode, YangMustHolder, YangWhenHolder, YangIfFeatureHolder, YangDataNode {
+ YangAugmentableNode, YangMustHolder, YangWhenHolder, YangIfFeatureHolder, YangDataNode,
+ YangIsFilterContentNodes {
private static final long serialVersionUID = 806201609L;
@@ -92,7 +94,7 @@
/**
* Reference RFC 6020.
- *
+ * <p>
* The "key" statement, which MUST be present if the list represents
* configuration, and MAY be present otherwise, takes as an argument a
* string that specifies a space-separated list of leaf identifiers of this
@@ -100,39 +102,39 @@
* such leaf identifier MUST refer to a child leaf of the list. The leafs
* can be defined directly in sub-statements to the list, or in groupings
* used in the list.
- *
+ * <p>
* The combined values of all the leafs specified in the key are used to
* uniquely identify a list entry. All key leafs MUST be given values when a
* list entry is created. Thus, any default values in the key leafs or their
* types are ignored. It also implies that any mandatory statement in the
* key leafs are ignored.
- *
+ * <p>
* A leaf that is part of the key can be of any built-in or derived type,
* except it MUST NOT be the built-in type "empty".
- *
+ * <p>
* All key leafs in a list MUST have the same value for their "config" as
* the list itself.
- *
+ * <p>
* List of key leaf names.
*/
private List<String> keyList;
/**
* Reference RFC 6020.
- *
+ * <p>
* The "unique" statement is used to put constraints on valid list
* entries. It takes as an argument a string that contains a space-
* separated list of schema node identifiers, which MUST be given in the
* descendant form. Each such schema node identifier MUST refer to a leaf.
- *
+ * <p>
* If one of the referenced leafs represents configuration data, then
* all of the referenced leafs MUST represent configuration data.
- *
+ * <p>
* The "unique" constraint specifies that the combined values of all the
* leaf instances specified in the argument string, including leafs with
* default values, MUST be unique within all list entry instances in
* which all referenced leafs exist.
- *
+ * <p>
* List of unique leaf/leaf-list names
*/
private List<String> uniqueList;
@@ -151,32 +153,32 @@
/**
* Reference RFC 6020.
- *
+ * <p>
* The "max-elements" statement, which is optional, takes as an argument a
* positive integer or the string "unbounded", which puts a constraint on
* valid list entries. A valid leaf-list or list always has at most
* max-elements entries.
- *
+ * <p>
* If no "max-elements" statement is present, it defaults to "unbounded".
*/
private YangMaxElement maxElements;
/**
* Reference RFC 6020.
- *
+ * <p>
* The "min-elements" statement, which is optional, takes as an argument a
* non-negative integer that puts a constraint on valid list entries. A
* valid leaf-list or list MUST have at least min-elements entries.
- *
+ * <p>
* If no "min-elements" statement is present, it defaults to zero.
- *
+ * <p>
* The behavior of the constraint depends on the type of the leaf-list's or
* list's closest ancestor node in the schema tree that is not a non-
* presence container:
- *
+ * <p>
* o If this ancestor is a case node, the constraint is enforced if any
* other node from the case exists.
- *
+ * <p>
* o Otherwise, it is enforced if the ancestor node exists.
*/
private YangMinElement minElements;
@@ -211,6 +213,8 @@
*/
public YangList() {
super(YangNodeType.LIST_NODE);
+ listOfLeaf = new LinkedList<>();
+ listOfLeafList = new LinkedList<>();
}
/**
@@ -624,8 +628,8 @@
/**
* Validates key statement of list.
*
- * @param leaves list of leaf attributes of list
- * @param keys list of key attributes of list
+ * @param leaves list of leaf attributes of list
+ * @param keys list of key attributes of list
* @throws DataModelException a violation of data model rules
*/
private void validateKey(List<YangLeaf> leaves, List<String> keys)
diff --git a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangModule.java b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangModule.java
index 8e5de36..c2df52f 100644
--- a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangModule.java
+++ b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangModule.java
@@ -74,7 +74,7 @@
public class YangModule
extends YangNode
implements YangLeavesHolder, YangDesc, YangReference, Parsable, CollisionDetector, YangReferenceResolver,
- RpcNotificationContainer, YangFeatureHolder {
+ RpcNotificationContainer, YangFeatureHolder, YangIsFilterContentNodes {
private static final long serialVersionUID = 806201610L;
@@ -85,7 +85,7 @@
/**
* Reference:RFC 6020.
- *
+ * <p>
* The "contact" statement provides contact information for the module. The
* argument is a string that is used to specify contact information for the
* person or persons to whom technical queries concerning this module should
@@ -96,7 +96,7 @@
/**
* Reference:RFC 6020.
- *
+ * <p>
* The "description" statement takes as an argument a string that contains a
* human-readable textual description of this definition. The text is
* provided in a language (or languages) chosen by the module developer; for
@@ -136,7 +136,7 @@
/**
* Reference:RFC 6020.
- *
+ * <p>
* The "organization" statement defines the party responsible for this
* module. The argument is a string that is used to specify a textual
* description of the organization(s) under whose auspices this module was
@@ -211,9 +211,9 @@
private List<YangResolutionInfo> ifFeatureResolutionList;
/**
- * Leafref resolution list.
+ * LeafRef resolution list.
*/
- private List<YangResolutionInfo> leafrefResolutionList;
+ private List<YangResolutionInfo> leafRefResolutionList;
/**
* Base resolution list.
@@ -221,9 +221,9 @@
private List<YangResolutionInfo> baseResolutionList;
/**
- * Identityref resolution list.
+ * IdentityRef resolution list.
*/
- private List<YangResolutionInfo> identityrefResolutionList;
+ private List<YangResolutionInfo> identityRefResolutionList;
/**
* Augment resolution list.
@@ -250,15 +250,15 @@
augmentResolutionList = new LinkedList<>();
usesResolutionList = new LinkedList<>();
ifFeatureResolutionList = new LinkedList<>();
- leafrefResolutionList = new LinkedList<>();
+ leafRefResolutionList = new LinkedList<>();
baseResolutionList = new LinkedList<>();
- identityrefResolutionList = new LinkedList<>();
+ identityRefResolutionList = new LinkedList<>();
compilerAnnotationList = new LinkedList<>();
- importList = new LinkedList<YangImport>();
- includeList = new LinkedList<YangInclude>();
- listOfLeaf = new LinkedList<YangLeaf>();
- listOfLeafList = new LinkedList<YangLeafList>();
- extensionList = new LinkedList<YangExtension>();
+ importList = new LinkedList<>();
+ includeList = new LinkedList<>();
+ listOfLeaf = new LinkedList<>();
+ listOfLeafList = new LinkedList<>();
+ extensionList = new LinkedList<>();
}
/**
@@ -684,11 +684,11 @@
} else if (type == ResolvableType.YANG_IF_FEATURE) {
return ifFeatureResolutionList;
} else if (type == ResolvableType.YANG_LEAFREF) {
- return leafrefResolutionList;
+ return leafRefResolutionList;
} else if (type == ResolvableType.YANG_BASE) {
return baseResolutionList;
} else {
- return identityrefResolutionList;
+ return identityRefResolutionList;
}
}
@@ -702,13 +702,13 @@
} else if (type == ResolvableType.YANG_IF_FEATURE) {
ifFeatureResolutionList.add(resolutionInfo);
} else if (type == ResolvableType.YANG_LEAFREF) {
- leafrefResolutionList.add(resolutionInfo);
+ leafRefResolutionList.add(resolutionInfo);
} else if (type == ResolvableType.YANG_BASE) {
baseResolutionList.add(resolutionInfo);
} else if (type == ResolvableType.YANG_AUGMENT) {
augmentResolutionList.add(resolutionInfo);
} else if (type == ResolvableType.YANG_IDENTITYREF) {
- identityrefResolutionList.add(resolutionInfo);
+ identityRefResolutionList.add(resolutionInfo);
}
}
@@ -722,13 +722,13 @@
} else if (type == ResolvableType.YANG_IF_FEATURE) {
ifFeatureResolutionList.add((YangResolutionInfo) resolutionList);
} else if (type == ResolvableType.YANG_LEAFREF) {
- leafrefResolutionList = resolutionList;
+ leafRefResolutionList = resolutionList;
} else if (type == ResolvableType.YANG_BASE) {
baseResolutionList = resolutionList;
} else if (type == ResolvableType.YANG_AUGMENT) {
augmentResolutionList = resolutionList;
} else if (type == ResolvableType.YANG_IDENTITYREF) {
- identityrefResolutionList = resolutionList;
+ identityRefResolutionList = resolutionList;
}
}
diff --git a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangNode.java b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangNode.java
index 0c72c61..d501b0b 100644
--- a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangNode.java
+++ b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangNode.java
@@ -16,6 +16,7 @@
package org.onosproject.yangutils.datamodel;
import java.io.Serializable;
+
import org.onosproject.yangutils.datamodel.exceptions.DataModelException;
import org.onosproject.yangutils.datamodel.utils.Parsable;
@@ -185,7 +186,7 @@
*
* @param sibling YANG node
*/
- private void setNextSibling(YangNode sibling) {
+ public void setNextSibling(YangNode sibling) {
nextSibling = sibling;
}
@@ -203,7 +204,7 @@
*
* @param previousSibling points to predecessor sibling
*/
- private void setPreviousSibling(YangNode previousSibling) {
+ public void setPreviousSibling(YangNode previousSibling) {
this.previousSibling = previousSibling;
}
diff --git a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangNotification.java b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangNotification.java
index b08fb03..0484b0e 100644
--- a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangNotification.java
+++ b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangNotification.java
@@ -124,8 +124,8 @@
*/
public YangNotification() {
super(YangNodeType.NOTIFICATION_NODE);
- listOfLeaf = new LinkedList<YangLeaf>();
- listOfLeafList = new LinkedList<YangLeafList>();
+ listOfLeaf = new LinkedList<>();
+ listOfLeafList = new LinkedList<>();
}
@Override
diff --git a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangOutput.java b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangOutput.java
index 810a206..0e496bb 100644
--- a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangOutput.java
+++ b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangOutput.java
@@ -70,7 +70,7 @@
*/
public class YangOutput
extends YangNode
- implements YangLeavesHolder, Parsable, CollisionDetector, YangAugmentableNode {
+ implements YangLeavesHolder, Parsable, CollisionDetector, YangAugmentableNode, YangIsFilterContentNodes {
private static final long serialVersionUID = 806201612L;
@@ -96,8 +96,8 @@
*/
public YangOutput() {
super(YangNodeType.OUTPUT_NODE);
- listOfLeaf = new LinkedList<YangLeaf>();
- listOfLeafList = new LinkedList<YangLeafList>();
+ listOfLeaf = new LinkedList<>();
+ listOfLeafList = new LinkedList<>();
}
@Override
diff --git a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangSubModule.java b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangSubModule.java
index 800e062..a58eb7d 100644
--- a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangSubModule.java
+++ b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangSubModule.java
@@ -82,7 +82,7 @@
public class YangSubModule
extends YangNode
implements YangLeavesHolder, YangDesc, YangReference, Parsable, CollisionDetector, YangReferenceResolver,
- RpcNotificationContainer, YangFeatureHolder {
+ RpcNotificationContainer, YangFeatureHolder, YangIsFilterContentNodes {
private static final long serialVersionUID = 806201614L;
@@ -209,9 +209,9 @@
private List<YangResolutionInfo> ifFeatureResolutionList;
/**
- * Leafref resolution list.
+ * LeafRef resolution list.
*/
- private List<YangResolutionInfo> leafrefResolutionList;
+ private List<YangResolutionInfo> leafRefResolutionList;
/**
* Base resolution list.
@@ -219,9 +219,9 @@
private List<YangResolutionInfo> baseResolutionList;
/**
- * Identityref resolution list.
+ * IdentityRef resolution list.
*/
- private List<YangResolutionInfo> identityrefResolutionList;
+ private List<YangResolutionInfo> identityRefResolutionList;
/**
* Compiler annotation list.
@@ -247,15 +247,15 @@
augmentResolutionList = new LinkedList<>();
usesResolutionList = new LinkedList<>();
ifFeatureResolutionList = new LinkedList<>();
- leafrefResolutionList = new LinkedList<>();
+ leafRefResolutionList = new LinkedList<>();
baseResolutionList = new LinkedList<>();
- identityrefResolutionList = new LinkedList<>();
+ identityRefResolutionList = new LinkedList<>();
compilerAnnotationList = new LinkedList<>();
- importList = new LinkedList<YangImport>();
- includeList = new LinkedList<YangInclude>();
- listOfLeaf = new LinkedList<YangLeaf>();
- listOfLeafList = new LinkedList<YangLeafList>();
- extensionList = new LinkedList<YangExtension>();
+ importList = new LinkedList<>();
+ includeList = new LinkedList<>();
+ listOfLeaf = new LinkedList<>();
+ listOfLeafList = new LinkedList<>();
+ extensionList = new LinkedList<>();
}
/**
@@ -592,11 +592,11 @@
} else if (type == ResolvableType.YANG_IF_FEATURE) {
return ifFeatureResolutionList;
} else if (type == ResolvableType.YANG_LEAFREF) {
- return leafrefResolutionList;
+ return leafRefResolutionList;
} else if (type == ResolvableType.YANG_BASE) {
return baseResolutionList;
} else {
- return identityrefResolutionList;
+ return identityRefResolutionList;
}
}
@@ -610,13 +610,13 @@
} else if (type == ResolvableType.YANG_IF_FEATURE) {
ifFeatureResolutionList.add(resolutionInfo);
} else if (type == ResolvableType.YANG_LEAFREF) {
- leafrefResolutionList.add(resolutionInfo);
+ leafRefResolutionList.add(resolutionInfo);
} else if (type == ResolvableType.YANG_BASE) {
baseResolutionList.add(resolutionInfo);
} else if (type == ResolvableType.YANG_AUGMENT) {
augmentResolutionList.add(resolutionInfo);
} else if (type == ResolvableType.YANG_IDENTITYREF) {
- identityrefResolutionList.add(resolutionInfo);
+ identityRefResolutionList.add(resolutionInfo);
}
}
@@ -630,13 +630,13 @@
} else if (type == ResolvableType.YANG_IF_FEATURE) {
ifFeatureResolutionList.add((YangResolutionInfo) resolutionList);
} else if (type == ResolvableType.YANG_LEAFREF) {
- leafrefResolutionList = resolutionList;
+ leafRefResolutionList = resolutionList;
} else if (type == ResolvableType.YANG_BASE) {
baseResolutionList = resolutionList;
} else if (type == ResolvableType.YANG_AUGMENT) {
augmentResolutionList = resolutionList;
} else if (type == ResolvableType.YANG_IDENTITYREF) {
- identityrefResolutionList = resolutionList;
+ identityRefResolutionList = resolutionList;
}
}
diff --git a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangType.java b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangType.java
index 45f0df6..ca442e6 100644
--- a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangType.java
+++ b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangType.java
@@ -276,7 +276,7 @@
* @param value input data value
* @throws DataModelException a violation of data model rules
*/
- public void isValidValue(String value) throws DataModelException {
+ void isValidValue(String value) throws DataModelException {
switch (getDataType()) {
case INT8:
case INT16:
@@ -291,7 +291,7 @@
} else {
if (!((YangRangeRestriction) getDataTypeExtendedInfo()).isValidValueString(value)) {
throw new DataTypeException("YANG file error : Input value \"" + value + "\" is not a valid " +
- getDataType());
+ getDataType());
}
}
break;
@@ -301,7 +301,7 @@
YangDecimal64<YangRangeRestriction> decimal64 =
(YangDecimal64<YangRangeRestriction>) getDataTypeExtendedInfo();
validateDecimal64(value, decimal64.getFractionDigit(),
- decimal64.getRangeRestrictedExtendedInfo());
+ decimal64.getRangeRestrictedExtendedInfo());
break;
}
case STRING: {
@@ -311,14 +311,14 @@
&& ((YangStringRestriction) getDataTypeExtendedInfo())
.isValidStringOnPatternRestriction(value))) {
throw new DataTypeException("YANG file error : Input value \"" + value + "\" is not a valid " +
- getDataType());
+ getDataType());
}
break;
}
case BOOLEAN:
if (!(value.equals(DataModelUtils.TRUE) || value.equals(DataModelUtils.FALSE))) {
throw new DataTypeException("YANG file error : Input value \"" + value + "\" is not a valid " +
- getDataType());
+ getDataType());
}
break;
case ENUMERATION: {
@@ -334,7 +334,7 @@
if (!isValidated) {
throw new DataTypeException("YANG file error : Input value \"" + value + "\" is not a valid " +
- getDataType());
+ getDataType());
}
break;
}
@@ -342,14 +342,14 @@
YangBits bits = (YangBits) getDataTypeExtendedInfo();
if (bits.fromString(value) == null) {
throw new DataTypeException("YANG file error : Input value \"" + value + "\" is not a valid " +
- getDataType());
+ getDataType());
}
break;
}
case BINARY: {
if (!isValidBinary(value, (YangRangeRestriction) getDataTypeExtendedInfo())) {
throw new DataTypeException("YANG file error : Input value \"" + value + "\" is not a valid " +
- getDataType());
+ getDataType());
}
break;
}
@@ -365,13 +365,13 @@
case EMPTY: {
if (value.length() > 0) {
throw new DataTypeException("YANG file error : Input value \"" + value
- + "\" is not allowed for a data type " + getDataType());
+ + "\" is not allowed for a data type " + getDataType());
}
break;
}
case UNION: {
ListIterator<YangType<?>> listIterator = ((YangUnion) getDataTypeExtendedInfo()).getTypeList()
- .listIterator();
+ .listIterator();
boolean isValidated = false;
while (listIterator.hasNext()) {
YangType<?> type = (YangType<?>) listIterator.next();
@@ -386,7 +386,7 @@
if (!isValidated) {
throw new DataTypeException("YANG file error : Input value \"" + value + "\" is not a valid " +
- getDataType());
+ getDataType());
}
break;
}
@@ -399,13 +399,13 @@
if (isOfRangeRestrictedType(dataType)) {
if (((YangDerivedInfo) getDataTypeExtendedInfo()).getResolvedExtendedInfo() == null) {
getDataObjectFromString(value,
- ((YangDerivedInfo) getDataTypeExtendedInfo())
- .getEffectiveBuiltInType());
+ ((YangDerivedInfo) getDataTypeExtendedInfo())
+ .getEffectiveBuiltInType());
} else {
if (!((YangRangeRestriction) ((YangDerivedInfo) getDataTypeExtendedInfo())
.getResolvedExtendedInfo()).isValidValueString(value)) {
throw new DataTypeException("YANG file error : Input value \"" + value
- + "\" is not a valid " + dataType);
+ + "\" is not a valid " + dataType);
}
}
} else if (dataType == YangDataTypes.STRING) {
@@ -416,20 +416,20 @@
if (!(stringRestriction.isValidStringOnLengthRestriction(value) &&
stringRestriction.isValidStringOnPatternRestriction(value))) {
throw new DataTypeException("YANG file error : Input value \"" + value
- + "\" is not a valid " + dataType);
+ + "\" is not a valid " + dataType);
}
}
} else if (dataType == YangDataTypes.BITS) {
YangBits bits = (YangBits) getDataTypeExtendedInfo();
if (bits.fromString(value) == null) {
throw new DataTypeException("YANG file error : Input value \"" + value + "\" is not a valid " +
- dataType);
+ dataType);
}
} else if (dataType == YangDataTypes.BINARY) {
if (!isValidBinary(value, (YangRangeRestriction) ((YangDerivedInfo)
getDataTypeExtendedInfo()).getResolvedExtendedInfo())) {
throw new DataTypeException("YANG file error : Input value \"" + value + "\" is not a valid " +
- dataType);
+ dataType);
}
} else if (dataType == YangDataTypes.DECIMAL64) {
YangDerivedInfo derivedInfo = (YangDerivedInfo) getDataTypeExtendedInfo();
@@ -439,13 +439,13 @@
YangDecimal64<YangRangeRestriction> decimal64 = decimal64Type.getDataTypeExtendedInfo();
// Fraction-Digits and range needs to get it from yang
validateDecimal64(value, decimal64.getFractionDigit(),
- decimal64.getRangeRestrictedExtendedInfo());
+ decimal64.getRangeRestrictedExtendedInfo());
}
break;
}
default: {
throw new DataTypeException("YANG file error : Input value \"" + value + "\" received for " +
- "unsupported data type " + getDataType());
+ "unsupported data type " + getDataType());
}
}
}
@@ -456,7 +456,7 @@
*
* @param value decimal64 value
*/
- private void validateDecimal64(String value, int fractionDigit, YangRangeRestriction rangeRestriction)
+ private void validateDecimal64(String value, int fractionDigit, YangRangeRestriction rangeRestriction)
throws DataModelException {
YangDecimal64<YangRangeRestriction> decimal64 = YangDecimal64.fromString(value);
decimal64.setFractionDigit(fractionDigit);
diff --git a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangUses.java b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangUses.java
index 6b76dfd..957000d 100644
--- a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangUses.java
+++ b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangUses.java
@@ -17,6 +17,7 @@
import java.util.LinkedList;
import java.util.List;
+
import org.onosproject.yangutils.datamodel.exceptions.DataModelException;
import org.onosproject.yangutils.datamodel.utils.Parsable;
import org.onosproject.yangutils.datamodel.utils.ResolvableStatus;
@@ -68,7 +69,7 @@
public class YangUses
extends YangNode
implements YangCommonInfo, Parsable, Resolvable, CollisionDetector, YangWhenHolder,
- YangIfFeatureHolder {
+ YangIfFeatureHolder, YangTranslatorOperatorNode {
private static final long serialVersionUID = 806201617L;
diff --git a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/javadatamodel/YangPluginConfig.java b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/javadatamodel/YangPluginConfig.java
index 44ce306..353d025 100644
--- a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/javadatamodel/YangPluginConfig.java
+++ b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/javadatamodel/YangPluginConfig.java
@@ -27,27 +27,22 @@
private String codeGenDir;
/**
- * Contains the code generation directory.
- */
- private String managerCodeGenDir;
-
- /**
* Contains information of naming conflicts that can be resolved.
*/
private YangToJavaNamingConflictUtil conflictResolver;
/**
+ * Java code generation is for sbi.
+ */
+ private String codeGenerateForsbi;
+
+ /**
* Creates an object for YANG plugin config.
*/
public YangPluginConfig() {
}
/**
- * Java code generation is for sbi.
- */
- private String codeGenerateForsbi;
-
- /**
* Returns the string for code generation.
*
* @return returns the string for code generation.
@@ -101,21 +96,4 @@
return conflictResolver;
}
- /**
- * Returns manager's code generation directory.
- *
- * @return manager's code generation directory
- */
- public String getManagerCodeGenDir() {
- return managerCodeGenDir;
- }
-
- /**
- * Sets manager's code generation directory.
- *
- * @param moduleCodeGenDir manager's code generation directory
- */
- public void setManagerCodeGenDir(String moduleCodeGenDir) {
- this.managerCodeGenDir = moduleCodeGenDir;
- }
}
diff --git a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/utils/DataModelUtils.java b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/utils/DataModelUtils.java
index d6e7217..1da8a1a 100644
--- a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/utils/DataModelUtils.java
+++ b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/utils/DataModelUtils.java
@@ -16,6 +16,22 @@
package org.onosproject.yangutils.datamodel.utils;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.ObjectInputStream;
+import java.util.ArrayList;
+import java.util.Enumeration;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.jar.JarEntry;
+import java.util.jar.JarFile;
+
import org.onosproject.yangutils.datamodel.CollisionDetector;
import org.onosproject.yangutils.datamodel.ResolvableType;
import org.onosproject.yangutils.datamodel.YangAtomicPath;
@@ -41,22 +57,13 @@
import org.onosproject.yangutils.datamodel.exceptions.DataModelException;
import org.onosproject.yangutils.datamodel.utils.builtindatatype.YangDataTypes;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
/**
* Represents utilities for data model tree.
*/
public final class DataModelUtils {
public static final String TRUE = "true";
public static final String FALSE = "false";
+ private static final String SLASH = File.separator;
/**
* Creates a new data model tree utility.
@@ -103,7 +110,7 @@
* @param node node instance of calling node
* @throws DataModelException a violation of data model rules
*/
- public static void detectCollidingForUsesGrouping(String identifierName, YangConstructType dataType, YangNode node)
+ private static void detectCollidingForUsesGrouping(String identifierName, YangConstructType dataType, YangNode node)
throws DataModelException {
node = node.getChild();
@@ -297,27 +304,24 @@
/**
* Returns de-serializes YANG data-model nodes.
*
- * @param serializableInfoSet YANG file info set
+ * @param serializedFileInfo serialized File Info
* @return de-serializes YANG data-model nodes
* @throws IOException when fails do IO operations
*/
- public static List<YangNode> deSerializeDataModel(List<String> serializableInfoSet) throws IOException {
+ public static YangNode deSerializeDataModel(String serializedFileInfo) throws IOException {
- List<YangNode> nodes = new ArrayList<>();
- for (String fileInfo : serializableInfoSet) {
- YangNode node = null;
- try {
- FileInputStream fileInputStream = new FileInputStream(fileInfo);
- ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream);
- node = (YangNode) objectInputStream.readObject();
- nodes.add(node);
- objectInputStream.close();
- fileInputStream.close();
- } catch (IOException | ClassNotFoundException e) {
- throw new IOException(fileInfo + " not found.");
- }
+ YangNode node;
+ try {
+ FileInputStream fileInputStream = new FileInputStream(serializedFileInfo);
+ ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream);
+ node = (YangNode) objectInputStream.readObject();
+ objectInputStream.close();
+ fileInputStream.close();
+ } catch (IOException | ClassNotFoundException e) {
+ throw new IOException(serializedFileInfo + " not found.");
}
- return nodes;
+
+ return node;
}
/**
@@ -332,7 +336,7 @@
throws CloneNotSupportedException, DataModelException {
List<YangLeaf> currentListOfLeaves = leavesHolder.getListOfLeaf();
if (currentListOfLeaves != null) {
- List<YangLeaf> clonedLeavesList = new LinkedList<YangLeaf>();
+ List<YangLeaf> clonedLeavesList = new LinkedList<>();
for (YangLeaf leaf : currentListOfLeaves) {
YangLeaf clonedLeaf = leaf.clone();
if (yangUses.getCurrentGroupingDepth() == 0) {
@@ -350,7 +354,7 @@
List<YangLeafList> currentListOfLeafList = leavesHolder.getListOfLeafList();
if (currentListOfLeafList != null) {
- List<YangLeafList> clonedListOfLeafList = new LinkedList<YangLeafList>();
+ List<YangLeafList> clonedListOfLeafList = new LinkedList<>();
for (YangLeafList leafList : currentListOfLeafList) {
YangLeafList clonedLeafList = leafList.clone();
if (yangUses.getCurrentGroupingDepth() == 0) {
@@ -410,11 +414,9 @@
while (atomicPathIterator.hasNext()) {
YangAtomicPath atomicPath = atomicPathIterator.next();
Map<String, String> prefixesAndItsImportNameNode = leafrefForCloning.getPrefixAndItsImportedModule();
- if (!prefixesAndItsImportNameNode.isEmpty() || prefixesAndItsImportNameNode != null) {
- String prefixInPath = atomicPath.getNodeIdentifier().getPrefix();
- String importedNodeName = prefixesAndItsImportNameNode.get(prefixInPath);
- assignCurrentLeafrefWithNewPrefixes(importedNodeName, atomicPath, yangUses);
- }
+ String prefixInPath = atomicPath.getNodeIdentifier().getPrefix();
+ String importedNodeName = prefixesAndItsImportNameNode.get(prefixInPath);
+ assignCurrentLeafedWithNewPrefixes(importedNodeName, atomicPath, yangUses);
}
}
}
@@ -427,8 +429,8 @@
* @param node instance of YANG uses where cloning is done
* @throws DataModelException data model error
*/
- private static void assignCurrentLeafrefWithNewPrefixes(String importedNodeName, YangAtomicPath atomicPath,
- YangNode node) throws DataModelException {
+ private static void assignCurrentLeafedWithNewPrefixes(String importedNodeName, YangAtomicPath atomicPath,
+ YangNode node) throws DataModelException {
while (!(node instanceof YangReferenceResolver)) {
node = node.getParent();
if (node == null) {
@@ -534,7 +536,7 @@
dataTypeName = unionNode.getName();
}
if (potentialTypeNode.getName().contentEquals(dataTypeName)) {
- dataType.setDataTypeExtendedInfo((Object) potentialTypeNode);
+ dataType.setDataTypeExtendedInfo(potentialTypeNode);
return;
}
potentialTypeNode = potentialTypeNode.getNextSibling();
@@ -542,4 +544,52 @@
throw new DataModelException("Data model error: cloned leaves type is not found");
}
+
+ /**
+ * Parses jar file and returns list of serialized file names.
+ *
+ * @param jarFile jar file to be parsed
+ * @param directory directory where to search
+ * @return list of serialized files
+ * @throws IOException when fails to do IO operations
+ */
+ public static List<YangNode> parseJarFile(String jarFile, String directory)
+ throws IOException {
+
+ List<YangNode> nodes = new ArrayList<>();
+ JarFile jar = new JarFile(jarFile);
+ Enumeration<?> enumEntries = jar.entries();
+
+ while (enumEntries.hasMoreElements()) {
+ JarEntry file = (JarEntry) enumEntries.nextElement();
+ if (file.getName().endsWith(".ser")) {
+
+ if (file.getName().contains(SLASH)) {
+ String[] strArray = file.getName().split(SLASH);
+ String tempPath = "";
+ for (int i = 0; i < strArray.length - 1; i++) {
+ tempPath = SLASH + tempPath + SLASH + strArray[i];
+ }
+ File dir = new File(directory + tempPath);
+ dir.mkdirs();
+ }
+ File serializedFile = new File(directory + SLASH + file.getName());
+ if (file.isDirectory()) {
+ serializedFile.mkdirs();
+ continue;
+ }
+ InputStream inputStream = jar.getInputStream(file);
+
+ FileOutputStream fileOutputStream = new FileOutputStream(serializedFile);
+ while (inputStream.available() > 0) {
+ fileOutputStream.write(inputStream.read());
+ }
+ fileOutputStream.close();
+ inputStream.close();
+ nodes.add(deSerializeDataModel(serializedFile.toString()));
+ }
+ }
+ jar.close();
+ return nodes;
+ }
}