1 package org.opendaylight.groupbasedpolicy.neutron.mapper.test;
3 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid;
4 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.constants.rev150712.DirectionBase;
5 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.constants.rev150712.EthertypeBase;
6 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.constants.rev150712.ProtocolBase;
7 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.secgroups.rev150712.SecurityRuleAttributes;
8 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.secgroups.rev150712.security.groups.attributes.security.groups.SecurityGroup;
9 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.secgroups.rev150712.security.groups.attributes.security.groups.SecurityGroupBuilder;
10 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.secgroups.rev150712.security.rules.attributes.security.rules.SecurityRule;
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.secgroups.rev150712.security.rules.attributes.security.rules.SecurityRuleBuilder;
13 import com.google.common.base.Strings;
15 public final class NeutronEntityFactory {
17 private NeutronEntityFactory() {
18 throw new UnsupportedOperationException("Cannot create an instance");
21 public static SecurityGroup securityGroup(String id, String tenantId) {
22 return new SecurityGroupBuilder().setUuid(new Uuid(id)).setTenantId(new Uuid(tenantId)).build();
25 public static SecurityGroup securityGroupWithName(String id, String tenantId, String name) {
26 return new SecurityGroupBuilder().setUuid(new Uuid(id)).setTenantId(new Uuid(tenantId)).setName(name).build();
29 public static SecurityRule securityRuleWithoutGroupIds(String id, String tenant, Class<? extends EthertypeBase> etherType,
30 Class<? extends DirectionBase> direction, Class<? extends ProtocolBase> protocol, int portMin, int portMax) {
31 SecurityRuleAttributes.Protocol proto = new SecurityRuleAttributes.Protocol(protocol);
32 SecurityRuleBuilder secRule = new SecurityRuleBuilder();
33 secRule.setUuid(new Uuid(id));
34 secRule.setTenantId(new Uuid(tenant));
35 secRule.setEthertype(etherType);
36 secRule.setDirection(direction);
37 secRule.setProtocol(proto);
38 secRule.setPortRangeMin(portMin);
39 secRule.setPortRangeMax(portMax);
40 return secRule.build();
43 public static SecurityRule securityRuleWithEtherType(String id, String tenant,
44 Class<? extends EthertypeBase> etherType, Class<? extends DirectionBase> direction, String ownerGroupId,
45 String remoteGroupId) {
46 SecurityRuleBuilder securityRuleBuilder = new SecurityRuleBuilder().setUuid(new Uuid(id))
47 .setTenantId(new Uuid(tenant))
48 .setEthertype(etherType)
49 .setDirection(direction)
50 .setSecurityGroupId(new Uuid(ownerGroupId));
51 if (!Strings.isNullOrEmpty(remoteGroupId)) {
52 securityRuleBuilder.setRemoteGroupId(new Uuid(remoteGroupId));
54 return securityRuleBuilder.build();