[ONOS-3634] Remove readme tag from app.xml

Change-Id: I536f54f74586a0bb5c671564f71b44a0a871d5f6
diff --git a/apps/aaa/app.xml b/apps/aaa/app.xml
index 9ad7681..019ae46 100644
--- a/apps/aaa/app.xml
+++ b/apps/aaa/app.xml
@@ -19,7 +19,6 @@
      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/bgprouter/app.xml b/apps/bgprouter/app.xml
index 6cbcb20..7b17655 100644
--- a/apps/bgprouter/app.xml
+++ b/apps/bgprouter/app.xml
@@ -19,7 +19,6 @@
      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/dhcp/app/app.xml b/apps/dhcp/app/app.xml
index 280fc1c..ba15b05 100644
--- a/apps/dhcp/app/app.xml
+++ b/apps/dhcp/app/app.xml
@@ -19,7 +19,6 @@
      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/faultmanagement/app/app.xml b/apps/faultmanagement/app/app.xml
index f4c20c9..10c8e9c 100644
--- a/apps/faultmanagement/app/app.xml
+++ b/apps/faultmanagement/app/app.xml
@@ -19,7 +19,6 @@
      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/olt/app/app.xml b/apps/olt/app/app.xml
index b67486a..c8c33ba 100644
--- a/apps/olt/app/app.xml
+++ b/apps/olt/app/app.xml
@@ -19,7 +19,6 @@
      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/openstackswitching/app/app.xml b/apps/openstackswitching/app/app.xml
index afd6f86..2043d94 100644
--- a/apps/openstackswitching/app/app.xml
+++ b/apps/openstackswitching/app/app.xml
@@ -19,7 +19,6 @@
      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/sdnip/app.xml b/apps/sdnip/app.xml
index 54ddd40..16503f7 100644
--- a/apps/sdnip/app.xml
+++ b/apps/sdnip/app.xml
@@ -19,7 +19,6 @@
      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/vrouter/app.xml b/apps/vrouter/app.xml
index eeaa7d4..ccb0289 100644
--- a/apps/vrouter/app.xml
+++ b/apps/vrouter/app.xml
@@ -19,7 +19,6 @@
      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/vtn/app/app.xml b/apps/vtn/app/app.xml
index 5834bb4..fb3b84d 100644
--- a/apps/vtn/app/app.xml
+++ b/apps/vtn/app/app.xml
@@ -19,7 +19,6 @@
      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/core/api/src/main/java/org/onosproject/app/DefaultApplicationDescription.java b/core/api/src/main/java/org/onosproject/app/DefaultApplicationDescription.java
index 3e52001..40f1d76 100644
--- a/core/api/src/main/java/org/onosproject/app/DefaultApplicationDescription.java
+++ b/core/api/src/main/java/org/onosproject/app/DefaultApplicationDescription.java
@@ -76,7 +76,7 @@
         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.readme = checkNotNull(readme, "Readme cannot be null");
         this.icon = icon;
         this.role = checkNotNull(role, "Role cannot be null");
         this.permissions = checkNotNull(permissions, "Permissions cannot be null");
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 8d63600..e22d14f 100644
--- a/core/api/src/main/java/org/onosproject/core/DefaultApplication.java
+++ b/core/api/src/main/java/org/onosproject/core/DefaultApplication.java
@@ -75,7 +75,7 @@
         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.readme = checkNotNull(readme, "Readme cannot be null");
         this.icon = icon;
         this.role = checkNotNull(role, "Role cannot be null");
         this.permissions = checkNotNull(permissions, "Permissions cannot be null");
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 42f8c9c..6d7dc31 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
@@ -88,7 +88,6 @@
 
     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";
@@ -307,19 +306,16 @@
         List<String> requiredApps = apps.isEmpty() ?
                 ImmutableList.of() : ImmutableList.copyOf(apps.split(","));
 
-        String desc = cfg.getString(DESCRIPTION);
-        String readme = cfg.getString(README);
+        // put full description to readme field
+        String readme = cfg.getString(DESCRIPTION);
 
-        if (readme == null) {
-            readme = desc;
-        } else {
-            desc = compactDescription(readme);
-        }
+        // put short description to description field
+        String desc = compactDescription(readme);
 
         return new DefaultApplicationDescription(name, version, desc, origin,
-                category, url, readme, icon, role,
-                                                 perms, featuresRepo, features,
-                                                 requiredApps);
+                                                 category, url, readme, icon,
+                                                 role, perms, featuresRepo,
+                                                 features, requiredApps);
     }
 
     // Expands the specified ZIP stream into app-specific directory.
@@ -488,7 +484,7 @@
             if (StringUtils.contains(sentence, ".")) {
                 return StringUtils.substringBefore(sentence, ".") + ".";
             } else {
-                return sentence + ".";
+                return sentence;
             }
         }
         return sentence;
diff --git a/providers/bgp/app/app.xml b/providers/bgp/app/app.xml
index aa5ddd1..b45f399 100755
--- a/providers/bgp/app/app.xml
+++ b/providers/bgp/app/app.xml
@@ -19,7 +19,6 @@
      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/netconf/app/app.xml b/providers/netconf/app/app.xml
index d82268f..2b1ef1a 100644
--- a/providers/netconf/app/app.xml
+++ b/providers/netconf/app/app.xml
@@ -19,7 +19,6 @@
      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/openflow/base/app.xml b/providers/openflow/base/app.xml
index 0720567..7faead8 100644
--- a/providers/openflow/base/app.xml
+++ b/providers/openflow/base/app.xml
@@ -19,7 +19,6 @@
      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/ovsdb/base/app.xml b/providers/ovsdb/base/app.xml
index 590059f..8e77959 100644
--- a/providers/ovsdb/base/app.xml
+++ b/providers/ovsdb/base/app.xml
@@ -19,7 +19,6 @@
      featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"
      features="${project.artifactId}">
     <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>
diff --git a/providers/pcep/app/app.xml b/providers/pcep/app/app.xml
index 7c59db7..6d6c6c3 100644
--- a/providers/pcep/app/app.xml
+++ b/providers/pcep/app/app.xml
@@ -19,7 +19,6 @@
      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/rest/app/app.xml b/providers/rest/app/app.xml
index e7139af..a97d44b 100644
--- a/providers/rest/app/app.xml
+++ b/providers/rest/app/app.xml
@@ -19,7 +19,6 @@
      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 52e0152..12ced11 100644
--- a/providers/snmp/app/app.xml
+++ b/providers/snmp/app/app.xml
@@ -19,7 +19,6 @@
      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/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 d52c3b7..d0541d2 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
@@ -372,11 +372,10 @@
                         .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)
-                        .replaceAll("\\$\\{project.description\\}", projectDescription);
+                        .replaceAll("\\$\\{project.description\\}", readme);
     }
 
     // Recursively archives the specified directory into a given ZIP stream.
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 2b209fe..7d2c100 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
@@ -19,6 +19,5 @@
         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>