* true, qname of node will be corrected based on new parent.
*
* @param old
+ * builder to copy
* @param newParent
+ * new parent
* @param updateQName
- * @return
+ * flag to indicate if qname should be updated based on new
+ * parent location
+ * @return copy of given builder
*/
public static DataSchemaNodeBuilder copy(DataSchemaNodeBuilder old, Builder newParent, boolean updateQName) {
if (old instanceof AnyXmlBuilder) {
for (ChoiceCaseBuilder childNode : old.getCases()) {
copy.addCase(copy(childNode, copy, updateQName));
}
- for (AugmentationSchemaBuilder augment : old.getAugmentations()) {
+ for (AugmentationSchemaBuilder augment : old.getAugmentationBuilders()) {
copy.addAugmentation(copyAugment(augment, copy));
}
for (UnknownSchemaNodeBuilder un : old.getUnknownNodeBuilders()) {
copy.setAugmenting(old.isAugmenting());
copy.setAddedByUses(old.isAddedByUses());
copy.setConfiguration(old.isConfiguration());
- copy.setChildNodes(old.getChildNodes());
for (DataSchemaNodeBuilder childNode : old.getChildNodeBuilders()) {
copy.addChildNode(copy(childNode, copy, updateQName));
}
for (UsesNodeBuilder oldUses : old.getUsesNodes()) {
copy.addUsesNode(copyUses(oldUses, copy));
}
- for (AugmentationSchemaBuilder augment : old.getAugmentations()) {
+ for (AugmentationSchemaBuilder augment : old.getAugmentationBuilders()) {
copy.addAugmentation(copyAugment(augment, copy));
}
for (UnknownSchemaNodeBuilder un : old.getUnknownNodeBuilders()) {
copy.setAugmenting(old.isAugmenting());
copy.setAddedByUses(old.isAddedByUses());
copy.setConfiguration(old.isConfiguration());
- copy.setChildNodes(old.getChildNodes());
for (DataSchemaNodeBuilder childNode : old.getChildNodeBuilders()) {
copy.addChildNode(copy(childNode, copy, updateQName));
}
for (UsesNodeBuilder oldUses : old.getUsesNodes()) {
copy.addUsesNode(copyUses(oldUses, copy));
}
- for (AugmentationSchemaBuilder augment : old.getAugmentations()) {
+ for (AugmentationSchemaBuilder augment : old.getAugmentationBuilders()) {
copy.addAugmentation(copyAugment(augment, copy));
}
for (UnknownSchemaNodeBuilder un : old.getUnknownNodeBuilders()) {
copy.setReference(old.getReference());
copy.setStatus(old.getStatus());
copy.setAddedByUses(old.isAddedByUses());
- copy.setChildNodes(old.getChildNodes());
for (DataSchemaNodeBuilder childNode : old.getChildNodeBuilders()) {
copy.addChildNode(copy(childNode, copy, updateQName));
}
DataBean data = getdata(old, newParent, updateQName);
QName newQName = data.qname;
SchemaPath newSchemaPath = data.schemaPath;
- TypeDefinitionBuilder type = null;
+ TypeDefinitionBuilder type;
if (old instanceof UnionTypeBuilder) {
UnionTypeBuilder oldUnion = (UnionTypeBuilder) old;
type = new TypeDefinitionBuilderImpl(old.getModuleName(), newParent.getLine(), newQName);
type.setParent(newParent);
// TODO
- //type.setPath(newSchemaPath);
+ // type.setPath(newSchemaPath);
type.setPath(old.getPath());
if (old.getType() == null) {
// target child nodes
Set<DataSchemaNodeBuilder> newTargetChildren = new HashSet<>();
- for(DataSchemaNodeBuilder dnb : old.getTargetChildren()) {
+ for (DataSchemaNodeBuilder dnb : old.getTargetChildren()) {
newTargetChildren.add(copy(dnb, newParent, true));
}
copy.getTargetChildren().addAll(newTargetChildren);
// target typedefs
Set<TypeDefinitionBuilder> newTargetTypedefs = new HashSet<>();
- for(TypeDefinitionBuilder tdb : old.getTargetTypedefs()) {
+ for (TypeDefinitionBuilder tdb : old.getTargetTypedefs()) {
newTargetTypedefs.add(copy(tdb, newParent, true));
}
copy.getTargetTypedefs().addAll(newTargetTypedefs);
// target groupings
Set<GroupingBuilder> newTargetGroupings = new HashSet<>();
- for(GroupingBuilder gb : old.getTargetGroupings()) {
+ for (GroupingBuilder gb : old.getTargetGroupings()) {
newTargetGroupings.add(copy(gb, newParent, true));
}
copy.getTargetGroupings().addAll(newTargetGroupings);
// target unknown nodes
Set<UnknownSchemaNodeBuilder> newTargetUnknownNodes = new HashSet<>();
- for(UnknownSchemaNodeBuilder unb : old.getTargetUnknownNodes()) {
+ for (UnknownSchemaNodeBuilder unb : old.getTargetUnknownNodes()) {
newTargetUnknownNodes.add(copy(unb, newParent, true));
}
copy.getTargetUnknownNodes().addAll(newTargetUnknownNodes);
copy.setReference(old.getReference());
copy.setStatus(old.getStatus());
copy.addWhenCondition(old.getWhenCondition());
- copy.setChildNodes(old.getChildNodes());
+ copy.setTargetNodeSchemaPath(old.getTargetNodeSchemaPath());
for (DataSchemaNodeBuilder childNode : old.getChildNodeBuilders()) {
copy.addChildNode(copy(childNode, copy, false));
}
newPath = Collections.singletonList(newQName);
}
} else if (newParent instanceof AugmentationSchemaBuilder) {
- AugmentationSchemaBuilder augment = (AugmentationSchemaBuilder)newParent;
+ AugmentationSchemaBuilder augment = (AugmentationSchemaBuilder) newParent;
ModuleBuilder parent = ParserUtils.getParentModule(newParent);
if (updateQName) {
newQName = new QName(parent.getNamespace(), parent.getRevision(), parent.getPrefix(), old.getQName()
.getLocalName());
- newPath = new ArrayList<>(augment.getTargetPath().getPath());
+ newPath = new ArrayList<>(augment.getTargetNodeSchemaPath().getPath());
newPath.add(newQName);
} else {
newQName = old.getQName();
- newPath = new ArrayList<>(augment.getTargetPath().getPath());
+ newPath = new ArrayList<>(augment.getTargetNodeSchemaPath().getPath());
newPath.add(newQName);
}
* Create AnyXmlBuilder from given AnyXmlSchemaNode.
*
* @param anyxml
+ * base anyxml
* @param qname
+ * new qname
* @param moduleName
* current module name
* @param line
* Create GroupingBuilder from given GroupingDefinition.
*
* @param grouping
+ * base grouping
* @param qname
+ * new qname
* @param moduleName
* current module name
* @param line
public static GroupingBuilder createGrouping(GroupingDefinition grouping, QName qname, String moduleName, int line) {
final GroupingBuilderImpl builder = new GroupingBuilderImpl(moduleName, line, qname);
builder.setPath(grouping.getPath());
- builder.setChildNodes(grouping.getChildNodes());
+ for (DataSchemaNode child : grouping.getChildNodes()) {
+ builder.addChildNode(child);
+ }
builder.setGroupings(grouping.getGroupings());
builder.setTypedefs(grouping.getTypeDefinitions());
builder.setUsesnodes(grouping.getUses());
* Create TypeDefinitionBuilder from given ExtendedType.
*
* @param typedef
+ * base typedef
* @param qname
+ * new qname
* @param moduleName
* current module name
* @param line
builder.setDescription(typedef.getDescription());
builder.setReference(typedef.getReference());
builder.setStatus(typedef.getStatus());
- builder.setRanges(typedef.getRanges());
- builder.setLengths(typedef.getLengths());
- builder.setPatterns(typedef.getPatterns());
+ builder.setRanges(typedef.getRangeConstraints());
+ builder.setLengths(typedef.getLengthConstraints());
+ builder.setPatterns(typedef.getPatternConstraints());
builder.setFractionDigits(typedef.getFractionDigits());
final TypeDefinition<?> type = typedef.getBaseType();
builder.setType(type);
* Create UnknownSchemaNodeBuilder from given UnknownSchemaNode.
*
* @param unknownNode
+ * base unknown node
* @param qname
+ * new qname
* @param moduleName
* current module name
* @param line
* @param leaf
* leaf from which to create builder
* @param qname
+ * new qname
* @param moduleName
* current module name
* @param line
* Create ContainerSchemaNodeBuilder from given ContainerSchemaNode.
*
* @param container
+ * base container
* @param qname
+ * new qname
* @param moduleName
* current module name
* @param line
convertDataSchemaNode(container, builder);
builder.setConfiguration(container.isConfiguration());
builder.setUnknownNodes(container.getUnknownSchemaNodes());
- builder.setChildNodes(container.getChildNodes());
+ for (DataSchemaNode child : container.getChildNodes()) {
+ builder.addChildNode(child);
+ }
builder.setGroupings(container.getGroupings());
builder.setTypedefs(container.getTypeDefinitions());
- builder.setAugmentations(container.getAvailableAugmentations());
+ builder.getAugmentations().addAll(container.getAvailableAugmentations());
builder.setUsesnodes(container.getUses());
builder.setPresence(container.isPresenceContainer());
return builder;
* Create ListSchemaNodeBuilder from given ListSchemaNode.
*
* @param list
+ * base list
* @param qname
+ * new qname
* @param moduleName
* current module name
* @param line
builder.setConfiguration(list.isConfiguration());
builder.setUnknownNodes(list.getUnknownSchemaNodes());
builder.setTypedefs(list.getTypeDefinitions());
- builder.setChildNodes(list.getChildNodes());
+ for (DataSchemaNode child : list.getChildNodes()) {
+ builder.addChildNode(child);
+ }
builder.setGroupings(list.getGroupings());
- builder.setAugmentations(list.getAvailableAugmentations());
+ builder.getAugmentations().addAll(list.getAvailableAugmentations());
builder.setUsesnodes(list.getUses());
builder.setUserOrdered(builder.isUserOrdered());
return builder;
* Create LeafListSchemaNodeBuilder from given LeafListSchemaNode.
*
* @param leafList
+ * base leaf-list
* @param qname
+ * new qname
* @param moduleName
* current module name
* @param line
* Create ChoiceBuilder from given ChoiceNode.
*
* @param choice
+ * base choice
* @param qname
+ * new qname
* @param moduleName
* current module name
* @param line