[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/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