Committed by
Gerrit Code Review
[ONOS-3634] Enhance app to have a category, icon, URL and readme
This commmit enhances application to have category, icon, URL and readme. The web GUI and CLI will be implemented in separate commits Change-Id: Ib02716d7118cc617b24f196f2213ea1fe99a34be
Showing
91 changed files
with
586 additions
and
166 deletions
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2015 Open Networking Laboratory | 3 | + ~ Copyright 2015-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -15,9 +15,11 @@ | ... | @@ -15,9 +15,11 @@ |
15 | ~ limitations under the License. | 15 | ~ limitations under the License. |
16 | --> | 16 | --> |
17 | <app name="org.onosproject.aaa" origin="ATT" version="${project.version}" | 17 | <app name="org.onosproject.aaa" origin="ATT" version="${project.version}" |
18 | + category="default" url="http://onosproject.org" | ||
18 | featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features" | 19 | featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features" |
19 | features="${project.artifactId}"> | 20 | features="${project.artifactId}"> |
20 | <description>${project.description}</description> | 21 | <description>${project.description}</description> |
22 | + <readme>ONOS authentication application.</readme> | ||
21 | <artifact>mvn:${project.groupId}/${project.artifactId}/${project.version}</artifact> | 23 | <artifact>mvn:${project.groupId}/${project.artifactId}/${project.version}</artifact> |
22 | <artifact>mvn:${project.groupId}/onos-app-xos-integration/${project.version}</artifact> | 24 | <artifact>mvn:${project.groupId}/onos-app-xos-integration/${project.version}</artifact> |
23 | <bundle>mvn:com.sun.jersey/jersey-client/1.19</bundle> | 25 | <bundle>mvn:com.sun.jersey/jersey-client/1.19</bundle> | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2014 Open Networking Laboratory | 3 | + ~ Copyright 2014-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -19,7 +19,6 @@ | ... | @@ -19,7 +19,6 @@ |
19 | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> | 19 | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> |
20 | <modelVersion>4.0.0</modelVersion> | 20 | <modelVersion>4.0.0</modelVersion> |
21 | 21 | ||
22 | - | ||
23 | <parent> | 22 | <parent> |
24 | <groupId>org.onosproject</groupId> | 23 | <groupId>org.onosproject</groupId> |
25 | <artifactId>onos-apps</artifactId> | 24 | <artifactId>onos-apps</artifactId> |
... | @@ -32,10 +31,6 @@ | ... | @@ -32,10 +31,6 @@ |
32 | 31 | ||
33 | <description>ONOS authentication application</description> | 32 | <description>ONOS authentication application</description> |
34 | 33 | ||
35 | - <properties> | ||
36 | - <onos.app.name>org.onosproject.aaa</onos.app.name> | ||
37 | - </properties> | ||
38 | - | ||
39 | <dependencies> | 34 | <dependencies> |
40 | <dependency> | 35 | <dependency> |
41 | <groupId>org.osgi</groupId> | 36 | <groupId>org.osgi</groupId> | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2015 Open Networking Laboratory | 3 | + ~ Copyright 2015-2016 Open Networking Laboratory |
4 | ~ Originally created by Pengfei Lu, Network and Cloud Computing Laboratory, Dalian University of Technology, China | 4 | ~ Originally created by Pengfei Lu, Network and Cloud Computing Laboratory, Dalian University of Technology, China |
5 | ~ Advisers: Keqiu Li and Heng Qi | 5 | ~ Advisers: Keqiu Li and Heng Qi |
6 | ~ This work is supported by the State Key Program of National Natural Science of China(Grant No. 61432002) | 6 | ~ This work is supported by the State Key Program of National Natural Science of China(Grant No. 61432002) |
... | @@ -40,6 +40,9 @@ | ... | @@ -40,6 +40,9 @@ |
40 | <properties> | 40 | <properties> |
41 | <onos.app.name>org.onosproject.acl</onos.app.name> | 41 | <onos.app.name>org.onosproject.acl</onos.app.name> |
42 | <onos.app.origin>DLUT</onos.app.origin> | 42 | <onos.app.origin>DLUT</onos.app.origin> |
43 | + <onos.app.category>default</onos.app.category> | ||
44 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
45 | + <onos.app.readme>ONOS ACL application.</onos.app.readme> | ||
43 | 46 | ||
44 | <web.context>/onos/v1/acl</web.context> | 47 | <web.context>/onos/v1/acl</web.context> |
45 | <api.version>1.0.0</api.version> | 48 | <api.version>1.0.0</api.version> | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2015 Open Networking Laboratory | 3 | + ~ Copyright 2015-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -15,9 +15,11 @@ | ... | @@ -15,9 +15,11 @@ |
15 | ~ limitations under the License. | 15 | ~ limitations under the License. |
16 | --> | 16 | --> |
17 | <app name="org.onosproject.bgprouter" origin="ON.Lab" version="${project.version}" | 17 | <app name="org.onosproject.bgprouter" origin="ON.Lab" version="${project.version}" |
18 | + category="default" url="http://onosproject.org" | ||
18 | featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features" | 19 | featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features" |
19 | features="${project.artifactId}"> | 20 | features="${project.artifactId}"> |
20 | <description>${project.description}</description> | 21 | <description>${project.description}</description> |
22 | + <readme>BGP router application.</readme> | ||
21 | <artifact>mvn:${project.groupId}/${project.artifactId}/${project.version}</artifact> | 23 | <artifact>mvn:${project.groupId}/${project.artifactId}/${project.version}</artifact> |
22 | <artifact>mvn:${project.groupId}/onos-app-routing-api/${project.version}</artifact> | 24 | <artifact>mvn:${project.groupId}/onos-app-routing-api/${project.version}</artifact> |
23 | <artifact>mvn:${project.groupId}/onos-app-routing/${project.version}</artifact> | 25 | <artifact>mvn:${project.groupId}/onos-app-routing/${project.version}</artifact> | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2015 Open Networking Laboratory | 3 | + ~ Copyright 2015-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2014 Open Networking Laboratory | 3 | + ~ Copyright 2014-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -33,6 +33,9 @@ | ... | @@ -33,6 +33,9 @@ |
33 | 33 | ||
34 | <properties> | 34 | <properties> |
35 | <onos.app.name>org.onosproject.cip</onos.app.name> | 35 | <onos.app.name>org.onosproject.cip</onos.app.name> |
36 | + <onos.app.category>default</onos.app.category> | ||
37 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
38 | + <onos.app.readme>Cluster IP alias application.</onos.app.readme> | ||
36 | </properties> | 39 | </properties> |
37 | 40 | ||
38 | <dependencies> | 41 | <dependencies> | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2015 Open Networking Laboratory | 3 | + ~ Copyright 2015-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -32,6 +32,9 @@ | ... | @@ -32,6 +32,9 @@ |
32 | 32 | ||
33 | <properties> | 33 | <properties> |
34 | <onos.app.name>org.onosproject.cordfabric</onos.app.name> | 34 | <onos.app.name>org.onosproject.cordfabric</onos.app.name> |
35 | + <onos.app.category>default</onos.app.category> | ||
36 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
37 | + <onos.app.readme>Simple fabric application for CORD.</onos.app.readme> | ||
35 | <web.context>/onos/cordfabric</web.context> | 38 | <web.context>/onos/cordfabric</web.context> |
36 | <api.version>1.0.0</api.version> | 39 | <api.version>1.0.0</api.version> |
37 | <api.title>ONOS CORD Fabric REST API</api.title> | 40 | <api.title>ONOS CORD Fabric REST API</api.title> | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2014 Open Networking Laboratory | 3 | + ~ Copyright 2014-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -33,6 +33,9 @@ | ... | @@ -33,6 +33,9 @@ |
33 | 33 | ||
34 | <properties> | 34 | <properties> |
35 | <onos.app.name>org.onosproject.cordvtn</onos.app.name> | 35 | <onos.app.name>org.onosproject.cordvtn</onos.app.name> |
36 | + <onos.app.category>default</onos.app.category> | ||
37 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
38 | + <onos.app.readme>Virtual tenant network service for CORD.</onos.app.readme> | ||
36 | <web.context>/onos/cordvtn</web.context> | 39 | <web.context>/onos/cordvtn</web.context> |
37 | <api.version>1.0.0</api.version> | 40 | <api.version>1.0.0</api.version> |
38 | <api.title>CORD VTN REST API</api.title> | 41 | <api.title>CORD VTN REST API</api.title> | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2014 Open Networking Laboratory | 3 | + ~ Copyright 2014-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -14,7 +14,8 @@ | ... | @@ -14,7 +14,8 @@ |
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 | --> | 16 | --> |
17 | -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | 17 | +<project xmlns="http://maven.apache.org/POM/4.0.0" |
18 | + 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 | 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 | <modelVersion>4.0.0</modelVersion> |
20 | <parent> | 21 | <parent> |
... | @@ -29,6 +30,14 @@ | ... | @@ -29,6 +30,14 @@ |
29 | 30 | ||
30 | <description>Control Plane Management Application</description> | 31 | <description>Control Plane Management Application</description> |
31 | 32 | ||
33 | + <properties> | ||
34 | + <onos.app.name>org.onosproject.cpman</onos.app.name> | ||
35 | + <onos.app.category>default</onos.app.category> | ||
36 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
37 | + <onos.app.readme>Control plane management application. | ||
38 | + </onos.app.readme> | ||
39 | + </properties> | ||
40 | + | ||
32 | <dependencies> | 41 | <dependencies> |
33 | <dependency> | 42 | <dependency> |
34 | <groupId>org.onosproject</groupId> | 43 | <groupId>org.onosproject</groupId> | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2014 Open Networking Laboratory | 3 | + ~ Copyright 2014-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2015 Open Networking Laboratory | 3 | + ~ Copyright 2015-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -15,9 +15,11 @@ | ... | @@ -15,9 +15,11 @@ |
15 | ~ limitations under the License. | 15 | ~ limitations under the License. |
16 | --> | 16 | --> |
17 | <app name="org.onosproject.dhcp" origin="ON.Lab" version="${project.version}" | 17 | <app name="org.onosproject.dhcp" origin="ON.Lab" version="${project.version}" |
18 | + category="default" url="http://onosproject.org" | ||
18 | featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features" | 19 | featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features" |
19 | features="${project.artifactId}"> | 20 | features="${project.artifactId}"> |
20 | <description>${project.description}</description> | 21 | <description>${project.description}</description> |
22 | + <readme>DHCP server application.</readme> | ||
21 | <artifact>mvn:${project.groupId}/${project.artifactId}/${project.version}</artifact> | 23 | <artifact>mvn:${project.groupId}/${project.artifactId}/${project.version}</artifact> |
22 | <artifact>mvn:${project.groupId}/onos-app-dhcp-api/${project.version}</artifact> | 24 | <artifact>mvn:${project.groupId}/onos-app-dhcp-api/${project.version}</artifact> |
23 | </app> | 25 | </app> | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2014 Open Networking Laboratory | 3 | + ~ Copyright 2014-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -33,7 +33,6 @@ | ... | @@ -33,7 +33,6 @@ |
33 | <description>DHCP Server application</description> | 33 | <description>DHCP Server application</description> |
34 | 34 | ||
35 | <properties> | 35 | <properties> |
36 | - <onos.app.name>org.onosproject.dhcp</onos.app.name> | ||
37 | <web.context>/onos/dhcp</web.context> | 36 | <web.context>/onos/dhcp</web.context> |
38 | <api.version>1.0.0</api.version> | 37 | <api.version>1.0.0</api.version> |
39 | <api.title>DHCP Server REST API</api.title> | 38 | <api.title>DHCP Server REST API</api.title> | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2014 Open Networking Laboratory | 3 | + ~ Copyright 2014-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2014 Open Networking Laboratory | 3 | + ~ Copyright 2014-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -14,7 +14,9 @@ | ... | @@ -14,7 +14,9 @@ |
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 | --> | 16 | --> |
17 | -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | 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"> | ||
18 | <modelVersion>4.0.0</modelVersion> | 20 | <modelVersion>4.0.0</modelVersion> |
19 | 21 | ||
20 | <parent> | 22 | <parent> |
... | @@ -27,10 +29,13 @@ | ... | @@ -27,10 +29,13 @@ |
27 | <artifactId>onos-app-drivermatrix</artifactId> | 29 | <artifactId>onos-app-drivermatrix</artifactId> |
28 | <packaging>bundle</packaging> | 30 | <packaging>bundle</packaging> |
29 | 31 | ||
30 | - <description>Driver behaviour support matric</description> | 32 | + <description>Driver behaviour support matrix</description> |
31 | 33 | ||
32 | <properties> | 34 | <properties> |
33 | <onos.app.name>org.onosproject.drivermatrix</onos.app.name> | 35 | <onos.app.name>org.onosproject.drivermatrix</onos.app.name> |
36 | + <onos.app.category>default</onos.app.category> | ||
37 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
38 | + <onos.app.readme>Driver behavior support matrix.</onos.app.readme> | ||
34 | </properties> | 39 | </properties> |
35 | 40 | ||
36 | </project> | 41 | </project> | ... | ... |
... | @@ -34,6 +34,10 @@ | ... | @@ -34,6 +34,10 @@ |
34 | <properties> | 34 | <properties> |
35 | <onos.version>1.5.0-SNAPSHOT</onos.version> | 35 | <onos.version>1.5.0-SNAPSHOT</onos.version> |
36 | <onos.app.name>org.onosproject.events</onos.app.name> | 36 | <onos.app.name>org.onosproject.events</onos.app.name> |
37 | + <onos.app.category>default</onos.app.category> | ||
38 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
39 | + <onos.app.readme>ONOS event history display application. | ||
40 | + </onos.app.readme> | ||
37 | </properties> | 41 | </properties> |
38 | 42 | ||
39 | <dependencies> | 43 | <dependencies> | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2015 Open Networking Laboratory | 3 | + ~ Copyright 2015-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -15,10 +15,11 @@ | ... | @@ -15,10 +15,11 @@ |
15 | ~ limitations under the License. | 15 | ~ limitations under the License. |
16 | --> | 16 | --> |
17 | <app name="org.onosproject.faultmanagement" origin="BTI Systems" version="${project.version}" | 17 | <app name="org.onosproject.faultmanagement" origin="BTI Systems" version="${project.version}" |
18 | + category="default" url="http://onosproject.org" | ||
18 | featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features" | 19 | featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features" |
19 | features="${project.artifactId}"> | 20 | features="${project.artifactId}"> |
20 | <description>${project.description}</description> | 21 | <description>${project.description}</description> |
21 | - | 22 | + <readme>ONOS fault management application.</readme> |
22 | <artifact>mvn:${project.groupId}/onos-app-fm-mgr/${project.version}</artifact> | 23 | <artifact>mvn:${project.groupId}/onos-app-fm-mgr/${project.version}</artifact> |
23 | <artifact>mvn:${project.groupId}/onos-app-fm-web/${project.version}</artifact> | 24 | <artifact>mvn:${project.groupId}/onos-app-fm-web/${project.version}</artifact> |
24 | <artifact>mvn:${project.groupId}/onos-app-fm-gui/${project.version}</artifact> | 25 | <artifact>mvn:${project.groupId}/onos-app-fm-gui/${project.version}</artifact> | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | -~ Copyright 2015 Open Networking Laboratory | 3 | +~ Copyright 2015-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2014 Open Networking Laboratory | 3 | + ~ Copyright 2014-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -33,6 +33,9 @@ | ... | @@ -33,6 +33,9 @@ |
33 | 33 | ||
34 | <properties> | 34 | <properties> |
35 | <onos.app.name>org.onosproject.flowanalyzer</onos.app.name> | 35 | <onos.app.name>org.onosproject.flowanalyzer</onos.app.name> |
36 | + <onos.app.category>default</onos.app.category> | ||
37 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
38 | + <onos.app.readme>Simple flow space analyzer.</onos.app.readme> | ||
36 | </properties> | 39 | </properties> |
37 | 40 | ||
38 | <dependencies> | 41 | <dependencies> | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2014 Open Networking Laboratory | 3 | + ~ Copyright 2014-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -33,6 +33,9 @@ | ... | @@ -33,6 +33,9 @@ |
33 | 33 | ||
34 | <properties> | 34 | <properties> |
35 | <onos.app.name>org.onosproject.fwd</onos.app.name> | 35 | <onos.app.name>org.onosproject.fwd</onos.app.name> |
36 | + <onos.app.category>default</onos.app.category> | ||
37 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
38 | + <onos.app.readme>Reactive forwarding application using flow subsystem.</onos.app.readme> | ||
36 | </properties> | 39 | </properties> |
37 | 40 | ||
38 | <dependencies> | 41 | <dependencies> | ... | ... |
apps/icon.png
0 → 100644
23.3 KB
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2014 Open Networking Laboratory | 3 | + ~ Copyright 2014-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -33,6 +33,9 @@ | ... | @@ -33,6 +33,9 @@ |
33 | 33 | ||
34 | <properties> | 34 | <properties> |
35 | <onos.app.name>org.onosproject.igmp</onos.app.name> | 35 | <onos.app.name>org.onosproject.igmp</onos.app.name> |
36 | + <onos.app.category>default</onos.app.category> | ||
37 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
38 | + <onos.app.readme>IGMP implementation.</onos.app.readme> | ||
36 | </properties> | 39 | </properties> |
37 | 40 | ||
38 | <dependencies> | 41 | <dependencies> | ... | ... |
1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
1 | <!-- | 2 | <!-- |
2 | - ~ Copyright 2015 Open Networking Laboratory | 3 | + ~ Copyright 2015-2016 Open Networking Laboratory |
3 | ~ | 4 | ~ |
4 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
5 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -26,4 +27,11 @@ | ... | @@ -26,4 +27,11 @@ |
26 | <packaging>bundle</packaging> | 27 | <packaging>bundle</packaging> |
27 | 28 | ||
28 | <description>IP Layer Topology API</description> | 29 | <description>IP Layer Topology API</description> |
30 | + | ||
31 | + <properties> | ||
32 | + <onos.app.name>org.onosproject.iptopology-api</onos.app.name> | ||
33 | + <onos.app.category>default</onos.app.category> | ||
34 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
35 | + <onos.app.readme>IP layer topology API.</onos.app.readme> | ||
36 | + </properties> | ||
29 | </project> | 37 | </project> | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2014 Open Networking Laboratory | 3 | + ~ Copyright 2014-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -33,6 +33,10 @@ | ... | @@ -33,6 +33,10 @@ |
33 | 33 | ||
34 | <properties> | 34 | <properties> |
35 | <onos.app.name>org.onosproject.metrics</onos.app.name> | 35 | <onos.app.name>org.onosproject.metrics</onos.app.name> |
36 | + <onos.app.category>default</onos.app.category> | ||
37 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
38 | + <onos.app.readme>Performance metrics collection application. | ||
39 | + </onos.app.readme> | ||
36 | </properties> | 40 | </properties> |
37 | 41 | ||
38 | <dependencies> | 42 | <dependencies> | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2014 Open Networking Laboratory | 3 | + ~ Copyright 2014-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -33,6 +33,10 @@ | ... | @@ -33,6 +33,10 @@ |
33 | 33 | ||
34 | <properties> | 34 | <properties> |
35 | <onos.app.name>org.onosproject.mfwd</onos.app.name> | 35 | <onos.app.name>org.onosproject.mfwd</onos.app.name> |
36 | + <onos.app.category>default</onos.app.category> | ||
37 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
38 | + <onos.app.readme>Multicast forwarding application. | ||
39 | + </onos.app.readme> | ||
36 | </properties> | 40 | </properties> |
37 | 41 | ||
38 | <dependencies> | 42 | <dependencies> | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2015 Open Networking Laboratory | 3 | + ~ Copyright 2015-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -33,6 +33,10 @@ | ... | @@ -33,6 +33,10 @@ |
33 | 33 | ||
34 | <properties> | 34 | <properties> |
35 | <onos.app.name>org.onosproject.mlb</onos.app.name> | 35 | <onos.app.name>org.onosproject.mlb</onos.app.name> |
36 | + <onos.app.category>default</onos.app.category> | ||
37 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
38 | + <onos.app.readme>Application that balances mastership among nodes. | ||
39 | + </onos.app.readme> | ||
36 | </properties> | 40 | </properties> |
37 | 41 | ||
38 | <dependencies> | 42 | <dependencies> | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2014 Open Networking Laboratory | 3 | + ~ Copyright 2014-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -33,6 +33,10 @@ | ... | @@ -33,6 +33,10 @@ |
33 | 33 | ||
34 | <properties> | 34 | <properties> |
35 | <onos.app.name>org.onosproject.mobility</onos.app.name> | 35 | <onos.app.name>org.onosproject.mobility</onos.app.name> |
36 | + <onos.app.category>default</onos.app.category> | ||
37 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
38 | + <onos.app.readme>Host mobility application. | ||
39 | + </onos.app.readme> | ||
36 | </properties> | 40 | </properties> |
37 | 41 | ||
38 | <dependencies> | 42 | <dependencies> | ... | ... |
... | @@ -15,9 +15,11 @@ | ... | @@ -15,9 +15,11 @@ |
15 | ~ limitations under the License. | 15 | ~ limitations under the License. |
16 | --> | 16 | --> |
17 | <app name="org.onosproject.olt" origin="ON.Lab" version="${project.version}" | 17 | <app name="org.onosproject.olt" origin="ON.Lab" version="${project.version}" |
18 | + category="default" url="http://onosproject.org" | ||
18 | featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features" | 19 | featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features" |
19 | features="${project.artifactId}"> | 20 | features="${project.artifactId}"> |
20 | <description>${project.description}</description> | 21 | <description>${project.description}</description> |
22 | + <readme>OLT application for CORD.</readme> | ||
21 | <artifact>mvn:${project.groupId}/${project.artifactId}/${project.version}</artifact> | 23 | <artifact>mvn:${project.groupId}/${project.artifactId}/${project.version}</artifact> |
22 | <artifact>mvn:${project.groupId}/onos-app-olt-api/${project.version}</artifact> | 24 | <artifact>mvn:${project.groupId}/onos-app-olt-api/${project.version}</artifact> |
23 | </app> | 25 | </app> | ... | ... |
... | @@ -31,7 +31,6 @@ | ... | @@ -31,7 +31,6 @@ |
31 | <description>OLT application for CORD</description> | 31 | <description>OLT application for CORD</description> |
32 | 32 | ||
33 | <properties> | 33 | <properties> |
34 | - <onos.app.name>org.onosproject.olt</onos.app.name> | ||
35 | <web.context>/onos/olt</web.context> | 34 | <web.context>/onos/olt</web.context> |
36 | <api.version>1.0.0</api.version> | 35 | <api.version>1.0.0</api.version> |
37 | <api.title>ONOS OLT REST API</api.title> | 36 | <api.title>ONOS OLT REST API</api.title> | ... | ... |
... | @@ -15,9 +15,11 @@ | ... | @@ -15,9 +15,11 @@ |
15 | ~ limitations under the License. | 15 | ~ limitations under the License. |
16 | --> | 16 | --> |
17 | <app name="org.onosproject.openstackswitching" origin="ON.Lab" version="${project.version}" | 17 | <app name="org.onosproject.openstackswitching" origin="ON.Lab" version="${project.version}" |
18 | + category="default" url="http://onosproject.org" | ||
18 | featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features" | 19 | featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features" |
19 | features="${project.artifactId}"> | 20 | features="${project.artifactId}"> |
20 | <description>${project.description}</description> | 21 | <description>${project.description}</description> |
22 | + <readme>SONA Openstack Switching application.</readme> | ||
21 | <artifact>mvn:${project.groupId}/onos-app-openstackswitching/${project.version}</artifact> | 23 | <artifact>mvn:${project.groupId}/onos-app-openstackswitching/${project.version}</artifact> |
22 | <artifact>mvn:${project.groupId}/onos-app-dhcp-api/${project.version}</artifact> | 24 | <artifact>mvn:${project.groupId}/onos-app-dhcp-api/${project.version}</artifact> |
23 | <artifact>mvn:${project.groupId}/onos-app-dhcp/${project.version}</artifact> | 25 | <artifact>mvn:${project.groupId}/onos-app-dhcp/${project.version}</artifact> | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2015 Open Networking Laboratory | 3 | + ~ Copyright 2015-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -31,7 +31,6 @@ | ... | @@ -31,7 +31,6 @@ |
31 | 31 | ||
32 | <description>SONA Openstack Switching applications</description> | 32 | <description>SONA Openstack Switching applications</description> |
33 | <properties> | 33 | <properties> |
34 | - <onos.app.name>org.onosproject.openstackswitching</onos.app.name> | ||
35 | <web.context>/onos/openstackswitching</web.context> | 34 | <web.context>/onos/openstackswitching</web.context> |
36 | <api.version>1.0.0</api.version> | 35 | <api.version>1.0.0</api.version> |
37 | <api.title>ONOS OpenStack Switching REST API</api.title> | 36 | <api.title>ONOS OpenStack Switching REST API</api.title> | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2014 Open Networking Laboratory | 3 | + ~ Copyright 2014-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -33,6 +33,10 @@ | ... | @@ -33,6 +33,10 @@ |
33 | 33 | ||
34 | <properties> | 34 | <properties> |
35 | <onos.app.name>org.onosproject.optical</onos.app.name> | 35 | <onos.app.name>org.onosproject.optical</onos.app.name> |
36 | + <onos.app.category>default</onos.app.category> | ||
37 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
38 | + <onos.app.readme>Packet/Optical use-case application. | ||
39 | + </onos.app.readme> | ||
36 | </properties> | 40 | </properties> |
37 | 41 | ||
38 | <dependencies> | 42 | <dependencies> | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2014 Open Networking Laboratory | 3 | + ~ Copyright 2015-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -33,6 +33,9 @@ | ... | @@ -33,6 +33,9 @@ |
33 | 33 | ||
34 | <properties> | 34 | <properties> |
35 | <onos.app.name>org.onosproject.pathpainter</onos.app.name> | 35 | <onos.app.name>org.onosproject.pathpainter</onos.app.name> |
36 | + <onos.app.category>default</onos.app.category> | ||
37 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
38 | + <onos.app.readme>Path visualization application.</onos.app.readme> | ||
36 | </properties> | 39 | </properties> |
37 | 40 | ||
38 | </project> | 41 | </project> | ... | ... |
1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
1 | <!-- | 2 | <!-- |
2 | - ~ Copyright 2015 Open Networking Laboratory | 3 | + ~ Copyright 2015-2016 Open Networking Laboratory |
3 | ~ | 4 | ~ |
4 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
5 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -26,4 +27,11 @@ | ... | @@ -26,4 +27,11 @@ |
26 | <packaging>bundle</packaging> | 27 | <packaging>bundle</packaging> |
27 | 28 | ||
28 | <description>PCEP protocol API</description> | 29 | <description>PCEP protocol API</description> |
30 | + | ||
31 | + <properties> | ||
32 | + <onos.app.name>org.onosproject.pcep-api</onos.app.name> | ||
33 | + <onos.app.category>default</onos.app.category> | ||
34 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
35 | + <onos.app.readme>PCEP protocol API.</onos.app.readme> | ||
36 | + </properties> | ||
29 | </project> | 37 | </project> |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2015 Open Networking Laboratory | 3 | + ~ Copyright 2015-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -33,6 +33,9 @@ | ... | @@ -33,6 +33,9 @@ |
33 | 33 | ||
34 | <properties> | 34 | <properties> |
35 | <onos.app.name>org.onosproject.pim</onos.app.name> | 35 | <onos.app.name>org.onosproject.pim</onos.app.name> |
36 | + <onos.app.category>default</onos.app.category> | ||
37 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
38 | + <onos.app.readme>Protocol independent multicast emulation.</onos.app.readme> | ||
36 | </properties> | 39 | </properties> |
37 | 40 | ||
38 | <dependencies> | 41 | <dependencies> | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2014 Open Networking Laboratory | 3 | + ~ Copyright 2014-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -33,6 +33,9 @@ | ... | @@ -33,6 +33,9 @@ |
33 | 33 | ||
34 | <properties> | 34 | <properties> |
35 | <onos.app.name>org.onosproject.proxyarp</onos.app.name> | 35 | <onos.app.name>org.onosproject.proxyarp</onos.app.name> |
36 | + <onos.app.category>default</onos.app.category> | ||
37 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
38 | + <onos.app.readme>Proxy ARP/NDP application.</onos.app.readme> | ||
36 | </properties> | 39 | </properties> |
37 | 40 | ||
38 | <dependencies> | 41 | <dependencies> | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2015 Open Networking Laboratory | 3 | + ~ Copyright 2015-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -33,6 +33,9 @@ | ... | @@ -33,6 +33,9 @@ |
33 | 33 | ||
34 | <properties> | 34 | <properties> |
35 | <onos.app.name>org.onosproject.reactive.routing</onos.app.name> | 35 | <onos.app.name>org.onosproject.reactive.routing</onos.app.name> |
36 | + <onos.app.category>default</onos.app.category> | ||
37 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
38 | + <onos.app.readme>SDN-IP reactive routing application.</onos.app.readme> | ||
36 | </properties> | 39 | </properties> |
37 | 40 | ||
38 | <dependencies> | 41 | <dependencies> | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2015 Open Networking Laboratory | 3 | + ~ Copyright 2015-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -30,6 +30,13 @@ | ... | @@ -30,6 +30,13 @@ |
30 | <packaging>bundle</packaging> | 30 | <packaging>bundle</packaging> |
31 | <description>API for routing applications</description> | 31 | <description>API for routing applications</description> |
32 | 32 | ||
33 | + <properties> | ||
34 | + <onos.app.name>org.onosproject.routing-api</onos.app.name> | ||
35 | + <onos.app.category>default</onos.app.category> | ||
36 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
37 | + <onos.app.readme>API for routing applications.</onos.app.readme> | ||
38 | + </properties> | ||
39 | + | ||
33 | <dependencies> | 40 | <dependencies> |
34 | <dependency> | 41 | <dependency> |
35 | <groupId>org.onosproject</groupId> | 42 | <groupId>org.onosproject</groupId> | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2015 Open Networking Laboratory | 3 | + ~ Copyright 2015-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -30,6 +30,13 @@ | ... | @@ -30,6 +30,13 @@ |
30 | <packaging>bundle</packaging> | 30 | <packaging>bundle</packaging> |
31 | <description>Libraries for routing applications</description> | 31 | <description>Libraries for routing applications</description> |
32 | 32 | ||
33 | + <properties> | ||
34 | + <onos.app.name>org.onosproject.routing</onos.app.name> | ||
35 | + <onos.app.category>default</onos.app.category> | ||
36 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
37 | + <onos.app.readme>SDN-IP reactive routing application.</onos.app.readme> | ||
38 | + </properties> | ||
39 | + | ||
33 | <dependencies> | 40 | <dependencies> |
34 | <dependency> | 41 | <dependency> |
35 | <groupId>org.onosproject</groupId> | 42 | <groupId>org.onosproject</groupId> | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2015 Open Networking Laboratory | 3 | + ~ Copyright 2015-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -15,9 +15,11 @@ | ... | @@ -15,9 +15,11 @@ |
15 | ~ limitations under the License. | 15 | ~ limitations under the License. |
16 | --> | 16 | --> |
17 | <app name="org.onosproject.sdnip" origin="ON.Lab" version="${project.version}" | 17 | <app name="org.onosproject.sdnip" origin="ON.Lab" version="${project.version}" |
18 | + category="default" url="http://onosproject.org" | ||
18 | featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features" | 19 | featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features" |
19 | features="${project.artifactId}"> | 20 | features="${project.artifactId}"> |
20 | <description>${project.description}</description> | 21 | <description>${project.description}</description> |
22 | + <readme>SDN-IP peering application.</readme> | ||
21 | <artifact>mvn:${project.groupId}/${project.artifactId}/${project.version}</artifact> | 23 | <artifact>mvn:${project.groupId}/${project.artifactId}/${project.version}</artifact> |
22 | <artifact>mvn:${project.groupId}/onos-app-routing-api/${project.version}</artifact> | 24 | <artifact>mvn:${project.groupId}/onos-app-routing-api/${project.version}</artifact> |
23 | <artifact>mvn:${project.groupId}/onos-app-routing/${project.version}</artifact> | 25 | <artifact>mvn:${project.groupId}/onos-app-routing/${project.version}</artifact> | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2014 Open Networking Laboratory | 3 | + ~ Copyright 2014-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2014 Open Networking Laboratory | 3 | + ~ Copyright 2014-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -32,6 +32,9 @@ | ... | @@ -32,6 +32,9 @@ |
32 | 32 | ||
33 | <properties> | 33 | <properties> |
34 | <onos.app.name>org.onosproject.segmentrouting</onos.app.name> | 34 | <onos.app.name>org.onosproject.segmentrouting</onos.app.name> |
35 | + <onos.app.category>default</onos.app.category> | ||
36 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
37 | + <onos.app.readme>Segment routing application.</onos.app.readme> | ||
35 | <web.context>/onos/segmentrouting</web.context> | 38 | <web.context>/onos/segmentrouting</web.context> |
36 | <api.version>1.0.0</api.version> | 39 | <api.version>1.0.0</api.version> |
37 | <api.title>ONOS Segment Routing REST API</api.title> | 40 | <api.title>ONOS Segment Routing REST API</api.title> | ... | ... |
... | @@ -33,6 +33,9 @@ | ... | @@ -33,6 +33,9 @@ |
33 | 33 | ||
34 | <properties> | 34 | <properties> |
35 | <onos.app.name>org.onosproject.demo</onos.app.name> | 35 | <onos.app.name>org.onosproject.demo</onos.app.name> |
36 | + <onos.app.category>test</onos.app.category> | ||
37 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
38 | + <onos.app.readme>Flow throughput test application.</onos.app.readme> | ||
36 | <web.context>/onos/demo</web.context> | 39 | <web.context>/onos/demo</web.context> |
37 | <api.title>ONOS Flow Throughput Test App API</api.title> | 40 | <api.title>ONOS Flow Throughput Test App API</api.title> |
38 | <api.description> | 41 | <api.description> | ... | ... |
... | @@ -34,6 +34,9 @@ | ... | @@ -34,6 +34,9 @@ |
34 | 34 | ||
35 | <properties> | 35 | <properties> |
36 | <onos.app.name>org.onosproject.distributedprimitives</onos.app.name> | 36 | <onos.app.name>org.onosproject.distributedprimitives</onos.app.name> |
37 | + <onos.app.category>test</onos.app.category> | ||
38 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
39 | + <onos.app.readme>ONOS app to test distributed primitives.</onos.app.readme> | ||
37 | </properties> | 40 | </properties> |
38 | 41 | ||
39 | <dependencies> | 42 | <dependencies> | ... | ... |
... | @@ -34,6 +34,9 @@ | ... | @@ -34,6 +34,9 @@ |
34 | 34 | ||
35 | <properties> | 35 | <properties> |
36 | <onos.app.name>org.onosproject.election</onos.app.name> | 36 | <onos.app.name>org.onosproject.election</onos.app.name> |
37 | + <onos.app.category>test</onos.app.category> | ||
38 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
39 | + <onos.app.readme>Master election test application.</onos.app.readme> | ||
37 | </properties> | 40 | </properties> |
38 | 41 | ||
39 | <dependencies> | 42 | <dependencies> | ... | ... |
... | @@ -33,6 +33,9 @@ | ... | @@ -33,6 +33,9 @@ |
33 | 33 | ||
34 | <properties> | 34 | <properties> |
35 | <onos.app.name>org.onosproject.intentperf</onos.app.name> | 35 | <onos.app.name>org.onosproject.intentperf</onos.app.name> |
36 | + <onos.app.category>test</onos.app.category> | ||
37 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
38 | + <onos.app.readme>intent performance test application.</onos.app.readme> | ||
36 | </properties> | 39 | </properties> |
37 | 40 | ||
38 | <dependencies> | 41 | <dependencies> | ... | ... |
... | @@ -33,6 +33,9 @@ | ... | @@ -33,6 +33,9 @@ |
33 | 33 | ||
34 | <properties> | 34 | <properties> |
35 | <onos.app.name>org.onosproject.messagingperf</onos.app.name> | 35 | <onos.app.name>org.onosproject.messagingperf</onos.app.name> |
36 | + <onos.app.category>test</onos.app.category> | ||
37 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
38 | + <onos.app.readme>Messaging performance test application.</onos.app.readme> | ||
36 | </properties> | 39 | </properties> |
37 | 40 | ||
38 | <dependencies> | 41 | <dependencies> | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2015 Open Networking Laboratory | 3 | + ~ Copyright 2015-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -33,6 +33,9 @@ | ... | @@ -33,6 +33,9 @@ |
33 | 33 | ||
34 | <properties> | 34 | <properties> |
35 | <onos.app.name>org.onosproject.virtualbng</onos.app.name> | 35 | <onos.app.name>org.onosproject.virtualbng</onos.app.name> |
36 | + <onos.app.category>default</onos.app.category> | ||
37 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
38 | + <onos.app.readme>Virtual broadband gateway application.</onos.app.readme> | ||
36 | <web.context>/onos/virtualbng</web.context> | 39 | <web.context>/onos/virtualbng</web.context> |
37 | <api.version>1.0.0</api.version> | 40 | <api.version>1.0.0</api.version> |
38 | <api.title>ONOS Virtual BNG Gateway REST API</api.title> | 41 | <api.title>ONOS Virtual BNG Gateway REST API</api.title> | ... | ... |
... | @@ -15,9 +15,11 @@ | ... | @@ -15,9 +15,11 @@ |
15 | ~ limitations under the License. | 15 | ~ limitations under the License. |
16 | --> | 16 | --> |
17 | <app name="org.onosproject.vrouter" origin="ON.Lab" version="${project.version}" | 17 | <app name="org.onosproject.vrouter" origin="ON.Lab" version="${project.version}" |
18 | + category="default" url="http://onosproject.org" | ||
18 | featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features" | 19 | featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features" |
19 | features="${project.artifactId}"> | 20 | features="${project.artifactId}"> |
20 | <description>${project.description}</description> | 21 | <description>${project.description}</description> |
22 | + <readme>Virtual router application.</readme> | ||
21 | <artifact>mvn:${project.groupId}/${project.artifactId}/${project.version}</artifact> | 23 | <artifact>mvn:${project.groupId}/${project.artifactId}/${project.version}</artifact> |
22 | <artifact>mvn:${project.groupId}/onos-app-routing-api/${project.version}</artifact> | 24 | <artifact>mvn:${project.groupId}/onos-app-routing-api/${project.version}</artifact> |
23 | <artifact>mvn:${project.groupId}/onos-app-routing/${project.version}</artifact> | 25 | <artifact>mvn:${project.groupId}/onos-app-routing/${project.version}</artifact> | ... | ... |
... | @@ -34,8 +34,6 @@ | ... | @@ -34,8 +34,6 @@ |
34 | 34 | ||
35 | <properties> | 35 | <properties> |
36 | <onos.version>1.5.0-SNAPSHOT</onos.version> | 36 | <onos.version>1.5.0-SNAPSHOT</onos.version> |
37 | - <onos.app.name>org.onosproject.vrouter</onos.app.name> | ||
38 | - <onos.app.origin>ON.Lab</onos.app.origin> | ||
39 | </properties> | 37 | </properties> |
40 | 38 | ||
41 | <dependencies> | 39 | <dependencies> | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2015 Open Networking Laboratory | 3 | + ~ Copyright 2015-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -15,10 +15,11 @@ | ... | @@ -15,10 +15,11 @@ |
15 | ~ limitations under the License. | 15 | ~ limitations under the License. |
16 | --> | 16 | --> |
17 | <app name="org.onosproject.vtn" origin="ON.Lab" version="${project.version}" | 17 | <app name="org.onosproject.vtn" origin="ON.Lab" version="${project.version}" |
18 | + category="default" url="http://onosproject.org" | ||
18 | featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features" | 19 | featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features" |
19 | features="${project.artifactId}"> | 20 | features="${project.artifactId}"> |
20 | <description>${project.description}</description> | 21 | <description>${project.description}</description> |
21 | - | 22 | + <readme>Virtual tenant network application.</readme> |
22 | <artifact>mvn:${project.groupId}/onos-app-vtn-mgr/${project.version}</artifact> | 23 | <artifact>mvn:${project.groupId}/onos-app-vtn-mgr/${project.version}</artifact> |
23 | <artifact>mvn:${project.groupId}/onos-app-sfc-mgr/${project.version}</artifact> | 24 | <artifact>mvn:${project.groupId}/onos-app-sfc-mgr/${project.version}</artifact> |
24 | <artifact>mvn:${project.groupId}/onos-app-vtn-web/${project.version}</artifact> | 25 | <artifact>mvn:${project.groupId}/onos-app-vtn-web/${project.version}</artifact> | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | -<!-- ~ Copyright 2014 Open Networking Laboratory ~ ~ Licensed under the Apache | 2 | +<!-- |
3 | - License, Version 2.0 (the "License"); ~ you may not use this file except | 3 | + ~ Copyright 2014-2016 Open Networking Laboratory |
4 | - in compliance with the License. ~ You may obtain a copy of the License at | 4 | + ~ |
5 | - ~ ~ http://www.apache.org/licenses/LICENSE-2.0 ~ ~ Unless required by applicable | 5 | + ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | - law or agreed to in writing, software ~ distributed under the License is | 6 | + ~ you may not use this file except in compliance with the License. |
7 | - distributed on an "AS IS" BASIS, ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY | 7 | + ~ You may obtain a copy of the License at |
8 | - KIND, either express or implied. ~ See the License for the specific language | 8 | + ~ |
9 | - governing permissions and ~ limitations under the License. --> | 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 | + --> | ||
10 | <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | 17 | <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
11 | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> | 18 | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> |
12 | <modelVersion>4.0.0</modelVersion> | 19 | <modelVersion>4.0.0</modelVersion> | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2014 Open Networking Laboratory | 3 | + ~ Copyright 2014-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -33,6 +33,9 @@ | ... | @@ -33,6 +33,9 @@ |
33 | 33 | ||
34 | <properties> | 34 | <properties> |
35 | <onos.app.name>org.onosproject.xosintegration</onos.app.name> | 35 | <onos.app.name>org.onosproject.xosintegration</onos.app.name> |
36 | + <onos.app.category>default</onos.app.category> | ||
37 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
38 | + <onos.app.readme>ONOS XOS integration application.</onos.app.readme> | ||
36 | </properties> | 39 | </properties> |
37 | 40 | ||
38 | <dependencies> | 41 | <dependencies> | ... | ... |
... | @@ -44,6 +44,13 @@ public interface ApplicationDescription { | ... | @@ -44,6 +44,13 @@ public interface ApplicationDescription { |
44 | Version version(); | 44 | Version version(); |
45 | 45 | ||
46 | /** | 46 | /** |
47 | + * Returns the name of the application origin, group or company. | ||
48 | + * | ||
49 | + * @return application origin | ||
50 | + */ | ||
51 | + String origin(); | ||
52 | + | ||
53 | + /** | ||
47 | * Returns description of the application. | 54 | * Returns description of the application. |
48 | * | 55 | * |
49 | * @return application description text | 56 | * @return application description text |
... | @@ -51,11 +58,32 @@ public interface ApplicationDescription { | ... | @@ -51,11 +58,32 @@ public interface ApplicationDescription { |
51 | String description(); | 58 | String description(); |
52 | 59 | ||
53 | /** | 60 | /** |
54 | - * Returns the name of the application origin, group or company. | 61 | + * Returns category of the application. |
55 | * | 62 | * |
56 | - * @return application origin | 63 | + * @return application category text |
57 | */ | 64 | */ |
58 | - String origin(); | 65 | + String category(); |
66 | + | ||
67 | + /** | ||
68 | + * Returns url of the application. | ||
69 | + * | ||
70 | + * @return application url | ||
71 | + */ | ||
72 | + String url(); | ||
73 | + | ||
74 | + /** | ||
75 | + * Returns readme of the application. | ||
76 | + * | ||
77 | + * @return application readme | ||
78 | + */ | ||
79 | + String readme(); | ||
80 | + | ||
81 | + /** | ||
82 | + * Returns icon of the application. | ||
83 | + * | ||
84 | + * @return application icon | ||
85 | + */ | ||
86 | + byte[] icon(); | ||
59 | 87 | ||
60 | /** | 88 | /** |
61 | * Returns the role of the application. | 89 | * Returns the role of the application. | ... | ... |
... | @@ -37,6 +37,10 @@ public class DefaultApplicationDescription implements ApplicationDescription { | ... | @@ -37,6 +37,10 @@ public class DefaultApplicationDescription implements ApplicationDescription { |
37 | private final Version version; | 37 | private final Version version; |
38 | private final String description; | 38 | private final String description; |
39 | private final String origin; | 39 | private final String origin; |
40 | + private final String category; | ||
41 | + private final String url; | ||
42 | + private final String readme; | ||
43 | + private final byte[] icon; | ||
40 | private final ApplicationRole role; | 44 | private final ApplicationRole role; |
41 | private final Set<Permission> permissions; | 45 | private final Set<Permission> permissions; |
42 | private final Optional<URI> featuresRepo; | 46 | private final Optional<URI> featuresRepo; |
... | @@ -50,6 +54,10 @@ public class DefaultApplicationDescription implements ApplicationDescription { | ... | @@ -50,6 +54,10 @@ public class DefaultApplicationDescription implements ApplicationDescription { |
50 | * @param version application version | 54 | * @param version application version |
51 | * @param description application description | 55 | * @param description application description |
52 | * @param origin origin company | 56 | * @param origin origin company |
57 | + * @param category application category | ||
58 | + * @param url application URL | ||
59 | + * @param readme application readme | ||
60 | + * @param icon application icon | ||
53 | * @param role application role | 61 | * @param role application role |
54 | * @param permissions requested permissions | 62 | * @param permissions requested permissions |
55 | * @param featuresRepo optional features repo URI | 63 | * @param featuresRepo optional features repo URI |
... | @@ -57,7 +65,8 @@ public class DefaultApplicationDescription implements ApplicationDescription { | ... | @@ -57,7 +65,8 @@ public class DefaultApplicationDescription implements ApplicationDescription { |
57 | * @param requiredApps list of required application names | 65 | * @param requiredApps list of required application names |
58 | */ | 66 | */ |
59 | public DefaultApplicationDescription(String name, Version version, | 67 | public DefaultApplicationDescription(String name, Version version, |
60 | - String description, String origin, | 68 | + String description, String origin, String category, |
69 | + String url, String readme, byte[] icon, | ||
61 | ApplicationRole role, Set<Permission> permissions, | 70 | ApplicationRole role, Set<Permission> permissions, |
62 | URI featuresRepo, List<String> features, | 71 | URI featuresRepo, List<String> features, |
63 | List<String> requiredApps) { | 72 | List<String> requiredApps) { |
... | @@ -65,6 +74,10 @@ public class DefaultApplicationDescription implements ApplicationDescription { | ... | @@ -65,6 +74,10 @@ public class DefaultApplicationDescription implements ApplicationDescription { |
65 | this.version = checkNotNull(version, "Version cannot be null"); | 74 | this.version = checkNotNull(version, "Version cannot be null"); |
66 | this.description = checkNotNull(description, "Description cannot be null"); | 75 | this.description = checkNotNull(description, "Description cannot be null"); |
67 | this.origin = checkNotNull(origin, "Origin cannot be null"); | 76 | this.origin = checkNotNull(origin, "Origin cannot be null"); |
77 | + this.category = checkNotNull(category, "Category cannot be null"); | ||
78 | + this.url = checkNotNull(url, "URL cannot be null"); | ||
79 | + this.readme = readme; | ||
80 | + this.icon = icon; | ||
68 | this.role = checkNotNull(role, "Role cannot be null"); | 81 | this.role = checkNotNull(role, "Role cannot be null"); |
69 | this.permissions = checkNotNull(permissions, "Permissions cannot be null"); | 82 | this.permissions = checkNotNull(permissions, "Permissions cannot be null"); |
70 | this.featuresRepo = Optional.ofNullable(featuresRepo); | 83 | this.featuresRepo = Optional.ofNullable(featuresRepo); |
... | @@ -89,6 +102,26 @@ public class DefaultApplicationDescription implements ApplicationDescription { | ... | @@ -89,6 +102,26 @@ public class DefaultApplicationDescription implements ApplicationDescription { |
89 | } | 102 | } |
90 | 103 | ||
91 | @Override | 104 | @Override |
105 | + public String category() { | ||
106 | + return category; | ||
107 | + } | ||
108 | + | ||
109 | + @Override | ||
110 | + public String url() { | ||
111 | + return url; | ||
112 | + } | ||
113 | + | ||
114 | + @Override | ||
115 | + public String readme() { | ||
116 | + return readme; | ||
117 | + } | ||
118 | + | ||
119 | + @Override | ||
120 | + public byte[] icon() { | ||
121 | + return icon; | ||
122 | + } | ||
123 | + | ||
124 | + @Override | ||
92 | public String origin() { | 125 | public String origin() { |
93 | return origin; | 126 | return origin; |
94 | } | 127 | } |
... | @@ -125,6 +158,9 @@ public class DefaultApplicationDescription implements ApplicationDescription { | ... | @@ -125,6 +158,9 @@ public class DefaultApplicationDescription implements ApplicationDescription { |
125 | .add("version", version) | 158 | .add("version", version) |
126 | .add("description", description) | 159 | .add("description", description) |
127 | .add("origin", origin) | 160 | .add("origin", origin) |
161 | + .add("category", category) | ||
162 | + .add("url", url) | ||
163 | + .add("readme", readme) | ||
128 | .add("role", role) | 164 | .add("role", role) |
129 | .add("permissions", permissions) | 165 | .add("permissions", permissions) |
130 | .add("featuresRepo", featuresRepo) | 166 | .add("featuresRepo", featuresRepo) | ... | ... |
... | @@ -49,6 +49,34 @@ public interface Application { | ... | @@ -49,6 +49,34 @@ public interface Application { |
49 | String description(); | 49 | String description(); |
50 | 50 | ||
51 | /** | 51 | /** |
52 | + * Returns category of the application. | ||
53 | + * | ||
54 | + * @return application category text | ||
55 | + */ | ||
56 | + String category(); | ||
57 | + | ||
58 | + /** | ||
59 | + * Returns url of the application. | ||
60 | + * | ||
61 | + * @return application url | ||
62 | + */ | ||
63 | + String url(); | ||
64 | + | ||
65 | + /** | ||
66 | + * Returns readme of the application. | ||
67 | + * | ||
68 | + * @return application readme | ||
69 | + */ | ||
70 | + String readme(); | ||
71 | + | ||
72 | + /** | ||
73 | + * Returns icon of the application. | ||
74 | + * | ||
75 | + * @return application icon | ||
76 | + */ | ||
77 | + byte[] icon(); | ||
78 | + | ||
79 | + /** | ||
52 | * Returns the name of the application origin, group or company. | 80 | * Returns the name of the application origin, group or company. |
53 | * | 81 | * |
54 | * @return application origin | 82 | * @return application origin | ... | ... |
... | @@ -35,6 +35,10 @@ public class DefaultApplication implements Application { | ... | @@ -35,6 +35,10 @@ public class DefaultApplication implements Application { |
35 | private final ApplicationId appId; | 35 | private final ApplicationId appId; |
36 | private final Version version; | 36 | private final Version version; |
37 | private final String description; | 37 | private final String description; |
38 | + private final String category; | ||
39 | + private final String url; | ||
40 | + private final String readme; | ||
41 | + private final byte[] icon; | ||
38 | private final String origin; | 42 | private final String origin; |
39 | private final ApplicationRole role; | 43 | private final ApplicationRole role; |
40 | private final Set<Permission> permissions; | 44 | private final Set<Permission> permissions; |
... | @@ -49,6 +53,10 @@ public class DefaultApplication implements Application { | ... | @@ -49,6 +53,10 @@ public class DefaultApplication implements Application { |
49 | * @param version application version | 53 | * @param version application version |
50 | * @param description application description | 54 | * @param description application description |
51 | * @param origin origin company | 55 | * @param origin origin company |
56 | + * @param category application category | ||
57 | + * @param url application URL | ||
58 | + * @param readme application readme | ||
59 | + * @param icon application icon | ||
52 | * @param role application role | 60 | * @param role application role |
53 | * @param permissions requested permissions | 61 | * @param permissions requested permissions |
54 | * @param featuresRepo optional features repo URI | 62 | * @param featuresRepo optional features repo URI |
... | @@ -56,7 +64,8 @@ public class DefaultApplication implements Application { | ... | @@ -56,7 +64,8 @@ public class DefaultApplication implements Application { |
56 | * @param requiredApps list of required application names | 64 | * @param requiredApps list of required application names |
57 | */ | 65 | */ |
58 | public DefaultApplication(ApplicationId appId, Version version, | 66 | public DefaultApplication(ApplicationId appId, Version version, |
59 | - String description, String origin, | 67 | + String description, String origin, String category, |
68 | + String url, String readme, byte[] icon, | ||
60 | ApplicationRole role, Set<Permission> permissions, | 69 | ApplicationRole role, Set<Permission> permissions, |
61 | Optional<URI> featuresRepo, List<String> features, | 70 | Optional<URI> featuresRepo, List<String> features, |
62 | List<String> requiredApps) { | 71 | List<String> requiredApps) { |
... | @@ -64,6 +73,10 @@ public class DefaultApplication implements Application { | ... | @@ -64,6 +73,10 @@ public class DefaultApplication implements Application { |
64 | this.version = checkNotNull(version, "Version cannot be null"); | 73 | this.version = checkNotNull(version, "Version cannot be null"); |
65 | this.description = checkNotNull(description, "Description cannot be null"); | 74 | this.description = checkNotNull(description, "Description cannot be null"); |
66 | this.origin = checkNotNull(origin, "Origin cannot be null"); | 75 | this.origin = checkNotNull(origin, "Origin cannot be null"); |
76 | + this.category = checkNotNull(category, "Category cannot be null"); | ||
77 | + this.url = checkNotNull(url, "URL cannot be null"); | ||
78 | + this.readme = readme; | ||
79 | + this.icon = icon; | ||
67 | this.role = checkNotNull(role, "Role cannot be null"); | 80 | this.role = checkNotNull(role, "Role cannot be null"); |
68 | this.permissions = checkNotNull(permissions, "Permissions cannot be null"); | 81 | this.permissions = checkNotNull(permissions, "Permissions cannot be null"); |
69 | this.featuresRepo = checkNotNull(featuresRepo, "Features repo cannot be null"); | 82 | this.featuresRepo = checkNotNull(featuresRepo, "Features repo cannot be null"); |
... | @@ -88,6 +101,26 @@ public class DefaultApplication implements Application { | ... | @@ -88,6 +101,26 @@ public class DefaultApplication implements Application { |
88 | } | 101 | } |
89 | 102 | ||
90 | @Override | 103 | @Override |
104 | + public String category() { | ||
105 | + return category; | ||
106 | + } | ||
107 | + | ||
108 | + @Override | ||
109 | + public String url() { | ||
110 | + return url; | ||
111 | + } | ||
112 | + | ||
113 | + @Override | ||
114 | + public String readme() { | ||
115 | + return readme; | ||
116 | + } | ||
117 | + | ||
118 | + @Override | ||
119 | + public byte[] icon() { | ||
120 | + return icon; | ||
121 | + } | ||
122 | + | ||
123 | + @Override | ||
91 | public String origin() { | 124 | public String origin() { |
92 | return origin; | 125 | return origin; |
93 | } | 126 | } |
... | @@ -119,8 +152,8 @@ public class DefaultApplication implements Application { | ... | @@ -119,8 +152,8 @@ public class DefaultApplication implements Application { |
119 | 152 | ||
120 | @Override | 153 | @Override |
121 | public int hashCode() { | 154 | public int hashCode() { |
122 | - return Objects.hash(appId, version, description, origin, role, permissions, | 155 | + return Objects.hash(appId, version, description, origin, category, url, |
123 | - featuresRepo, features, requiredApps); | 156 | + readme, role, permissions, featuresRepo, features, requiredApps); |
124 | } | 157 | } |
125 | 158 | ||
126 | @Override | 159 | @Override |
... | @@ -136,6 +169,9 @@ public class DefaultApplication implements Application { | ... | @@ -136,6 +169,9 @@ public class DefaultApplication implements Application { |
136 | Objects.equals(this.version, other.version) && | 169 | Objects.equals(this.version, other.version) && |
137 | Objects.equals(this.description, other.description) && | 170 | Objects.equals(this.description, other.description) && |
138 | Objects.equals(this.origin, other.origin) && | 171 | Objects.equals(this.origin, other.origin) && |
172 | + Objects.equals(this.category, other.category) && | ||
173 | + Objects.equals(this.url, other.url) && | ||
174 | + Objects.equals(this.readme, other.readme) && | ||
139 | Objects.equals(this.role, other.role) && | 175 | Objects.equals(this.role, other.role) && |
140 | Objects.equals(this.permissions, other.permissions) && | 176 | Objects.equals(this.permissions, other.permissions) && |
141 | Objects.equals(this.featuresRepo, other.featuresRepo) && | 177 | Objects.equals(this.featuresRepo, other.featuresRepo) && |
... | @@ -150,6 +186,9 @@ public class DefaultApplication implements Application { | ... | @@ -150,6 +186,9 @@ public class DefaultApplication implements Application { |
150 | .add("version", version) | 186 | .add("version", version) |
151 | .add("description", description) | 187 | .add("description", description) |
152 | .add("origin", origin) | 188 | .add("origin", origin) |
189 | + .add("category", category) | ||
190 | + .add("url", url) | ||
191 | + .add("readme", readme) | ||
153 | .add("role", role) | 192 | .add("role", role) |
154 | .add("permissions", permissions) | 193 | .add("permissions", permissions) |
155 | .add("featuresRepo", featuresRepo) | 194 | .add("featuresRepo", featuresRepo) | ... | ... |
... | @@ -32,8 +32,9 @@ import static org.onosproject.core.DefaultApplicationTest.APP_ID; | ... | @@ -32,8 +32,9 @@ import static org.onosproject.core.DefaultApplicationTest.APP_ID; |
32 | public class ApplicationEventTest extends AbstractEventTest { | 32 | public class ApplicationEventTest extends AbstractEventTest { |
33 | 33 | ||
34 | private Application createApp() { | 34 | private Application createApp() { |
35 | - return new DefaultApplication(APP_ID, VER, DESC, ORIGIN, ROLE, | 35 | + return new DefaultApplication(APP_ID, VER, DESC, ORIGIN, CATEGORY, |
36 | - PERMS, Optional.of(FURL), FEATURES, APPS); | 36 | + URL, README, ICON, ROLE, PERMS, |
37 | + Optional.of(FURL), FEATURES, APPS); | ||
37 | } | 38 | } |
38 | 39 | ||
39 | @Test | 40 | @Test | ... | ... |
... | @@ -40,6 +40,10 @@ public class DefaultApplicationDescriptionTest { | ... | @@ -40,6 +40,10 @@ public class DefaultApplicationDescriptionTest { |
40 | public static final Version VER = Version.version(1, 2, "a", null); | 40 | public static final Version VER = Version.version(1, 2, "a", null); |
41 | public static final String DESC = "Awesome application from Circus, Inc."; | 41 | public static final String DESC = "Awesome application from Circus, Inc."; |
42 | public static final String ORIGIN = "Circus"; | 42 | public static final String ORIGIN = "Circus"; |
43 | + public static final String CATEGORY = "other"; | ||
44 | + public static final String URL = "http://www.onosproject.org"; | ||
45 | + public static final String README = "Awesome application from Circus, Inc."; | ||
46 | + public static final byte[] ICON = new byte[] {}; | ||
43 | public static final ApplicationRole ROLE = ApplicationRole.ADMIN; | 47 | public static final ApplicationRole ROLE = ApplicationRole.ADMIN; |
44 | public static final Set<Permission> PERMS = ImmutableSet.of( | 48 | public static final Set<Permission> PERMS = ImmutableSet.of( |
45 | new Permission(AppPermission.class.getName(), "FLOWRULE_WRITE"), | 49 | new Permission(AppPermission.class.getName(), "FLOWRULE_WRITE"), |
... | @@ -52,17 +56,20 @@ public class DefaultApplicationDescriptionTest { | ... | @@ -52,17 +56,20 @@ public class DefaultApplicationDescriptionTest { |
52 | public void basics() { | 56 | public void basics() { |
53 | ApplicationDescription app = | 57 | ApplicationDescription app = |
54 | new DefaultApplicationDescription(APP_NAME, VER, DESC, ORIGIN, | 58 | new DefaultApplicationDescription(APP_NAME, VER, DESC, ORIGIN, |
59 | + CATEGORY, URL, README, ICON, | ||
55 | ROLE, PERMS, FURL, FEATURES, APPS); | 60 | ROLE, PERMS, FURL, FEATURES, APPS); |
56 | assertEquals("incorrect id", APP_NAME, app.name()); | 61 | assertEquals("incorrect id", APP_NAME, app.name()); |
57 | assertEquals("incorrect version", VER, app.version()); | 62 | assertEquals("incorrect version", VER, app.version()); |
58 | assertEquals("incorrect description", DESC, app.description()); | 63 | assertEquals("incorrect description", DESC, app.description()); |
59 | assertEquals("incorrect origin", ORIGIN, app.origin()); | 64 | assertEquals("incorrect origin", ORIGIN, app.origin()); |
60 | - assertEquals("incorect role", ROLE, app.role()); | 65 | + assertEquals("incorrect category", CATEGORY, app.category()); |
66 | + assertEquals("incorrect URL", URL, app.url()); | ||
67 | + assertEquals("incorrect readme", README, app.readme()); | ||
68 | + assertEquals("incorrect role", ROLE, app.role()); | ||
61 | assertEquals("incorrect permissions", PERMS, app.permissions()); | 69 | assertEquals("incorrect permissions", PERMS, app.permissions()); |
62 | assertEquals("incorrect features repo", FURL, app.featuresRepo().get()); | 70 | assertEquals("incorrect features repo", FURL, app.featuresRepo().get()); |
63 | assertEquals("incorrect features", FEATURES, app.features()); | 71 | assertEquals("incorrect features", FEATURES, app.features()); |
64 | assertEquals("incorrect apps", APPS, app.requiredApps()); | 72 | assertEquals("incorrect apps", APPS, app.requiredApps()); |
65 | assertTrue("incorrect toString", app.toString().contains(APP_NAME)); | 73 | assertTrue("incorrect toString", app.toString().contains(APP_NAME)); |
66 | } | 74 | } |
67 | - | ||
68 | } | 75 | } |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
... | @@ -33,12 +33,17 @@ public class DefaultApplicationTest { | ... | @@ -33,12 +33,17 @@ public class DefaultApplicationTest { |
33 | 33 | ||
34 | @Test | 34 | @Test |
35 | public void basics() { | 35 | public void basics() { |
36 | - Application app = new DefaultApplication(APP_ID, VER, DESC, ORIGIN, ROLE, | 36 | + Application app = new DefaultApplication(APP_ID, VER, DESC, ORIGIN, |
37 | + CATEGORY, URL, README, ICON, ROLE, | ||
37 | PERMS, Optional.of(FURL), FEATURES, APPS); | 38 | PERMS, Optional.of(FURL), FEATURES, APPS); |
38 | assertEquals("incorrect id", APP_ID, app.id()); | 39 | assertEquals("incorrect id", APP_ID, app.id()); |
39 | assertEquals("incorrect version", VER, app.version()); | 40 | assertEquals("incorrect version", VER, app.version()); |
40 | assertEquals("incorrect description", DESC, app.description()); | 41 | assertEquals("incorrect description", DESC, app.description()); |
41 | assertEquals("incorrect origin", ORIGIN, app.origin()); | 42 | assertEquals("incorrect origin", ORIGIN, app.origin()); |
43 | + assertEquals("incorrect category", CATEGORY, app.category()); | ||
44 | + assertEquals("incorrect URL", URL, app.url()); | ||
45 | + assertEquals("incorrect readme", README, app.readme()); | ||
46 | + assertEquals("incorrect icon", ICON, app.icon()); | ||
42 | assertEquals("incorrect role", ROLE, app.role()); | 47 | assertEquals("incorrect role", ROLE, app.role()); |
43 | assertEquals("incorrect permissions", PERMS, app.permissions()); | 48 | assertEquals("incorrect permissions", PERMS, app.permissions()); |
44 | assertEquals("incorrect features repo", FURL, app.featuresRepo().get()); | 49 | assertEquals("incorrect features repo", FURL, app.featuresRepo().get()); |
... | @@ -49,16 +54,19 @@ public class DefaultApplicationTest { | ... | @@ -49,16 +54,19 @@ public class DefaultApplicationTest { |
49 | 54 | ||
50 | @Test | 55 | @Test |
51 | public void testEquality() { | 56 | public void testEquality() { |
52 | - Application a1 = new DefaultApplication(APP_ID, VER, DESC, ORIGIN, ROLE, | 57 | + Application a1 = new DefaultApplication(APP_ID, VER, DESC, ORIGIN, |
58 | + CATEGORY, URL, README, ICON, ROLE, | ||
53 | PERMS, Optional.of(FURL), FEATURES, APPS); | 59 | PERMS, Optional.of(FURL), FEATURES, APPS); |
54 | - Application a2 = new DefaultApplication(APP_ID, VER, DESC, ORIGIN, ROLE, | 60 | + Application a2 = new DefaultApplication(APP_ID, VER, DESC, ORIGIN, |
61 | + CATEGORY, URL, README, ICON, ROLE, | ||
55 | PERMS, Optional.of(FURL), FEATURES, APPS); | 62 | PERMS, Optional.of(FURL), FEATURES, APPS); |
56 | - Application a3 = new DefaultApplication(APP_ID, VER, DESC, ORIGIN, ROLE, | 63 | + Application a3 = new DefaultApplication(APP_ID, VER, DESC, ORIGIN, |
64 | + CATEGORY, URL, README, ICON, ROLE, | ||
57 | PERMS, Optional.empty(), FEATURES, APPS); | 65 | PERMS, Optional.empty(), FEATURES, APPS); |
58 | - Application a4 = new DefaultApplication(APP_ID, VER, DESC, ORIGIN + "asd", ROLE, | 66 | + Application a4 = new DefaultApplication(APP_ID, VER, DESC, ORIGIN + "asd", |
67 | + CATEGORY, URL, README, ICON, ROLE, | ||
59 | PERMS, Optional.of(FURL), FEATURES, APPS); | 68 | PERMS, Optional.of(FURL), FEATURES, APPS); |
60 | new EqualsTester().addEqualityGroup(a1, a2) | 69 | new EqualsTester().addEqualityGroup(a1, a2) |
61 | .addEqualityGroup(a3).addEqualityGroup(a4).testEquals(); | 70 | .addEqualityGroup(a3).addEqualityGroup(a4).testEquals(); |
62 | } | 71 | } |
63 | - | ||
64 | } | 72 | } |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
1 | /* | 1 | /* |
2 | - * Copyright 2015 Open Networking Laboratory | 2 | + * Copyright 2015-2016 Open Networking Laboratory |
3 | * | 3 | * |
4 | * Licensed under the Apache License, Version 2.0 (the "License"); | 4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
5 | * you may not use this file except in compliance with the License. | 5 | * you may not use this file except in compliance with the License. |
... | @@ -23,6 +23,7 @@ import com.google.common.io.Files; | ... | @@ -23,6 +23,7 @@ import com.google.common.io.Files; |
23 | import org.apache.commons.configuration.ConfigurationException; | 23 | import org.apache.commons.configuration.ConfigurationException; |
24 | import org.apache.commons.configuration.HierarchicalConfiguration; | 24 | import org.apache.commons.configuration.HierarchicalConfiguration; |
25 | import org.apache.commons.configuration.XMLConfiguration; | 25 | import org.apache.commons.configuration.XMLConfiguration; |
26 | +import org.apache.commons.lang.StringUtils; | ||
26 | import org.onlab.util.Tools; | 27 | import org.onlab.util.Tools; |
27 | import org.onosproject.app.ApplicationDescription; | 28 | import org.onosproject.app.ApplicationDescription; |
28 | import org.onosproject.app.ApplicationEvent; | 29 | import org.onosproject.app.ApplicationEvent; |
... | @@ -37,6 +38,10 @@ import org.onosproject.store.AbstractStore; | ... | @@ -37,6 +38,10 @@ import org.onosproject.store.AbstractStore; |
37 | import org.slf4j.Logger; | 38 | import org.slf4j.Logger; |
38 | import org.slf4j.LoggerFactory; | 39 | import org.slf4j.LoggerFactory; |
39 | 40 | ||
41 | +import javax.imageio.ImageIO; | ||
42 | +import java.awt.image.BufferedImage; | ||
43 | +import java.awt.image.DataBufferByte; | ||
44 | +import java.awt.image.WritableRaster; | ||
40 | import java.io.ByteArrayInputStream; | 45 | import java.io.ByteArrayInputStream; |
41 | import java.io.File; | 46 | import java.io.File; |
42 | import java.io.FileInputStream; | 47 | import java.io.FileInputStream; |
... | @@ -81,6 +86,10 @@ public class ApplicationArchive | ... | @@ -81,6 +86,10 @@ public class ApplicationArchive |
81 | private static final String APPS = "[@apps]"; | 86 | private static final String APPS = "[@apps]"; |
82 | private static final String DESCRIPTION = "description"; | 87 | private static final String DESCRIPTION = "description"; |
83 | 88 | ||
89 | + private static final String CATEGORY = "[@category]"; | ||
90 | + private static final String URL = "[@url]"; | ||
91 | + private static final String README = "readme"; | ||
92 | + | ||
84 | private static final String ROLE = "security.role"; | 93 | private static final String ROLE = "security.role"; |
85 | private static final String APP_PERMISSIONS = "security.permissions.app-perm"; | 94 | private static final String APP_PERMISSIONS = "security.permissions.app-perm"; |
86 | private static final String NET_PERMISSIONS = "security.permissions.net-perm"; | 95 | private static final String NET_PERMISSIONS = "security.permissions.net-perm"; |
... | @@ -88,6 +97,7 @@ public class ApplicationArchive | ... | @@ -88,6 +97,7 @@ public class ApplicationArchive |
88 | 97 | ||
89 | private static final String OAR = ".oar"; | 98 | private static final String OAR = ".oar"; |
90 | private static final String APP_XML = "app.xml"; | 99 | private static final String APP_XML = "app.xml"; |
100 | + private static final String ICON_PNG = "icon.png"; | ||
91 | private static final String M2_PREFIX = "m2"; | 101 | private static final String M2_PREFIX = "m2"; |
92 | 102 | ||
93 | private static final String ROOT = "../"; | 103 | private static final String ROOT = "../"; |
... | @@ -283,8 +293,10 @@ public class ApplicationArchive | ... | @@ -283,8 +293,10 @@ public class ApplicationArchive |
283 | private ApplicationDescription loadAppDescription(XMLConfiguration cfg) { | 293 | private ApplicationDescription loadAppDescription(XMLConfiguration cfg) { |
284 | String name = cfg.getString(NAME); | 294 | String name = cfg.getString(NAME); |
285 | Version version = Version.version(cfg.getString(VERSION)); | 295 | Version version = Version.version(cfg.getString(VERSION)); |
286 | - String desc = cfg.getString(DESCRIPTION); | ||
287 | String origin = cfg.getString(ORIGIN); | 296 | String origin = cfg.getString(ORIGIN); |
297 | + String category = cfg.getString(CATEGORY); | ||
298 | + String url = cfg.getString(URL); | ||
299 | + byte[] icon = getApplicationIcon(name); | ||
288 | ApplicationRole role = getRole(cfg.getString(ROLE)); | 300 | ApplicationRole role = getRole(cfg.getString(ROLE)); |
289 | Set<Permission> perms = getPermissions(cfg); | 301 | Set<Permission> perms = getPermissions(cfg); |
290 | String featRepo = cfg.getString(FEATURES_REPO); | 302 | String featRepo = cfg.getString(FEATURES_REPO); |
... | @@ -295,7 +307,17 @@ public class ApplicationArchive | ... | @@ -295,7 +307,17 @@ public class ApplicationArchive |
295 | List<String> requiredApps = apps.isEmpty() ? | 307 | List<String> requiredApps = apps.isEmpty() ? |
296 | ImmutableList.of() : ImmutableList.copyOf(apps.split(",")); | 308 | ImmutableList.of() : ImmutableList.copyOf(apps.split(",")); |
297 | 309 | ||
298 | - return new DefaultApplicationDescription(name, version, desc, origin, role, | 310 | + String desc = cfg.getString(DESCRIPTION); |
311 | + String readme = cfg.getString(README); | ||
312 | + | ||
313 | + if (readme == null) { | ||
314 | + readme = desc; | ||
315 | + } else { | ||
316 | + desc = compactDescription(readme); | ||
317 | + } | ||
318 | + | ||
319 | + return new DefaultApplicationDescription(name, version, desc, origin, | ||
320 | + category, url, readme, icon, role, | ||
299 | perms, featuresRepo, features, | 321 | perms, featuresRepo, features, |
300 | requiredApps); | 322 | requiredApps); |
301 | } | 323 | } |
... | @@ -387,7 +409,6 @@ public class ApplicationArchive | ... | @@ -387,7 +409,6 @@ public class ApplicationArchive |
387 | return appFile(appName, "active").exists(); | 409 | return appFile(appName, "active").exists(); |
388 | } | 410 | } |
389 | 411 | ||
390 | - | ||
391 | // Returns the name of the file located under the specified app directory. | 412 | // Returns the name of the file located under the specified app directory. |
392 | private File appFile(String appName, String fileName) { | 413 | private File appFile(String appName, String fileName) { |
393 | return new File(new File(appsDir, appName), fileName); | 414 | return new File(new File(appsDir, appName), fileName); |
... | @@ -420,7 +441,33 @@ public class ApplicationArchive | ... | @@ -420,7 +441,33 @@ public class ApplicationArchive |
420 | return ImmutableSet.copyOf(permissionList); | 441 | return ImmutableSet.copyOf(permissionList); |
421 | } | 442 | } |
422 | 443 | ||
423 | - // | 444 | + // Returns the byte stream from icon.png file in oar application archive. |
445 | + private byte[] getApplicationIcon(String appName) { | ||
446 | + // open image | ||
447 | + File iconFile = appFile(appName, ICON_PNG); | ||
448 | + | ||
449 | + if (!iconFile.exists()) { | ||
450 | + iconFile = new File(appsDir, ICON_PNG); | ||
451 | + } | ||
452 | + | ||
453 | + if (!iconFile.exists()) { | ||
454 | + return null; | ||
455 | + } | ||
456 | + | ||
457 | + BufferedImage bufferedImage = null; | ||
458 | + try { | ||
459 | + bufferedImage = ImageIO.read(iconFile); | ||
460 | + } catch (IOException e) { | ||
461 | + e.printStackTrace(); | ||
462 | + } | ||
463 | + | ||
464 | + // get DataBufferBytes from Raster | ||
465 | + WritableRaster raster = bufferedImage .getRaster(); | ||
466 | + DataBufferByte data = (DataBufferByte) raster.getDataBuffer(); | ||
467 | + | ||
468 | + return data.getData(); | ||
469 | + } | ||
470 | + | ||
424 | // Returns application role type | 471 | // Returns application role type |
425 | public ApplicationRole getRole(String value) { | 472 | public ApplicationRole getRole(String value) { |
426 | if (value == null) { | 473 | if (value == null) { |
... | @@ -434,4 +481,16 @@ public class ApplicationArchive | ... | @@ -434,4 +481,16 @@ public class ApplicationArchive |
434 | } | 481 | } |
435 | } | 482 | } |
436 | } | 483 | } |
484 | + | ||
485 | + // Returns the first sentence of the given sentence | ||
486 | + private String compactDescription(String sentence) { | ||
487 | + if (StringUtils.isNotEmpty(sentence)) { | ||
488 | + if (StringUtils.contains(sentence, ".")) { | ||
489 | + return StringUtils.substringBefore(sentence, ".") + "."; | ||
490 | + } else { | ||
491 | + return sentence + "."; | ||
492 | + } | ||
493 | + } | ||
494 | + return sentence; | ||
495 | + } | ||
437 | } | 496 | } | ... | ... |
... | @@ -60,6 +60,10 @@ public class ApplicationArchiveTest { | ... | @@ -60,6 +60,10 @@ public class ApplicationArchiveTest { |
60 | assertEquals("incorrect origin", ORIGIN, app.origin()); | 60 | assertEquals("incorrect origin", ORIGIN, app.origin()); |
61 | assertEquals("incorrect role", ROLE, app.role()); | 61 | assertEquals("incorrect role", ROLE, app.role()); |
62 | 62 | ||
63 | + assertEquals("incorrect category", CATEGORY, app.category()); | ||
64 | + assertEquals("incorrect url", URL, app.url()); | ||
65 | + assertEquals("incorrect readme", README, app.readme()); | ||
66 | + | ||
63 | assertEquals("incorrect description", DESC, app.description()); | 67 | assertEquals("incorrect description", DESC, app.description()); |
64 | assertEquals("incorrect features URI", FURL, app.featuresRepo().get()); | 68 | assertEquals("incorrect features URI", FURL, app.featuresRepo().get()); |
65 | assertEquals("incorrect permissions", PERMS, app.permissions()); | 69 | assertEquals("incorrect permissions", PERMS, app.permissions()); | ... | ... |
... | @@ -74,6 +74,8 @@ public class SimpleApplicationStore extends ApplicationArchive implements Applic | ... | @@ -74,6 +74,8 @@ public class SimpleApplicationStore extends ApplicationArchive implements Applic |
74 | DefaultApplication app = | 74 | DefaultApplication app = |
75 | new DefaultApplication(appId, appDesc.version(), | 75 | new DefaultApplication(appId, appDesc.version(), |
76 | appDesc.description(), appDesc.origin(), | 76 | appDesc.description(), appDesc.origin(), |
77 | + appDesc.category(), appDesc.url(), | ||
78 | + appDesc.readme(), appDesc.icon(), | ||
77 | appDesc.role(), appDesc.permissions(), | 79 | appDesc.role(), appDesc.permissions(), |
78 | appDesc.featuresRepo(), appDesc.features(), | 80 | appDesc.featuresRepo(), appDesc.features(), |
79 | appDesc.requiredApps()); | 81 | appDesc.requiredApps()); |
... | @@ -117,7 +119,9 @@ public class SimpleApplicationStore extends ApplicationArchive implements Applic | ... | @@ -117,7 +119,9 @@ public class SimpleApplicationStore extends ApplicationArchive implements Applic |
117 | ApplicationId appId = idStore.registerApplication(appDesc.name()); | 119 | ApplicationId appId = idStore.registerApplication(appDesc.name()); |
118 | DefaultApplication app = | 120 | DefaultApplication app = |
119 | new DefaultApplication(appId, appDesc.version(), appDesc.description(), | 121 | new DefaultApplication(appId, appDesc.version(), appDesc.description(), |
120 | - appDesc.origin(), appDesc.role(), appDesc.permissions(), | 122 | + appDesc.origin(), appDesc.category(), appDesc.url(), |
123 | + appDesc.readme(), appDesc.icon(), | ||
124 | + appDesc.role(), appDesc.permissions(), | ||
121 | appDesc.featuresRepo(), appDesc.features(), | 125 | appDesc.featuresRepo(), appDesc.features(), |
122 | appDesc.requiredApps()); | 126 | appDesc.requiredApps()); |
123 | apps.put(appId, app); | 127 | apps.put(appId, app); | ... | ... |
1 | <!-- | 1 | <!-- |
2 | - ~ Copyright 2015 Open Networking Laboratory | 2 | + ~ Copyright 2015-2016 Open Networking Laboratory |
3 | ~ | 3 | ~ |
4 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 4 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
5 | ~ you may not use this file except in compliance with the License. | 5 | ~ you may not use this file except in compliance with the License. |
... | @@ -13,9 +13,9 @@ | ... | @@ -13,9 +13,9 @@ |
13 | ~ See the License for the specific language governing permissions and | 13 | ~ See the License for the specific language governing permissions and |
14 | ~ limitations under the License. | 14 | ~ limitations under the License. |
15 | --> | 15 | --> |
16 | -<app name="org.foo.app" origin="Circus" version="1.2.a" | 16 | +<app name="org.foo.app" origin="Circus" version="1.2.a" category="other" |
17 | - featuresRepo="mvn:org.foo-features/1.2a/xml/features" | 17 | + url="http://www.onosproject.org" featuresRepo="mvn:org.foo-features/1.2a/xml/features" |
18 | - features="foo,bar"> | 18 | + readme="Awesome application from Circus, Inc." features="foo,bar"> |
19 | <description>Awesome application from Circus, Inc.</description> | 19 | <description>Awesome application from Circus, Inc.</description> |
20 | <security> | 20 | <security> |
21 | <role>ADMIN</role> | 21 | <role>ADMIN</role> |
... | @@ -23,7 +23,5 @@ | ... | @@ -23,7 +23,5 @@ |
23 | <app-perm>FLOWRULE_WRITE</app-perm> | 23 | <app-perm>FLOWRULE_WRITE</app-perm> |
24 | <app-perm>FLOWRULE_READ</app-perm> | 24 | <app-perm>FLOWRULE_READ</app-perm> |
25 | </permissions> | 25 | </permissions> |
26 | - | ||
27 | </security> | 26 | </security> |
28 | - | ||
29 | </app> | 27 | </app> | ... | ... |
No preview for this file type
... | @@ -138,7 +138,8 @@ public class ApplicationManagerTest { | ... | @@ -138,7 +138,8 @@ public class ApplicationManagerTest { |
138 | 138 | ||
139 | @Override | 139 | @Override |
140 | public Application create(InputStream appDescStream) { | 140 | public Application create(InputStream appDescStream) { |
141 | - app = new DefaultApplication(APP_ID, VER, DESC, ORIGIN, ROLE, PERMS, | 141 | + app = new DefaultApplication(APP_ID, VER, DESC, ORIGIN, CATEGORY, |
142 | + URL, README, ICON, ROLE, PERMS, | ||
142 | Optional.of(FURL), FEATURES, ImmutableList.of()); | 143 | Optional.of(FURL), FEATURES, ImmutableList.of()); |
143 | state = INSTALLED; | 144 | state = INSTALLED; |
144 | delegate.notify(new ApplicationEvent(APP_INSTALLED, app)); | 145 | delegate.notify(new ApplicationEvent(APP_INSTALLED, app)); | ... | ... |
... | @@ -505,8 +505,9 @@ public class GossipApplicationStore extends ApplicationArchive | ... | @@ -505,8 +505,9 @@ public class GossipApplicationStore extends ApplicationArchive |
505 | private Application registerApp(ApplicationDescription appDesc) { | 505 | private Application registerApp(ApplicationDescription appDesc) { |
506 | ApplicationId appId = idStore.registerApplication(appDesc.name()); | 506 | ApplicationId appId = idStore.registerApplication(appDesc.name()); |
507 | return new DefaultApplication(appId, appDesc.version(), appDesc.description(), | 507 | return new DefaultApplication(appId, appDesc.version(), appDesc.description(), |
508 | - appDesc.origin(), appDesc.role(), appDesc.permissions(), | 508 | + appDesc.origin(), appDesc.category(), appDesc.url(), |
509 | - appDesc.featuresRepo(), appDesc.features(), | 509 | + appDesc.readme(), appDesc.icon(), appDesc.role(), |
510 | - appDesc.requiredApps()); | 510 | + appDesc.permissions(), appDesc.featuresRepo(), |
511 | + appDesc.features(), appDesc.requiredApps()); | ||
511 | } | 512 | } |
512 | } | 513 | } | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2015 Open Networking Laboratory | 3 | + ~ Copyright 2015-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -15,9 +15,11 @@ | ... | @@ -15,9 +15,11 @@ |
15 | ~ limitations under the License. | 15 | ~ limitations under the License. |
16 | --> | 16 | --> |
17 | <app name="org.onosproject.bgp" origin="ON.Lab" version="${project.version}" | 17 | <app name="org.onosproject.bgp" origin="ON.Lab" version="${project.version}" |
18 | + category="default" url="http://onosproject.org" | ||
18 | featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features" | 19 | featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features" |
19 | features="${project.artifactId}"> | 20 | features="${project.artifactId}"> |
20 | <description>${project.description}</description> | 21 | <description>${project.description}</description> |
22 | + <readme>BGP protocol southbound providers.</readme> | ||
21 | <artifact>mvn:${project.groupId}/onos-bgpio/${project.version}</artifact> | 23 | <artifact>mvn:${project.groupId}/onos-bgpio/${project.version}</artifact> |
22 | <artifact>mvn:${project.groupId}/onos-bgp-api/${project.version}</artifact> | 24 | <artifact>mvn:${project.groupId}/onos-bgp-api/${project.version}</artifact> |
23 | <artifact>mvn:${project.groupId}/onos-bgp-ctl/${project.version}</artifact> | 25 | <artifact>mvn:${project.groupId}/onos-bgp-ctl/${project.version}</artifact> | ... | ... |
1 | <!-- | 1 | <!-- |
2 | - ~ Copyright 2015 Open Networking Laboratory | 2 | + ~ Copyright 2015-2016 Open Networking Laboratory |
3 | ~ | 3 | ~ |
4 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 4 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
5 | ~ you may not use this file except in compliance with the License. | 5 | ~ you may not use this file except in compliance with the License. |
... | @@ -13,40 +13,41 @@ | ... | @@ -13,40 +13,41 @@ |
13 | ~ See the License for the specific language governing permissions and | 13 | ~ See the License for the specific language governing permissions and |
14 | ~ limitations under the License. | 14 | ~ limitations under the License. |
15 | --> | 15 | --> |
16 | -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | 16 | +<project xmlns="http://maven.apache.org/POM/4.0.0" |
17 | - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | 17 | + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
18 | - <modelVersion>4.0.0</modelVersion> | 18 | + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
19 | - <parent> | 19 | + <modelVersion>4.0.0</modelVersion> |
20 | - <groupId>org.onosproject</groupId> | 20 | + <parent> |
21 | - <artifactId>onos-bgp-providers</artifactId> | 21 | + <groupId>org.onosproject</groupId> |
22 | - <version>1.5.0-SNAPSHOT</version> | 22 | + <artifactId>onos-bgp-providers</artifactId> |
23 | - <relativePath>../pom.xml</relativePath> | 23 | + <version>1.5.0-SNAPSHOT</version> |
24 | - </parent> | 24 | + <relativePath>../pom.xml</relativePath> |
25 | + </parent> | ||
25 | 26 | ||
26 | - <artifactId>onos-bgp-app</artifactId> | 27 | + <artifactId>onos-bgp-app</artifactId> |
27 | - <packaging>pom</packaging> | 28 | + <packaging>pom</packaging> |
28 | - <description>BGP protocol southbound providers</description> | 29 | + <description>BGP protocol southbound providers</description> |
29 | 30 | ||
30 | - <dependencies> | 31 | + <dependencies> |
31 | - <dependency> | 32 | + <dependency> |
32 | - <groupId>org.onosproject</groupId> | 33 | + <groupId>org.onosproject</groupId> |
33 | - <artifactId>onos-bgpio</artifactId> | 34 | + <artifactId>onos-bgpio</artifactId> |
34 | - <version>${project.version}</version> | 35 | + <version>${project.version}</version> |
35 | - </dependency> | 36 | + </dependency> |
36 | - <dependency> | 37 | + <dependency> |
37 | - <groupId>org.onosproject</groupId> | 38 | + <groupId>org.onosproject</groupId> |
38 | - <artifactId>onos-bgp-api</artifactId> | 39 | + <artifactId>onos-bgp-api</artifactId> |
39 | - <version>${project.version}</version> | 40 | + <version>${project.version}</version> |
40 | - </dependency> | 41 | + </dependency> |
41 | - <dependency> | 42 | + <dependency> |
42 | - <groupId>org.onosproject</groupId> | 43 | + <groupId>org.onosproject</groupId> |
43 | - <artifactId>onos-bgp-ctl</artifactId> | 44 | + <artifactId>onos-bgp-ctl</artifactId> |
44 | - <version>${project.version}</version> | 45 | + <version>${project.version}</version> |
45 | - </dependency> | 46 | + </dependency> |
46 | - <dependency> | 47 | + <dependency> |
47 | - <groupId>org.onosproject</groupId> | 48 | + <groupId>org.onosproject</groupId> |
48 | - <artifactId>onos-bgp-provider-topology</artifactId> | 49 | + <artifactId>onos-bgp-provider-topology</artifactId> |
49 | - <version>${project.version}</version> | 50 | + <version>${project.version}</version> |
50 | - </dependency> | 51 | + </dependency> |
51 | - </dependencies> | 52 | + </dependencies> |
52 | </project> | 53 | </project> | ... | ... |
... | @@ -31,6 +31,10 @@ | ... | @@ -31,6 +31,10 @@ |
31 | 31 | ||
32 | <properties> | 32 | <properties> |
33 | <onos.app.name>org.onosproject.hostprovider</onos.app.name> | 33 | <onos.app.name>org.onosproject.hostprovider</onos.app.name> |
34 | + <onos.app.origin>ON.Lab</onos.app.origin> | ||
35 | + <onos.app.category>default</onos.app.category> | ||
36 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
37 | + <onos.app.readme>ONOS host location provider.</onos.app.readme> | ||
34 | </properties> | 38 | </properties> |
35 | 39 | ||
36 | <description>ONOS host location provider</description> | 40 | <description>ONOS host location provider</description> | ... | ... |
... | @@ -32,6 +32,10 @@ | ... | @@ -32,6 +32,10 @@ |
32 | 32 | ||
33 | <properties> | 33 | <properties> |
34 | <onos.app.name>org.onosproject.lldpprovider</onos.app.name> | 34 | <onos.app.name>org.onosproject.lldpprovider</onos.app.name> |
35 | + <onos.app.origin>ON.Lab</onos.app.origin> | ||
36 | + <onos.app.category>default</onos.app.category> | ||
37 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
38 | + <onos.app.readme>ONOS LLDP link provider.</onos.app.readme> | ||
35 | </properties> | 39 | </properties> |
36 | 40 | ||
37 | <description>ONOS LLDP link provider</description> | 41 | <description>ONOS LLDP link provider</description> | ... | ... |
... | @@ -35,6 +35,10 @@ | ... | @@ -35,6 +35,10 @@ |
35 | <properties> | 35 | <properties> |
36 | <onos.app.name>org.onosproject.netcfghostprovider</onos.app.name> | 36 | <onos.app.name>org.onosproject.netcfghostprovider</onos.app.name> |
37 | <onos.app.origin>ON.Lab</onos.app.origin> | 37 | <onos.app.origin>ON.Lab</onos.app.origin> |
38 | + <onos.app.category>default</onos.app.category> | ||
39 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
40 | + <onos.app.readme>Host provider that uses network config | ||
41 | + service to discover hosts.</onos.app.readme> | ||
38 | </properties> | 42 | </properties> |
39 | 43 | ||
40 | <dependencies> | 44 | <dependencies> | ... | ... |
... | @@ -15,10 +15,11 @@ | ... | @@ -15,10 +15,11 @@ |
15 | ~ limitations under the License. | 15 | ~ limitations under the License. |
16 | --> | 16 | --> |
17 | <app name="org.onosproject.netconf" origin="ON.Lab" version="${project.version}" | 17 | <app name="org.onosproject.netconf" origin="ON.Lab" version="${project.version}" |
18 | + category="default" url="http://onosproject.org" | ||
18 | featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features" | 19 | featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features" |
19 | features="${project.artifactId}"> | 20 | features="${project.artifactId}"> |
20 | <description>${project.description}</description> | 21 | <description>${project.description}</description> |
21 | - | 22 | + <readme>ONOS NetConf protocol southbound provider.</readme> |
22 | <artifact>mvn:${project.groupId}/onos-netconf-api/${project.version}</artifact> | 23 | <artifact>mvn:${project.groupId}/onos-netconf-api/${project.version}</artifact> |
23 | <artifact>mvn:${project.groupId}/onos-netconf-ctl/${project.version}</artifact> | 24 | <artifact>mvn:${project.groupId}/onos-netconf-ctl/${project.version}</artifact> |
24 | <artifact>mvn:${project.groupId}/onos-drivers/${project.version}</artifact> | 25 | <artifact>mvn:${project.groupId}/onos-drivers/${project.version}</artifact> | ... | ... |
... | @@ -33,6 +33,10 @@ | ... | @@ -33,6 +33,10 @@ |
33 | 33 | ||
34 | <properties> | 34 | <properties> |
35 | <onos.app.name>org.onosproject.null</onos.app.name> | 35 | <onos.app.name>org.onosproject.null</onos.app.name> |
36 | + <onos.app.origin>ON.Lab</onos.app.origin> | ||
37 | + <onos.app.category>default</onos.app.category> | ||
38 | + <onos.app.url>http://onosproject.org</onos.app.url> | ||
39 | + <onos.app.readme>ONOS null southbound provider.</onos.app.readme> | ||
36 | </properties> | 40 | </properties> |
37 | 41 | ||
38 | <dependencies> | 42 | <dependencies> | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2014-2015 Open Networking Laboratory | 3 | + ~ Copyright 2014-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -15,10 +15,11 @@ | ... | @@ -15,10 +15,11 @@ |
15 | ~ limitations under the License. | 15 | ~ limitations under the License. |
16 | --> | 16 | --> |
17 | <app name="org.onosproject.openflow-base" origin="ON.Lab" version="${project.version}" | 17 | <app name="org.onosproject.openflow-base" origin="ON.Lab" version="${project.version}" |
18 | + category="default" url="http://onosproject.org" | ||
18 | featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features" | 19 | featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features" |
19 | features="${project.artifactId}"> | 20 | features="${project.artifactId}"> |
20 | <description>${project.description}</description> | 21 | <description>${project.description}</description> |
21 | - | 22 | + <readme>OpenFlow protocol southbound provider.</readme> |
22 | <artifact>mvn:${project.groupId}/onos-of-api/${project.version}</artifact> | 23 | <artifact>mvn:${project.groupId}/onos-of-api/${project.version}</artifact> |
23 | <artifact>mvn:${project.groupId}/onos-of-ctl/${project.version}</artifact> | 24 | <artifact>mvn:${project.groupId}/onos-of-ctl/${project.version}</artifact> |
24 | <artifact>mvn:${project.groupId}/onos-drivers/${project.version}</artifact> | 25 | <artifact>mvn:${project.groupId}/onos-drivers/${project.version}</artifact> | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2014-2015 Open Networking Laboratory | 3 | + ~ Copyright 2014-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2015 Open Networking Laboratory | 3 | + ~ Copyright 2015-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2015 Open Networking Laboratory | 3 | + ~ Copyright 2015-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -15,10 +15,11 @@ | ... | @@ -15,10 +15,11 @@ |
15 | ~ limitations under the License. | 15 | ~ limitations under the License. |
16 | --> | 16 | --> |
17 | <app name="org.onosproject.ovsdb-base" origin="ON.Lab" version="${project.version}" | 17 | <app name="org.onosproject.ovsdb-base" origin="ON.Lab" version="${project.version}" |
18 | + category="default" url="http://onosproject.org" | ||
18 | featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features" | 19 | featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features" |
19 | features="${project.artifactId}"> | 20 | features="${project.artifactId}"> |
20 | - <description>${project.description}</description> | 21 | + <description>${project.description}</description> |
21 | - | 22 | + <readme>OVSDB protocol southbound providers.</readme> |
22 | <artifact>mvn:${project.groupId}/onos-ovsdb-rfc/${project.version}</artifact> | 23 | <artifact>mvn:${project.groupId}/onos-ovsdb-rfc/${project.version}</artifact> |
23 | <artifact>mvn:${project.groupId}/onos-ovsdb-api/${project.version}</artifact> | 24 | <artifact>mvn:${project.groupId}/onos-ovsdb-api/${project.version}</artifact> |
24 | <artifact>mvn:${project.groupId}/onos-ovsdb-ctl/${project.version}</artifact> | 25 | <artifact>mvn:${project.groupId}/onos-ovsdb-ctl/${project.version}</artifact> |
... | @@ -26,4 +27,4 @@ | ... | @@ -26,4 +27,4 @@ |
26 | 27 | ||
27 | <artifact>mvn:${project.groupId}/onos-ovsdb-provider-device/${project.version}</artifact> | 28 | <artifact>mvn:${project.groupId}/onos-ovsdb-provider-device/${project.version}</artifact> |
28 | <artifact>mvn:${project.groupId}/onos-ovsdb-provider-tunnel/${project.version}</artifact> | 29 | <artifact>mvn:${project.groupId}/onos-ovsdb-provider-tunnel/${project.version}</artifact> |
29 | -</app> | 30 | +</app> |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
1 | -<?xml version="1.0"?> | 1 | +<?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2015 Open Networking Laboratory | 3 | + ~ Copyright 2015-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2015 Open Networking Laboratory | 3 | + ~ Copyright 2015-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -15,9 +15,11 @@ | ... | @@ -15,9 +15,11 @@ |
15 | ~ limitations under the License. | 15 | ~ limitations under the License. |
16 | --> | 16 | --> |
17 | <app name="org.onosproject.pcep" origin="ON.Lab" version="${project.version}" | 17 | <app name="org.onosproject.pcep" origin="ON.Lab" version="${project.version}" |
18 | + category="default" url="http://onosproject.org" | ||
18 | featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features" | 19 | featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features" |
19 | features="${project.artifactId}"> | 20 | features="${project.artifactId}"> |
20 | <description>${project.description}</description> | 21 | <description>${project.description}</description> |
22 | + <readme>PCEP protocol southbound provider.</readme> | ||
21 | <artifact>mvn:${project.groupId}/onos-app-pcep-api/${project.version}</artifact> | 23 | <artifact>mvn:${project.groupId}/onos-app-pcep-api/${project.version}</artifact> |
22 | <artifact>mvn:${project.groupId}/onos-pcepio/${project.version}</artifact> | 24 | <artifact>mvn:${project.groupId}/onos-pcepio/${project.version}</artifact> |
23 | <artifact>mvn:${project.groupId}/onos-pcep-controller-api/${project.version}</artifact> | 25 | <artifact>mvn:${project.groupId}/onos-pcep-controller-api/${project.version}</artifact> | ... | ... |
1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
1 | <!-- | 2 | <!-- |
2 | - ~ Copyright 2015 Open Networking Laboratory | 3 | + ~ Copyright 2015-2016 Open Networking Laboratory |
3 | ~ | 4 | ~ |
4 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
5 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -13,8 +14,9 @@ | ... | @@ -13,8 +14,9 @@ |
13 | ~ See the License for the specific language governing permissions and | 14 | ~ See the License for the specific language governing permissions and |
14 | ~ limitations under the License. | 15 | ~ limitations under the License. |
15 | --> | 16 | --> |
16 | -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | 17 | +<project xmlns="http://maven.apache.org/POM/4.0.0" |
17 | - 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/xsd/maven-4.0.0.xsd"> | ||
18 | <modelVersion>4.0.0</modelVersion> | 20 | <modelVersion>4.0.0</modelVersion> |
19 | <parent> | 21 | <parent> |
20 | <groupId>org.onosproject</groupId> | 22 | <groupId>org.onosproject</groupId> |
... | @@ -25,24 +27,24 @@ | ... | @@ -25,24 +27,24 @@ |
25 | 27 | ||
26 | <artifactId>onos-pcep</artifactId> | 28 | <artifactId>onos-pcep</artifactId> |
27 | <packaging>pom</packaging> | 29 | <packaging>pom</packaging> |
28 | - <description>PCEP protocol southbound providers</description> | 30 | + <description>PCEP protocol southbound providers</description> |
29 | 31 | ||
30 | - <dependencies> | 32 | + <dependencies> |
31 | <dependency> | 33 | <dependency> |
32 | <groupId>org.onosproject</groupId> | 34 | <groupId>org.onosproject</groupId> |
33 | <artifactId>onos-app-pcep-api</artifactId> | 35 | <artifactId>onos-app-pcep-api</artifactId> |
34 | </dependency> | 36 | </dependency> |
35 | - <dependency> | 37 | + <dependency> |
36 | <groupId>org.onosproject</groupId> | 38 | <groupId>org.onosproject</groupId> |
37 | <artifactId>onos-pcepio</artifactId> | 39 | <artifactId>onos-pcepio</artifactId> |
38 | <version>${project.version}</version> | 40 | <version>${project.version}</version> |
39 | </dependency> | 41 | </dependency> |
40 | - <dependency> | 42 | + <dependency> |
41 | <groupId>org.onosproject</groupId> | 43 | <groupId>org.onosproject</groupId> |
42 | <artifactId>onos-pcep-controller-api</artifactId> | 44 | <artifactId>onos-pcep-controller-api</artifactId> |
43 | <version>${project.version}</version> | 45 | <version>${project.version}</version> |
44 | </dependency> | 46 | </dependency> |
45 | - <dependency> | 47 | + <dependency> |
46 | <groupId>org.onosproject</groupId> | 48 | <groupId>org.onosproject</groupId> |
47 | <artifactId>onos-pcep-controller-impl</artifactId> | 49 | <artifactId>onos-pcep-controller-impl</artifactId> |
48 | <version>${project.version}</version> | 50 | <version>${project.version}</version> | ... | ... |
... | @@ -15,10 +15,11 @@ | ... | @@ -15,10 +15,11 @@ |
15 | ~ limitations under the License. | 15 | ~ limitations under the License. |
16 | --> | 16 | --> |
17 | <app name="org.onosproject.restsb" origin="ON.Lab" version="${project.version}" | 17 | <app name="org.onosproject.restsb" origin="ON.Lab" version="${project.version}" |
18 | + category="default" url="http://onosproject.org" | ||
18 | featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features" | 19 | featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features" |
19 | features="${project.artifactId}"> | 20 | features="${project.artifactId}"> |
20 | <description>${project.description}</description> | 21 | <description>${project.description}</description> |
21 | - | 22 | + <readme>REST protocol southbound provider.</readme> |
22 | <artifact>mvn:${project.groupId}/onos-restsb-api/${project.version}</artifact> | 23 | <artifact>mvn:${project.groupId}/onos-restsb-api/${project.version}</artifact> |
23 | <artifact>mvn:${project.groupId}/onos-restsb-ctl/${project.version}</artifact> | 24 | <artifact>mvn:${project.groupId}/onos-restsb-ctl/${project.version}</artifact> |
24 | <artifact>mvn:${project.groupId}/onos-drivers/${project.version}</artifact> | 25 | <artifact>mvn:${project.groupId}/onos-drivers/${project.version}</artifact> | ... | ... |
... | @@ -15,9 +15,11 @@ | ... | @@ -15,9 +15,11 @@ |
15 | ~ limitations under the License. | 15 | ~ limitations under the License. |
16 | --> | 16 | --> |
17 | <app name="org.onosproject.snmp" origin="BTI Systems" version="${project.version}" | 17 | <app name="org.onosproject.snmp" origin="BTI Systems" version="${project.version}" |
18 | + category="default" url="http://onosproject.org" | ||
18 | featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features" | 19 | featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features" |
19 | features="${project.artifactId}"> | 20 | features="${project.artifactId}"> |
20 | <description>${project.description}</description> | 21 | <description>${project.description}</description> |
22 | + <readme>SNMP protocol southbound provider.</readme> | ||
21 | <artifact>mvn:${project.groupId}/onos-snmp-provider-device/${project.version}</artifact> | 23 | <artifact>mvn:${project.groupId}/onos-snmp-provider-device/${project.version}</artifact> |
22 | <artifact>mvn:${project.groupId}/onos-snmp-provider-alarm/${project.version}</artifact> | 24 | <artifact>mvn:${project.groupId}/onos-snmp-provider-alarm/${project.version}</artifact> |
23 | </app> | 25 | </app> | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2015 Open Networking Laboratory | 3 | + ~ Copyright 2015-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. | ... | ... |
... | @@ -18,6 +18,7 @@ package org.onosproject.maven; | ... | @@ -18,6 +18,7 @@ package org.onosproject.maven; |
18 | import com.google.common.collect.ImmutableList; | 18 | import com.google.common.collect.ImmutableList; |
19 | import org.apache.commons.configuration.ConfigurationException; | 19 | import org.apache.commons.configuration.ConfigurationException; |
20 | import org.apache.commons.configuration.XMLConfiguration; | 20 | import org.apache.commons.configuration.XMLConfiguration; |
21 | +import org.apache.commons.lang.StringUtils; | ||
21 | import org.apache.maven.artifact.repository.ArtifactRepository; | 22 | import org.apache.maven.artifact.repository.ArtifactRepository; |
22 | import org.apache.maven.plugin.AbstractMojo; | 23 | import org.apache.maven.plugin.AbstractMojo; |
23 | import org.apache.maven.plugin.MojoExecutionException; | 24 | import org.apache.maven.plugin.MojoExecutionException; |
... | @@ -28,6 +29,11 @@ import org.apache.maven.plugins.annotations.Parameter; | ... | @@ -28,6 +29,11 @@ import org.apache.maven.plugins.annotations.Parameter; |
28 | import org.apache.maven.project.MavenProject; | 29 | import org.apache.maven.project.MavenProject; |
29 | import org.apache.maven.project.MavenProjectHelper; | 30 | import org.apache.maven.project.MavenProjectHelper; |
30 | 31 | ||
32 | +import javax.imageio.ImageIO; | ||
33 | +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; | ||
34 | +import java.awt.image.BufferedImage; | ||
35 | +import java.awt.image.DataBufferByte; | ||
36 | +import java.awt.image.WritableRaster; | ||
31 | import java.io.File; | 37 | import java.io.File; |
32 | import java.io.FileInputStream; | 38 | import java.io.FileInputStream; |
33 | import java.io.FileNotFoundException; | 39 | import java.io.FileNotFoundException; |
... | @@ -55,6 +61,7 @@ public class OnosAppMojo extends AbstractMojo { | ... | @@ -55,6 +61,7 @@ public class OnosAppMojo extends AbstractMojo { |
55 | private static final String ARTIFACT = "artifact"; | 61 | private static final String ARTIFACT = "artifact"; |
56 | 62 | ||
57 | private static final String APP_XML = "app.xml"; | 63 | private static final String APP_XML = "app.xml"; |
64 | + private static final String ICON_PNG = "icon.png"; | ||
58 | private static final String FEATURES_XML = "features.xml"; | 65 | private static final String FEATURES_XML = "features.xml"; |
59 | 66 | ||
60 | private static final String MVN_URL = "mvn:"; | 67 | private static final String MVN_URL = "mvn:"; |
... | @@ -64,6 +71,10 @@ public class OnosAppMojo extends AbstractMojo { | ... | @@ -64,6 +71,10 @@ public class OnosAppMojo extends AbstractMojo { |
64 | private static final String ONOS_APP_ORIGIN = "onos.app.origin"; | 71 | private static final String ONOS_APP_ORIGIN = "onos.app.origin"; |
65 | private static final String ONOS_APP_REQUIRES = "onos.app.requires"; | 72 | private static final String ONOS_APP_REQUIRES = "onos.app.requires"; |
66 | 73 | ||
74 | + private static final String ONOS_APP_CATEGORY = "onos.app.category"; | ||
75 | + private static final String ONOS_APP_URL = "onos.app.url"; | ||
76 | + private static final String ONOS_APP_README = "onos.app.readme"; | ||
77 | + | ||
67 | private static final String JAR = "jar"; | 78 | private static final String JAR = "jar"; |
68 | private static final String XML = "xml"; | 79 | private static final String XML = "xml"; |
69 | private static final String APP_ZIP = "oar"; | 80 | private static final String APP_ZIP = "oar"; |
... | @@ -72,6 +83,9 @@ public class OnosAppMojo extends AbstractMojo { | ... | @@ -72,6 +83,9 @@ public class OnosAppMojo extends AbstractMojo { |
72 | private static final String DEFAULT_ORIGIN = "ON.Lab"; | 83 | private static final String DEFAULT_ORIGIN = "ON.Lab"; |
73 | private static final String DEFAULT_VERSION = "${project.version}"; | 84 | private static final String DEFAULT_VERSION = "${project.version}"; |
74 | 85 | ||
86 | + private static final String DEFAULT_CATEGORY = "Default"; | ||
87 | + private static final String DEFAULT_URL = "http://onosproject.org"; | ||
88 | + | ||
75 | private static final String DEFAULT_FEATURES_REPO = | 89 | private static final String DEFAULT_FEATURES_REPO = |
76 | "mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"; | 90 | "mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"; |
77 | private static final String DEFAULT_ARTIFACT = | 91 | private static final String DEFAULT_ARTIFACT = |
... | @@ -82,6 +96,9 @@ public class OnosAppMojo extends AbstractMojo { | ... | @@ -82,6 +96,9 @@ public class OnosAppMojo extends AbstractMojo { |
82 | private String name; | 96 | private String name; |
83 | private String origin; | 97 | private String origin; |
84 | private String requiredApps; | 98 | private String requiredApps; |
99 | + private String category; | ||
100 | + private String url; | ||
101 | + private String readme; | ||
85 | private String version = DEFAULT_VERSION; | 102 | private String version = DEFAULT_VERSION; |
86 | private String featuresRepo = DEFAULT_FEATURES_REPO; | 103 | private String featuresRepo = DEFAULT_FEATURES_REPO; |
87 | private List<String> artifacts; | 104 | private List<String> artifacts; |
... | @@ -137,7 +154,6 @@ public class OnosAppMojo extends AbstractMojo { | ... | @@ -137,7 +154,6 @@ public class OnosAppMojo extends AbstractMojo { |
137 | @Component | 154 | @Component |
138 | protected MavenProjectHelper projectHelper; | 155 | protected MavenProjectHelper projectHelper; |
139 | 156 | ||
140 | - | ||
141 | private File m2Directory; | 157 | private File m2Directory; |
142 | protected File stageDirectory; | 158 | protected File stageDirectory; |
143 | protected String projectPath; | 159 | protected String projectPath; |
... | @@ -165,6 +181,16 @@ public class OnosAppMojo extends AbstractMojo { | ... | @@ -165,6 +181,16 @@ public class OnosAppMojo extends AbstractMojo { |
165 | requiredApps = (String) project.getProperties().get(ONOS_APP_REQUIRES); | 181 | requiredApps = (String) project.getProperties().get(ONOS_APP_REQUIRES); |
166 | requiredApps = requiredApps == null ? "" : requiredApps.replaceAll("[\\s]", ""); | 182 | requiredApps = requiredApps == null ? "" : requiredApps.replaceAll("[\\s]", ""); |
167 | 183 | ||
184 | + category = (String) project.getProperties().get(ONOS_APP_CATEGORY); | ||
185 | + category = category != null ? category : DEFAULT_CATEGORY; | ||
186 | + | ||
187 | + url = (String) project.getProperties().get(ONOS_APP_URL); | ||
188 | + url = url != null ? url : DEFAULT_URL; | ||
189 | + | ||
190 | + // if readme does not exist, we simply fallback to use description | ||
191 | + readme = (String) project.getProperties().get(ONOS_APP_README); | ||
192 | + readme = readme != null ? readme : projectDescription; | ||
193 | + | ||
168 | if (appFile.exists()) { | 194 | if (appFile.exists()) { |
169 | loadAppFile(appFile); | 195 | loadAppFile(appFile); |
170 | } else { | 196 | } else { |
... | @@ -303,7 +329,7 @@ public class OnosAppMojo extends AbstractMojo { | ... | @@ -303,7 +329,7 @@ public class OnosAppMojo extends AbstractMojo { |
303 | // Generates the ONOS package ZIP file. | 329 | // Generates the ONOS package ZIP file. |
304 | private void generateAppPackage() throws MojoExecutionException { | 330 | private void generateAppPackage() throws MojoExecutionException { |
305 | File appZip = new File(dstDirectory, artifactFile(projectArtifactId, projectVersion, | 331 | File appZip = new File(dstDirectory, artifactFile(projectArtifactId, projectVersion, |
306 | - APP_ZIP, null)); | 332 | + APP_ZIP, null)); |
307 | try (FileOutputStream fos = new FileOutputStream(appZip); | 333 | try (FileOutputStream fos = new FileOutputStream(appZip); |
308 | ZipOutputStream zos = new ZipOutputStream(fos)) { | 334 | ZipOutputStream zos = new ZipOutputStream(fos)) { |
309 | zipDirectory("", stageDirectory, zos); | 335 | zipDirectory("", stageDirectory, zos); |
... | @@ -327,7 +353,7 @@ public class OnosAppMojo extends AbstractMojo { | ... | @@ -327,7 +353,7 @@ public class OnosAppMojo extends AbstractMojo { |
327 | private String artifactFile(String[] fields) { | 353 | private String artifactFile(String[] fields) { |
328 | return fields.length < 5 ? | 354 | return fields.length < 5 ? |
329 | artifactFile(fields[1], fields[2], | 355 | artifactFile(fields[1], fields[2], |
330 | - (fields.length < 4 ? JAR : fields[3]), null) : | 356 | + (fields.length < 4 ? JAR : fields[3]), null) : |
331 | artifactFile(fields[1], fields[2], fields[3], fields[4]); | 357 | artifactFile(fields[1], fields[2], fields[3], fields[4]); |
332 | } | 358 | } |
333 | 359 | ||
... | @@ -344,6 +370,9 @@ public class OnosAppMojo extends AbstractMojo { | ... | @@ -344,6 +370,9 @@ public class OnosAppMojo extends AbstractMojo { |
344 | string.replaceAll("\\$\\{onos.app.name\\}", name) | 370 | string.replaceAll("\\$\\{onos.app.name\\}", name) |
345 | .replaceAll("\\$\\{onos.app.origin\\}", origin) | 371 | .replaceAll("\\$\\{onos.app.origin\\}", origin) |
346 | .replaceAll("\\$\\{onos.app.requires\\}", requiredApps) | 372 | .replaceAll("\\$\\{onos.app.requires\\}", requiredApps) |
373 | + .replaceAll("\\$\\{onos.app.category\\}", category) | ||
374 | + .replaceAll("\\$\\{onos.app.url\\}", url) | ||
375 | + .replaceAll("\\$\\{onos.app.readme\\}", readme) | ||
347 | .replaceAll("\\$\\{project.groupId\\}", projectGroupId) | 376 | .replaceAll("\\$\\{project.groupId\\}", projectGroupId) |
348 | .replaceAll("\\$\\{project.artifactId\\}", projectArtifactId) | 377 | .replaceAll("\\$\\{project.artifactId\\}", projectArtifactId) |
349 | .replaceAll("\\$\\{project.version\\}", projectVersion) | 378 | .replaceAll("\\$\\{project.version\\}", projectVersion) |
... | @@ -375,4 +404,4 @@ public class OnosAppMojo extends AbstractMojo { | ... | @@ -375,4 +404,4 @@ public class OnosAppMojo extends AbstractMojo { |
375 | } | 404 | } |
376 | } | 405 | } |
377 | } | 406 | } |
378 | -} | 407 | +} |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | 2 | <!-- |
3 | - ~ Copyright 2015 Open Networking Laboratory | 3 | + ~ Copyright 2015-2016 Open Networking Laboratory |
4 | ~ | 4 | ~ |
5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); | 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ~ you may not use this file except in compliance with the License. | 6 | ~ you may not use this file except in compliance with the License. |
... | @@ -15,8 +15,10 @@ | ... | @@ -15,8 +15,10 @@ |
15 | ~ limitations under the License. | 15 | ~ limitations under the License. |
16 | --> | 16 | --> |
17 | <app name="${onos.app.name}" origin="${onos.app.origin}" version="${project.version}" | 17 | <app name="${onos.app.name}" origin="${onos.app.origin}" version="${project.version}" |
18 | + category="${onos.app.category}" url="${onos.app.url}" | ||
18 | featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features" | 19 | featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features" |
19 | features="${project.artifactId}" apps="${onos.app.requires}"> | 20 | features="${project.artifactId}" apps="${onos.app.requires}"> |
20 | <description>${project.description}</description> | 21 | <description>${project.description}</description> |
22 | + <readme>${onos.app.readme}</readme> | ||
21 | <artifact>mvn:${project.groupId}/${project.artifactId}/${project.version}</artifact> | 23 | <artifact>mvn:${project.groupId}/${project.artifactId}/${project.version}</artifact> |
22 | </app> | 24 | </app> | ... | ... |
23.3 KB
... | @@ -85,19 +85,27 @@ public class ApplicationsResourceTest extends ResourceTest { | ... | @@ -85,19 +85,27 @@ public class ApplicationsResourceTest extends ResourceTest { |
85 | 85 | ||
86 | private Application app1 = | 86 | private Application app1 = |
87 | new DefaultApplication(id1, VER, | 87 | new DefaultApplication(id1, VER, |
88 | - "app1", "origin1", ApplicationRole.ADMIN, ImmutableSet.of(), Optional.of(FURL), | 88 | + "app1", "origin1", "category1", "url1", |
89 | + "readme1", new byte[0], ApplicationRole.ADMIN, | ||
90 | + ImmutableSet.of(), Optional.of(FURL), | ||
89 | ImmutableList.of("My Feature"), ImmutableList.of()); | 91 | ImmutableList.of("My Feature"), ImmutableList.of()); |
90 | private Application app2 = | 92 | private Application app2 = |
91 | new DefaultApplication(id2, VER, | 93 | new DefaultApplication(id2, VER, |
92 | - "app2", "origin2", ApplicationRole.ADMIN, ImmutableSet.of(), Optional.of(FURL), | 94 | + "app2", "origin2", "category2", "url2", |
95 | + "readme2", new byte[0], ApplicationRole.ADMIN, | ||
96 | + ImmutableSet.of(), Optional.of(FURL), | ||
93 | ImmutableList.of("My Feature"), ImmutableList.of()); | 97 | ImmutableList.of("My Feature"), ImmutableList.of()); |
94 | private Application app3 = | 98 | private Application app3 = |
95 | new DefaultApplication(id3, VER, | 99 | new DefaultApplication(id3, VER, |
96 | - "app3", "origin3", ApplicationRole.ADMIN, ImmutableSet.of(), Optional.of(FURL), | 100 | + "app3", "origin3", "category3", "url3", |
101 | + "readme3", new byte[0], ApplicationRole.ADMIN, | ||
102 | + ImmutableSet.of(), Optional.of(FURL), | ||
97 | ImmutableList.of("My Feature"), ImmutableList.of()); | 103 | ImmutableList.of("My Feature"), ImmutableList.of()); |
98 | private Application app4 = | 104 | private Application app4 = |
99 | new DefaultApplication(id4, VER, | 105 | new DefaultApplication(id4, VER, |
100 | - "app4", "origin4", ApplicationRole.ADMIN, ImmutableSet.of(), Optional.of(FURL), | 106 | + "app4", "origin4", "category4", "url4", |
107 | + "readme4", new byte[0], ApplicationRole.ADMIN, | ||
108 | + ImmutableSet.of(), Optional.of(FURL), | ||
101 | ImmutableList.of("My Feature"), ImmutableList.of()); | 109 | ImmutableList.of("My Feature"), ImmutableList.of()); |
102 | 110 | ||
103 | /** | 111 | /** | ... | ... |
-
Please register or login to post a comment