X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-dom-xsql%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fdom%2Fxsql%2FXSQLODLUtils.java;h=c9db91a6da2ebf03ffc814993ab994bb4209db9b;hp=16a33b380bb4e54a09ee6e70025e45e8ab1de263;hb=0f1c2bc494711636246c127eff476043ff61445a;hpb=a54ec60368110d22794602343c934902f6833c65 diff --git a/opendaylight/md-sal/sal-dom-xsql/src/main/java/org/opendaylight/controller/md/sal/dom/xsql/XSQLODLUtils.java b/opendaylight/md-sal/sal-dom-xsql/src/main/java/org/opendaylight/controller/md/sal/dom/xsql/XSQLODLUtils.java index 16a33b380b..c9db91a6da 100644 --- a/opendaylight/md-sal/sal-dom-xsql/src/main/java/org/opendaylight/controller/md/sal/dom/xsql/XSQLODLUtils.java +++ b/opendaylight/md-sal/sal-dom-xsql/src/main/java/org/opendaylight/controller/md/sal/dom/xsql/XSQLODLUtils.java @@ -28,17 +28,16 @@ import org.opendaylight.yangtools.yang.model.api.ListSchemaNode; import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.Status; -import org.opendaylight.yangtools.yang.model.util.Uint16; -import org.opendaylight.yangtools.yang.model.util.Uint32; -import org.opendaylight.yangtools.yang.model.util.Uint64; -import org.opendaylight.yangtools.yang.model.util.Uint8; +import org.opendaylight.yangtools.yang.model.api.TypeDefinition; +import org.opendaylight.yangtools.yang.model.util.type.DerivedTypes; + /** * @author Sharon Aicler(saichler@gmail.com) **/ public class XSQLODLUtils { private static Map, Class> types = - new ConcurrentHashMap, Class>(); + new ConcurrentHashMap<>(); static { types.put(QName.class, QName.class); @@ -175,7 +174,7 @@ public class XSQLODLUtils { } public static Map refFieldsCache = - new HashMap(); + new HashMap<>(); public static Field findField(Class c, String name) { if (c == null) { @@ -220,7 +219,7 @@ public class XSQLODLUtils { public static List getMChildren(Object o) { Map children = getChildren(o); - List result = new LinkedList(); + List result = new LinkedList<>(); for (Object val : children.values()) { result.add((Object) val); } @@ -269,16 +268,19 @@ public class XSQLODLUtils { } public static Class getTypeForODLColumn(Object odlNode){ - Object type = get(odlNode,"type"); - if(type instanceof Uint32 || type instanceof Uint64){ - return long.class; - }else - if(type instanceof Uint16){ - return int.class; - }else - if(type instanceof Uint8){ - return byte.class; + final Object o = get(odlNode,"type"); + if (o instanceof TypeDefinition) { + final TypeDefinition type = (TypeDefinition)o; + + if (DerivedTypes.isUint32(type) || DerivedTypes.isUint64(type)) { + return long.class; + } else if (DerivedTypes.isUint16(type)) { + return int.class; + } else if (DerivedTypes.isUint8(type)) { + return byte.class; + } } + return String.class; }