Merge "Bug 3281 duplicate flow programming"
[groupbasedpolicy.git] / neutron-mapper / src / main / java / org / opendaylight / groupbasedpolicy / neutron / mapper / mapping / MappingFactory.java
1 package org.opendaylight.groupbasedpolicy.neutron.mapper.mapping;
2
3 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.UniqueId;
4 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.endpoint.rev140421.endpoints.EndpointKey;
5 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.neutron.gbp.mapper.rev150513.mappings.gbp.by.neutron.mappings.endpoints.by.ports.EndpointByPort;
6 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.neutron.gbp.mapper.rev150513.mappings.gbp.by.neutron.mappings.endpoints.by.ports.EndpointByPortBuilder;
7 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.neutron.gbp.mapper.rev150513.mappings.gbp.by.neutron.mappings.endpoints.by.router._interface.ports.EndpointByRouterInterfacePort;
8 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.neutron.gbp.mapper.rev150513.mappings.gbp.by.neutron.mappings.endpoints.by.router._interface.ports.EndpointByRouterInterfacePortBuilder;
9 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.neutron.gbp.mapper.rev150513.mappings.gbp.by.neutron.mappings.endpoints.by.router.gateway.ports.EndpointByRouterGatewayPort;
10 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.neutron.gbp.mapper.rev150513.mappings.gbp.by.neutron.mappings.endpoints.by.router.gateway.ports.EndpointByRouterGatewayPortBuilder;
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.neutron.gbp.mapper.rev150513.mappings.neutron.by.gbp.mappings.ports.by.endpoints.PortByEndpoint;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.neutron.gbp.mapper.rev150513.mappings.neutron.by.gbp.mappings.ports.by.endpoints.PortByEndpointBuilder;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.neutron.gbp.mapper.rev150513.mappings.neutron.by.gbp.mappings.router._interface.ports.by.endpoints.RouterInterfacePortByEndpoint;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.neutron.gbp.mapper.rev150513.mappings.neutron.by.gbp.mappings.router._interface.ports.by.endpoints.RouterInterfacePortByEndpointBuilder;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.neutron.gbp.mapper.rev150513.mappings.neutron.by.gbp.mappings.router.gateway.ports.by.endpoints.RouterGatewayPortByEndpoint;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.neutron.gbp.mapper.rev150513.mappings.neutron.by.gbp.mappings.router.gateway.ports.by.endpoints.RouterGatewayPortByEndpointBuilder;
17
18 public class MappingFactory {
19
20     private MappingFactory() {
21         throw new UnsupportedOperationException("cannot create an instance");
22     }
23
24     public static EndpointByPort createEndpointByPort(EndpointKey epKey, UniqueId portId) {
25         return new EndpointByPortBuilder().setPortId(portId)
26             .setL2Context(epKey.getL2Context())
27             .setMacAddress(epKey.getMacAddress())
28             .build();
29     }
30
31     public static PortByEndpoint createPortByEndpoint(UniqueId portId, EndpointKey epKey) {
32         return new PortByEndpointBuilder().setPortId(portId)
33             .setL2Context(epKey.getL2Context())
34             .setMacAddress(epKey.getMacAddress())
35             .build();
36     }
37
38     public static EndpointByRouterGatewayPort createEndpointByRouterGatewayPort(EndpointKey epKey, UniqueId portId) {
39         return new EndpointByRouterGatewayPortBuilder().setPortId(portId)
40             .setL2Context(epKey.getL2Context())
41             .setMacAddress(epKey.getMacAddress())
42             .build();
43     }
44
45     public static RouterGatewayPortByEndpoint createRouterGatewayPortByEndpoint(UniqueId portId, EndpointKey epKey) {
46         return new RouterGatewayPortByEndpointBuilder().setPortId(portId)
47             .setL2Context(epKey.getL2Context())
48             .setMacAddress(epKey.getMacAddress())
49             .build();
50     }
51
52     public static EndpointByRouterInterfacePort createEndpointByRouterInterfacePort(EndpointKey epKey, UniqueId portId) {
53         return new EndpointByRouterInterfacePortBuilder().setPortId(portId)
54             .setL2Context(epKey.getL2Context())
55             .setMacAddress(epKey.getMacAddress())
56             .build();
57     }
58
59     public static RouterInterfacePortByEndpoint createRouterInterfacePortByEndpoint(UniqueId portId, EndpointKey epKey) {
60         return new RouterInterfacePortByEndpointBuilder().setPortId(portId)
61             .setL2Context(epKey.getL2Context())
62             .setMacAddress(epKey.getMacAddress())
63             .build();
64     }
65
66 }