Loading plugins/org.etsi.mts.tdl.yang2tdl/src/org/etsi/mts/tdl/yang2tdl/Yang2TDLTranslator.java +13 −5 Original line number Diff line number Diff line Loading @@ -103,15 +103,22 @@ public class Yang2TDLTranslator extends AbstractTranslator { } } private DataType translate(DataSchemaNode c) { String name = cleanName(c.getQName().getLocalName()); return translate(c, null); } private DataType translate(DataSchemaNode c, String parent) { String baseName = cleanName(c.getQName().getLocalName()); String name = baseName; if (parent != null) { name = parent+"___"+name; } if (c instanceof ContainerSchemaNode) { //create structured data type System.out.println("!c "+c.getQName().getLocalName() + " : " ); StructuredDataType dataType = getStructuredDataTypeFor(name); for (DataSchemaNode child : ((ContainerSchemaNode) c).getChildNodes()) { DataType memberType = translate(child); DataType memberType = translate(child, baseName); String propertyName = child.getQName().getLocalName(); Member m = getContentWithName((String) propertyName, dataType, tdlPackage.Literals.MEMBER); m.setDataType(memberType); Loading @@ -128,7 +135,7 @@ public class Yang2TDLTranslator extends AbstractTranslator { tdlPackage.Literals.COLLECTION_DATA_TYPE); collectionType.setItemType(itemType); for (DataSchemaNode child : ((ListSchemaNode) c).getChildNodes()) { DataType memberType = translate(child); DataType memberType = translate(child, baseName); String propertyName = child.getQName().getLocalName(); Member m = getContentWithName((String) propertyName, itemType, tdlPackage.Literals.MEMBER); m.setDataType(memberType); Loading Loading @@ -161,6 +168,7 @@ public class Yang2TDLTranslator extends AbstractTranslator { } else if (c instanceof EmptyLeafEffectiveStatement) { System.out.println("!e "+c.getQName().getLocalName() + " : " + ((EmptyLeafEffectiveStatement) c).getType().getQName()); String typeName = ((EmptyLeafEffectiveStatement) c).getType().getQName().getLocalName(); typeName = name; //TODO: fine? SimpleDataType dataType = getSimpleDataTypeFor(typeName); TypeDefinition<?> baseType = ((EmptyLeafEffectiveStatement)c).getType().getBaseType(); //TODO: what if extension is already present? Loading @@ -185,7 +193,7 @@ public class Yang2TDLTranslator extends AbstractTranslator { //TODO: need to skip cases? StructuredDataType dataType = getStructuredDataTypeFor(name); for (CaseSchemaNode child : ((EmptyChoiceEffectiveStatement) c).getCases()) { DataType memberType = translate(child); DataType memberType = translate(child, baseName); String propertyName = child.getQName().getLocalName(); Member m = getContentWithName((String) propertyName, dataType, tdlPackage.Literals.MEMBER); m.setDataType(memberType); Loading Loading
plugins/org.etsi.mts.tdl.yang2tdl/src/org/etsi/mts/tdl/yang2tdl/Yang2TDLTranslator.java +13 −5 Original line number Diff line number Diff line Loading @@ -103,15 +103,22 @@ public class Yang2TDLTranslator extends AbstractTranslator { } } private DataType translate(DataSchemaNode c) { String name = cleanName(c.getQName().getLocalName()); return translate(c, null); } private DataType translate(DataSchemaNode c, String parent) { String baseName = cleanName(c.getQName().getLocalName()); String name = baseName; if (parent != null) { name = parent+"___"+name; } if (c instanceof ContainerSchemaNode) { //create structured data type System.out.println("!c "+c.getQName().getLocalName() + " : " ); StructuredDataType dataType = getStructuredDataTypeFor(name); for (DataSchemaNode child : ((ContainerSchemaNode) c).getChildNodes()) { DataType memberType = translate(child); DataType memberType = translate(child, baseName); String propertyName = child.getQName().getLocalName(); Member m = getContentWithName((String) propertyName, dataType, tdlPackage.Literals.MEMBER); m.setDataType(memberType); Loading @@ -128,7 +135,7 @@ public class Yang2TDLTranslator extends AbstractTranslator { tdlPackage.Literals.COLLECTION_DATA_TYPE); collectionType.setItemType(itemType); for (DataSchemaNode child : ((ListSchemaNode) c).getChildNodes()) { DataType memberType = translate(child); DataType memberType = translate(child, baseName); String propertyName = child.getQName().getLocalName(); Member m = getContentWithName((String) propertyName, itemType, tdlPackage.Literals.MEMBER); m.setDataType(memberType); Loading Loading @@ -161,6 +168,7 @@ public class Yang2TDLTranslator extends AbstractTranslator { } else if (c instanceof EmptyLeafEffectiveStatement) { System.out.println("!e "+c.getQName().getLocalName() + " : " + ((EmptyLeafEffectiveStatement) c).getType().getQName()); String typeName = ((EmptyLeafEffectiveStatement) c).getType().getQName().getLocalName(); typeName = name; //TODO: fine? SimpleDataType dataType = getSimpleDataTypeFor(typeName); TypeDefinition<?> baseType = ((EmptyLeafEffectiveStatement)c).getType().getBaseType(); //TODO: what if extension is already present? Loading @@ -185,7 +193,7 @@ public class Yang2TDLTranslator extends AbstractTranslator { //TODO: need to skip cases? StructuredDataType dataType = getStructuredDataTypeFor(name); for (CaseSchemaNode child : ((EmptyChoiceEffectiveStatement) c).getCases()) { DataType memberType = translate(child); DataType memberType = translate(child, baseName); String propertyName = child.getQName().getLocalName(); Member m = getContentWithName((String) propertyName, dataType, tdlPackage.Literals.MEMBER); m.setDataType(memberType); Loading