Fixed application descriptor parsing.
Change-Id: If4fa4ecc66d0ed2a42e8b240d0e3142340d544eb
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 b45035e..7f09872 100644
--- a/core/api/src/test/java/org/onosproject/app/DefaultApplicationDescriptionTest.java
+++ b/core/api/src/test/java/org/onosproject/app/DefaultApplicationDescriptionTest.java
@@ -37,7 +37,7 @@
public static final String APP_NAME = "org.foo.app";
public static final Version VER = Version.version(1, 2, "a", null);
- public static final String DESC = "Awesome application from Circus";
+ public static final String DESC = "Awesome application from Circus, Inc.";
public static final String ORIGIN = "Circus";
public static final ApplicationRole ROLE = ApplicationRole.ADMIN;
public static final Set<Permission> PERMS = ImmutableSet.of(Permission.FLOWRULE_WRITE, Permission.FLOWRULE_READ);
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 bdf1399..78fd0b9 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
@@ -150,7 +150,11 @@
*/
public ApplicationDescription getApplicationDescription(String appName) {
try {
- return loadAppDescription(new XMLConfiguration(appFile(appName, APP_XML)));
+ XMLConfiguration cfg = new XMLConfiguration();
+ cfg.setAttributeSplittingDisabled(true);
+ cfg.setDelimiterParsingDisabled(true);
+ cfg.load(appFile(appName, APP_XML));
+ return loadAppDescription(cfg);
} catch (Exception e) {
throw new ApplicationException("Unable to get app description", e);
}
@@ -258,6 +262,8 @@
private ApplicationDescription parsePlainAppDescription(InputStream stream)
throws IOException {
XMLConfiguration cfg = new XMLConfiguration();
+ cfg.setAttributeSplittingDisabled(true);
+ cfg.setDelimiterParsingDisabled(true);
try {
cfg.load(stream);
return loadAppDescription(cfg);
@@ -267,8 +273,6 @@
}
private ApplicationDescription loadAppDescription(XMLConfiguration cfg) {
- cfg.setAttributeSplittingDisabled(true);
- cfg.setDelimiterParsingDisabled(true);
String name = cfg.getString(NAME);
Version version = Version.version(cfg.getString(VERSION));
String desc = cfg.getString(DESCRIPTION);
@@ -277,7 +281,7 @@
Set<Permission> perms = getPermissions(cfg);
String featRepo = cfg.getString(FEATURES_REPO);
URI featuresRepo = featRepo != null ? URI.create(featRepo) : null;
- List<String> features = ImmutableList.copyOf(cfg.getStringArray(FEATURES));
+ List<String> features = ImmutableList.copyOf(cfg.getString(FEATURES).split(","));
return new DefaultApplicationDescription(name, version, desc, origin, role,
perms, featuresRepo, features);
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 9472f5a..2682e86 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
@@ -33,6 +33,9 @@
import static org.junit.Assert.*;
import static org.onosproject.app.DefaultApplicationDescriptionTest.*;
+/**
+ * Suite of tests for the application archive utility.
+ */
public class ApplicationArchiveTest {
static final String ROOT = "/tmp/app-junit/";