private void emitBody(final StringBuilder b) { final Map<String, Type> getterToType = collectAllProperties(dtoType, new HashMap<String, Type>()); for (final DataSchemaNode schemaChild : schemaNode.getChildNodes()) { if (!schemaChild.isAugmenting()) { final String getter = getGetterName(schemaChild); final Type childType = getterToType.get(getter); if (childType == null) { // FIXME AnyXml nodes are ignored, since their type cannot be found in generated bindnig // Bug-706 https://bugs.onos.org/show_bug.cgi?id=706 if (schemaChild instanceof AnyXmlSchemaNode) { LOG.warn( "Node {} will be ignored. AnyXml is not yet supported from binding aware code." + "Binding Independent code can be used to serialize anyXml nodes.", schemaChild.getPath()); continue; } else { throw new IllegalStateException( String.format( "Unable to find type for child node %s. Expected child nodes: %s", schemaChild.getPath(), getterToType)); } } emitChild(b, getter, childType, schemaChild); } } }
private static DataNodeContainer augmentationProxy( final AugmentationSchema augmentation, final DataNodeContainer schema) { final Set<DataSchemaNode> children = new HashSet<>(); for (final DataSchemaNode augNode : augmentation.getChildNodes()) { children.add(schema.getDataChildByName(augNode.getQName())); } return new EffectiveAugmentationSchema(augmentation, children); }