in integrations/rest-management/rest-management/src/main/java/org/apache/aries/jax/rs/rest/management/internal/coerce/Coerce.java [72:121]
public static String type(JsonNode node, String name) {
if (Constants.SERVICE_ID.equals(name) ||
Constants.SERVICE_BUNDLEID.equals(name)) {
return "Long";
}
else if (Constants.SERVICE_RANKING.equals(name)) {
return "Integer";
}
else if (Constants.OBJECTCLASS.equals(name) ||
Constants.SERVICE_PID.equals(name) ||
Constants.SERVICE_SCOPE.equals(name)) {
return "String";
}
if (node.isArray()) {
if (node.isEmpty()) {
return "String";
}
node = node.get(0);
}
if (node.isBoolean()) {
return "Boolean";
}
else if (node.isLong()) {
return "Long";
}
else if (node.isInt()) {
return "Integer";
}
else if (node.isNumber()) {
String nodeValue = node.asText();
try {
Long.parseLong(nodeValue);
return "Long";
}
catch (NumberFormatException nfe1) {
try {
Double.parseDouble(nodeValue);
return "Double";
}
catch (NumberFormatException nfe2) {
throw new IllegalArgumentException(nfe2);
}
}
}
return "String";
}