Merge changes Ic434bf4a,I05a3fb18,I47a3783d,I8234bbfd
[controller.git] / opendaylight / netconf / config-netconf-connector / src / main / java / org / opendaylight / controller / netconf / confignetconfconnector / mapping / attributes / mapping / UnionCompositeAttributeMappingStrategy.java
1 /*
2  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 package org.opendaylight.controller.netconf.confignetconfconnector.mapping.attributes.mapping;
10
11 import com.google.common.base.Optional;
12 import java.util.Map;
13 import javax.management.openmbean.CompositeDataSupport;
14 import javax.management.openmbean.CompositeType;
15 import javax.management.openmbean.OpenType;
16 import org.opendaylight.controller.config.yangjmxgenerator.attribute.JavaAttribute;
17
18 public class UnionCompositeAttributeMappingStrategy extends
19         CompositeAttributeMappingStrategy {
20
21
22     public UnionCompositeAttributeMappingStrategy(CompositeType compositeType, Map<String, AttributeMappingStrategy<?, ? extends OpenType<?>>> innerStrategies, Map<String, String> jmxToJavaNameMapping) {
23         super(compositeType, innerStrategies, jmxToJavaNameMapping);
24     }
25
26     @Override
27     protected Optional<?> mapInnerAttribute(CompositeDataSupport compositeData, String jmxName, String description) {
28         if(!description.equals(JavaAttribute.DESCRIPTION_OF_VALUE_ATTRIBUTE_FOR_UNION)){
29             return Optional.absent();
30         }
31         return super.mapInnerAttribute(compositeData, jmxName, description);
32     }
33 }