[bundlerepository] fix stax parser which does not read additional resource properties (license, copyright, size, etc...)
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@919180 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/StaxParser.java b/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/StaxParser.java
index 646bb5f..c953b92 100644
--- a/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/StaxParser.java
+++ b/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/StaxParser.java
@@ -187,7 +187,26 @@
}
else
{
- ignoreTag(reader);
+ StringBuffer sb = null;
+ while ((event = reader.next()) != XMLStreamConstants.END_ELEMENT)
+ {
+ switch (event)
+ {
+ case XMLStreamConstants.START_ELEMENT:
+ throw new Exception("Unexpected element inside <require/> element");
+ case XMLStreamConstants.CHARACTERS:
+ if (sb == null)
+ {
+ sb = new StringBuffer();
+ }
+ sb.append(reader.getText());
+ break;
+ }
+ }
+ if (sb != null)
+ {
+ resource.put(element, sb.toString().trim());
+ }
}
}
// Sanity check