import org.opendaylight.mdsal.binding.model.api.MethodSignature;
import org.opendaylight.mdsal.binding.model.api.ParameterizedType;
import org.opendaylight.mdsal.binding.model.api.Type;
-import org.opendaylight.yangtools.yang.binding.BindingMapping;
+import org.opendaylight.mdsal.binding.spec.naming.BindingMapping;
import org.opendaylight.yangtools.yang.binding.BindingSerializer;
import org.opendaylight.yangtools.yang.binding.BindingStreamEventWriter;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
-import org.opendaylight.yangtools.yang.model.api.TypedSchemaNode;
+import org.opendaylight.yangtools.yang.model.api.TypedDataSchemaNode;
import org.opendaylight.yangtools.yang.model.api.type.BooleanTypeDefinition;
import org.opendaylight.yangtools.yang.model.api.type.EmptyTypeDefinition;
import org.slf4j.Logger;
private static String getGetterName(final DataSchemaNode node) {
final TypeDefinition<?> type;
- if (node instanceof TypedSchemaNode) {
- type = ((TypedSchemaNode) node).getType();
+ if (node instanceof TypedDataSchemaNode) {
+ type = ((TypedDataSchemaNode) node).getType();
} else {
type = null;
}
final String prefix;
- if (type instanceof BooleanTypeDefinition || type instanceof EmptyTypeDefinition) {
+ // Bug 8903: If it is a derived type of boolean or empty, not an inner type, then the return type
+ // of method would be the generated type of typedef not build-in types, so here it should be 'get'.
+ if ((type instanceof BooleanTypeDefinition || type instanceof EmptyTypeDefinition)
+ && (type.getPath().equals(node.getPath()) || type.getBaseType() == null)) {
prefix = "is";
} else {
prefix = "get";