Initial push of Neutron interface
[controller.git] / opendaylight / northbound / networkconfiguration / neutron / src / main / java / org / opendaylight / controller / networkconfig / neutron / northbound / NeutronNBInterfaces.java
1 /*\r
2  * Copyright IBM Corporation, 2013.  All rights reserved.\r
3  *\r
4  * This program and the accompanying materials are made available under the\r
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
6  * and is available at http://www.eclipse.org/legal/epl-v10.html\r
7  */\r
8 \r
9 package org.opendaylight.controller.networkconfig.neutron.northbound;\r
10 \r
11 import java.util.List;\r
12 \r
13 import org.opendaylight.controller.containermanager.IContainerManager;\r
14 import org.opendaylight.controller.networkconfig.neutron.INeutronFloatingIPCRUD;\r
15 import org.opendaylight.controller.networkconfig.neutron.INeutronNetworkCRUD;\r
16 import org.opendaylight.controller.networkconfig.neutron.INeutronPortCRUD;\r
17 import org.opendaylight.controller.networkconfig.neutron.INeutronRouterCRUD;\r
18 import org.opendaylight.controller.networkconfig.neutron.INeutronSubnetCRUD;\r
19 import org.opendaylight.controller.networkconfig.neutron.NeutronCRUDInterfaces;\r
20 import org.opendaylight.controller.northbound.commons.RestMessages;\r
21 import org.opendaylight.controller.northbound.commons.exception.ResourceNotFoundException;\r
22 import org.opendaylight.controller.northbound.commons.exception.ServiceUnavailableException;\r
23 import org.opendaylight.controller.sal.utils.ServiceHelper;\r
24 \r
25 public class NeutronNBInterfaces {\r
26 \r
27     // return a class that implements the IfNBNetworkCRUD interface\r
28     static INeutronNetworkCRUD getIfNBNetworkCRUD(String containerName, Object o) {\r
29  /*       IContainerManager containerManager = (IContainerManager) ServiceHelper\r
30                 .getGlobalInstance(IContainerManager.class, o);\r
31         if (containerManager == null) {\r
32             throw new ServiceUnavailableException("Container "\r
33                     + RestMessages.SERVICEUNAVAILABLE.toString());\r
34         }\r
35 \r
36         boolean found = false;\r
37         List<String> containerNames = containerManager.getContainerNames();\r
38         for (String cName : containerNames) {\r
39             if (cName.trim().equalsIgnoreCase(containerName.trim())) {\r
40                 found = true;\r
41             }\r
42         }\r
43 \r
44         if (found == false) {\r
45             throw new ResourceNotFoundException(containerName + " "\r
46                     + RestMessages.NOCONTAINER.toString());\r
47         }\r
48 \r
49         IfNBNetworkCRUD answer = (IfNBNetworkCRUD) ServiceHelper.getInstance(\r
50                 IfNBNetworkCRUD.class, containerName, o); */\r
51 \r
52         INeutronNetworkCRUD answer = NeutronCRUDInterfaces.getINeutronNetworkCRUD(o);\r
53 \r
54         if (answer == null) {\r
55             throw new ServiceUnavailableException("Network CRUD Service "\r
56                     + RestMessages.SERVICEUNAVAILABLE.toString());\r
57         }\r
58 \r
59         return answer;\r
60     }\r
61 \r
62     // return a class that implements the IfNBSubnetCRUD interface\r
63     static INeutronSubnetCRUD getIfNBSubnetCRUD(String containerName, Object o) {\r
64         IContainerManager containerManager = (IContainerManager) ServiceHelper\r
65                 .getGlobalInstance(IContainerManager.class, o);\r
66         if (containerManager == null) {\r
67             throw new ServiceUnavailableException("Container "\r
68                     + RestMessages.SERVICEUNAVAILABLE.toString());\r
69         }\r
70 \r
71         boolean found = false;\r
72         List<String> containerNames = containerManager.getContainerNames();\r
73         for (String cName : containerNames) {\r
74             if (cName.trim().equalsIgnoreCase(containerName.trim())) {\r
75                 found = true;\r
76             }\r
77         }\r
78 \r
79         if (found == false) {\r
80             throw new ResourceNotFoundException(containerName + " "\r
81                     + RestMessages.NOCONTAINER.toString());\r
82         }\r
83 \r
84         INeutronSubnetCRUD answer = (INeutronSubnetCRUD) ServiceHelper.getInstance(\r
85                 INeutronSubnetCRUD.class, containerName, o);\r
86 \r
87         if (answer == null) {\r
88             throw new ServiceUnavailableException("Network CRUD Service "\r
89                     + RestMessages.SERVICEUNAVAILABLE.toString());\r
90         }\r
91 \r
92         return answer;\r
93     }\r
94 \r
95     // return a class that implements the IfNBPortCRUD interface\r
96     static INeutronPortCRUD getIfNBPortCRUD(String containerName, Object o) {\r
97         IContainerManager containerManager = (IContainerManager) ServiceHelper\r
98                 .getGlobalInstance(IContainerManager.class, o);\r
99         if (containerManager == null) {\r
100             throw new ServiceUnavailableException("Container "\r
101                     + RestMessages.SERVICEUNAVAILABLE.toString());\r
102         }\r
103 \r
104         boolean found = false;\r
105         List<String> containerNames = containerManager.getContainerNames();\r
106         for (String cName : containerNames) {\r
107             if (cName.trim().equalsIgnoreCase(containerName.trim())) {\r
108                 found = true;\r
109             }\r
110         }\r
111 \r
112         if (found == false) {\r
113             throw new ResourceNotFoundException(containerName + " "\r
114                     + RestMessages.NOCONTAINER.toString());\r
115         }\r
116 \r
117         INeutronPortCRUD answer = (INeutronPortCRUD) ServiceHelper.getInstance(\r
118                 INeutronPortCRUD.class, containerName, o);\r
119 \r
120         if (answer == null) {\r
121             throw new ServiceUnavailableException("Network CRUD Service "\r
122                     + RestMessages.SERVICEUNAVAILABLE.toString());\r
123         }\r
124 \r
125         return answer;\r
126     }\r
127 \r
128     // return a class that implements the IfNBRouterCRUD interface\r
129     static INeutronRouterCRUD getIfNBRouterCRUD(String containerName, Object o) {\r
130         IContainerManager containerManager = (IContainerManager) ServiceHelper\r
131                 .getGlobalInstance(IContainerManager.class, o);\r
132         if (containerManager == null) {\r
133             throw new ServiceUnavailableException("Container "\r
134                     + RestMessages.SERVICEUNAVAILABLE.toString());\r
135         }\r
136 \r
137         boolean found = false;\r
138         List<String> containerNames = containerManager.getContainerNames();\r
139         for (String cName : containerNames) {\r
140             if (cName.trim().equalsIgnoreCase(containerName.trim())) {\r
141                 found = true;\r
142             }\r
143         }\r
144 \r
145         if (found == false) {\r
146             throw new ResourceNotFoundException(containerName + " "\r
147                     + RestMessages.NOCONTAINER.toString());\r
148         }\r
149 \r
150         INeutronRouterCRUD answer = (INeutronRouterCRUD) ServiceHelper.getInstance(\r
151                 INeutronRouterCRUD.class, containerName, o);\r
152 \r
153         if (answer == null) {\r
154             throw new ServiceUnavailableException("Network CRUD Service "\r
155                     + RestMessages.SERVICEUNAVAILABLE.toString());\r
156         }\r
157 \r
158         return answer;\r
159     }\r
160 \r
161     // return a class that implements the IfNBFloatingIPCRUD interface\r
162     static INeutronFloatingIPCRUD getIfNBFloatingIPCRUD(String containerName, Object o) {\r
163         IContainerManager containerManager = (IContainerManager) ServiceHelper\r
164                 .getGlobalInstance(IContainerManager.class, o);\r
165         if (containerManager == null) {\r
166             throw new ServiceUnavailableException("Container "\r
167                     + RestMessages.SERVICEUNAVAILABLE.toString());\r
168         }\r
169 \r
170         boolean found = false;\r
171         List<String> containerNames = containerManager.getContainerNames();\r
172         for (String cName : containerNames) {\r
173             if (cName.trim().equalsIgnoreCase(containerName.trim())) {\r
174                 found = true;\r
175             }\r
176         }\r
177 \r
178         if (found == false) {\r
179             throw new ResourceNotFoundException(containerName + " "\r
180                     + RestMessages.NOCONTAINER.toString());\r
181         }\r
182 \r
183         INeutronFloatingIPCRUD answer = (INeutronFloatingIPCRUD) ServiceHelper.getInstance(\r
184                 INeutronFloatingIPCRUD.class, containerName, o);\r
185 \r
186         if (answer == null) {\r
187             throw new ServiceUnavailableException("Network CRUD Service "\r
188                     + RestMessages.SERVICEUNAVAILABLE.toString());\r
189         }\r
190 \r
191         return answer;\r
192     }\r
193 }\r