Added java code formatter and formatting of opflex java files
[groupbasedpolicy.git] / renderers / opflex / src / main / java / org / opendaylight / groupbasedpolicy / renderer / opflex / lib / Role.java
1 /*
2  * Copyright (C) 2014 Cisco Systems, Inc.
3  * 
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  * 
8  * Authors : Thomas Bachman
9  */
10 package org.opendaylight.groupbasedpolicy.renderer.opflex.lib;
11
12 import java.util.ArrayList;
13 import java.util.List;
14
15 import org.opendaylight.groupbasedpolicy.jsonrpc.RpcMessage;
16 import org.opendaylight.groupbasedpolicy.renderer.opflex.lib.messages.EndpointDeclareRequest;
17 import org.opendaylight.groupbasedpolicy.renderer.opflex.lib.messages.EndpointDeclareResponse;
18 import org.opendaylight.groupbasedpolicy.renderer.opflex.lib.messages.EndpointUndeclareRequest;
19 import org.opendaylight.groupbasedpolicy.renderer.opflex.lib.messages.EndpointUnresolveRequest;
20 import org.opendaylight.groupbasedpolicy.renderer.opflex.lib.messages.EndpointUnresolveResponse;
21 import org.opendaylight.groupbasedpolicy.renderer.opflex.lib.messages.EndpointUpdateRequest;
22 import org.opendaylight.groupbasedpolicy.renderer.opflex.lib.messages.EndpointUpdateResponse;
23 import org.opendaylight.groupbasedpolicy.renderer.opflex.lib.messages.EndpointResolveRequest;
24 import org.opendaylight.groupbasedpolicy.renderer.opflex.lib.messages.EndpointResolveResponse;
25 import org.opendaylight.groupbasedpolicy.renderer.opflex.lib.messages.IdentityRequest;
26 import org.opendaylight.groupbasedpolicy.renderer.opflex.lib.messages.IdentityResponse;
27 import org.opendaylight.groupbasedpolicy.renderer.opflex.lib.messages.PolicyResolveRequest;
28 import org.opendaylight.groupbasedpolicy.renderer.opflex.lib.messages.PolicyResolveResponse;
29 import org.opendaylight.groupbasedpolicy.renderer.opflex.lib.messages.PolicyUnresolveRequest;
30 import org.opendaylight.groupbasedpolicy.renderer.opflex.lib.messages.PolicyUnresolveResponse;
31 import org.opendaylight.groupbasedpolicy.renderer.opflex.lib.messages.PolicyUpdateRequest;
32 import org.opendaylight.groupbasedpolicy.renderer.opflex.lib.messages.PolicyUpdateResponse;
33
34 /**
35  * Enum for OpFlex roles and their supported messages
36  *
37  * @author tbachman
38  */
39 public enum Role {
40     DISCOVERY("discovery"), POLICY_REPOSITORY("policy_repository"), ENDPOINT_REGISTRY("endpoint_registry"), OBSERVER(
41             "observer"), POLICY_ELEMENT("policy_element");
42
43     static IdentityRequest idReq = new IdentityRequest();
44     static IdentityResponse idRsp = new IdentityResponse();
45     static EndpointDeclareRequest epDeclReq = new EndpointDeclareRequest();
46     static EndpointDeclareResponse epDeclRsp = new EndpointDeclareResponse();
47     static EndpointUndeclareRequest epUndeclReq = new EndpointUndeclareRequest();
48     static EndpointResolveRequest epReqReq = new EndpointResolveRequest();
49     static EndpointResolveResponse epReqRsp = new EndpointResolveResponse();
50     static EndpointUnresolveRequest epUnreqReq = new EndpointUnresolveRequest();
51     static EndpointUnresolveResponse epUnreqRsp = new EndpointUnresolveResponse();
52     static EndpointUpdateRequest epPolUpdReq = new EndpointUpdateRequest();
53     static EndpointUpdateResponse epPolUpdRsp = new EndpointUpdateResponse();
54     static PolicyResolveRequest polReq = new PolicyResolveRequest();
55     static PolicyResolveResponse polRsp = new PolicyResolveResponse();
56     static PolicyUpdateRequest polUpdReq = new PolicyUpdateRequest();
57     static PolicyUpdateResponse polUpdRsp = new PolicyUpdateResponse();
58     static PolicyUnresolveRequest polUnReq = new PolicyUnresolveRequest();
59     static PolicyUnresolveResponse polUnRsp = new PolicyUnresolveResponse();
60
61     private final String role;
62
63     Role(String role) {
64         this.role = role;
65     }
66
67     /**
68      * Get the {@link RpcMessage}s supported by this Role
69      *
70      * @return List of RpcMessages supported for this Role
71      */
72     public List<RpcMessage> getMessages() {
73         if (role.equals(DISCOVERY.toString())) {
74             List<RpcMessage> msgList = new ArrayList<RpcMessage>();
75             msgList.add(idReq);
76             msgList.add(idRsp);
77             return msgList;
78         } else if (role.equals(POLICY_REPOSITORY.toString())) {
79             List<RpcMessage> msgList = new ArrayList<RpcMessage>();
80             msgList.add(polReq);
81             msgList.add(polUpdReq);
82             msgList.add(polUpdRsp);
83             msgList.add(polUnReq);
84             msgList.add(polUnRsp);
85             return msgList;
86         } else if (role.equals(ENDPOINT_REGISTRY.toString())) {
87             List<RpcMessage> msgList = new ArrayList<RpcMessage>();
88             msgList.add(epDeclReq);
89             msgList.add(epUndeclReq);
90             msgList.add(epReqReq);
91             msgList.add(epUnreqReq);
92             msgList.add(epPolUpdReq);
93             msgList.add(epPolUpdRsp);
94             return msgList;
95         } else if (role.equals(OBSERVER.toString())) {
96             List<RpcMessage> msgList = new ArrayList<RpcMessage>();
97             return msgList;
98         }
99         return null;
100     }
101
102     @Override
103     public String toString() {
104         return this.role;
105     }
106 }