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%2Fattributes%2Fmapping%2FCompositeAttributeMappingStrategy.java;fp=opendaylight%2Fnetconf%2Fconfig-netconf-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fconfignetconfconnector%2Fmapping%2Fattributes%2Fmapping%2FCompositeAttributeMappingStrategy.java;h=0000000000000000000000000000000000000000;hp=16421d5a1deaec124887804da8a3d38cce3db9de;hb=23fe9ca678ada6263fec5dd996f4025e4a32fcf5;hpb=071a641d7c12c0e6112d5ce0afe806b54f116ed2;ds=sidebyside diff --git a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/attributes/mapping/CompositeAttributeMappingStrategy.java b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/attributes/mapping/CompositeAttributeMappingStrategy.java deleted file mode 100644 index 16421d5a1d..0000000000 --- a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/attributes/mapping/CompositeAttributeMappingStrategy.java +++ /dev/null @@ -1,73 +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.attributes.mapping; - -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; -import com.google.common.collect.Maps; -import java.util.Map; -import java.util.Set; -import javax.management.openmbean.CompositeDataSupport; -import javax.management.openmbean.CompositeType; -import javax.management.openmbean.OpenType; -import org.opendaylight.controller.netconf.confignetconfconnector.util.Util; - -public class CompositeAttributeMappingStrategy extends - AbstractAttributeMappingStrategy, CompositeType> { - - private final Map>> innerStrategies; - private final Map jmxToJavaNameMapping; - - public CompositeAttributeMappingStrategy(CompositeType compositeType, - Map>> innerStrategies, - Map jmxToJavaNameMapping) { - super(compositeType); - this.innerStrategies = innerStrategies; - this.jmxToJavaNameMapping = jmxToJavaNameMapping; - } - - @Override - public Optional> mapAttribute(Object value) { - if (value == null){ - return Optional.absent(); - } - - Util.checkType(value, CompositeDataSupport.class); - - CompositeDataSupport compositeData = (CompositeDataSupport) value; - CompositeType currentType = compositeData.getCompositeType(); - CompositeType expectedType = getOpenType(); - - Set expectedCompositeTypeKeys = expectedType.keySet(); - Set currentCompositeTypeKeys = currentType.keySet(); - Preconditions.checkArgument(expectedCompositeTypeKeys.equals(currentCompositeTypeKeys), - "Composite type mismatch, expected composite type with attributes " + expectedCompositeTypeKeys - + " but was " + currentCompositeTypeKeys); - - Map retVal = Maps.newHashMap(); - - for (String jmxName : jmxToJavaNameMapping.keySet()) { - Optional mapped = mapInnerAttribute(compositeData, jmxName, expectedType.getDescription(jmxName)); - if(mapped.isPresent()){ - retVal.put(jmxToJavaNameMapping.get(jmxName), mapped.get()); - } - } - - return Optional.of(retVal); - } - - protected Optional mapInnerAttribute(CompositeDataSupport compositeData, String jmxName, String description) { - Object innerValue = compositeData.get(jmxName); - - AttributeMappingStrategy> attributeMappingStrategy = innerStrategies - .get(jmxName); - return attributeMappingStrategy.mapAttribute(innerValue); - } - -}