skitching 2004/03/27 22:25:49 Modified: digester/src/test/org/apache/commons/digester/plugins Tag: DIGESTER_PLUGIN_REFACTORING_BRANCH TestConfigurablePluginAttributes.java Log: * PluginCreateRule.setGlobalPluginIdAttribute method has been moved to PluginRules.setPluginIdAttribute. Same for ClassAttribute. * Now that global plugin id/class attribute are no longer "static" values, there is no need to reset these in a finally clause. * try diff -w for the real differences in this commit... Revision Changes Path No revision No revision 1.2.2.1 +45 -52 jakarta-commons/digester/src/test/org/apache/commons/digester/plugins/TestConfigurablePluginAttributes.java Index: TestConfigurablePluginAttributes.java =================================================================== RCS file: /home/cvs/jakarta-commons/digester/src/test/org/apache/commons/digester/plugins/TestConfigurablePluginAttributes.java,v retrieving revision 1.2 retrieving revision 1.2.2.1 diff -u -r1.2 -r1.2.2.1 --- TestConfigurablePluginAttributes.java 28 Feb 2004 13:32:54 -0000 1.2 +++ TestConfigurablePluginAttributes.java 28 Mar 2004 06:25:49 -0000 1.2.2.1 @@ -119,61 +119,50 @@ PluginRules rc = new PluginRules(); digester.setRules(rc); - PluginCreateRule.setGlobalPluginIdAttribute(null, "id"); - PluginCreateRule.setGlobalPluginClassAttribute(null, "class"); + rc.setPluginIdAttribute(null, "id"); + rc.setPluginClassAttribute(null, "class"); + PluginDeclarationRule pdr = new PluginDeclarationRule(); + digester.addRule("root/plugin", pdr); + + PluginCreateRule widgetPluginRule = new PluginCreateRule(Widget.class); + digester.addRule("root/widget", widgetPluginRule); + digester.addSetNext("root/widget", "addWidget"); + + PluginCreateRule gadgetPluginRule = new PluginCreateRule(Widget.class); + digester.addRule("root/gadget", gadgetPluginRule); + digester.addSetNext("root/gadget", "addGadget"); + + MultiContainer root = new MultiContainer(); + digester.push(root); + try { - PluginDeclarationRule pdr = new PluginDeclarationRule(); - digester.addRule("root/plugin", pdr); - - PluginCreateRule widgetPluginRule = new PluginCreateRule(Widget.class); - digester.addRule("root/widget", widgetPluginRule); - digester.addSetNext("root/widget", "addWidget"); - - PluginCreateRule gadgetPluginRule = new PluginCreateRule(Widget.class); - digester.addRule("root/gadget", gadgetPluginRule); - digester.addSetNext("root/gadget", "addGadget"); - - MultiContainer root = new MultiContainer(); - digester.push(root); - - try { - digester.parse( - TestAll.getInputStream(this, "test7.xml")); - - } catch(Exception e) { - throw e; - } - - Object child; - - List widgets = root.getWidgets(); - assertTrue(widgets != null); - assertEquals(4, widgets.size()); - - assertEquals(Slider.class, widgets.get(0).getClass()); - assertEquals(Slider.class, widgets.get(1).getClass()); - assertEquals(Slider.class, widgets.get(2).getClass()); - assertEquals(Slider.class, widgets.get(3).getClass()); - - List gadgets = root.getGadgets(); - assertTrue(gadgets != null); - assertEquals(4, gadgets.size()); - - assertEquals(Slider.class, gadgets.get(0).getClass()); - assertEquals(Slider.class, gadgets.get(1).getClass()); - assertEquals(Slider.class, gadgets.get(2).getClass()); - assertEquals(Slider.class, gadgets.get(3).getClass()); - } finally { - // reset the global values to their defaults - PluginCreateRule.setGlobalPluginIdAttribute( - PluginCreateRule.GLOBAL_PLUGIN_ID_ATTR_NS, - PluginCreateRule.GLOBAL_PLUGIN_ID_ATTR); + digester.parse( + TestAll.getInputStream(this, "test7.xml")); - PluginCreateRule.setGlobalPluginClassAttribute( - PluginCreateRule.GLOBAL_PLUGIN_CLASS_ATTR_NS, - PluginCreateRule.GLOBAL_PLUGIN_CLASS_ATTR); + } catch(Exception e) { + throw e; } + + Object child; + + List widgets = root.getWidgets(); + assertTrue(widgets != null); + assertEquals(4, widgets.size()); + + assertEquals(Slider.class, widgets.get(0).getClass()); + assertEquals(Slider.class, widgets.get(1).getClass()); + assertEquals(Slider.class, widgets.get(2).getClass()); + assertEquals(Slider.class, widgets.get(3).getClass()); + + List gadgets = root.getGadgets(); + assertTrue(gadgets != null); + assertEquals(4, gadgets.size()); + + assertEquals(Slider.class, gadgets.get(0).getClass()); + assertEquals(Slider.class, gadgets.get(1).getClass()); + assertEquals(Slider.class, gadgets.get(2).getClass()); + assertEquals(Slider.class, gadgets.get(3).getClass()); } public void testInstanceOverride() throws Exception { @@ -188,7 +177,11 @@ PluginDeclarationRule pdr = new PluginDeclarationRule(); digester.addRule("root/plugin", pdr); - + + // for plugins at pattern "root/widget", use xml attributes "id" and + // "class" in the custom namespace as the values for plugin id and + // class, not the default (and non-namespaced) values of + // "plugin-id" and "plugin-class". PluginCreateRule widgetPluginRule = new PluginCreateRule(Widget.class); widgetPluginRule.setPluginIdAttribute( "http://jakarta.apache.org/digester/plugins", "id");
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]