Downgrade arguments to ?, so as to eliminate warning from the forced upcast
to Object.
Change-Id: Ie861f25534339d42e01dee1ea726bb126e1a3c57
Signed-off-by: Robert Varga <rovarga@cisco.com>
import com.google.common.cache.LoadingCache;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
import com.google.common.cache.LoadingCache;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.data.impl.codec.TypeDefinitionAwareCodec;
import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode;
import org.opendaylight.yangtools.yang.data.impl.codec.TypeDefinitionAwareCodec;
import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode;
- private final LoadingCache<DataSchemaNode, XmlCodec<Object>> codecs =
- CacheBuilder.newBuilder().softValues().build(new CacheLoader<DataSchemaNode, XmlCodec<Object>>() {
+ private final LoadingCache<DataSchemaNode, XmlCodec<?>> codecs =
+ CacheBuilder.newBuilder().softValues().build(new CacheLoader<DataSchemaNode, XmlCodec<?>>() {
- public XmlCodec<Object> load(final DataSchemaNode key) throws Exception {
+ public XmlCodec<?> load(final DataSchemaNode key) throws Exception {
final TypeDefinition<?> type;
if (key instanceof LeafSchemaNode) {
type = ((LeafSchemaNode) key).getType();
final TypeDefinition<?> type;
if (key instanceof LeafSchemaNode) {
type = ((LeafSchemaNode) key).getType();
});
private final SchemaContext schemaContext;
});
private final SchemaContext schemaContext;
- private final XmlCodec<?> iidCodec;
+ private final XmlCodec<YangInstanceIdentifier> iidCodec;
private XmlCodecFactory(final SchemaContext context) {
this.schemaContext = Preconditions.checkNotNull(context);
private XmlCodecFactory(final SchemaContext context) {
this.schemaContext = Preconditions.checkNotNull(context);
return new XmlCodecFactory(context);
}
return new XmlCodecFactory(context);
}
- @SuppressWarnings("unchecked")
- private XmlCodec<Object> createCodec(final DataSchemaNode key, final TypeDefinition<?> type) {
+ private XmlCodec<?> createCodec(final DataSchemaNode key, final TypeDefinition<?> type) {
final TypeDefinition<?> normalizedType = DerivedTypes.derivedTypeBuilder(type, type.getPath()).build();
if (normalizedType instanceof LeafrefTypeDefinition) {
return createReferencedTypeCodec(key, (LeafrefTypeDefinition) normalizedType);
} else if (normalizedType instanceof IdentityrefTypeDefinition) {
final XmlCodec<?> xmlStringIdentityrefCodec =
new XmlStringIdentityrefCodec(schemaContext, key.getQName().getModule());
final TypeDefinition<?> normalizedType = DerivedTypes.derivedTypeBuilder(type, type.getPath()).build();
if (normalizedType instanceof LeafrefTypeDefinition) {
return createReferencedTypeCodec(key, (LeafrefTypeDefinition) normalizedType);
} else if (normalizedType instanceof IdentityrefTypeDefinition) {
final XmlCodec<?> xmlStringIdentityrefCodec =
new XmlStringIdentityrefCodec(schemaContext, key.getQName().getModule());
- return (XmlCodec<Object>) xmlStringIdentityrefCodec;
+ return xmlStringIdentityrefCodec;
}
return createFromSimpleType(normalizedType);
}
}
return createFromSimpleType(normalizedType);
}
- private XmlCodec<Object> createReferencedTypeCodec(final DataSchemaNode schema, final LeafrefTypeDefinition type) {
+ private XmlCodec<?> createReferencedTypeCodec(final DataSchemaNode schema, final LeafrefTypeDefinition type) {
// FIXME: Verify if this does indeed support leafref of leafref
final TypeDefinition<?> referencedType =
SchemaContextUtil.getBaseTypeForLeafRef(type, getSchemaContext(), schema);
// FIXME: Verify if this does indeed support leafref of leafref
final TypeDefinition<?> referencedType =
SchemaContextUtil.getBaseTypeForLeafRef(type, getSchemaContext(), schema);
return createCodec(schema, referencedType);
}
return createCodec(schema, referencedType);
}
- @SuppressWarnings("unchecked")
- private XmlCodec<Object> createFromSimpleType(final TypeDefinition<?> type) {
+ private XmlCodec<?> createFromSimpleType(final TypeDefinition<?> type) {
if (type instanceof InstanceIdentifierTypeDefinition) {
if (type instanceof InstanceIdentifierTypeDefinition) {
- return (XmlCodec<Object>) iidCodec;
}
if (type instanceof EmptyTypeDefinition) {
return XmlEmptyCodec.INSTANCE;
}
if (type instanceof EmptyTypeDefinition) {
return XmlEmptyCodec.INSTANCE;
final TypeDefinitionAwareCodec<Object, ?> codec = TypeDefinitionAwareCodec.from(type);
if (codec == null) {
final TypeDefinitionAwareCodec<Object, ?> codec = TypeDefinitionAwareCodec.from(type);
if (codec == null) {
- LOG.debug("Codec for type \"{}\" is not implemented yet.", type.getQName()
- .getLocalName());
+ LOG.debug("Codec for type \"{}\" is not implemented yet.", type.getQName().getLocalName());
- return (XmlCodec<Object>) AbstractXmlCodec.create(codec);
+ return AbstractXmlCodec.create(codec);
}
SchemaContext getSchemaContext() {
return schemaContext;
}
}
SchemaContext getSchemaContext() {
return schemaContext;
}
- XmlCodec<Object> codecFor(final DataSchemaNode schema) {
+ XmlCodec<?> codecFor(final DataSchemaNode schema) {
return codecs.getUnchecked(schema);
}
}
return codecs.getUnchecked(schema);
}
}
protected Object deserializeKeyValue(final DataSchemaNode schemaNode, final String value) {
Preconditions.checkNotNull(schemaNode, "schemaNode cannot be null");
Preconditions.checkArgument(schemaNode instanceof LeafSchemaNode, "schemaNode must be of type LeafSchemaNode");
protected Object deserializeKeyValue(final DataSchemaNode schemaNode, final String value) {
Preconditions.checkNotNull(schemaNode, "schemaNode cannot be null");
Preconditions.checkArgument(schemaNode instanceof LeafSchemaNode, "schemaNode must be of type LeafSchemaNode");
- final XmlCodec<Object> objectXmlCodec = codecFactory.codecFor(schemaNode);
+ final XmlCodec<?> objectXmlCodec = codecFactory.codecFor(schemaNode);
return objectXmlCodec.deserialize(value);
}
return objectXmlCodec.deserialize(value);
}