[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
diff --git a/apps/aaa/app.xml b/apps/aaa/app.xml
index 167a419..9ad7681 100644
--- a/apps/aaa/app.xml
+++ b/apps/aaa/app.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2015 Open Networking Laboratory
+ ~ Copyright 2015-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -15,9 +15,11 @@
~ limitations under the License.
-->
<app name="org.onosproject.aaa" origin="ATT" version="${project.version}"
+ category="default" url="http://onosproject.org"
featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"
features="${project.artifactId}">
<description>${project.description}</description>
+ <readme>ONOS authentication application.</readme>
<artifact>mvn:${project.groupId}/${project.artifactId}/${project.version}</artifact>
<artifact>mvn:${project.groupId}/onos-app-xos-integration/${project.version}</artifact>
<bundle>mvn:com.sun.jersey/jersey-client/1.19</bundle>
diff --git a/apps/aaa/pom.xml b/apps/aaa/pom.xml
index 1da6bc3..4693a56 100644
--- a/apps/aaa/pom.xml
+++ b/apps/aaa/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2014 Open Networking Laboratory
+ ~ Copyright 2014-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -19,7 +19,6 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
-
<parent>
<groupId>org.onosproject</groupId>
<artifactId>onos-apps</artifactId>
@@ -32,10 +31,6 @@
<description>ONOS authentication application</description>
- <properties>
- <onos.app.name>org.onosproject.aaa</onos.app.name>
- </properties>
-
<dependencies>
<dependency>
<groupId>org.osgi</groupId>
diff --git a/apps/acl/pom.xml b/apps/acl/pom.xml
index 2145e52..180b66f 100644
--- a/apps/acl/pom.xml
+++ b/apps/acl/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2015 Open Networking Laboratory
+ ~ Copyright 2015-2016 Open Networking Laboratory
~ Originally created by Pengfei Lu, Network and Cloud Computing Laboratory, Dalian University of Technology, China
~ Advisers: Keqiu Li and Heng Qi
~ This work is supported by the State Key Program of National Natural Science of China(Grant No. 61432002)
@@ -40,6 +40,9 @@
<properties>
<onos.app.name>org.onosproject.acl</onos.app.name>
<onos.app.origin>DLUT</onos.app.origin>
+ <onos.app.category>default</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>ONOS ACL application.</onos.app.readme>
<web.context>/onos/v1/acl</web.context>
<api.version>1.0.0</api.version>
diff --git a/apps/bgprouter/app.xml b/apps/bgprouter/app.xml
index 2fc47be..6cbcb20 100644
--- a/apps/bgprouter/app.xml
+++ b/apps/bgprouter/app.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2015 Open Networking Laboratory
+ ~ Copyright 2015-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -15,9 +15,11 @@
~ limitations under the License.
-->
<app name="org.onosproject.bgprouter" origin="ON.Lab" version="${project.version}"
+ category="default" url="http://onosproject.org"
featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"
features="${project.artifactId}">
<description>${project.description}</description>
+ <readme>BGP router application.</readme>
<artifact>mvn:${project.groupId}/${project.artifactId}/${project.version}</artifact>
<artifact>mvn:${project.groupId}/onos-app-routing-api/${project.version}</artifact>
<artifact>mvn:${project.groupId}/onos-app-routing/${project.version}</artifact>
diff --git a/apps/bgprouter/pom.xml b/apps/bgprouter/pom.xml
index 7bee742..964be8e 100644
--- a/apps/bgprouter/pom.xml
+++ b/apps/bgprouter/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2015 Open Networking Laboratory
+ ~ Copyright 2015-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
diff --git a/apps/cip/pom.xml b/apps/cip/pom.xml
index f60de80..687de60 100644
--- a/apps/cip/pom.xml
+++ b/apps/cip/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2014 Open Networking Laboratory
+ ~ Copyright 2014-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -33,6 +33,9 @@
<properties>
<onos.app.name>org.onosproject.cip</onos.app.name>
+ <onos.app.category>default</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>Cluster IP alias application.</onos.app.readme>
</properties>
<dependencies>
diff --git a/apps/cordfabric/pom.xml b/apps/cordfabric/pom.xml
index 53e3e7f..fbd202c 100644
--- a/apps/cordfabric/pom.xml
+++ b/apps/cordfabric/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2015 Open Networking Laboratory
+ ~ Copyright 2015-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -32,6 +32,9 @@
<properties>
<onos.app.name>org.onosproject.cordfabric</onos.app.name>
+ <onos.app.category>default</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>Simple fabric application for CORD.</onos.app.readme>
<web.context>/onos/cordfabric</web.context>
<api.version>1.0.0</api.version>
<api.title>ONOS CORD Fabric REST API</api.title>
diff --git a/apps/cordvtn/pom.xml b/apps/cordvtn/pom.xml
index 460efe1..a807de8 100644
--- a/apps/cordvtn/pom.xml
+++ b/apps/cordvtn/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2014 Open Networking Laboratory
+ ~ Copyright 2014-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -33,6 +33,9 @@
<properties>
<onos.app.name>org.onosproject.cordvtn</onos.app.name>
+ <onos.app.category>default</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>Virtual tenant network service for CORD.</onos.app.readme>
<web.context>/onos/cordvtn</web.context>
<api.version>1.0.0</api.version>
<api.title>CORD VTN REST API</api.title>
diff --git a/apps/cpman/pom.xml b/apps/cpman/pom.xml
index 7a89ab5..5b89e01 100644
--- a/apps/cpman/pom.xml
+++ b/apps/cpman/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2014 Open Networking Laboratory
+ ~ Copyright 2014-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -14,7 +14,8 @@
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+<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">
<modelVersion>4.0.0</modelVersion>
<parent>
@@ -29,6 +30,14 @@
<description>Control Plane Management Application</description>
+ <properties>
+ <onos.app.name>org.onosproject.cpman</onos.app.name>
+ <onos.app.category>default</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>Control plane management application.
+ </onos.app.readme>
+ </properties>
+
<dependencies>
<dependency>
<groupId>org.onosproject</groupId>
diff --git a/apps/demo/cord-gui/pom.xml b/apps/demo/cord-gui/pom.xml
index 8f2c1a6..56ec4a0 100644
--- a/apps/demo/cord-gui/pom.xml
+++ b/apps/demo/cord-gui/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2014 Open Networking Laboratory
+ ~ Copyright 2014-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
diff --git a/apps/dhcp/app/app.xml b/apps/dhcp/app/app.xml
index bf324b1..280fc1c 100644
--- a/apps/dhcp/app/app.xml
+++ b/apps/dhcp/app/app.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2015 Open Networking Laboratory
+ ~ Copyright 2015-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -15,9 +15,11 @@
~ limitations under the License.
-->
<app name="org.onosproject.dhcp" origin="ON.Lab" version="${project.version}"
+ category="default" url="http://onosproject.org"
featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"
features="${project.artifactId}">
<description>${project.description}</description>
+ <readme>DHCP server application.</readme>
<artifact>mvn:${project.groupId}/${project.artifactId}/${project.version}</artifact>
<artifact>mvn:${project.groupId}/onos-app-dhcp-api/${project.version}</artifact>
</app>
diff --git a/apps/dhcp/app/pom.xml b/apps/dhcp/app/pom.xml
index e013894..42c31b7 100644
--- a/apps/dhcp/app/pom.xml
+++ b/apps/dhcp/app/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2014 Open Networking Laboratory
+ ~ Copyright 2014-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -33,7 +33,6 @@
<description>DHCP Server application</description>
<properties>
- <onos.app.name>org.onosproject.dhcp</onos.app.name>
<web.context>/onos/dhcp</web.context>
<api.version>1.0.0</api.version>
<api.title>DHCP Server REST API</api.title>
diff --git a/apps/dhcp/pom.xml b/apps/dhcp/pom.xml
index f4c64e4..924c0bf 100644
--- a/apps/dhcp/pom.xml
+++ b/apps/dhcp/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2014 Open Networking Laboratory
+ ~ Copyright 2014-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
diff --git a/apps/drivermatrix/pom.xml b/apps/drivermatrix/pom.xml
index 87d25c5..3e5db97 100644
--- a/apps/drivermatrix/pom.xml
+++ b/apps/drivermatrix/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2014 Open Networking Laboratory
+ ~ Copyright 2014-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -14,7 +14,9 @@
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
-<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">
+<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">
<modelVersion>4.0.0</modelVersion>
<parent>
@@ -27,10 +29,13 @@
<artifactId>onos-app-drivermatrix</artifactId>
<packaging>bundle</packaging>
- <description>Driver behaviour support matric</description>
+ <description>Driver behaviour support matrix</description>
<properties>
<onos.app.name>org.onosproject.drivermatrix</onos.app.name>
+ <onos.app.category>default</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>Driver behavior support matrix.</onos.app.readme>
</properties>
</project>
diff --git a/apps/events/pom.xml b/apps/events/pom.xml
index 8415e92..f5ab42d 100644
--- a/apps/events/pom.xml
+++ b/apps/events/pom.xml
@@ -34,6 +34,10 @@
<properties>
<onos.version>1.5.0-SNAPSHOT</onos.version>
<onos.app.name>org.onosproject.events</onos.app.name>
+ <onos.app.category>default</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>ONOS event history display application.
+ </onos.app.readme>
</properties>
<dependencies>
diff --git a/apps/faultmanagement/app/app.xml b/apps/faultmanagement/app/app.xml
index 5c2db0c..f4c20c9 100644
--- a/apps/faultmanagement/app/app.xml
+++ b/apps/faultmanagement/app/app.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2015 Open Networking Laboratory
+ ~ Copyright 2015-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -15,10 +15,11 @@
~ limitations under the License.
-->
<app name="org.onosproject.faultmanagement" origin="BTI Systems" version="${project.version}"
+ category="default" url="http://onosproject.org"
featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"
features="${project.artifactId}">
<description>${project.description}</description>
-
+ <readme>ONOS fault management application.</readme>
<artifact>mvn:${project.groupId}/onos-app-fm-mgr/${project.version}</artifact>
<artifact>mvn:${project.groupId}/onos-app-fm-web/${project.version}</artifact>
<artifact>mvn:${project.groupId}/onos-app-fm-gui/${project.version}</artifact>
diff --git a/apps/faultmanagement/app/pom.xml b/apps/faultmanagement/app/pom.xml
index 41c6d8c..fac04b4 100644
--- a/apps/faultmanagement/app/pom.xml
+++ b/apps/faultmanagement/app/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
-~ Copyright 2015 Open Networking Laboratory
+~ Copyright 2015-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
diff --git a/apps/flowanalyzer/pom.xml b/apps/flowanalyzer/pom.xml
index 0221a68..8369087 100644
--- a/apps/flowanalyzer/pom.xml
+++ b/apps/flowanalyzer/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2014 Open Networking Laboratory
+ ~ Copyright 2014-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -33,6 +33,9 @@
<properties>
<onos.app.name>org.onosproject.flowanalyzer</onos.app.name>
+ <onos.app.category>default</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>Simple flow space analyzer.</onos.app.readme>
</properties>
<dependencies>
diff --git a/apps/fwd/pom.xml b/apps/fwd/pom.xml
index d6f7827..d902ace 100644
--- a/apps/fwd/pom.xml
+++ b/apps/fwd/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2014 Open Networking Laboratory
+ ~ Copyright 2014-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -33,6 +33,9 @@
<properties>
<onos.app.name>org.onosproject.fwd</onos.app.name>
+ <onos.app.category>default</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>Reactive forwarding application using flow subsystem.</onos.app.readme>
</properties>
<dependencies>
diff --git a/apps/icon.png b/apps/icon.png
new file mode 100644
index 0000000..01ea558
--- /dev/null
+++ b/apps/icon.png
Binary files differ
diff --git a/apps/igmp/pom.xml b/apps/igmp/pom.xml
index 4ef3c9f..a8f1298 100644
--- a/apps/igmp/pom.xml
+++ b/apps/igmp/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2014 Open Networking Laboratory
+ ~ Copyright 2014-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -33,6 +33,9 @@
<properties>
<onos.app.name>org.onosproject.igmp</onos.app.name>
+ <onos.app.category>default</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>IGMP implementation.</onos.app.readme>
</properties>
<dependencies>
diff --git a/apps/iptopology-api/pom.xml b/apps/iptopology-api/pom.xml
index 0a8dfdc..b8cf442 100644
--- a/apps/iptopology-api/pom.xml
+++ b/apps/iptopology-api/pom.xml
@@ -1,5 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2015 Open Networking Laboratory
+ ~ Copyright 2015-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -26,4 +27,11 @@
<packaging>bundle</packaging>
<description>IP Layer Topology API</description>
+
+ <properties>
+ <onos.app.name>org.onosproject.iptopology-api</onos.app.name>
+ <onos.app.category>default</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>IP layer topology API.</onos.app.readme>
+ </properties>
</project>
diff --git a/apps/metrics/pom.xml b/apps/metrics/pom.xml
index 63a1770..f3cdd0d 100644
--- a/apps/metrics/pom.xml
+++ b/apps/metrics/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2014 Open Networking Laboratory
+ ~ Copyright 2014-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -33,6 +33,10 @@
<properties>
<onos.app.name>org.onosproject.metrics</onos.app.name>
+ <onos.app.category>default</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>Performance metrics collection application.
+ </onos.app.readme>
</properties>
<dependencies>
diff --git a/apps/mfwd/pom.xml b/apps/mfwd/pom.xml
index 2dc3a66..45d3cd5 100644
--- a/apps/mfwd/pom.xml
+++ b/apps/mfwd/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2014 Open Networking Laboratory
+ ~ Copyright 2014-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -33,6 +33,10 @@
<properties>
<onos.app.name>org.onosproject.mfwd</onos.app.name>
+ <onos.app.category>default</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>Multicast forwarding application.
+ </onos.app.readme>
</properties>
<dependencies>
diff --git a/apps/mlb/pom.xml b/apps/mlb/pom.xml
index d9dd5a6..a300b41 100644
--- a/apps/mlb/pom.xml
+++ b/apps/mlb/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2015 Open Networking Laboratory
+ ~ Copyright 2015-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -33,6 +33,10 @@
<properties>
<onos.app.name>org.onosproject.mlb</onos.app.name>
+ <onos.app.category>default</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>Application that balances mastership among nodes.
+ </onos.app.readme>
</properties>
<dependencies>
diff --git a/apps/mobility/pom.xml b/apps/mobility/pom.xml
index 99499d3..0f2b39e 100644
--- a/apps/mobility/pom.xml
+++ b/apps/mobility/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2014 Open Networking Laboratory
+ ~ Copyright 2014-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -33,6 +33,10 @@
<properties>
<onos.app.name>org.onosproject.mobility</onos.app.name>
+ <onos.app.category>default</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>Host mobility application.
+ </onos.app.readme>
</properties>
<dependencies>
diff --git a/apps/olt/app/app.xml b/apps/olt/app/app.xml
index 8994bd6..b67486a 100644
--- a/apps/olt/app/app.xml
+++ b/apps/olt/app/app.xml
@@ -15,9 +15,11 @@
~ limitations under the License.
-->
<app name="org.onosproject.olt" origin="ON.Lab" version="${project.version}"
+ category="default" url="http://onosproject.org"
featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"
features="${project.artifactId}">
<description>${project.description}</description>
+ <readme>OLT application for CORD.</readme>
<artifact>mvn:${project.groupId}/${project.artifactId}/${project.version}</artifact>
<artifact>mvn:${project.groupId}/onos-app-olt-api/${project.version}</artifact>
</app>
diff --git a/apps/olt/app/pom.xml b/apps/olt/app/pom.xml
index f4409cb..7ae11e3 100644
--- a/apps/olt/app/pom.xml
+++ b/apps/olt/app/pom.xml
@@ -31,7 +31,6 @@
<description>OLT application for CORD</description>
<properties>
- <onos.app.name>org.onosproject.olt</onos.app.name>
<web.context>/onos/olt</web.context>
<api.version>1.0.0</api.version>
<api.title>ONOS OLT REST API</api.title>
diff --git a/apps/openstackswitching/app/app.xml b/apps/openstackswitching/app/app.xml
index e982b90..afd6f86 100644
--- a/apps/openstackswitching/app/app.xml
+++ b/apps/openstackswitching/app/app.xml
@@ -15,9 +15,11 @@
~ limitations under the License.
-->
<app name="org.onosproject.openstackswitching" origin="ON.Lab" version="${project.version}"
+ category="default" url="http://onosproject.org"
featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"
features="${project.artifactId}">
<description>${project.description}</description>
+ <readme>SONA Openstack Switching application.</readme>
<artifact>mvn:${project.groupId}/onos-app-openstackswitching/${project.version}</artifact>
<artifact>mvn:${project.groupId}/onos-app-dhcp-api/${project.version}</artifact>
<artifact>mvn:${project.groupId}/onos-app-dhcp/${project.version}</artifact>
diff --git a/apps/openstackswitching/app/pom.xml b/apps/openstackswitching/app/pom.xml
index 026beef..d0c04a4 100644
--- a/apps/openstackswitching/app/pom.xml
+++ b/apps/openstackswitching/app/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2015 Open Networking Laboratory
+ ~ Copyright 2015-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -31,7 +31,6 @@
<description>SONA Openstack Switching applications</description>
<properties>
- <onos.app.name>org.onosproject.openstackswitching</onos.app.name>
<web.context>/onos/openstackswitching</web.context>
<api.version>1.0.0</api.version>
<api.title>ONOS OpenStack Switching REST API</api.title>
diff --git a/apps/optical/pom.xml b/apps/optical/pom.xml
index 4e001c7..0acae23 100644
--- a/apps/optical/pom.xml
+++ b/apps/optical/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2014 Open Networking Laboratory
+ ~ Copyright 2014-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -33,6 +33,10 @@
<properties>
<onos.app.name>org.onosproject.optical</onos.app.name>
+ <onos.app.category>default</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>Packet/Optical use-case application.
+ </onos.app.readme>
</properties>
<dependencies>
diff --git a/apps/pathpainter/pom.xml b/apps/pathpainter/pom.xml
index cb2161a..2673c54 100644
--- a/apps/pathpainter/pom.xml
+++ b/apps/pathpainter/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2014 Open Networking Laboratory
+ ~ Copyright 2015-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -33,6 +33,9 @@
<properties>
<onos.app.name>org.onosproject.pathpainter</onos.app.name>
+ <onos.app.category>default</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>Path visualization application.</onos.app.readme>
</properties>
</project>
diff --git a/apps/pcep-api/pom.xml b/apps/pcep-api/pom.xml
index 24bad14..5d652cf 100644
--- a/apps/pcep-api/pom.xml
+++ b/apps/pcep-api/pom.xml
@@ -1,5 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2015 Open Networking Laboratory
+ ~ Copyright 2015-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -26,4 +27,11 @@
<packaging>bundle</packaging>
<description>PCEP protocol API</description>
+
+ <properties>
+ <onos.app.name>org.onosproject.pcep-api</onos.app.name>
+ <onos.app.category>default</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>PCEP protocol API.</onos.app.readme>
+ </properties>
</project>
\ No newline at end of file
diff --git a/apps/pim/pom.xml b/apps/pim/pom.xml
index 71f4a22..02013f7 100644
--- a/apps/pim/pom.xml
+++ b/apps/pim/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2015 Open Networking Laboratory
+ ~ Copyright 2015-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -33,6 +33,9 @@
<properties>
<onos.app.name>org.onosproject.pim</onos.app.name>
+ <onos.app.category>default</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>Protocol independent multicast emulation.</onos.app.readme>
</properties>
<dependencies>
diff --git a/apps/proxyarp/pom.xml b/apps/proxyarp/pom.xml
index eeca9f2..4dda8aa 100644
--- a/apps/proxyarp/pom.xml
+++ b/apps/proxyarp/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2014 Open Networking Laboratory
+ ~ Copyright 2014-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -33,6 +33,9 @@
<properties>
<onos.app.name>org.onosproject.proxyarp</onos.app.name>
+ <onos.app.category>default</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>Proxy ARP/NDP application.</onos.app.readme>
</properties>
<dependencies>
diff --git a/apps/reactive-routing/pom.xml b/apps/reactive-routing/pom.xml
index 37527e6..ba43d94 100644
--- a/apps/reactive-routing/pom.xml
+++ b/apps/reactive-routing/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2015 Open Networking Laboratory
+ ~ Copyright 2015-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -33,6 +33,9 @@
<properties>
<onos.app.name>org.onosproject.reactive.routing</onos.app.name>
+ <onos.app.category>default</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>SDN-IP reactive routing application.</onos.app.readme>
</properties>
<dependencies>
diff --git a/apps/routing-api/pom.xml b/apps/routing-api/pom.xml
index f02ca94..a7f806a 100644
--- a/apps/routing-api/pom.xml
+++ b/apps/routing-api/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2015 Open Networking Laboratory
+ ~ Copyright 2015-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -30,6 +30,13 @@
<packaging>bundle</packaging>
<description>API for routing applications</description>
+ <properties>
+ <onos.app.name>org.onosproject.routing-api</onos.app.name>
+ <onos.app.category>default</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>API for routing applications.</onos.app.readme>
+ </properties>
+
<dependencies>
<dependency>
<groupId>org.onosproject</groupId>
diff --git a/apps/routing/pom.xml b/apps/routing/pom.xml
index 51bd396..b1de5f3 100644
--- a/apps/routing/pom.xml
+++ b/apps/routing/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2015 Open Networking Laboratory
+ ~ Copyright 2015-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -30,6 +30,13 @@
<packaging>bundle</packaging>
<description>Libraries for routing applications</description>
+ <properties>
+ <onos.app.name>org.onosproject.routing</onos.app.name>
+ <onos.app.category>default</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>SDN-IP reactive routing application.</onos.app.readme>
+ </properties>
+
<dependencies>
<dependency>
<groupId>org.onosproject</groupId>
diff --git a/apps/sdnip/app.xml b/apps/sdnip/app.xml
index 7aafa6a..54ddd40 100644
--- a/apps/sdnip/app.xml
+++ b/apps/sdnip/app.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2015 Open Networking Laboratory
+ ~ Copyright 2015-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -15,9 +15,11 @@
~ limitations under the License.
-->
<app name="org.onosproject.sdnip" origin="ON.Lab" version="${project.version}"
+ category="default" url="http://onosproject.org"
featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"
features="${project.artifactId}">
<description>${project.description}</description>
+ <readme>SDN-IP peering application.</readme>
<artifact>mvn:${project.groupId}/${project.artifactId}/${project.version}</artifact>
<artifact>mvn:${project.groupId}/onos-app-routing-api/${project.version}</artifact>
<artifact>mvn:${project.groupId}/onos-app-routing/${project.version}</artifact>
diff --git a/apps/sdnip/pom.xml b/apps/sdnip/pom.xml
index ddfcdb7..506bc60 100644
--- a/apps/sdnip/pom.xml
+++ b/apps/sdnip/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2014 Open Networking Laboratory
+ ~ Copyright 2014-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
diff --git a/apps/segmentrouting/pom.xml b/apps/segmentrouting/pom.xml
index 1f73e2a..3f59618 100644
--- a/apps/segmentrouting/pom.xml
+++ b/apps/segmentrouting/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2014 Open Networking Laboratory
+ ~ Copyright 2014-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -32,6 +32,9 @@
<properties>
<onos.app.name>org.onosproject.segmentrouting</onos.app.name>
+ <onos.app.category>default</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>Segment routing application.</onos.app.readme>
<web.context>/onos/segmentrouting</web.context>
<api.version>1.0.0</api.version>
<api.title>ONOS Segment Routing REST API</api.title>
diff --git a/apps/test/demo/pom.xml b/apps/test/demo/pom.xml
index 2110abc..a9ab016 100644
--- a/apps/test/demo/pom.xml
+++ b/apps/test/demo/pom.xml
@@ -33,6 +33,9 @@
<properties>
<onos.app.name>org.onosproject.demo</onos.app.name>
+ <onos.app.category>test</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>Flow throughput test application.</onos.app.readme>
<web.context>/onos/demo</web.context>
<api.title>ONOS Flow Throughput Test App API</api.title>
<api.description>
diff --git a/apps/test/distributed-primitives/pom.xml b/apps/test/distributed-primitives/pom.xml
index e4fe505..5ccf518 100644
--- a/apps/test/distributed-primitives/pom.xml
+++ b/apps/test/distributed-primitives/pom.xml
@@ -34,6 +34,9 @@
<properties>
<onos.app.name>org.onosproject.distributedprimitives</onos.app.name>
+ <onos.app.category>test</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>ONOS app to test distributed primitives.</onos.app.readme>
</properties>
<dependencies>
diff --git a/apps/test/election/pom.xml b/apps/test/election/pom.xml
index afc6a4f..cca0025 100644
--- a/apps/test/election/pom.xml
+++ b/apps/test/election/pom.xml
@@ -34,6 +34,9 @@
<properties>
<onos.app.name>org.onosproject.election</onos.app.name>
+ <onos.app.category>test</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>Master election test application.</onos.app.readme>
</properties>
<dependencies>
diff --git a/apps/test/intent-perf/pom.xml b/apps/test/intent-perf/pom.xml
index 4114aaa..1f85c02 100644
--- a/apps/test/intent-perf/pom.xml
+++ b/apps/test/intent-perf/pom.xml
@@ -33,6 +33,9 @@
<properties>
<onos.app.name>org.onosproject.intentperf</onos.app.name>
+ <onos.app.category>test</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>intent performance test application.</onos.app.readme>
</properties>
<dependencies>
diff --git a/apps/test/messaging-perf/pom.xml b/apps/test/messaging-perf/pom.xml
index dbe2a29..b8f3f08 100644
--- a/apps/test/messaging-perf/pom.xml
+++ b/apps/test/messaging-perf/pom.xml
@@ -33,6 +33,9 @@
<properties>
<onos.app.name>org.onosproject.messagingperf</onos.app.name>
+ <onos.app.category>test</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>Messaging performance test application.</onos.app.readme>
</properties>
<dependencies>
diff --git a/apps/virtualbng/pom.xml b/apps/virtualbng/pom.xml
index f3252e1..1588064 100644
--- a/apps/virtualbng/pom.xml
+++ b/apps/virtualbng/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2015 Open Networking Laboratory
+ ~ Copyright 2015-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -33,6 +33,9 @@
<properties>
<onos.app.name>org.onosproject.virtualbng</onos.app.name>
+ <onos.app.category>default</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>Virtual broadband gateway application.</onos.app.readme>
<web.context>/onos/virtualbng</web.context>
<api.version>1.0.0</api.version>
<api.title>ONOS Virtual BNG Gateway REST API</api.title>
diff --git a/apps/vrouter/app.xml b/apps/vrouter/app.xml
index 9dc3dc4..eeaa7d4 100644
--- a/apps/vrouter/app.xml
+++ b/apps/vrouter/app.xml
@@ -15,9 +15,11 @@
~ limitations under the License.
-->
<app name="org.onosproject.vrouter" origin="ON.Lab" version="${project.version}"
+ category="default" url="http://onosproject.org"
featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"
features="${project.artifactId}">
<description>${project.description}</description>
+ <readme>Virtual router application.</readme>
<artifact>mvn:${project.groupId}/${project.artifactId}/${project.version}</artifact>
<artifact>mvn:${project.groupId}/onos-app-routing-api/${project.version}</artifact>
<artifact>mvn:${project.groupId}/onos-app-routing/${project.version}</artifact>
diff --git a/apps/vrouter/pom.xml b/apps/vrouter/pom.xml
index 8a58c84..8d7d556 100644
--- a/apps/vrouter/pom.xml
+++ b/apps/vrouter/pom.xml
@@ -34,8 +34,6 @@
<properties>
<onos.version>1.5.0-SNAPSHOT</onos.version>
- <onos.app.name>org.onosproject.vrouter</onos.app.name>
- <onos.app.origin>ON.Lab</onos.app.origin>
</properties>
<dependencies>
diff --git a/apps/vtn/app/app.xml b/apps/vtn/app/app.xml
index 37bba34..5834bb4 100644
--- a/apps/vtn/app/app.xml
+++ b/apps/vtn/app/app.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2015 Open Networking Laboratory
+ ~ Copyright 2015-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -15,10 +15,11 @@
~ limitations under the License.
-->
<app name="org.onosproject.vtn" origin="ON.Lab" version="${project.version}"
+ category="default" url="http://onosproject.org"
featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"
features="${project.artifactId}">
<description>${project.description}</description>
-
+ <readme>Virtual tenant network application.</readme>
<artifact>mvn:${project.groupId}/onos-app-vtn-mgr/${project.version}</artifact>
<artifact>mvn:${project.groupId}/onos-app-sfc-mgr/${project.version}</artifact>
<artifact>mvn:${project.groupId}/onos-app-vtn-web/${project.version}</artifact>
diff --git a/apps/vtn/app/pom.xml b/apps/vtn/app/pom.xml
index 7f209ed..f148df9 100644
--- a/apps/vtn/app/pom.xml
+++ b/apps/vtn/app/pom.xml
@@ -1,12 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- ~ Copyright 2014 Open Networking Laboratory ~ ~ Licensed under the Apache
- License, Version 2.0 (the "License"); ~ you may not use this file except
- in compliance with the License. ~ You may obtain a copy of the License at
- ~ ~ http://www.apache.org/licenses/LICENSE-2.0 ~ ~ Unless required by applicable
- law or agreed to in writing, software ~ distributed under the License is
- distributed on an "AS IS" BASIS, ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. ~ See the License for the specific language
- governing permissions and ~ limitations under the License. -->
+<!--
+ ~ Copyright 2014-2016 Open Networking Laboratory
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
diff --git a/apps/vtn/sfcmgr/pom.xml b/apps/vtn/sfcmgr/pom.xml
index 32e65a3..88dda53 100644
--- a/apps/vtn/sfcmgr/pom.xml
+++ b/apps/vtn/sfcmgr/pom.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright 2015 Open Networking Laboratory
~
diff --git a/apps/vtn/vtnmgr/pom.xml b/apps/vtn/vtnmgr/pom.xml
index b087f84..bc5b7ab 100644
--- a/apps/vtn/vtnmgr/pom.xml
+++ b/apps/vtn/vtnmgr/pom.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright 2015 Open Networking Laboratory
~
diff --git a/apps/vtn/vtnrsc/pom.xml b/apps/vtn/vtnrsc/pom.xml
index b134361..b2f1e6b 100644
--- a/apps/vtn/vtnrsc/pom.xml
+++ b/apps/vtn/vtnrsc/pom.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright 2015 Open Networking Laboratory
~
diff --git a/apps/vtn/vtnweb/pom.xml b/apps/vtn/vtnweb/pom.xml
index b448b35..fdbfe00 100644
--- a/apps/vtn/vtnweb/pom.xml
+++ b/apps/vtn/vtnweb/pom.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright 2015 Open Networking Laboratory
~
diff --git a/apps/xos-integration/pom.xml b/apps/xos-integration/pom.xml
index 07e1f7c..e9994c7 100644
--- a/apps/xos-integration/pom.xml
+++ b/apps/xos-integration/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2014 Open Networking Laboratory
+ ~ Copyright 2014-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -33,6 +33,9 @@
<properties>
<onos.app.name>org.onosproject.xosintegration</onos.app.name>
+ <onos.app.category>default</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>ONOS XOS integration application.</onos.app.readme>
</properties>
<dependencies>
diff --git a/core/api/src/main/java/org/onosproject/app/ApplicationDescription.java b/core/api/src/main/java/org/onosproject/app/ApplicationDescription.java
index e8ff9ec..1528f35 100644
--- a/core/api/src/main/java/org/onosproject/app/ApplicationDescription.java
+++ b/core/api/src/main/java/org/onosproject/app/ApplicationDescription.java
@@ -44,6 +44,13 @@
Version version();
/**
+ * Returns the name of the application origin, group or company.
+ *
+ * @return application origin
+ */
+ String origin();
+
+ /**
* Returns description of the application.
*
* @return application description text
@@ -51,11 +58,32 @@
String description();
/**
- * Returns the name of the application origin, group or company.
+ * Returns category of the application.
*
- * @return application origin
+ * @return application category text
*/
- String origin();
+ String category();
+
+ /**
+ * Returns url of the application.
+ *
+ * @return application url
+ */
+ String url();
+
+ /**
+ * Returns readme of the application.
+ *
+ * @return application readme
+ */
+ String readme();
+
+ /**
+ * Returns icon of the application.
+ *
+ * @return application icon
+ */
+ byte[] icon();
/**
* Returns the role of the application.
diff --git a/core/api/src/main/java/org/onosproject/app/DefaultApplicationDescription.java b/core/api/src/main/java/org/onosproject/app/DefaultApplicationDescription.java
index 569183a..3e52001 100644
--- a/core/api/src/main/java/org/onosproject/app/DefaultApplicationDescription.java
+++ b/core/api/src/main/java/org/onosproject/app/DefaultApplicationDescription.java
@@ -37,6 +37,10 @@
private final Version version;
private final String description;
private final String origin;
+ private final String category;
+ private final String url;
+ private final String readme;
+ private final byte[] icon;
private final ApplicationRole role;
private final Set<Permission> permissions;
private final Optional<URI> featuresRepo;
@@ -50,6 +54,10 @@
* @param version application version
* @param description application description
* @param origin origin company
+ * @param category application category
+ * @param url application URL
+ * @param readme application readme
+ * @param icon application icon
* @param role application role
* @param permissions requested permissions
* @param featuresRepo optional features repo URI
@@ -57,7 +65,8 @@
* @param requiredApps list of required application names
*/
public DefaultApplicationDescription(String name, Version version,
- String description, String origin,
+ String description, String origin, String category,
+ String url, String readme, byte[] icon,
ApplicationRole role, Set<Permission> permissions,
URI featuresRepo, List<String> features,
List<String> requiredApps) {
@@ -65,6 +74,10 @@
this.version = checkNotNull(version, "Version cannot be null");
this.description = checkNotNull(description, "Description cannot be null");
this.origin = checkNotNull(origin, "Origin cannot be null");
+ this.category = checkNotNull(category, "Category cannot be null");
+ this.url = checkNotNull(url, "URL cannot be null");
+ this.readme = readme;
+ this.icon = icon;
this.role = checkNotNull(role, "Role cannot be null");
this.permissions = checkNotNull(permissions, "Permissions cannot be null");
this.featuresRepo = Optional.ofNullable(featuresRepo);
@@ -89,6 +102,26 @@
}
@Override
+ public String category() {
+ return category;
+ }
+
+ @Override
+ public String url() {
+ return url;
+ }
+
+ @Override
+ public String readme() {
+ return readme;
+ }
+
+ @Override
+ public byte[] icon() {
+ return icon;
+ }
+
+ @Override
public String origin() {
return origin;
}
@@ -125,6 +158,9 @@
.add("version", version)
.add("description", description)
.add("origin", origin)
+ .add("category", category)
+ .add("url", url)
+ .add("readme", readme)
.add("role", role)
.add("permissions", permissions)
.add("featuresRepo", featuresRepo)
diff --git a/core/api/src/main/java/org/onosproject/core/Application.java b/core/api/src/main/java/org/onosproject/core/Application.java
index ea2eab9..8700cad 100644
--- a/core/api/src/main/java/org/onosproject/core/Application.java
+++ b/core/api/src/main/java/org/onosproject/core/Application.java
@@ -49,6 +49,34 @@
String description();
/**
+ * Returns category of the application.
+ *
+ * @return application category text
+ */
+ String category();
+
+ /**
+ * Returns url of the application.
+ *
+ * @return application url
+ */
+ String url();
+
+ /**
+ * Returns readme of the application.
+ *
+ * @return application readme
+ */
+ String readme();
+
+ /**
+ * Returns icon of the application.
+ *
+ * @return application icon
+ */
+ byte[] icon();
+
+ /**
* Returns the name of the application origin, group or company.
*
* @return application origin
diff --git a/core/api/src/main/java/org/onosproject/core/DefaultApplication.java b/core/api/src/main/java/org/onosproject/core/DefaultApplication.java
index c351563..8d63600 100644
--- a/core/api/src/main/java/org/onosproject/core/DefaultApplication.java
+++ b/core/api/src/main/java/org/onosproject/core/DefaultApplication.java
@@ -35,6 +35,10 @@
private final ApplicationId appId;
private final Version version;
private final String description;
+ private final String category;
+ private final String url;
+ private final String readme;
+ private final byte[] icon;
private final String origin;
private final ApplicationRole role;
private final Set<Permission> permissions;
@@ -49,6 +53,10 @@
* @param version application version
* @param description application description
* @param origin origin company
+ * @param category application category
+ * @param url application URL
+ * @param readme application readme
+ * @param icon application icon
* @param role application role
* @param permissions requested permissions
* @param featuresRepo optional features repo URI
@@ -56,7 +64,8 @@
* @param requiredApps list of required application names
*/
public DefaultApplication(ApplicationId appId, Version version,
- String description, String origin,
+ String description, String origin, String category,
+ String url, String readme, byte[] icon,
ApplicationRole role, Set<Permission> permissions,
Optional<URI> featuresRepo, List<String> features,
List<String> requiredApps) {
@@ -64,6 +73,10 @@
this.version = checkNotNull(version, "Version cannot be null");
this.description = checkNotNull(description, "Description cannot be null");
this.origin = checkNotNull(origin, "Origin cannot be null");
+ this.category = checkNotNull(category, "Category cannot be null");
+ this.url = checkNotNull(url, "URL cannot be null");
+ this.readme = readme;
+ this.icon = icon;
this.role = checkNotNull(role, "Role cannot be null");
this.permissions = checkNotNull(permissions, "Permissions cannot be null");
this.featuresRepo = checkNotNull(featuresRepo, "Features repo cannot be null");
@@ -88,6 +101,26 @@
}
@Override
+ public String category() {
+ return category;
+ }
+
+ @Override
+ public String url() {
+ return url;
+ }
+
+ @Override
+ public String readme() {
+ return readme;
+ }
+
+ @Override
+ public byte[] icon() {
+ return icon;
+ }
+
+ @Override
public String origin() {
return origin;
}
@@ -119,8 +152,8 @@
@Override
public int hashCode() {
- return Objects.hash(appId, version, description, origin, role, permissions,
- featuresRepo, features, requiredApps);
+ return Objects.hash(appId, version, description, origin, category, url,
+ readme, role, permissions, featuresRepo, features, requiredApps);
}
@Override
@@ -136,6 +169,9 @@
Objects.equals(this.version, other.version) &&
Objects.equals(this.description, other.description) &&
Objects.equals(this.origin, other.origin) &&
+ Objects.equals(this.category, other.category) &&
+ Objects.equals(this.url, other.url) &&
+ Objects.equals(this.readme, other.readme) &&
Objects.equals(this.role, other.role) &&
Objects.equals(this.permissions, other.permissions) &&
Objects.equals(this.featuresRepo, other.featuresRepo) &&
@@ -150,6 +186,9 @@
.add("version", version)
.add("description", description)
.add("origin", origin)
+ .add("category", category)
+ .add("url", url)
+ .add("readme", readme)
.add("role", role)
.add("permissions", permissions)
.add("featuresRepo", featuresRepo)
diff --git a/core/api/src/test/java/org/onosproject/app/ApplicationEventTest.java b/core/api/src/test/java/org/onosproject/app/ApplicationEventTest.java
index 34c593c..0d4ae4c 100644
--- a/core/api/src/test/java/org/onosproject/app/ApplicationEventTest.java
+++ b/core/api/src/test/java/org/onosproject/app/ApplicationEventTest.java
@@ -32,8 +32,9 @@
public class ApplicationEventTest extends AbstractEventTest {
private Application createApp() {
- return new DefaultApplication(APP_ID, VER, DESC, ORIGIN, ROLE,
- PERMS, Optional.of(FURL), FEATURES, APPS);
+ return new DefaultApplication(APP_ID, VER, DESC, ORIGIN, CATEGORY,
+ URL, README, ICON, ROLE, PERMS,
+ Optional.of(FURL), FEATURES, APPS);
}
@Test
diff --git a/core/api/src/test/java/org/onosproject/app/DefaultApplicationDescriptionTest.java b/core/api/src/test/java/org/onosproject/app/DefaultApplicationDescriptionTest.java
index 0e93c1f..e01d4d8 100644
--- a/core/api/src/test/java/org/onosproject/app/DefaultApplicationDescriptionTest.java
+++ b/core/api/src/test/java/org/onosproject/app/DefaultApplicationDescriptionTest.java
@@ -40,6 +40,10 @@
public static final Version VER = Version.version(1, 2, "a", null);
public static final String DESC = "Awesome application from Circus, Inc.";
public static final String ORIGIN = "Circus";
+ public static final String CATEGORY = "other";
+ public static final String URL = "http://www.onosproject.org";
+ public static final String README = "Awesome application from Circus, Inc.";
+ public static final byte[] ICON = new byte[] {};
public static final ApplicationRole ROLE = ApplicationRole.ADMIN;
public static final Set<Permission> PERMS = ImmutableSet.of(
new Permission(AppPermission.class.getName(), "FLOWRULE_WRITE"),
@@ -52,17 +56,20 @@
public void basics() {
ApplicationDescription app =
new DefaultApplicationDescription(APP_NAME, VER, DESC, ORIGIN,
+ CATEGORY, URL, README, ICON,
ROLE, PERMS, FURL, FEATURES, APPS);
assertEquals("incorrect id", APP_NAME, app.name());
assertEquals("incorrect version", VER, app.version());
assertEquals("incorrect description", DESC, app.description());
assertEquals("incorrect origin", ORIGIN, app.origin());
- assertEquals("incorect role", ROLE, app.role());
+ assertEquals("incorrect category", CATEGORY, app.category());
+ assertEquals("incorrect URL", URL, app.url());
+ assertEquals("incorrect readme", README, app.readme());
+ assertEquals("incorrect role", ROLE, app.role());
assertEquals("incorrect permissions", PERMS, app.permissions());
assertEquals("incorrect features repo", FURL, app.featuresRepo().get());
assertEquals("incorrect features", FEATURES, app.features());
assertEquals("incorrect apps", APPS, app.requiredApps());
assertTrue("incorrect toString", app.toString().contains(APP_NAME));
}
-
}
\ No newline at end of file
diff --git a/core/api/src/test/java/org/onosproject/core/DefaultApplicationTest.java b/core/api/src/test/java/org/onosproject/core/DefaultApplicationTest.java
index 77b3812..6cb0d0c 100644
--- a/core/api/src/test/java/org/onosproject/core/DefaultApplicationTest.java
+++ b/core/api/src/test/java/org/onosproject/core/DefaultApplicationTest.java
@@ -33,12 +33,17 @@
@Test
public void basics() {
- Application app = new DefaultApplication(APP_ID, VER, DESC, ORIGIN, ROLE,
+ Application app = new DefaultApplication(APP_ID, VER, DESC, ORIGIN,
+ CATEGORY, URL, README, ICON, ROLE,
PERMS, Optional.of(FURL), FEATURES, APPS);
assertEquals("incorrect id", APP_ID, app.id());
assertEquals("incorrect version", VER, app.version());
assertEquals("incorrect description", DESC, app.description());
assertEquals("incorrect origin", ORIGIN, app.origin());
+ assertEquals("incorrect category", CATEGORY, app.category());
+ assertEquals("incorrect URL", URL, app.url());
+ assertEquals("incorrect readme", README, app.readme());
+ assertEquals("incorrect icon", ICON, app.icon());
assertEquals("incorrect role", ROLE, app.role());
assertEquals("incorrect permissions", PERMS, app.permissions());
assertEquals("incorrect features repo", FURL, app.featuresRepo().get());
@@ -49,16 +54,19 @@
@Test
public void testEquality() {
- Application a1 = new DefaultApplication(APP_ID, VER, DESC, ORIGIN, ROLE,
+ Application a1 = new DefaultApplication(APP_ID, VER, DESC, ORIGIN,
+ CATEGORY, URL, README, ICON, ROLE,
PERMS, Optional.of(FURL), FEATURES, APPS);
- Application a2 = new DefaultApplication(APP_ID, VER, DESC, ORIGIN, ROLE,
+ Application a2 = new DefaultApplication(APP_ID, VER, DESC, ORIGIN,
+ CATEGORY, URL, README, ICON, ROLE,
PERMS, Optional.of(FURL), FEATURES, APPS);
- Application a3 = new DefaultApplication(APP_ID, VER, DESC, ORIGIN, ROLE,
+ Application a3 = new DefaultApplication(APP_ID, VER, DESC, ORIGIN,
+ CATEGORY, URL, README, ICON, ROLE,
PERMS, Optional.empty(), FEATURES, APPS);
- Application a4 = new DefaultApplication(APP_ID, VER, DESC, ORIGIN + "asd", ROLE,
+ Application a4 = new DefaultApplication(APP_ID, VER, DESC, ORIGIN + "asd",
+ CATEGORY, URL, README, ICON, ROLE,
PERMS, Optional.of(FURL), FEATURES, APPS);
new EqualsTester().addEqualityGroup(a1, a2)
.addEqualityGroup(a3).addEqualityGroup(a4).testEquals();
}
-
}
\ No newline at end of file
diff --git a/core/common/src/main/java/org/onosproject/common/app/ApplicationArchive.java b/core/common/src/main/java/org/onosproject/common/app/ApplicationArchive.java
index ab03ab2..42f8c9c 100644
--- a/core/common/src/main/java/org/onosproject/common/app/ApplicationArchive.java
+++ b/core/common/src/main/java/org/onosproject/common/app/ApplicationArchive.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2015 Open Networking Laboratory
+ * Copyright 2015-2016 Open Networking Laboratory
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -23,6 +23,7 @@
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.HierarchicalConfiguration;
import org.apache.commons.configuration.XMLConfiguration;
+import org.apache.commons.lang.StringUtils;
import org.onlab.util.Tools;
import org.onosproject.app.ApplicationDescription;
import org.onosproject.app.ApplicationEvent;
@@ -37,6 +38,10 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import javax.imageio.ImageIO;
+import java.awt.image.BufferedImage;
+import java.awt.image.DataBufferByte;
+import java.awt.image.WritableRaster;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
@@ -81,6 +86,10 @@
private static final String APPS = "[@apps]";
private static final String DESCRIPTION = "description";
+ private static final String CATEGORY = "[@category]";
+ private static final String URL = "[@url]";
+ private static final String README = "readme";
+
private static final String ROLE = "security.role";
private static final String APP_PERMISSIONS = "security.permissions.app-perm";
private static final String NET_PERMISSIONS = "security.permissions.net-perm";
@@ -88,6 +97,7 @@
private static final String OAR = ".oar";
private static final String APP_XML = "app.xml";
+ private static final String ICON_PNG = "icon.png";
private static final String M2_PREFIX = "m2";
private static final String ROOT = "../";
@@ -283,8 +293,10 @@
private ApplicationDescription loadAppDescription(XMLConfiguration cfg) {
String name = cfg.getString(NAME);
Version version = Version.version(cfg.getString(VERSION));
- String desc = cfg.getString(DESCRIPTION);
String origin = cfg.getString(ORIGIN);
+ String category = cfg.getString(CATEGORY);
+ String url = cfg.getString(URL);
+ byte[] icon = getApplicationIcon(name);
ApplicationRole role = getRole(cfg.getString(ROLE));
Set<Permission> perms = getPermissions(cfg);
String featRepo = cfg.getString(FEATURES_REPO);
@@ -295,7 +307,17 @@
List<String> requiredApps = apps.isEmpty() ?
ImmutableList.of() : ImmutableList.copyOf(apps.split(","));
- return new DefaultApplicationDescription(name, version, desc, origin, role,
+ String desc = cfg.getString(DESCRIPTION);
+ String readme = cfg.getString(README);
+
+ if (readme == null) {
+ readme = desc;
+ } else {
+ desc = compactDescription(readme);
+ }
+
+ return new DefaultApplicationDescription(name, version, desc, origin,
+ category, url, readme, icon, role,
perms, featuresRepo, features,
requiredApps);
}
@@ -387,7 +409,6 @@
return appFile(appName, "active").exists();
}
-
// Returns the name of the file located under the specified app directory.
private File appFile(String appName, String fileName) {
return new File(new File(appsDir, appName), fileName);
@@ -420,7 +441,33 @@
return ImmutableSet.copyOf(permissionList);
}
- //
+ // Returns the byte stream from icon.png file in oar application archive.
+ private byte[] getApplicationIcon(String appName) {
+ // open image
+ File iconFile = appFile(appName, ICON_PNG);
+
+ if (!iconFile.exists()) {
+ iconFile = new File(appsDir, ICON_PNG);
+ }
+
+ if (!iconFile.exists()) {
+ return null;
+ }
+
+ BufferedImage bufferedImage = null;
+ try {
+ bufferedImage = ImageIO.read(iconFile);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ // get DataBufferBytes from Raster
+ WritableRaster raster = bufferedImage .getRaster();
+ DataBufferByte data = (DataBufferByte) raster.getDataBuffer();
+
+ return data.getData();
+ }
+
// Returns application role type
public ApplicationRole getRole(String value) {
if (value == null) {
@@ -434,4 +481,16 @@
}
}
}
+
+ // Returns the first sentence of the given sentence
+ private String compactDescription(String sentence) {
+ if (StringUtils.isNotEmpty(sentence)) {
+ if (StringUtils.contains(sentence, ".")) {
+ return StringUtils.substringBefore(sentence, ".") + ".";
+ } else {
+ return sentence + ".";
+ }
+ }
+ return sentence;
+ }
}
diff --git a/core/common/src/test/java/org/onosproject/common/app/ApplicationArchiveTest.java b/core/common/src/test/java/org/onosproject/common/app/ApplicationArchiveTest.java
index 97012c4..b8cda1c 100644
--- a/core/common/src/test/java/org/onosproject/common/app/ApplicationArchiveTest.java
+++ b/core/common/src/test/java/org/onosproject/common/app/ApplicationArchiveTest.java
@@ -60,6 +60,10 @@
assertEquals("incorrect origin", ORIGIN, app.origin());
assertEquals("incorrect role", ROLE, app.role());
+ assertEquals("incorrect category", CATEGORY, app.category());
+ assertEquals("incorrect url", URL, app.url());
+ assertEquals("incorrect readme", README, app.readme());
+
assertEquals("incorrect description", DESC, app.description());
assertEquals("incorrect features URI", FURL, app.featuresRepo().get());
assertEquals("incorrect permissions", PERMS, app.permissions());
diff --git a/core/common/src/test/java/org/onosproject/store/trivial/SimpleApplicationStore.java b/core/common/src/test/java/org/onosproject/store/trivial/SimpleApplicationStore.java
index d9f5285..98c18b4 100644
--- a/core/common/src/test/java/org/onosproject/store/trivial/SimpleApplicationStore.java
+++ b/core/common/src/test/java/org/onosproject/store/trivial/SimpleApplicationStore.java
@@ -74,6 +74,8 @@
DefaultApplication app =
new DefaultApplication(appId, appDesc.version(),
appDesc.description(), appDesc.origin(),
+ appDesc.category(), appDesc.url(),
+ appDesc.readme(), appDesc.icon(),
appDesc.role(), appDesc.permissions(),
appDesc.featuresRepo(), appDesc.features(),
appDesc.requiredApps());
@@ -117,7 +119,9 @@
ApplicationId appId = idStore.registerApplication(appDesc.name());
DefaultApplication app =
new DefaultApplication(appId, appDesc.version(), appDesc.description(),
- appDesc.origin(), appDesc.role(), appDesc.permissions(),
+ appDesc.origin(), appDesc.category(), appDesc.url(),
+ appDesc.readme(), appDesc.icon(),
+ appDesc.role(), appDesc.permissions(),
appDesc.featuresRepo(), appDesc.features(),
appDesc.requiredApps());
apps.put(appId, app);
diff --git a/core/common/src/test/resources/org/onosproject/common/app/app.xml b/core/common/src/test/resources/org/onosproject/common/app/app.xml
index 0d91a73..6e58cb8 100644
--- a/core/common/src/test/resources/org/onosproject/common/app/app.xml
+++ b/core/common/src/test/resources/org/onosproject/common/app/app.xml
@@ -1,5 +1,5 @@
<!--
- ~ Copyright 2015 Open Networking Laboratory
+ ~ Copyright 2015-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -13,9 +13,9 @@
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
-<app name="org.foo.app" origin="Circus" version="1.2.a"
- featuresRepo="mvn:org.foo-features/1.2a/xml/features"
- features="foo,bar">
+<app name="org.foo.app" origin="Circus" version="1.2.a" category="other"
+ url="http://www.onosproject.org" featuresRepo="mvn:org.foo-features/1.2a/xml/features"
+ readme="Awesome application from Circus, Inc." features="foo,bar">
<description>Awesome application from Circus, Inc.</description>
<security>
<role>ADMIN</role>
@@ -23,7 +23,5 @@
<app-perm>FLOWRULE_WRITE</app-perm>
<app-perm>FLOWRULE_READ</app-perm>
</permissions>
-
</security>
-
</app>
diff --git a/core/common/src/test/resources/org/onosproject/common/app/app.zip b/core/common/src/test/resources/org/onosproject/common/app/app.zip
index 436cd75..9d48b8f 100644
--- a/core/common/src/test/resources/org/onosproject/common/app/app.zip
+++ b/core/common/src/test/resources/org/onosproject/common/app/app.zip
Binary files differ
diff --git a/core/net/src/test/java/org/onosproject/app/impl/ApplicationManagerTest.java b/core/net/src/test/java/org/onosproject/app/impl/ApplicationManagerTest.java
index a99fd21..f66fb4d 100644
--- a/core/net/src/test/java/org/onosproject/app/impl/ApplicationManagerTest.java
+++ b/core/net/src/test/java/org/onosproject/app/impl/ApplicationManagerTest.java
@@ -138,7 +138,8 @@
@Override
public Application create(InputStream appDescStream) {
- app = new DefaultApplication(APP_ID, VER, DESC, ORIGIN, ROLE, PERMS,
+ app = new DefaultApplication(APP_ID, VER, DESC, ORIGIN, CATEGORY,
+ URL, README, ICON, ROLE, PERMS,
Optional.of(FURL), FEATURES, ImmutableList.of());
state = INSTALLED;
delegate.notify(new ApplicationEvent(APP_INSTALLED, app));
diff --git a/core/store/dist/src/main/java/org/onosproject/store/app/GossipApplicationStore.java b/core/store/dist/src/main/java/org/onosproject/store/app/GossipApplicationStore.java
index 8ef0d5b..a762659 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/app/GossipApplicationStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/app/GossipApplicationStore.java
@@ -505,8 +505,9 @@
private Application registerApp(ApplicationDescription appDesc) {
ApplicationId appId = idStore.registerApplication(appDesc.name());
return new DefaultApplication(appId, appDesc.version(), appDesc.description(),
- appDesc.origin(), appDesc.role(), appDesc.permissions(),
- appDesc.featuresRepo(), appDesc.features(),
- appDesc.requiredApps());
+ appDesc.origin(), appDesc.category(), appDesc.url(),
+ appDesc.readme(), appDesc.icon(), appDesc.role(),
+ appDesc.permissions(), appDesc.featuresRepo(),
+ appDesc.features(), appDesc.requiredApps());
}
}
diff --git a/providers/bgp/app/app.xml b/providers/bgp/app/app.xml
index d59b81a..aa5ddd1 100755
--- a/providers/bgp/app/app.xml
+++ b/providers/bgp/app/app.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2015 Open Networking Laboratory
+ ~ Copyright 2015-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -15,9 +15,11 @@
~ limitations under the License.
-->
<app name="org.onosproject.bgp" origin="ON.Lab" version="${project.version}"
+ category="default" url="http://onosproject.org"
featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"
features="${project.artifactId}">
<description>${project.description}</description>
+ <readme>BGP protocol southbound providers.</readme>
<artifact>mvn:${project.groupId}/onos-bgpio/${project.version}</artifact>
<artifact>mvn:${project.groupId}/onos-bgp-api/${project.version}</artifact>
<artifact>mvn:${project.groupId}/onos-bgp-ctl/${project.version}</artifact>
diff --git a/providers/bgp/app/pom.xml b/providers/bgp/app/pom.xml
index 55451a9..b4b6b83 100755
--- a/providers/bgp/app/pom.xml
+++ b/providers/bgp/app/pom.xml
@@ -1,5 +1,5 @@
<!--
- ~ Copyright 2015 Open Networking Laboratory
+ ~ Copyright 2015-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -13,40 +13,41 @@
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
-<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">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.onosproject</groupId>
- <artifactId>onos-bgp-providers</artifactId>
- <version>1.5.0-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
+<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">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onos-bgp-providers</artifactId>
+ <version>1.5.0-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
- <artifactId>onos-bgp-app</artifactId>
- <packaging>pom</packaging>
- <description>BGP protocol southbound providers</description>
+ <artifactId>onos-bgp-app</artifactId>
+ <packaging>pom</packaging>
+ <description>BGP protocol southbound providers</description>
- <dependencies>
- <dependency>
- <groupId>org.onosproject</groupId>
- <artifactId>onos-bgpio</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.onosproject</groupId>
- <artifactId>onos-bgp-api</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.onosproject</groupId>
- <artifactId>onos-bgp-ctl</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.onosproject</groupId>
- <artifactId>onos-bgp-provider-topology</artifactId>
- <version>${project.version}</version>
- </dependency>
- </dependencies>
+ <dependencies>
+ <dependency>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onos-bgpio</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onos-bgp-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onos-bgp-ctl</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onos-bgp-provider-topology</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
</project>
diff --git a/providers/host/pom.xml b/providers/host/pom.xml
index 3debdd1..e32488a 100644
--- a/providers/host/pom.xml
+++ b/providers/host/pom.xml
@@ -31,6 +31,10 @@
<properties>
<onos.app.name>org.onosproject.hostprovider</onos.app.name>
+ <onos.app.origin>ON.Lab</onos.app.origin>
+ <onos.app.category>default</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>ONOS host location provider.</onos.app.readme>
</properties>
<description>ONOS host location provider</description>
diff --git a/providers/lldp/pom.xml b/providers/lldp/pom.xml
index 206e200..03f945d 100644
--- a/providers/lldp/pom.xml
+++ b/providers/lldp/pom.xml
@@ -32,6 +32,10 @@
<properties>
<onos.app.name>org.onosproject.lldpprovider</onos.app.name>
+ <onos.app.origin>ON.Lab</onos.app.origin>
+ <onos.app.category>default</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>ONOS LLDP link provider.</onos.app.readme>
</properties>
<description>ONOS LLDP link provider</description>
diff --git a/providers/netcfghost/pom.xml b/providers/netcfghost/pom.xml
index dadd6bf..340fb63 100644
--- a/providers/netcfghost/pom.xml
+++ b/providers/netcfghost/pom.xml
@@ -35,6 +35,10 @@
<properties>
<onos.app.name>org.onosproject.netcfghostprovider</onos.app.name>
<onos.app.origin>ON.Lab</onos.app.origin>
+ <onos.app.category>default</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>Host provider that uses network config
+ service to discover hosts.</onos.app.readme>
</properties>
<dependencies>
diff --git a/providers/netconf/app/app.xml b/providers/netconf/app/app.xml
index 288f0ab..d82268f 100644
--- a/providers/netconf/app/app.xml
+++ b/providers/netconf/app/app.xml
@@ -15,10 +15,11 @@
~ limitations under the License.
-->
<app name="org.onosproject.netconf" origin="ON.Lab" version="${project.version}"
+ category="default" url="http://onosproject.org"
featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"
features="${project.artifactId}">
<description>${project.description}</description>
-
+ <readme>ONOS NetConf protocol southbound provider.</readme>
<artifact>mvn:${project.groupId}/onos-netconf-api/${project.version}</artifact>
<artifact>mvn:${project.groupId}/onos-netconf-ctl/${project.version}</artifact>
<artifact>mvn:${project.groupId}/onos-drivers/${project.version}</artifact>
diff --git a/providers/null/pom.xml b/providers/null/pom.xml
index 8a66301..241ce14 100644
--- a/providers/null/pom.xml
+++ b/providers/null/pom.xml
@@ -33,6 +33,10 @@
<properties>
<onos.app.name>org.onosproject.null</onos.app.name>
+ <onos.app.origin>ON.Lab</onos.app.origin>
+ <onos.app.category>default</onos.app.category>
+ <onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.readme>ONOS null southbound provider.</onos.app.readme>
</properties>
<dependencies>
diff --git a/providers/openflow/base/app.xml b/providers/openflow/base/app.xml
index 34e6b15..0720567 100644
--- a/providers/openflow/base/app.xml
+++ b/providers/openflow/base/app.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2014-2015 Open Networking Laboratory
+ ~ Copyright 2014-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -15,10 +15,11 @@
~ limitations under the License.
-->
<app name="org.onosproject.openflow-base" origin="ON.Lab" version="${project.version}"
+ category="default" url="http://onosproject.org"
featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"
features="${project.artifactId}">
<description>${project.description}</description>
-
+ <readme>OpenFlow protocol southbound provider.</readme>
<artifact>mvn:${project.groupId}/onos-of-api/${project.version}</artifact>
<artifact>mvn:${project.groupId}/onos-of-ctl/${project.version}</artifact>
<artifact>mvn:${project.groupId}/onos-drivers/${project.version}</artifact>
diff --git a/providers/openflow/base/pom.xml b/providers/openflow/base/pom.xml
index 2fceba9..9716677 100644
--- a/providers/openflow/base/pom.xml
+++ b/providers/openflow/base/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2014-2015 Open Networking Laboratory
+ ~ Copyright 2014-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
diff --git a/providers/ovsdb/app/pom.xml b/providers/ovsdb/app/pom.xml
index 863415a..2f548e6 100644
--- a/providers/ovsdb/app/pom.xml
+++ b/providers/ovsdb/app/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2015 Open Networking Laboratory
+ ~ Copyright 2015-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
diff --git a/providers/ovsdb/base/app.xml b/providers/ovsdb/base/app.xml
index b6e3b3d..590059f 100644
--- a/providers/ovsdb/base/app.xml
+++ b/providers/ovsdb/base/app.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2015 Open Networking Laboratory
+ ~ Copyright 2015-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -15,10 +15,11 @@
~ limitations under the License.
-->
<app name="org.onosproject.ovsdb-base" origin="ON.Lab" version="${project.version}"
+ category="default" url="http://onosproject.org"
featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"
features="${project.artifactId}">
- <description>${project.description}</description>
-
+ <description>${project.description}</description>
+ <readme>OVSDB protocol southbound providers.</readme>
<artifact>mvn:${project.groupId}/onos-ovsdb-rfc/${project.version}</artifact>
<artifact>mvn:${project.groupId}/onos-ovsdb-api/${project.version}</artifact>
<artifact>mvn:${project.groupId}/onos-ovsdb-ctl/${project.version}</artifact>
@@ -26,4 +27,4 @@
<artifact>mvn:${project.groupId}/onos-ovsdb-provider-device/${project.version}</artifact>
<artifact>mvn:${project.groupId}/onos-ovsdb-provider-tunnel/${project.version}</artifact>
-</app>
+</app>
\ No newline at end of file
diff --git a/providers/ovsdb/device/pom.xml b/providers/ovsdb/device/pom.xml
index 6a8b917..65db7f4 100644
--- a/providers/ovsdb/device/pom.xml
+++ b/providers/ovsdb/device/pom.xml
@@ -1,6 +1,6 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2015 Open Networking Laboratory
+ ~ Copyright 2015-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
diff --git a/providers/pcep/app/app.xml b/providers/pcep/app/app.xml
index ea3d1d1..7c59db7 100644
--- a/providers/pcep/app/app.xml
+++ b/providers/pcep/app/app.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2015 Open Networking Laboratory
+ ~ Copyright 2015-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -15,9 +15,11 @@
~ limitations under the License.
-->
<app name="org.onosproject.pcep" origin="ON.Lab" version="${project.version}"
+ category="default" url="http://onosproject.org"
featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"
features="${project.artifactId}">
<description>${project.description}</description>
+ <readme>PCEP protocol southbound provider.</readme>
<artifact>mvn:${project.groupId}/onos-app-pcep-api/${project.version}</artifact>
<artifact>mvn:${project.groupId}/onos-pcepio/${project.version}</artifact>
<artifact>mvn:${project.groupId}/onos-pcep-controller-api/${project.version}</artifact>
diff --git a/providers/pcep/app/pom.xml b/providers/pcep/app/pom.xml
index 291facc..34bf213 100644
--- a/providers/pcep/app/pom.xml
+++ b/providers/pcep/app/pom.xml
@@ -1,5 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2015 Open Networking Laboratory
+ ~ Copyright 2015-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -13,8 +14,9 @@
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
-<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">
+<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">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.onosproject</groupId>
@@ -25,24 +27,24 @@
<artifactId>onos-pcep</artifactId>
<packaging>pom</packaging>
- <description>PCEP protocol southbound providers</description>
+ <description>PCEP protocol southbound providers</description>
- <dependencies>
+ <dependencies>
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onos-app-pcep-api</artifactId>
</dependency>
- <dependency>
+ <dependency>
<groupId>org.onosproject</groupId>
<artifactId>onos-pcepio</artifactId>
<version>${project.version}</version>
</dependency>
- <dependency>
+ <dependency>
<groupId>org.onosproject</groupId>
<artifactId>onos-pcep-controller-api</artifactId>
<version>${project.version}</version>
</dependency>
- <dependency>
+ <dependency>
<groupId>org.onosproject</groupId>
<artifactId>onos-pcep-controller-impl</artifactId>
<version>${project.version}</version>
diff --git a/providers/rest/app/app.xml b/providers/rest/app/app.xml
index 1b4d681..e7139af 100644
--- a/providers/rest/app/app.xml
+++ b/providers/rest/app/app.xml
@@ -15,10 +15,11 @@
~ limitations under the License.
-->
<app name="org.onosproject.restsb" origin="ON.Lab" version="${project.version}"
+ category="default" url="http://onosproject.org"
featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"
features="${project.artifactId}">
<description>${project.description}</description>
-
+ <readme>REST protocol southbound provider.</readme>
<artifact>mvn:${project.groupId}/onos-restsb-api/${project.version}</artifact>
<artifact>mvn:${project.groupId}/onos-restsb-ctl/${project.version}</artifact>
<artifact>mvn:${project.groupId}/onos-drivers/${project.version}</artifact>
diff --git a/providers/snmp/app/app.xml b/providers/snmp/app/app.xml
index 758cce2..52e0152 100644
--- a/providers/snmp/app/app.xml
+++ b/providers/snmp/app/app.xml
@@ -15,9 +15,11 @@
~ limitations under the License.
-->
<app name="org.onosproject.snmp" origin="BTI Systems" version="${project.version}"
+ category="default" url="http://onosproject.org"
featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"
features="${project.artifactId}">
<description>${project.description}</description>
+ <readme>SNMP protocol southbound provider.</readme>
<artifact>mvn:${project.groupId}/onos-snmp-provider-device/${project.version}</artifact>
<artifact>mvn:${project.groupId}/onos-snmp-provider-alarm/${project.version}</artifact>
</app>
diff --git a/providers/snmp/app/pom.xml b/providers/snmp/app/pom.xml
index 9d680c8..5914e09 100644
--- a/providers/snmp/app/pom.xml
+++ b/providers/snmp/app/pom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2015 Open Networking Laboratory
+ ~ Copyright 2015-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
diff --git a/tools/package/maven-plugin/src/main/java/org/onosproject/maven/OnosAppMojo.java b/tools/package/maven-plugin/src/main/java/org/onosproject/maven/OnosAppMojo.java
index 09cf4dd..d52c3b7 100644
--- a/tools/package/maven-plugin/src/main/java/org/onosproject/maven/OnosAppMojo.java
+++ b/tools/package/maven-plugin/src/main/java/org/onosproject/maven/OnosAppMojo.java
@@ -18,6 +18,7 @@
import com.google.common.collect.ImmutableList;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.XMLConfiguration;
+import org.apache.commons.lang.StringUtils;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
@@ -28,6 +29,11 @@
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectHelper;
+import javax.imageio.ImageIO;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import java.awt.image.BufferedImage;
+import java.awt.image.DataBufferByte;
+import java.awt.image.WritableRaster;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
@@ -55,6 +61,7 @@
private static final String ARTIFACT = "artifact";
private static final String APP_XML = "app.xml";
+ private static final String ICON_PNG = "icon.png";
private static final String FEATURES_XML = "features.xml";
private static final String MVN_URL = "mvn:";
@@ -64,6 +71,10 @@
private static final String ONOS_APP_ORIGIN = "onos.app.origin";
private static final String ONOS_APP_REQUIRES = "onos.app.requires";
+ private static final String ONOS_APP_CATEGORY = "onos.app.category";
+ private static final String ONOS_APP_URL = "onos.app.url";
+ private static final String ONOS_APP_README = "onos.app.readme";
+
private static final String JAR = "jar";
private static final String XML = "xml";
private static final String APP_ZIP = "oar";
@@ -72,6 +83,9 @@
private static final String DEFAULT_ORIGIN = "ON.Lab";
private static final String DEFAULT_VERSION = "${project.version}";
+ private static final String DEFAULT_CATEGORY = "Default";
+ private static final String DEFAULT_URL = "http://onosproject.org";
+
private static final String DEFAULT_FEATURES_REPO =
"mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features";
private static final String DEFAULT_ARTIFACT =
@@ -82,6 +96,9 @@
private String name;
private String origin;
private String requiredApps;
+ private String category;
+ private String url;
+ private String readme;
private String version = DEFAULT_VERSION;
private String featuresRepo = DEFAULT_FEATURES_REPO;
private List<String> artifacts;
@@ -137,7 +154,6 @@
@Component
protected MavenProjectHelper projectHelper;
-
private File m2Directory;
protected File stageDirectory;
protected String projectPath;
@@ -165,6 +181,16 @@
requiredApps = (String) project.getProperties().get(ONOS_APP_REQUIRES);
requiredApps = requiredApps == null ? "" : requiredApps.replaceAll("[\\s]", "");
+ category = (String) project.getProperties().get(ONOS_APP_CATEGORY);
+ category = category != null ? category : DEFAULT_CATEGORY;
+
+ url = (String) project.getProperties().get(ONOS_APP_URL);
+ url = url != null ? url : DEFAULT_URL;
+
+ // if readme does not exist, we simply fallback to use description
+ readme = (String) project.getProperties().get(ONOS_APP_README);
+ readme = readme != null ? readme : projectDescription;
+
if (appFile.exists()) {
loadAppFile(appFile);
} else {
@@ -303,7 +329,7 @@
// Generates the ONOS package ZIP file.
private void generateAppPackage() throws MojoExecutionException {
File appZip = new File(dstDirectory, artifactFile(projectArtifactId, projectVersion,
- APP_ZIP, null));
+ APP_ZIP, null));
try (FileOutputStream fos = new FileOutputStream(appZip);
ZipOutputStream zos = new ZipOutputStream(fos)) {
zipDirectory("", stageDirectory, zos);
@@ -327,7 +353,7 @@
private String artifactFile(String[] fields) {
return fields.length < 5 ?
artifactFile(fields[1], fields[2],
- (fields.length < 4 ? JAR : fields[3]), null) :
+ (fields.length < 4 ? JAR : fields[3]), null) :
artifactFile(fields[1], fields[2], fields[3], fields[4]);
}
@@ -344,6 +370,9 @@
string.replaceAll("\\$\\{onos.app.name\\}", name)
.replaceAll("\\$\\{onos.app.origin\\}", origin)
.replaceAll("\\$\\{onos.app.requires\\}", requiredApps)
+ .replaceAll("\\$\\{onos.app.category\\}", category)
+ .replaceAll("\\$\\{onos.app.url\\}", url)
+ .replaceAll("\\$\\{onos.app.readme\\}", readme)
.replaceAll("\\$\\{project.groupId\\}", projectGroupId)
.replaceAll("\\$\\{project.artifactId\\}", projectArtifactId)
.replaceAll("\\$\\{project.version\\}", projectVersion)
@@ -375,4 +404,4 @@
}
}
}
-}
+}
\ No newline at end of file
diff --git a/tools/package/maven-plugin/src/main/resources/org/onosproject/maven/app.xml b/tools/package/maven-plugin/src/main/resources/org/onosproject/maven/app.xml
index 8499880..2b209fe 100644
--- a/tools/package/maven-plugin/src/main/resources/org/onosproject/maven/app.xml
+++ b/tools/package/maven-plugin/src/main/resources/org/onosproject/maven/app.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- ~ Copyright 2015 Open Networking Laboratory
+ ~ Copyright 2015-2016 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -15,8 +15,10 @@
~ limitations under the License.
-->
<app name="${onos.app.name}" origin="${onos.app.origin}" version="${project.version}"
+ category="${onos.app.category}" url="${onos.app.url}"
featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"
features="${project.artifactId}" apps="${onos.app.requires}">
<description>${project.description}</description>
+ <readme>${onos.app.readme}</readme>
<artifact>mvn:${project.groupId}/${project.artifactId}/${project.version}</artifact>
</app>
diff --git a/tools/package/maven-plugin/src/main/resources/org/onosproject/maven/icon.png b/tools/package/maven-plugin/src/main/resources/org/onosproject/maven/icon.png
new file mode 100644
index 0000000..01ea558
--- /dev/null
+++ b/tools/package/maven-plugin/src/main/resources/org/onosproject/maven/icon.png
Binary files differ
diff --git a/web/api/src/test/java/org/onosproject/rest/ApplicationsResourceTest.java b/web/api/src/test/java/org/onosproject/rest/ApplicationsResourceTest.java
index eeac886..3cb7c8d 100644
--- a/web/api/src/test/java/org/onosproject/rest/ApplicationsResourceTest.java
+++ b/web/api/src/test/java/org/onosproject/rest/ApplicationsResourceTest.java
@@ -85,19 +85,27 @@
private Application app1 =
new DefaultApplication(id1, VER,
- "app1", "origin1", ApplicationRole.ADMIN, ImmutableSet.of(), Optional.of(FURL),
+ "app1", "origin1", "category1", "url1",
+ "readme1", new byte[0], ApplicationRole.ADMIN,
+ ImmutableSet.of(), Optional.of(FURL),
ImmutableList.of("My Feature"), ImmutableList.of());
private Application app2 =
new DefaultApplication(id2, VER,
- "app2", "origin2", ApplicationRole.ADMIN, ImmutableSet.of(), Optional.of(FURL),
+ "app2", "origin2", "category2", "url2",
+ "readme2", new byte[0], ApplicationRole.ADMIN,
+ ImmutableSet.of(), Optional.of(FURL),
ImmutableList.of("My Feature"), ImmutableList.of());
private Application app3 =
new DefaultApplication(id3, VER,
- "app3", "origin3", ApplicationRole.ADMIN, ImmutableSet.of(), Optional.of(FURL),
+ "app3", "origin3", "category3", "url3",
+ "readme3", new byte[0], ApplicationRole.ADMIN,
+ ImmutableSet.of(), Optional.of(FURL),
ImmutableList.of("My Feature"), ImmutableList.of());
private Application app4 =
new DefaultApplication(id4, VER,
- "app4", "origin4", ApplicationRole.ADMIN, ImmutableSet.of(), Optional.of(FURL),
+ "app4", "origin4", "category4", "url4",
+ "readme4", new byte[0], ApplicationRole.ADMIN,
+ ImmutableSet.of(), Optional.of(FURL),
ImmutableList.of("My Feature"), ImmutableList.of());
/**