Adding transcriber for NeutronMeteringLabelRuleInterface and NeutronLoadBalancerPoolM... 78/19378/1
authorShreshthaJoshi <shreshtha.joshi@tcs.com>
Thu, 30 Apr 2015 11:37:38 +0000 (17:07 +0530)
committerShreshthaJoshi <shreshtha.joshi@tcs.com>
Thu, 30 Apr 2015 11:37:38 +0000 (17:07 +0530)
Change-Id: I5467dde8e1a0f57bb6db68fcb58b32ce8650c8ee
Signed-off-by: ShreshthaJoshi <shreshtha.joshi@tcs.com>
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronLoadBalancerPoolMemberInterface.java
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronMeteringLabelRuleInterface.java

index beee91f4f372fce623def2a28149f905021172bc..9394d80cb9d072f27a1cbae3bf79916ba187f41c 100644 (file)
@@ -20,17 +20,18 @@ import java.util.concurrent.ConcurrentMap;
 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext;
 import org.opendaylight.neutron.spi.INeutronLoadBalancerPoolMemberCRUD;
 import org.opendaylight.neutron.spi.NeutronLoadBalancerPoolMember;
-import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpAddress;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.lbaasv2.rev141002.lbaas.attributes.pool.pools.Member;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.lbaasv2.rev141002.lbaas.attributes.pool.pools.member.Members;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.lbaasv2.rev141002.lbaas.attributes.pool.pools.member.MembersBuilder;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class NeutronLoadBalancerPoolMemberInterface
-        extends AbstractNeutronInterface
-        implements INeutronLoadBalancerPoolMemberCRUD {
+public class NeutronLoadBalancerPoolMemberInterface extends
+        AbstractNeutronInterface<Members, NeutronLoadBalancerPoolMember> implements INeutronLoadBalancerPoolMemberCRUD {
     private static final Logger logger = LoggerFactory.getLogger(NeutronLoadBalancerPoolMemberInterface.class);
-    private ConcurrentMap<String, NeutronLoadBalancerPoolMember> loadBalancerPoolMemberDB  = new ConcurrentHashMap<String, NeutronLoadBalancerPoolMember>();
-
+    private ConcurrentMap<String, NeutronLoadBalancerPoolMember> loadBalancerPoolMemberDB = new ConcurrentHashMap<String, NeutronLoadBalancerPoolMember>();
 
     NeutronLoadBalancerPoolMemberInterface(ProviderContext providerContext) {
         super(providerContext);
@@ -42,8 +43,7 @@ public class NeutronLoadBalancerPoolMemberInterface
         Method[] methods = target.getClass().getMethods();
 
         for (Method toMethod : methods) {
-            if (toMethod.getDeclaringClass().equals(target.getClass())
-                    && toMethod.getName().startsWith("set")) {
+            if (toMethod.getDeclaringClass().equals(target.getClass()) && toMethod.getName().startsWith("set")) {
 
                 String toName = toMethod.getName();
                 String fromName = toName.replace("set", "get");
@@ -54,7 +54,7 @@ public class NeutronLoadBalancerPoolMemberInterface
                     if (value != null) {
                         toMethod.invoke(target, value);
                     }
-                } catch(Exception e) {
+                } catch (Exception e) {
                     e.printStackTrace();
                     return false;
                 }
@@ -124,20 +124,43 @@ public class NeutronLoadBalancerPoolMemberInterface
     }
 
     @Override
-    protected InstanceIdentifier createInstanceIdentifier(DataObject item) {
-        // TODO Auto-generated method stub
-        return null;
+    protected InstanceIdentifier<Members> createInstanceIdentifier(Members item) {
+        return InstanceIdentifier.create(Member.class).child(Members.class);
     }
 
     @Override
-    protected DataObject toMd(Object neutronObject) {
-        // TODO Auto-generated method stub
-        return null;
+    protected Members toMd(NeutronLoadBalancerPoolMember member) {
+        MembersBuilder membersBuilder = new MembersBuilder();
+        membersBuilder.setAdminStateUp(member.getPoolMemberAdminStateIsUp());
+        if (member.getPoolID() != null) {
+            membersBuilder.setUuid(toUuid(member.getPoolID()));
+        }
+        if (member.getPoolMemberAddress() != null) {
+            IpAddress ipAddress = new IpAddress(member.getPoolMemberAddress().toCharArray());
+            membersBuilder.setAddress(ipAddress);
+        }
+        if (member.getPoolMemberProtoPort() != null) {
+            membersBuilder.setProtocolPort(member.getPoolMemberProtoPort());
+        }
+        if (member.getPoolMemberID() != null) {
+            membersBuilder.setUuid(toUuid(member.getPoolMemberID()));
+        }
+        if (member.getPoolMemberSubnetID() != null) {
+            membersBuilder.setSubnetId(toUuid(member.getPoolMemberSubnetID()));
+        }
+        if (member.getPoolMemberTenantID() != null) {
+            membersBuilder.setTenantId(toUuid(member.getPoolMemberTenantID()));
+        }
+        if (member.getPoolMemberWeight() != null) {
+            membersBuilder.setWeight(member.getPoolMemberWeight());
+        }
+        return membersBuilder.build();
     }
 
     @Override
-    protected DataObject toMd(String uuid) {
-        // TODO Auto-generated method stub
-        return null;
+    protected Members toMd(String uuid) {
+        MembersBuilder membersBuilder = new MembersBuilder();
+        membersBuilder.setUuid(toUuid(uuid));
+        return membersBuilder.build();
     }
 }
index 20717aae35929d56a991d778cee14c233aa6cbff..01a231563453dc6965c93ec096111b7e81e485b9 100644 (file)
@@ -20,17 +20,21 @@ import java.util.concurrent.ConcurrentMap;
 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext;
 import org.opendaylight.neutron.spi.INeutronMeteringLabelRuleCRUD;
 import org.opendaylight.neutron.spi.NeutronMeteringLabelRule;
-import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpAddress;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.metering.rev141002.MeteringRuleAttrs;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.metering.rev141002.metering.rules.attributes.MeteringRules;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.metering.rev141002.metering.rules.attributes.metering.rules.MeteringRule;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.metering.rev141002.metering.rules.attributes.metering.rules.MeteringRuleBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.rev150325.Neutron;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class NeutronMeteringLabelRuleInterface extends AbstractNeutronInterface implements INeutronMeteringLabelRuleCRUD {
+public class NeutronMeteringLabelRuleInterface extends AbstractNeutronInterface<MeteringRule, NeutronMeteringLabelRule>
+        implements INeutronMeteringLabelRuleCRUD {
     private static final Logger logger = LoggerFactory.getLogger(NeutronMeteringLabelRuleInterface.class);
     private ConcurrentMap<String, NeutronMeteringLabelRule> meteringLabelRuleDB = new ConcurrentHashMap<String, NeutronMeteringLabelRule>();
 
-
-
     NeutronMeteringLabelRuleInterface(ProviderContext providerContext) {
         super(providerContext);
     }
@@ -40,17 +44,16 @@ public class NeutronMeteringLabelRuleInterface extends AbstractNeutronInterface
     private boolean overwrite(Object target, Object delta) {
         Method[] methods = target.getClass().getMethods();
 
-        for(Method toMethod: methods){
-            if(toMethod.getDeclaringClass().equals(target.getClass())
-                    && toMethod.getName().startsWith("set")){
+        for (Method toMethod : methods) {
+            if (toMethod.getDeclaringClass().equals(target.getClass()) && toMethod.getName().startsWith("set")) {
 
                 String toName = toMethod.getName();
                 String fromName = toName.replace("set", "get");
 
                 try {
                     Method fromMethod = delta.getClass().getMethod(fromName);
-                    Object value = fromMethod.invoke(delta, (Object[])null);
-                    if(value != null){
+                    Object value = fromMethod.invoke(delta, (Object[]) null);
+                    if (value != null) {
                         toMethod.invoke(target, value);
                     }
                 } catch (Exception e) {
@@ -84,7 +87,8 @@ public class NeutronMeteringLabelRuleInterface extends AbstractNeutronInterface
             NeutronMeteringLabelRule meteringLabelRule = entry.getValue();
             allMeteringLabelRules.add(meteringLabelRule);
         }
-        logger.debug("Exiting getAllMeteringLabelRules, Found {} OpenStackMeteringLabelRules", allMeteringLabelRules.size());
+        logger.debug("Exiting getAllMeteringLabelRules, Found {} OpenStackMeteringLabelRules",
+                allMeteringLabelRules.size());
         List<NeutronMeteringLabelRule> ans = new ArrayList<NeutronMeteringLabelRule>();
         ans.addAll(allMeteringLabelRules);
         return ans;
@@ -96,7 +100,8 @@ public class NeutronMeteringLabelRuleInterface extends AbstractNeutronInterface
             return false;
         }
         meteringLabelRuleDB.putIfAbsent(input.getMeteringLabelRuleUUID(), input);
-      //TODO: add code to find INeutronMeteringLabelRuleAware services and call newtorkCreated on them
+        // TODO: add code to find INeutronMeteringLabelRuleAware services and
+        // call newtorkCreated on them
         return true;
     }
 
@@ -106,7 +111,8 @@ public class NeutronMeteringLabelRuleInterface extends AbstractNeutronInterface
             return false;
         }
         meteringLabelRuleDB.remove(uuid);
-      //TODO: add code to find INeutronMeteringLabelRuleAware services and call newtorkDeleted on them
+        // TODO: add code to find INeutronMeteringLabelRuleAware services and
+        // call newtorkDeleted on them
         return true;
     }
 
@@ -128,20 +134,36 @@ public class NeutronMeteringLabelRuleInterface extends AbstractNeutronInterface
     }
 
     @Override
-    protected InstanceIdentifier createInstanceIdentifier(DataObject item) {
-        // TODO Auto-generated method stub
-        return null;
+    protected InstanceIdentifier<MeteringRule> createInstanceIdentifier(MeteringRule item) {
+        return InstanceIdentifier.create(Neutron.class).child(MeteringRules.class).child(MeteringRule.class);
+
     }
 
     @Override
-    protected DataObject toMd(Object neutronObject) {
-        // TODO Auto-generated method stub
-        return null;
+    protected MeteringRule toMd(NeutronMeteringLabelRule meteringLableRule) {
+        MeteringRuleBuilder meteringRuleBuilder = new MeteringRuleBuilder();
+        if (meteringLableRule.getMeteringLabelRuleLabelID() != null) {
+            meteringRuleBuilder.setId((toUuid(meteringLableRule.getMeteringLabelRuleLabelID())));
+        }
+        if (meteringLableRule.getMeteringLabelRuleUUID() != null) {
+            meteringRuleBuilder.setMeteringLabelId(toUuid(meteringLableRule.getMeteringLabelRuleUUID()));
+        }
+        if (meteringLableRule.getMeteringLabelRuleDirection() != null) {
+            meteringRuleBuilder.setDirection((MeteringRuleAttrs.Direction.valueOf(meteringLableRule
+                    .getMeteringLabelRuleDirection())));
+        }
+        if (meteringLableRule.getMeteringLabelRuleRemoteIPPrefix() != null) {
+            IpAddress ipAddress = new IpAddress(meteringLableRule.getMeteringLabelRuleRemoteIPPrefix().toCharArray());
+            meteringRuleBuilder.setRemoteIpPrefix(ipAddress);
+        }
+        meteringRuleBuilder.setExcluded(meteringLableRule.getMeteringLabelRuleExcluded());
+        return meteringRuleBuilder.build();
     }
 
     @Override
-    protected DataObject toMd(String uuid) {
-        // TODO Auto-generated method stub
-        return null;
+    protected MeteringRule toMd(String uuid) {
+        MeteringRuleBuilder meteringRuleBuilder = new MeteringRuleBuilder();
+        meteringRuleBuilder.setId((toUuid(uuid)));
+        return meteringRuleBuilder.build();
     }
 }