Latest bnd code
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1350613 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/bundleplugin/src/main/java/aQute/libg/header/Attrs.java b/bundleplugin/src/main/java/aQute/libg/header/Attrs.java
index d11b6d1..8ff65dd 100644
--- a/bundleplugin/src/main/java/aQute/libg/header/Attrs.java
+++ b/bundleplugin/src/main/java/aQute/libg/header/Attrs.java
@@ -6,9 +6,10 @@
import aQute.lib.collections.*;
import aQute.libg.version.*;
-public class Attrs implements Map<String, String> {
+public class Attrs implements Map<String,String> {
public enum Type {
- STRING(null), LONG(null), VERSION(null), DOUBLE(null), STRINGS(STRING), LONGS(LONG), VERSIONS(VERSION), DOUBLES(DOUBLE);
+ STRING(null), LONG(null), VERSION(null), DOUBLE(null), STRINGS(STRING), LONGS(LONG), VERSIONS(VERSION), DOUBLES(
+ DOUBLE);
Type sub;
@@ -33,14 +34,15 @@
* ’List<’ scalar ’>’
* </pre>
*/
- static String EXTENDED = "[\\-0-9a-zA-Z\\._]+";
- static String SCALAR = "String|Version|Long|Double";
- static String LIST = "List\\s*<\\s*(" + SCALAR + ")\\s*>";
- public static final Pattern TYPED = Pattern.compile("\\s*(" + EXTENDED + ")\\s*:\\s*("+ SCALAR + "|" + LIST + ")\\s*");
+ static String EXTENDED = "[\\-0-9a-zA-Z\\._]+";
+ static String SCALAR = "String|Version|Long|Double";
+ static String LIST = "List\\s*<\\s*(" + SCALAR + ")\\s*>";
+ public static final Pattern TYPED = Pattern.compile("\\s*(" + EXTENDED + ")\\s*:\\s*(" + SCALAR
+ + "|" + LIST + ")\\s*");
- private LinkedHashMap<String, String> map;
- private Map<String, Type> types;
- static Map<String, String> EMPTY = Collections.emptyMap();
+ private LinkedHashMap<String,String> map;
+ private Map<String,Type> types;
+ static Map<String,String> EMPTY = Collections.emptyMap();
public Attrs(Attrs... attrs) {
for (Attrs a : attrs) {
@@ -62,7 +64,8 @@
}
@SuppressWarnings("cast")
- @Deprecated public boolean containsKey(Object name) {
+ @Deprecated
+ public boolean containsKey(Object name) {
assert name instanceof String;
if (map == null)
return false;
@@ -78,7 +81,8 @@
}
@SuppressWarnings("cast")
- @Deprecated public boolean containsValue(Object value) {
+ @Deprecated
+ public boolean containsValue(Object value) {
assert value instanceof String;
if (map == null)
return false;
@@ -86,7 +90,7 @@
return map.containsValue((String) value);
}
- public Set<java.util.Map.Entry<String, String>> entrySet() {
+ public Set<java.util.Map.Entry<String,String>> entrySet() {
if (map == null)
return EMPTY.entrySet();
@@ -94,7 +98,8 @@
}
@SuppressWarnings("cast")
- @Deprecated public String get(Object key) {
+ @Deprecated
+ public String get(Object key) {
assert key instanceof String;
if (map == null)
return null;
@@ -129,7 +134,7 @@
public String put(String key, String value) {
if (map == null)
- map = new LinkedHashMap<String, String>();
+ map = new LinkedHashMap<String,String>();
Matcher m = TYPED.matcher(key);
if (m.matches()) {
@@ -137,28 +142,28 @@
String type = m.group(2);
Type t = Type.STRING;
- if ( type.startsWith("List")) {
+ if (type.startsWith("List")) {
type = m.group(3);
- if ( "String".equals(type))
+ if ("String".equals(type))
t = Type.STRINGS;
- else if ( "Long".equals(type))
+ else if ("Long".equals(type))
t = Type.LONGS;
- else if ( "Double".equals(type))
+ else if ("Double".equals(type))
t = Type.DOUBLES;
- else if ( "Version".equals(type))
- t = Type.VERSIONS;
+ else if ("Version".equals(type))
+ t = Type.VERSIONS;
} else {
- if ( "String".equals(type))
+ if ("String".equals(type))
t = Type.STRING;
- else if ( "Long".equals(type))
+ else if ("Long".equals(type))
t = Type.LONG;
- else if ( "Double".equals(type))
+ else if ("Double".equals(type))
t = Type.DOUBLE;
- else if ( "Version".equals(type))
+ else if ("Version".equals(type))
t = Type.VERSION;
}
if (types == null)
- types = new LinkedHashMap<String, Type>();
+ types = new LinkedHashMap<String,Type>();
types.put(key, t);
// TODO verify value?
@@ -176,13 +181,14 @@
return t;
}
- public void putAll(Map<? extends String, ? extends String> map) {
- for (Map.Entry<? extends String, ? extends String> e : map.entrySet())
+ public void putAll(Map< ? extends String, ? extends String> map) {
+ for (Map.Entry< ? extends String, ? extends String> e : map.entrySet())
put(e.getKey(), e.getValue());
}
@SuppressWarnings("cast")
- @Deprecated public String remove(Object var0) {
+ @Deprecated
+ public String remove(Object var0) {
assert var0 instanceof String;
if (map == null)
return null;
@@ -221,7 +227,7 @@
public void append(StringBuilder sb) {
String del = "";
- for (Map.Entry<String, String> e : entrySet()) {
+ for (Map.Entry<String,String> e : entrySet()) {
sb.append(del);
sb.append(e.getKey());
sb.append("=");
@@ -230,11 +236,13 @@
}
}
- @Deprecated public boolean equals(Object other) {
+ @Deprecated
+ public boolean equals(Object other) {
return super.equals(other);
}
- @Deprecated public int hashCode() {
+ @Deprecated
+ public int hashCode() {
return super.hashCode();
}
@@ -275,12 +283,12 @@
private Object convert(Type t, String s) {
if (t.sub == null) {
switch (t) {
- case STRING:
- return s;
- case LONG:
- return Long.parseLong(s.trim());
- case VERSION:
- return Version.parseVersion(s);
+ case STRING :
+ return s;
+ case LONG :
+ return Long.parseLong(s.trim());
+ case VERSION :
+ return Version.parseVersion(s);
}
return null;
}
diff --git a/bundleplugin/src/main/java/aQute/libg/header/OSGiHeader.java b/bundleplugin/src/main/java/aQute/libg/header/OSGiHeader.java
index 7b26f6f..6be995a 100755
--- a/bundleplugin/src/main/java/aQute/libg/header/OSGiHeader.java
+++ b/bundleplugin/src/main/java/aQute/libg/header/OSGiHeader.java
@@ -15,9 +15,8 @@
/**
* Standard OSGi header parser. This parser can handle the format clauses
* ::= clause ( ',' clause ) + clause ::= name ( ';' name ) (';' key '='
- * value )
- *
- * This is mapped to a Map { name => Map { attr|directive => value } }
+ * value ) This is mapped to a Map { name => Map { attr|directive => value }
+ * }
*
* @param value
* A string
@@ -56,10 +55,8 @@
if ((del = qt.getSeparator()) != '=') {
if (hadAttribute)
if (logger != null) {
- logger.error("Header contains name field after attribute or directive: "
- + adname
- + " from "
- + value
+ logger.error("Header contains name field after attribute or directive: " + adname
+ + " from " + value
+ ". Name fields must be consecutive, separated by a ';' like a;b;c;x=3;y=4");
}
if (adname != null && adname.length() > 0)
@@ -68,8 +65,7 @@
String advalue = qt.nextToken();
if (clause.containsKey(adname)) {
if (logger != null && logger.isPedantic())
- logger.warning("Duplicate attribute/directive name " + adname
- + " in " + value
+ logger.warning("Duplicate attribute/directive name " + adname + " in " + value
+ ". This attribute/directive will be ignored");
}
if (advalue == null) {
diff --git a/bundleplugin/src/main/java/aQute/libg/header/Parameters.java b/bundleplugin/src/main/java/aQute/libg/header/Parameters.java
index 96f0d08..f2354c4 100644
--- a/bundleplugin/src/main/java/aQute/libg/header/Parameters.java
+++ b/bundleplugin/src/main/java/aQute/libg/header/Parameters.java
@@ -5,13 +5,12 @@
import aQute.lib.collections.*;
import aQute.libg.reporter.*;
-public class Parameters implements Map<String, Attrs> {
- private LinkedHashMap<String, Attrs> map;
- static Map<String, Attrs> EMPTY = Collections.emptyMap();
- String error;
+public class Parameters implements Map<String,Attrs> {
+ private LinkedHashMap<String,Attrs> map;
+ static Map<String,Attrs> EMPTY = Collections.emptyMap();
+ String error;
- public Parameters() {
- }
+ public Parameters() {}
public Parameters(String header) {
OSGiHeader.parseHeader(header, null, this);
@@ -33,7 +32,8 @@
}
@SuppressWarnings("cast")
- @Deprecated public boolean containsKey(Object name) {
+ @Deprecated
+ public boolean containsKey(Object name) {
assert name instanceof String;
if (map == null)
return false;
@@ -49,7 +49,8 @@
}
@SuppressWarnings("cast")
- @Deprecated public boolean containsValue(Object value) {
+ @Deprecated
+ public boolean containsValue(Object value) {
assert value instanceof Attrs;
if (map == null)
return false;
@@ -57,7 +58,7 @@
return map.containsValue((Attrs) value);
}
- public Set<java.util.Map.Entry<String, Attrs>> entrySet() {
+ public Set<java.util.Map.Entry<String,Attrs>> entrySet() {
if (map == null)
return EMPTY.entrySet();
@@ -65,7 +66,8 @@
}
@SuppressWarnings("cast")
- @Deprecated public Attrs get(Object key) {
+ @Deprecated
+ public Attrs get(Object key) {
assert key instanceof String;
if (map == null)
return null;
@@ -96,28 +98,30 @@
assert value != null;
if (map == null)
- map = new LinkedHashMap<String, Attrs>();
+ map = new LinkedHashMap<String,Attrs>();
return map.put(key, value);
}
- public void putAll(Map<? extends String, ? extends Attrs> map) {
+ public void putAll(Map< ? extends String, ? extends Attrs> map) {
if (this.map == null) {
if (map.isEmpty())
return;
- this.map = new LinkedHashMap<String, Attrs>();
+ this.map = new LinkedHashMap<String,Attrs>();
}
this.map.putAll(map);
}
+
public void putAllIfAbsent(Map<String, ? extends Attrs> map) {
- for(Map.Entry<String, ? extends Attrs> entry : map.entrySet() ) {
- if ( !containsKey(entry.getKey()))
+ for (Map.Entry<String, ? extends Attrs> entry : map.entrySet()) {
+ if (!containsKey(entry.getKey()))
put(entry.getKey(), entry.getValue());
}
}
@SuppressWarnings("cast")
- @Deprecated public Attrs remove(Object var0) {
+ @Deprecated
+ public Attrs remove(Object var0) {
assert var0 instanceof String;
if (map == null)
return null;
@@ -152,7 +156,7 @@
public void append(StringBuilder sb) {
String del = "";
- for (Map.Entry<String, Attrs> s : entrySet()) {
+ for (Map.Entry<String,Attrs> s : entrySet()) {
sb.append(del);
sb.append(s.getKey());
if (!s.getValue().isEmpty()) {
@@ -168,12 +172,11 @@
public boolean equals(Object other) {
return super.equals(other);
}
-
+
@Deprecated
public int hashCode() {
return super.hashCode();
}
-
public boolean isEqual(Parameters other) {
if (this == other)
@@ -197,7 +200,7 @@
return true;
}
- public Map<String,? extends Map<String,String>> asMapMap() {
+ public Map<String, ? extends Map<String,String>> asMapMap() {
return this;
}
}