X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fnetconf%2Fconfig-netconf-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fconfignetconfconnector%2Fmapping%2Frpc%2FInstanceRuntimeRpc.java;fp=opendaylight%2Fnetconf%2Fconfig-netconf-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fconfignetconfconnector%2Fmapping%2Frpc%2FInstanceRuntimeRpc.java;h=0000000000000000000000000000000000000000;hp=f7108f44c75ef2779b014301e5911f630303aaf7;hb=23fe9ca678ada6263fec5dd996f4025e4a32fcf5;hpb=071a641d7c12c0e6112d5ce0afe806b54f116ed2;ds=sidebyside diff --git a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/rpc/InstanceRuntimeRpc.java b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/rpc/InstanceRuntimeRpc.java deleted file mode 100644 index f7108f44c7..0000000000 --- a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/rpc/InstanceRuntimeRpc.java +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ - -package org.opendaylight.controller.netconf.confignetconfconnector.mapping.rpc; - -import com.google.common.collect.Maps; -import java.util.Collections; -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import javax.management.openmbean.OpenType; -import org.opendaylight.controller.config.yangjmxgenerator.RuntimeBeanEntry.Rpc; -import org.opendaylight.controller.config.yangjmxgenerator.attribute.AttributeIfc; -import org.opendaylight.controller.config.yangjmxgenerator.attribute.JavaAttribute; -import org.opendaylight.controller.netconf.api.NetconfDocumentedException; -import org.opendaylight.controller.netconf.confignetconfconnector.mapping.attributes.fromxml.AttributeConfigElement; -import org.opendaylight.controller.netconf.confignetconfconnector.mapping.attributes.fromxml.AttributeReadingStrategy; -import org.opendaylight.controller.netconf.confignetconfconnector.mapping.attributes.fromxml.ObjectXmlReader; -import org.opendaylight.controller.netconf.confignetconfconnector.mapping.attributes.resolving.AttributeResolvingStrategy; -import org.opendaylight.controller.netconf.confignetconfconnector.mapping.attributes.resolving.ObjectResolver; -import org.opendaylight.controller.netconf.confignetconfconnector.operations.editconfig.EditConfig; -import org.opendaylight.controller.netconf.confignetconfconnector.osgi.EnumResolver; -import org.opendaylight.controller.netconf.util.xml.XmlElement; - -public final class InstanceRuntimeRpc { - - private final Map yangToAttrConfig; - private final Rpc rpc; - private final EnumResolver enumResolver; - - public InstanceRuntimeRpc(Rpc rpc, final EnumResolver enumResolver) { - this.enumResolver = enumResolver; - this.yangToAttrConfig = map(rpc.getParameters()); - this.rpc = rpc; - } - - private Map map(List parameters) { - Map mapped = Maps.newHashMap(); - for (JavaAttribute javaAttribute : parameters) { - mapped.put(javaAttribute.getAttributeYangName(), javaAttribute); - } - return mapped; - } - - private void resolveConfiguration(Map mappedConfig) { - - // TODO make field, resolvingStrategies can be instantiated only once - Map>> resolvingStrategies = new ObjectResolver(null) - .prepareResolving(yangToAttrConfig, enumResolver); - // TODO make constructor for object resolver without service tracker - for (Entry configDefEntry : mappedConfig.entrySet()) { - try { - - AttributeResolvingStrategy> attributeResolvingStrategy = resolvingStrategies - .get(configDefEntry.getKey()); - - configDefEntry.getValue().resolveValue(attributeResolvingStrategy, configDefEntry.getKey()); - configDefEntry.getValue().setJmxName( - yangToAttrConfig.get(configDefEntry.getKey()).getUpperCaseCammelCase()); - } catch (Exception e) { - throw new IllegalStateException("Unable to resolve value " + configDefEntry.getValue() - + " to attribute " + configDefEntry.getKey(), e); - } - } - } - - public Map fromXml(XmlElement configRootNode) throws NetconfDocumentedException { - Map retVal = Maps.newHashMap(); - - // FIXME add identity map to runtime data - Map strats = new ObjectXmlReader().prepareReading(yangToAttrConfig, - Collections.> emptyMap()); - - for (Entry readStratEntry : strats.entrySet()) { - List configNodes = configRootNode.getChildElements(readStratEntry.getKey()); - AttributeConfigElement readElement = readStratEntry.getValue().readElement(configNodes); - retVal.put(readStratEntry.getKey(), readElement); - } - - resolveConfiguration(retVal); - return retVal; - } - - public String getName() { - return rpc.getName(); - } - - public AttributeIfc getReturnType() { - return rpc.getReturnType(); - } - -}