Thomas Vachuska
Committed by Gerrit Code Review

Separating DHCP public facade and the implementation into separate modules.

Change-Id: I6eaa68924ddfb2c2fe7953a5df681bb2cc463b32
Showing 34 changed files with 290 additions and 131 deletions
1 +<?xml version="1.0" encoding="UTF-8"?>
2 +<!--
3 + ~ Copyright 2014 Open Networking Laboratory
4 + ~
5 + ~ Licensed under the Apache License, Version 2.0 (the "License");
6 + ~ you may not use this file except in compliance with the License.
7 + ~ You may obtain a copy of the License at
8 + ~
9 + ~ http://www.apache.org/licenses/LICENSE-2.0
10 + ~
11 + ~ Unless required by applicable law or agreed to in writing, software
12 + ~ distributed under the License is distributed on an "AS IS" BASIS,
13 + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 + ~ See the License for the specific language governing permissions and
15 + ~ limitations under the License.
16 + -->
17 +<project xmlns="http://maven.apache.org/POM/4.0.0"
18 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
19 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
20 + <modelVersion>4.0.0</modelVersion>
21 +
22 + <parent>
23 + <artifactId>onos-dhcp</artifactId>
24 + <groupId>org.onosproject</groupId>
25 + <version>1.4.0-SNAPSHOT</version>
26 + <relativePath>../pom.xml</relativePath>
27 + </parent>
28 +
29 + <artifactId>onos-app-dhcp-api</artifactId>
30 + <packaging>bundle</packaging>
31 +
32 + <url>http://onosproject.org</url>
33 +
34 + <description>DHCP Server application API</description>
35 +
36 + <dependencies>
37 + <dependency>
38 + <groupId>org.onosproject</groupId>
39 + <artifactId>onlab-junit</artifactId>
40 + <scope>test</scope>
41 + </dependency>
42 + <dependency>
43 + <groupId>org.onosproject</groupId>
44 + <artifactId>onos-core-serializers</artifactId>
45 + <version>${project.version}</version>
46 + </dependency>
47 +
48 + <dependency>
49 + <groupId>org.onosproject</groupId>
50 + <artifactId>onos-incubator-api</artifactId>
51 + <version>${project.version}</version>
52 + </dependency>
53 + <dependency>
54 + <groupId>org.onosproject</groupId>
55 + <artifactId>onos-api</artifactId>
56 + <version>${project.version}</version>
57 + <classifier>tests</classifier>
58 + <scope>test</scope>
59 + </dependency>
60 +
61 + </dependencies>
62 +
63 +
64 +</project>
1 +<?xml version="1.0" encoding="UTF-8"?>
2 +<!--
3 + ~ Copyright 2015 Open Networking Laboratory
4 + ~
5 + ~ Licensed under the Apache License, Version 2.0 (the "License");
6 + ~ you may not use this file except in compliance with the License.
7 + ~ You may obtain a copy of the License at
8 + ~
9 + ~ http://www.apache.org/licenses/LICENSE-2.0
10 + ~
11 + ~ Unless required by applicable law or agreed to in writing, software
12 + ~ distributed under the License is distributed on an "AS IS" BASIS,
13 + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 + ~ See the License for the specific language governing permissions and
15 + ~ limitations under the License.
16 + -->
17 +<app name="org.onosproject.dhcp" origin="ON.Lab" version="${project.version}"
18 + featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"
19 + features="${project.artifactId}">
20 + <description>${project.description}</description>
21 + <artifact>mvn:${project.groupId}/${project.artifactId}/${project.version}</artifact>
22 + <artifact>mvn:${project.groupId}/onos-app-dhcp-api/${project.version}</artifact>
23 +</app>
1 +<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2 +<!--
3 + ~ Copyright 2015 Open Networking Laboratory
4 + ~
5 + ~ Licensed under the Apache License, Version 2.0 (the "License");
6 + ~ you may not use this file except in compliance with the License.
7 + ~ You may obtain a copy of the License at
8 + ~
9 + ~ http://www.apache.org/licenses/LICENSE-2.0
10 + ~
11 + ~ Unless required by applicable law or agreed to in writing, software
12 + ~ distributed under the License is distributed on an "AS IS" BASIS,
13 + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 + ~ See the License for the specific language governing permissions and
15 + ~ limitations under the License.
16 + -->
17 +<features xmlns="http://karaf.apache.org/xmlns/features/v1.2.0" name="${project.artifactId}-${project.version}">
18 + <repository>mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features</repository>
19 + <feature name="${project.artifactId}" version="${project.version}"
20 + description="${project.description}">
21 + <feature>onos-api</feature>
22 + <bundle>mvn:${project.groupId}/onos-app-dhcp-api/${project.version}</bundle>
23 + <bundle>mvn:${project.groupId}/onos-app-dhcp/${project.version}</bundle>
24 + </feature>
25 +</features>
1 +<?xml version="1.0" encoding="UTF-8"?>
2 +<!--
3 + ~ Copyright 2014 Open Networking Laboratory
4 + ~
5 + ~ Licensed under the Apache License, Version 2.0 (the "License");
6 + ~ you may not use this file except in compliance with the License.
7 + ~ You may obtain a copy of the License at
8 + ~
9 + ~ http://www.apache.org/licenses/LICENSE-2.0
10 + ~
11 + ~ Unless required by applicable law or agreed to in writing, software
12 + ~ distributed under the License is distributed on an "AS IS" BASIS,
13 + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 + ~ See the License for the specific language governing permissions and
15 + ~ limitations under the License.
16 + --><project xmlns="http://maven.apache.org/POM/4.0.0"
17 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
18 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
19 + <modelVersion>4.0.0</modelVersion>
20 +
21 + <parent>
22 + <artifactId>onos-dhcp</artifactId>
23 + <groupId>org.onosproject</groupId>
24 + <version>1.4.0-SNAPSHOT</version>
25 + <relativePath>../pom.xml</relativePath>
26 + </parent>
27 +
28 + <artifactId>onos-app-dhcp</artifactId>
29 + <packaging>bundle</packaging>
30 +
31 + <url>http://onosproject.org</url>
32 +
33 + <description>DHCP Server application</description>
34 +
35 + <properties>
36 + <onos.app.name>org.onosproject.dhcp</onos.app.name>
37 + <web.context>/onos/dhcp</web.context>
38 + <api.version>1.0.0</api.version>
39 + <api.title>DHCP Server REST API</api.title>
40 + <api.description>
41 + APIs for interacting with the DHCP Server application.
42 + </api.description>
43 + <api.package>org.onosproject.dhcp.rest</api.package>
44 + </properties>
45 +
46 + <dependencies>
47 + <dependency>
48 + <groupId>org.onosproject</groupId>
49 + <artifactId>onos-app-dhcp-api</artifactId>
50 + <version>${project.version}</version>
51 + </dependency>
52 + <dependency>
53 + <groupId>org.osgi</groupId>
54 + <artifactId>org.osgi.compendium</artifactId>
55 + </dependency>
56 +
57 + <dependency>
58 + <groupId>org.onosproject</groupId>
59 + <artifactId>onos-cli</artifactId>
60 + <version>${project.version}</version>
61 + </dependency>
62 +
63 + <dependency>
64 + <groupId>org.apache.karaf.shell</groupId>
65 + <artifactId>org.apache.karaf.shell.console</artifactId>
66 + <scope>compile</scope>
67 + </dependency>
68 +
69 + <dependency>
70 + <groupId>org.onosproject</groupId>
71 + <artifactId>onlab-junit</artifactId>
72 + <scope>test</scope>
73 + </dependency>
74 + <dependency>
75 + <groupId>org.onosproject</groupId>
76 + <artifactId>onos-core-serializers</artifactId>
77 + <version>${project.version}</version>
78 + </dependency>
79 +
80 + <dependency>
81 + <groupId>org.onosproject</groupId>
82 + <artifactId>onos-incubator-api</artifactId>
83 + <version>${project.version}</version>
84 + </dependency>
85 + <dependency>
86 + <groupId>org.onosproject</groupId>
87 + <artifactId>onos-api</artifactId>
88 + <version>${project.version}</version>
89 + <classifier>tests</classifier>
90 + <scope>test</scope>
91 + </dependency>
92 +
93 + <dependency>
94 + <groupId>org.onosproject</groupId>
95 + <artifactId>onos-rest</artifactId>
96 + <version>${project.version}</version>
97 + </dependency>
98 + <dependency>
99 + <groupId>org.onosproject</groupId>
100 + <artifactId>onlab-rest</artifactId>
101 + <version>${project.version}</version>
102 + </dependency>
103 + <dependency>
104 + <groupId>javax.ws.rs</groupId>
105 + <artifactId>jsr311-api</artifactId>
106 + <version>1.1.1</version>
107 + </dependency>
108 + <dependency>
109 + <groupId>com.sun.jersey</groupId>
110 + <artifactId>jersey-servlet</artifactId>
111 + </dependency>
112 + <dependency>
113 + <groupId>com.fasterxml.jackson.core</groupId>
114 + <artifactId>jackson-databind</artifactId>
115 + </dependency>
116 +
117 + <dependency>
118 + <groupId>com.fasterxml.jackson.core</groupId>
119 + <artifactId>jackson-annotations</artifactId>
120 + </dependency>
121 + </dependencies>
122 +
123 + <build>
124 + <plugins>
125 + <plugin>
126 + <groupId>org.apache.felix</groupId>
127 + <artifactId>maven-bundle-plugin</artifactId>
128 + <extensions>true</extensions>
129 + <configuration>
130 + <instructions>
131 + <_wab>src/main/webapp/</_wab>
132 + <Include-Resource>
133 + WEB-INF/classes/apidoc/swagger.json=target/swagger.json,
134 + {maven-resources}
135 + </Include-Resource>
136 + <Bundle-SymbolicName>
137 + ${project.groupId}.${project.artifactId}
138 + </Bundle-SymbolicName>
139 + <Import-Package>
140 + org.slf4j,
141 + org.osgi.framework,
142 + javax.ws.rs,
143 + javax.ws.rs.core,
144 + com.sun.jersey.api.core,
145 + com.sun.jersey.spi.container.servlet,
146 + com.sun.jersey.server.impl.container.servlet,
147 + com.fasterxml.jackson.databind,
148 + com.fasterxml.jackson.databind.node,
149 + com.fasterxml.jackson.core,
150 + org.apache.karaf.shell.commands,
151 + org.apache.karaf.shell.console,
152 + com.google.common.*,
153 + org.onlab.packet.*,
154 + org.onlab.rest.*,
155 + org.onosproject.*,
156 + org.onlab.util.*,
157 + org.jboss.netty.util.*
158 + </Import-Package>
159 + <Web-ContextPath>${web.context}</Web-ContextPath>
160 + </instructions>
161 + </configuration>
162 + </plugin>
163 + </plugins>
164 + </build>
165 +
166 +</project>
...@@ -13,149 +13,30 @@ ...@@ -13,149 +13,30 @@
13 ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 ~ See the License for the specific language governing permissions and 14 ~ See the License for the specific language governing permissions and
15 ~ limitations under the License. 15 ~ limitations under the License.
16 - --><project xmlns="http://maven.apache.org/POM/4.0.0" 16 + -->
17 - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 17 +<project xmlns="http://maven.apache.org/POM/4.0.0"
18 - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 18 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
19 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
19 <modelVersion>4.0.0</modelVersion> 20 <modelVersion>4.0.0</modelVersion>
20 21
21 <parent> 22 <parent>
22 - <artifactId>onos-apps</artifactId>
23 <groupId>org.onosproject</groupId> 23 <groupId>org.onosproject</groupId>
24 + <artifactId>onos-apps</artifactId>
24 <version>1.4.0-SNAPSHOT</version> 25 <version>1.4.0-SNAPSHOT</version>
25 <relativePath>../pom.xml</relativePath> 26 <relativePath>../pom.xml</relativePath>
26 </parent> 27 </parent>
27 28
28 - <artifactId>onos-app-dhcp</artifactId> 29 + <artifactId>onos-dhcp</artifactId>
29 - <packaging>bundle</packaging> 30 + <packaging>pom</packaging>
30 -
31 - <url>http://onosproject.org</url>
32 31
33 - <description>DHCP Server application</description> 32 + <description>ONOS sample applications</description>
34 33
35 - <properties> 34 + <modules>
36 - <onos.app.name>org.onosproject.dhcp</onos.app.name> 35 + <module>api</module>
37 - <web.context>/onos/dhcp</web.context> 36 + <module>app</module>
38 - <api.version>1.0.0</api.version> 37 + </modules>
39 - <api.title>DHCP Server REST API</api.title>
40 - <api.description>
41 - APIs for interacting with the DHCP Server application.
42 - </api.description>
43 - <api.package>org.onosproject.dhcp.rest</api.package>
44 - </properties>
45 38
46 <dependencies> 39 <dependencies>
47 - <dependency>
48 - <groupId>org.osgi</groupId>
49 - <artifactId>org.osgi.compendium</artifactId>
50 - </dependency>
51 -
52 - <dependency>
53 - <groupId>org.onosproject</groupId>
54 - <artifactId>onos-cli</artifactId>
55 - <version>${project.version}</version>
56 - </dependency>
57 -
58 - <dependency>
59 - <groupId>org.apache.karaf.shell</groupId>
60 - <artifactId>org.apache.karaf.shell.console</artifactId>
61 - <scope>compile</scope>
62 - </dependency>
63 -
64 - <dependency>
65 - <groupId>org.onosproject</groupId>
66 - <artifactId>onlab-junit</artifactId>
67 - <scope>test</scope>
68 - </dependency>
69 - <dependency>
70 - <groupId>org.onosproject</groupId>
71 - <artifactId>onos-core-serializers</artifactId>
72 - <version>${project.version}</version>
73 - </dependency>
74 -
75 - <dependency>
76 - <groupId>org.onosproject</groupId>
77 - <artifactId>onos-incubator-api</artifactId>
78 - <version>${project.version}</version>
79 - </dependency>
80 - <dependency>
81 - <groupId>org.onosproject</groupId>
82 - <artifactId>onos-api</artifactId>
83 - <version>${project.version}</version>
84 - <classifier>tests</classifier>
85 - <scope>test</scope>
86 - </dependency>
87 -
88 - <dependency>
89 - <groupId>org.onosproject</groupId>
90 - <artifactId>onos-rest</artifactId>
91 - <version>${project.version}</version>
92 - </dependency>
93 - <dependency>
94 - <groupId>org.onosproject</groupId>
95 - <artifactId>onlab-rest</artifactId>
96 - <version>${project.version}</version>
97 - </dependency>
98 - <dependency>
99 - <groupId>javax.ws.rs</groupId>
100 - <artifactId>jsr311-api</artifactId>
101 - <version>1.1.1</version>
102 - </dependency>
103 - <dependency>
104 - <groupId>com.sun.jersey</groupId>
105 - <artifactId>jersey-servlet</artifactId>
106 - </dependency>
107 - <dependency>
108 - <groupId>com.fasterxml.jackson.core</groupId>
109 - <artifactId>jackson-databind</artifactId>
110 - </dependency>
111 -
112 - <dependency>
113 - <groupId>com.fasterxml.jackson.core</groupId>
114 - <artifactId>jackson-annotations</artifactId>
115 - </dependency>
116 </dependencies> 40 </dependencies>
117 41
118 - <build>
119 - <plugins>
120 - <plugin>
121 - <groupId>org.apache.felix</groupId>
122 - <artifactId>maven-bundle-plugin</artifactId>
123 - <extensions>true</extensions>
124 - <configuration>
125 - <instructions>
126 - <_wab>src/main/webapp/</_wab>
127 - <Include-Resource>
128 - WEB-INF/classes/apidoc/swagger.json=target/swagger.json,
129 - {maven-resources}
130 - </Include-Resource>
131 - <Bundle-SymbolicName>
132 - ${project.groupId}.${project.artifactId}
133 - </Bundle-SymbolicName>
134 - <Import-Package>
135 - org.slf4j,
136 - org.osgi.framework,
137 - javax.ws.rs,
138 - javax.ws.rs.core,
139 - com.sun.jersey.api.core,
140 - com.sun.jersey.spi.container.servlet,
141 - com.sun.jersey.server.impl.container.servlet,
142 - com.fasterxml.jackson.databind,
143 - com.fasterxml.jackson.databind.node,
144 - com.fasterxml.jackson.core,
145 - org.apache.karaf.shell.commands,
146 - org.apache.karaf.shell.console,
147 - com.google.common.*,
148 - org.onlab.packet.*,
149 - org.onlab.rest.*,
150 - org.onosproject.*,
151 - org.onlab.util.*,
152 - org.jboss.netty.util.*
153 - </Import-Package>
154 - <Web-ContextPath>${web.context}</Web-ContextPath>
155 - </instructions>
156 - </configuration>
157 - </plugin>
158 - </plugins>
159 - </build>
160 -
161 </project> 42 </project>
......