# HG changeset patch # User Omair Majid # Date 1361484584 18000 # Node ID e7ffb5dcd2dde1132f73d972b7113b114363195a # Parent e7411f4afdf10849b1a02cd548746cb5f216c703 Trim strings extracted from plugin.xml Reviewed-by: rkennke Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2013-February/005801.html diff -r e7411f4afdf1 -r e7ffb5dcd2dd launcher/src/main/java/com/redhat/thermostat/launcher/internal/PluginConfigurationParser.java --- a/launcher/src/main/java/com/redhat/thermostat/launcher/internal/PluginConfigurationParser.java Thu Feb 21 16:26:10 2013 -0500 +++ b/launcher/src/main/java/com/redhat/thermostat/launcher/internal/PluginConfigurationParser.java Thu Feb 21 17:09:44 2013 -0500 @@ -175,7 +175,7 @@ for (int i = 0; i < nodes.getLength(); i++) { Node node = nodes.item(i); if (node.getNodeName().equals("name")) { - name = node.getTextContent(); + name = node.getTextContent().trim(); } else if (node.getNodeName().equals("bundles")) { bundles.addAll(parseBundles(node)); } else if (node.getNodeName().equals("dependencies")) { @@ -201,11 +201,11 @@ for (int i = 0; i < nodes.getLength(); i++) { Node node = nodes.item(i); if (node.getNodeName().equals("name")) { - name = node.getTextContent(); + name = node.getTextContent().trim(); } else if (node.getNodeName().equals("usage")) { - usage = node.getTextContent(); + usage = node.getTextContent().trim(); } else if (node.getNodeName().equals("description")) { - description = node.getTextContent(); + description = node.getTextContent().trim(); } else if (node.getNodeName().equals("arguments")) { options = parseArguments(node); } else if (node.getNodeName().equals("bundles")) { @@ -230,7 +230,7 @@ for (int i = 0; i < nodes.getLength(); i++) { Node node = nodes.item(i); if (node.getNodeName().equals("bundle")) { - String bundleName = node.getTextContent(); + String bundleName = node.getTextContent().trim(); bundles.add(bundleName); } } @@ -243,7 +243,7 @@ for (int i = 0; i < nodes.getLength(); i++) { Node node = nodes.item(i); if (node.getNodeName().equals("dependency")) { - String bundleName = node.getTextContent(); + String bundleName = node.getTextContent().trim(); dependencies.add(bundleName); } } diff -r e7411f4afdf1 -r e7ffb5dcd2dd launcher/src/test/java/com/redhat/thermostat/launcher/internal/PluginConfigurationParserTest.java --- a/launcher/src/test/java/com/redhat/thermostat/launcher/internal/PluginConfigurationParserTest.java Thu Feb 21 16:26:10 2013 -0500 +++ b/launcher/src/test/java/com/redhat/thermostat/launcher/internal/PluginConfigurationParserTest.java Thu Feb 21 17:09:44 2013 -0500 @@ -148,4 +148,36 @@ assertEquals(Arrays.asList("thermostat-foo"), newCommand.getDepenedencyBundles()); } + @Test + public void testSpacesAtStartAndEndAreTrimmed() throws UnsupportedEncodingException { + String config = "\n" + + "\n" + + " \n" + + " \n" + + " \ntest \n\n" + + " \n" + + " \n \t \nfoo\t \n \n\n" + + " \tbar baz\n\n" + + " buzz\n" + + " \n" + + " \n\t\n\t \t\t\n" + + " \t\t\t thermostat-foo\n\t\t\n\n" + + " \n" + + " \n" + + " \n" + + ""; + + PluginConfiguration result = new PluginConfigurationParser() + .parse("test", new ByteArrayInputStream(config.getBytes("UTF-8"))); + + assertEquals(0, result.getNewCommands().size()); + + List extensions = result.getExtendedCommands(); + assertEquals(1, extensions.size()); + + CommandExtensions first = extensions.get(0); + assertEquals("test", first.getCommandName()); + assertEquals(Arrays.asList("foo", "bar baz", "buzz"), first.getPluginBundles()); + assertEquals(Arrays.asList("thermostat-foo"), first.getDepenedencyBundles()); + } }