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);
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");
if (value != null) {
toMethod.invoke(target, value);
}
- } catch(Exception e) {
+ } catch (Exception e) {
e.printStackTrace();
return false;
}
}
@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();
}
}
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);
}
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) {
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;
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;
}
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;
}
}
@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();
}
}