[ONOS-3634] Add REST API for extended application properties

Change-Id: I61f91075ac3bd527d0e10436e14ed496f55ef593
diff --git a/core/common/src/main/java/org/onosproject/codec/impl/ApplicationCodec.java b/core/common/src/main/java/org/onosproject/codec/impl/ApplicationCodec.java
index a09c0bd..3c6f37c 100644
--- a/core/common/src/main/java/org/onosproject/codec/impl/ApplicationCodec.java
+++ b/core/common/src/main/java/org/onosproject/codec/impl/ApplicationCodec.java
@@ -16,6 +16,7 @@
 package org.onosproject.codec.impl;
 
 import com.fasterxml.jackson.databind.node.ObjectNode;
+import org.apache.commons.lang3.StringEscapeUtils;
 import org.onosproject.app.ApplicationService;
 import org.onosproject.codec.CodecContext;
 import org.onosproject.codec.JsonCodec;
@@ -36,8 +37,11 @@
                 .put("name", app.id().name())
                 .put("id", app.id().id())
                 .put("version", app.version().toString())
-                .put("description", app.description())
+                .put("category", app.category())
+                .put("description", StringEscapeUtils.escapeJson(app.description()))
+                .put("readme", StringEscapeUtils.escapeJson(app.readme()))
                 .put("origin", app.origin())
+                .put("url", app.url())
                 .put("permissions", app.permissions().toString()) // FIXME: change to an array
                 .put("featuresRepo", app.featuresRepo().isPresent() ?
                         app.featuresRepo().get().toString() : "")
@@ -45,5 +49,4 @@
                 .put("requiredApps", app.requiredApps().toString()) // FIXME: change to an array
                 .put("state", service.getState(app.id()).toString());
     }
-
 }