X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-rest-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Frestconf%2Fimpl%2FRestCodec.java;h=ff90dd8439582969d8db755c2ae08f4e91129cc5;hp=14b8282312d7accd1ba0c912a55178c72d3f317c;hb=de3e413b633b7555ae8f3fe2ec163dbb7dda5da8;hpb=05861a85bc830af3fce638c301949da23c803ee4 diff --git a/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/RestCodec.java b/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/RestCodec.java index 14b8282312..ff90dd8439 100644 --- a/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/RestCodec.java +++ b/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/RestCodec.java @@ -12,18 +12,17 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; - import org.opendaylight.controller.sal.core.api.mount.MountInstance; import org.opendaylight.controller.sal.rest.impl.RestUtil; import org.opendaylight.controller.sal.restconf.impl.IdentityValuesDTO.IdentityValue; import org.opendaylight.controller.sal.restconf.impl.IdentityValuesDTO.Predicate; import org.opendaylight.yangtools.concepts.Codec; import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.NodeIdentifier; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.NodeIdentifierWithPredicates; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.NodeWithValue; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.PathArgument; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithValue; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.codec.IdentityrefCodec; import org.opendaylight.yangtools.yang.data.api.codec.InstanceIdentifierCodec; import org.opendaylight.yangtools.yang.data.api.codec.LeafrefCodec; @@ -47,7 +46,8 @@ public class RestCodec { private RestCodec() { } - public static final Codec from(final TypeDefinition typeDefinition, final MountInstance mountPoint) { + public static final Codec from(final TypeDefinition typeDefinition, + final MountInstance mountPoint) { return new ObjectCodec(typeDefinition, mountPoint); } @@ -84,13 +84,13 @@ public class RestCodec { if (input instanceof IdentityValuesDTO) { return identityrefCodec.deserialize(input); } - logger.info( + logger.debug( "Value is not instance of IdentityrefTypeDefinition but is {}. Therefore NULL is used as translation of - {}", input == null ? "null" : input.getClass(), String.valueOf(input)); return null; } else if (type instanceof LeafrefTypeDefinition) { if (input instanceof IdentityValuesDTO) { - return LEAFREF_DEFAULT_CODEC.deserialize(((IdentityValuesDTO)input).getOriginValue()); + return LEAFREF_DEFAULT_CODEC.deserialize(((IdentityValuesDTO) input).getOriginValue()); } return LEAFREF_DEFAULT_CODEC.deserialize(input); } else if (type instanceof InstanceIdentifierTypeDefinition) { @@ -106,7 +106,7 @@ public class RestCodec { .from(type); if (typeAwarecodec != null) { if (input instanceof IdentityValuesDTO) { - return typeAwarecodec.deserialize(((IdentityValuesDTO)input).getOriginValue()); + return typeAwarecodec.deserialize(((IdentityValuesDTO) input).getOriginValue()); } return typeAwarecodec.deserialize(String.valueOf(input)); } else { @@ -115,8 +115,7 @@ public class RestCodec { return null; } } - } catch (ClassCastException e) { // TODO remove this catch when - // everyone use codecs + } catch (ClassCastException e) { // TODO remove this catch when everyone use codecs logger.error( "ClassCastException was thrown when codec is invoked with parameter " + String.valueOf(input), e); @@ -145,8 +144,7 @@ public class RestCodec { return null; } } - } catch (ClassCastException e) { // TODO remove this catch when - // everyone use codecs + } catch (ClassCastException e) { // TODO remove this catch when everyone use codecs logger.error( "ClassCastException was thrown when codec is invoked with parameter " + String.valueOf(input), e); @@ -168,7 +166,7 @@ public class RestCodec { @Override public IdentityValuesDTO serialize(final QName data) { - return new IdentityValuesDTO(data.getNamespace().toString(), data.getLocalName(), data.getPrefix(),null); + return new IdentityValuesDTO(data.getNamespace().toString(), data.getLocalName(), data.getPrefix(), null); } @Override @@ -209,7 +207,7 @@ public class RestCodec { } @Override - public IdentityValuesDTO serialize(final InstanceIdentifier data) { + public IdentityValuesDTO serialize(final YangInstanceIdentifier data) { IdentityValuesDTO identityValuesDTO = new IdentityValuesDTO(); for (PathArgument pathArgument : data.getPathArguments()) { IdentityValue identityValue = qNameToIdentityValue(pathArgument.getNodeType()); @@ -229,13 +227,15 @@ public class RestCodec { } @Override - public InstanceIdentifier deserialize(final IdentityValuesDTO data) { + public YangInstanceIdentifier deserialize(final IdentityValuesDTO data) { List result = new ArrayList(); IdentityValue valueWithNamespace = data.getValuesWithNamespaces().get(0); Module module = getModuleByNamespace(valueWithNamespace.getNamespace(), mountPoint); if (module == null) { - logger.info("Module by namespace '{}' of first node in instance-identiefier was not found.", valueWithNamespace.getNamespace()); - logger.info("Instance-identifier will be translated as NULL for data - {}", String.valueOf(valueWithNamespace.getValue())); + logger.info("Module by namespace '{}' of first node in instance-identiefier was not found.", + valueWithNamespace.getNamespace()); + logger.info("Instance-identifier will be translated as NULL for data - {}", + String.valueOf(valueWithNamespace.getValue())); return null; } @@ -248,7 +248,8 @@ public class RestCodec { parentContainer, identityValue.getValue(), validNamespace); if (node == null) { logger.info("'{}' node was not found in {}", identityValue, parentContainer.getChildNodes()); - logger.info("Instance-identifier will be translated as NULL for data - {}", String.valueOf(identityValue.getValue())); + logger.info("Instance-identifier will be translated as NULL for data - {}", + String.valueOf(identityValue.getValue())); return null; } QName qName = node.getQName(); @@ -260,7 +261,8 @@ public class RestCodec { Predicate leafListPredicate = identityValue.getPredicates().get(0); if (!leafListPredicate.isLeafList()) { logger.info("Predicate's data is not type of leaf-list. It should be in format \".='value'\""); - logger.info("Instance-identifier will be translated as NULL for data - {}", String.valueOf(identityValue.getValue())); + logger.info("Instance-identifier will be translated as NULL for data - {}", + String.valueOf(identityValue.getValue())); return null; } pathArgument = new NodeWithValue(qName, leafListPredicate.getValue()); @@ -269,30 +271,34 @@ public class RestCodec { Map predicatesMap = new HashMap<>(); for (Predicate predicate : identityValue.getPredicates()) { validNamespace = resolveValidNamespace(predicate.getName().getNamespace(), mountPoint); - DataSchemaNode listKey = ControllerContext.getInstance().findInstanceDataChildByNameAndNamespace( - listNode, predicate.getName().getValue(), validNamespace); + DataSchemaNode listKey = ControllerContext.getInstance() + .findInstanceDataChildByNameAndNamespace(listNode, predicate.getName().getValue(), + validNamespace); predicatesMap.put(listKey.getQName(), predicate.getValue()); } pathArgument = new NodeIdentifierWithPredicates(qName, predicatesMap); } else { logger.info("Node {} is not List or Leaf-list.", node); - logger.info("Instance-identifier will be translated as NULL for data - {}", String.valueOf(identityValue.getValue())); + logger.info("Instance-identifier will be translated as NULL for data - {}", + String.valueOf(identityValue.getValue())); return null; } } result.add(pathArgument); - if (i < identities.size() - 1) { // last element in instance-identifier can be other than DataNodeContainer + if (i < identities.size() - 1) { // last element in instance-identifier can be other than + // DataNodeContainer if (node instanceof DataNodeContainer) { parentContainer = (DataNodeContainer) node; } else { logger.info("Node {} isn't instance of DataNodeContainer", node); - logger.info("Instance-identifier will be translated as NULL for data - {}", String.valueOf(identityValue.getValue())); + logger.info("Instance-identifier will be translated as NULL for data - {}", + String.valueOf(identityValue.getValue())); return null; } } } - return result.isEmpty() ? null : InstanceIdentifier.create(result); + return result.isEmpty() ? null : YangInstanceIdentifier.create(result); } private List keyValuesToPredicateList(final Map keyValues) {