Mercurial > hg > release > thermostat-0.6
changeset 993:e7ffb5dcd2dd
Trim strings extracted from plugin.xml
Reviewed-by: rkennke
Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2013-February/005801.html
author | Omair Majid <omajid@redhat.com> |
---|---|
date | Thu, 21 Feb 2013 17:09:44 -0500 |
parents | e7411f4afdf1 |
children | db2b89cdef62 |
files | launcher/src/main/java/com/redhat/thermostat/launcher/internal/PluginConfigurationParser.java launcher/src/test/java/com/redhat/thermostat/launcher/internal/PluginConfigurationParserTest.java |
diffstat | 2 files changed, 38 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- 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); } }
--- 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 = "<?xml version=\"1.0\"?>\n" + + "<plugin>\n" + + " <commands>\n" + + " <command type='extends'>\n" + + " <name>\ntest \n</name>\n" + + " <bundles>\n" + + " <bundle>\n \t \nfoo\t \n \n</bundle>\n" + + " <bundle>\tbar baz\n</bundle>\n" + + " <bundle>buzz</bundle>\n" + + " </bundles>\n" + + " <dependencies>\n\t\n\t \t\t\n" + + " <dependency>\t\t\t thermostat-foo\n\t\t\n</dependency>\n" + + " </dependencies>\n" + + " </command>\n" + + " </commands>\n" + + "</plugin>"; + + PluginConfiguration result = new PluginConfigurationParser() + .parse("test", new ByteArrayInputStream(config.getBytes("UTF-8"))); + + assertEquals(0, result.getNewCommands().size()); + + List<CommandExtensions> 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()); + } }