neutron: unbreak of neutron northbound yang model revise
[groupbasedpolicy.git] / neutron-mapper / src / test / java / org / opendaylight / groupbasedpolicy / neutron / mapper / test / NeutronEntityFactory.java
1 package org.opendaylight.groupbasedpolicy.neutron.mapper.test;
2
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;
12
13 import com.google.common.base.Strings;
14
15 public final class NeutronEntityFactory {
16
17     private NeutronEntityFactory() {
18         throw new UnsupportedOperationException("Cannot create an instance");
19     }
20
21     public static SecurityGroup securityGroup(String id, String tenantId) {
22         return new SecurityGroupBuilder().setUuid(new Uuid(id)).setTenantId(new Uuid(tenantId)).build();
23     }
24
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();
27     }
28
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();
41     }
42
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));
53         }
54         return securityRuleBuilder.build();
55     }
56 }