Skip to content

Commit

Permalink
Properly stringify collection attributes
Browse files Browse the repository at this point in the history
 - Show them as proper XPath sequences
  • Loading branch information
jsotuyod committed May 7, 2024
1 parent b71d5ec commit e8b25a5
Showing 1 changed file with 13 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.LinkedHashSet;
Expand Down Expand Up @@ -411,14 +412,21 @@ public static BuilderFactory customBuilderFactory(@NonNull DesignerRoot owner) {


public static String attrToXpathString(Attribute attr) {
String stringValue = attr.getStringValue();
Object v = attr.getValue();
return valueToXPathString(attr.getValue(), attr.getStringValue());
}

private static String valueToXPathString(Object v, String stringValue) {
if (v instanceof String || v instanceof Enum) {
stringValue = "\"" + StringEscapeUtils.escapeJava(stringValue) + "\"";
return "\"" + StringEscapeUtils.escapeJava(stringValue) + "\"";
} else if (v instanceof Boolean) {
stringValue = v + "()";
return v + "()";
} else if (v instanceof Collection) {
return ((Collection<?>) v).stream()
.map(o -> valueToXPathString(o, String.valueOf(o)))
.collect(Collectors.joining(", ", "(", ")"));
}
return String.valueOf(stringValue);

return String.valueOf(v);
}


Expand Down

0 comments on commit e8b25a5

Please sign in to comment.