in discovery/local/src/main/java/org/apache/aries/rsa/discovery/endpoint/PropertiesMapper.java [105:140]
private Object getArray(ArrayType arrayEl, String type) {
List<ValueType> values = arrayEl.getValue();
Class<?> cls = null;
if ("long".equals(type)) {
cls = long.class;
} else if ("double".equals(type)) {
cls = double.class;
} else if ("float".equals(type)) {
cls = float.class;
} else if ("int".equals(type)) {
cls = int.class;
} else if ("byte".equals(type)) {
cls = byte.class;
} else if ("boolean".equals(type)) {
cls = boolean.class;
} else if ("short".equals(type)) {
cls = short.class;
}
try {
if (cls == null) {
cls = ClassLoader.getSystemClassLoader().loadClass("java.lang." + type);
}
Object array = Array.newInstance(cls, values.size());
for (int i = 0; i < values.size(); i++) {
Object val = getValue(values.get(i), type);
Array.set(array, i, val);
}
return array;
} catch (Exception e) {
LOG.warn("Could not create array for Endpoint Description", e);
return null;
}
}