}
instance.addChildNodes(childNodes);
+ // KEY
+ if (keys == null) {
+ instance.keyDefinition = Collections.<QName> emptyList();
+ } else {
+ List<QName> qnames = new ArrayList<>();
+ for (String key : keys) {
+ qnames.add(instance.getDataChildByName(key).getQName());
+ }
+ instance.keyDefinition = qnames;
+ }
+
// TYPEDEFS
for (TypeDefinitionBuilder entry : addedTypedefs) {
typedefs.add(entry.build());
this.keys = keys;
}
- public List<QName> getKeyDefinition() {
- return instance.keyDefinition;
- }
-
- public void setKeyDefinition(final List<QName> keyDefinition) {
- instance.keyDefinition = keyDefinition;
- }
-
@Override
public boolean isAugmenting() {
return instance.augmenting;
resolveUsesTargetGrouping(modules, null);
resolveUsesForGroupings(modules, null);
resolveUsesForNodes(modules, null);
- resolveListsKey(modules);
resolveAugments(modules, null);
resolveDeviations(modules);
resolveUsesTargetGrouping(modules, context);
resolveUsesForGroupings(modules, context);
resolveUsesForNodes(modules, context);
- resolveListsKey(modules);
resolveAugments(modules, context);
resolveDeviationsWithContext(modules, context);
}
}
- private void resolveListsKey(final Map<String, TreeMap<Date, ModuleBuilder>> modules) {
- for (Map.Entry<String, TreeMap<Date, ModuleBuilder>> entry : modules.entrySet()) {
- for (Map.Entry<Date, ModuleBuilder> inner : entry.getValue().entrySet()) {
- ModuleBuilder module = inner.getValue();
- List<ListSchemaNodeBuilder> allLists = module.getAllLists();
- for (ListSchemaNodeBuilder list : allLists) {
- List<String> keys = list.getKeys();
- if (keys == null) {
- list.setKeyDefinition(Collections.<QName> emptyList());
- } else {
- List<QName> qnames = new ArrayList<>();
- for (String key : keys) {
- qnames.add(list.getDataChildByName(key).getQName());
- }
- list.setKeyDefinition(qnames);
- }
-
- }
- }
- }
- }
-
private void resolveUnknownNodes(final Map<String, TreeMap<Date, ModuleBuilder>> modules, final ModuleBuilder module) {
for (UnknownSchemaNodeBuilder usnb : module.getAllUnknownNodes()) {
QName nodeType = usnb.getNodeType();