Repository: activemq Updated Branches: refs/heads/trunk efe68aa03 -> 25f18ad20
https://issues.apache.org/jira/browse/AMQ-5525 - worked around the issue with blueprint converter - all. All of the activemq commands have the same single arg signature, so the conversion should be trivial, doing the conversion inline in the default case Project: http://git-wip-us.apache.org/repos/asf/activemq/repo Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/548aa1e4 Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/548aa1e4 Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/548aa1e4 Branch: refs/heads/trunk Commit: 548aa1e41557f00f894fe160219bd155464f6c06 Parents: efe68aa Author: gtully <[email protected]> Authored: Mon Jan 19 14:34:37 2015 +0000 Committer: gtully <[email protected]> Committed: Tue Jan 20 11:47:01 2015 +0000 ---------------------------------------------------------------------- .../activemq/karaf/commands/ActiveMQCommand.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/activemq/blob/548aa1e4/activemq-karaf/src/main/java/org/apache/activemq/karaf/commands/ActiveMQCommand.java ---------------------------------------------------------------------- diff --git a/activemq-karaf/src/main/java/org/apache/activemq/karaf/commands/ActiveMQCommand.java b/activemq-karaf/src/main/java/org/apache/activemq/karaf/commands/ActiveMQCommand.java index b872475..c749ddb 100644 --- a/activemq-karaf/src/main/java/org/apache/activemq/karaf/commands/ActiveMQCommand.java +++ b/activemq-karaf/src/main/java/org/apache/activemq/karaf/commands/ActiveMQCommand.java @@ -129,6 +129,25 @@ public class ActiveMQCommand extends AbstractCommand implements CompletableFunct } } + if (argumentValues.size() == 1 && arguments.size() == 1) { + Object val = argumentValues.values().iterator().next(); + // short circut convert via blueprint... cause all our commands match this + // bluepring was failing to convert the last long param to a string for browse + // where dest is a numeric value - activemq-karaf-itests + // see: org.apache.activemq.karaf.itest.ActiveMQBrokerFeatureTest.test() + if (val instanceof List) { + Field field = arguments.values().iterator().next(); + List<Object> values = (List<Object>) val; + ArrayList<String> convertedValues = new ArrayList<String>(values.size()); + for (Object o : values) { + convertedValues.add(String.valueOf(o)); + } + field.setAccessible(true); + field.set(action, convertedValues); + return true; + } + } + for (Map.Entry<Argument, Object> entry : argumentValues.entrySet()) { Field field = arguments.get(entry.getKey()); Object value = convert(action, session, entry.getValue(), field.getGenericType());
