List of usage examples for org.apache.commons.digester Digester setRules
public void setRules(Rules rules)
Rules
implementation object containing our rules collection and associated matching policy. From source file:com.alibaba.antx.config.descriptor.ConfigDescriptorLoader.java
/** ?validators.xmlvalidator */ private Digester loadValidatorPlugins() { Digester digester = new Digester(); digester.setRules(new PluginRules()); digester.addObjectCreate("config-property-validators", HashMap.class); digester.addCallMethod("config-property-validators/validator", "put", 2); digester.addCallParam("config-property-validators/validator", 0, "id"); digester.addCallParam("config-property-validators/validator", 1, "class"); digester.addRule("config-property-validators/validator", new PluginDeclarationRule()); InputStream istream = getClass().getResourceAsStream("validators.xml"); try {/* w w w . j av a2 s.c o m*/ digester.push(digester.parse(istream)); } catch (Exception e) { throw new ConfigException("Failed to load validators", e); } finally { if (istream != null) { try { istream.close(); } catch (IOException e) { } } } digester.getRules().clear(); return digester; }
From source file:org.ajax4jsf.builder.config.BuilderConfig.java
/** * Parsing builder configuration file//from w w w .j a v a2s .c o m * * @param configFile * @throws ParsingException */ public void parseConfig(final File configFile) throws ParsingException { getLog().info(" Parse config file " + configFile.toString()); Digester digester = new Digester(); digester.setRules(new ExtendedBaseRules()); digester.setValidating(false); digester.setNamespaceAware(false); // try { // URL dtd = // this.getClass().getClassLoader().getResource(COMPONENT_CONFIG_DTD_URI); // new // URL("resource:/com/exadel/vcp/builder/config/component-config.dtd"); getLog().debug("Register config DTD as URI " + COMPONENT_CONFIG_DTD_URI); digester.register(GENERATOR_CONFIG_PUBLIC_ID, COMPONENT_CONFIG_DTD_URI); // } catch (MalformedURLException e) { // throw new ParsingException("Malformed URL for internal DTD // reference",e); // } // setup custom entity resolver for handle file-resource path's // resolve DTD even it not pointed in file, and, for entities - resolve // it in // classpath if entity registered in DTD witn path /META-INF/schema digester.setEntityResolver(new EntityResolver2() { /* * (non-Javadoc) * * @see org.xml.sax.EntityResolver#resolveEntity(java.lang.String, * java.lang.String) */ public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException { getLog().debug("Request for entity with systemId " + systemId + " and publicId " + publicId); if (GENERATOR_CONFIG_PUBLIC_ID.equals(publicId)) { return getDTDSource(); } else if (null != publicId && null != systemId && systemId.contains(ENTITIES_FOLDER)) { int base = systemId.indexOf(ENTITIES_FOLDER); String entity = COMPONENT_SCHEMA_BASE + systemId.substring(base); getLog().debug("attempt to load entity from classpath " + entity); InputStream entityStream = BuilderConfig.class.getResourceAsStream(entity); if (null != entityStream) { return new InputSource(entityStream); } } return null; } public InputSource getExternalSubset(String name, String baseURI) throws SAXException, IOException { getLog().debug("Request for ExternalSubset with name " + name + " and baseURI " + baseURI); if (GENERATOR_CONFIG_ROOT_ELEMENT.equals(name)) { return getDTDSource(); } return null; } public InputSource resolveEntity(String name, String publicId, String baseURI, String systemId) throws SAXException, IOException { getLog().debug( "Request for extended entity with systemId " + systemId + " and publicId " + publicId); getLog().debug("additional parameters with name " + name + " and baseURI " + baseURI); if ("[dtd]".equals(name) && GENERATOR_CONFIG_PUBLIC_ID.equals(publicId)) { return getDTDSource(); } else if (null == name || (!name.startsWith("[") && !name.startsWith("&"))) { return resolveEntity(publicId, systemId); } return null; } /** * Resolve config DTD from classpath * * @return source of config file DTD */ private InputSource getDTDSource() { return new InputSource(BuilderConfig.class.getResourceAsStream(COMPONENT_CONFIG_DTD_URI)); } }); // Parsing rules. // Components String path = "components/component"; digester.addObjectCreate(path, ComponentBean.class); digester.addBeanPropertySetter(path + "/name"); digester.addBeanPropertySetter(path + "/family"); digester.addBeanPropertySetter(path + "/classname"); digester.addBeanPropertySetter(path + "/superclass"); digester.addBeanPropertySetter(path + "/description"); digester.addBeanPropertySetter(path + "/displayname"); digester.addBeanPropertySetter(path + "/icon"); // TODO - for superclass, populate from description in config file, if // exist digester.addSetProperties(path); digester.addSetNext(path, "addComponent"); path = "components/renderer"; digester.addObjectCreate(path, RendererBean.class); digester.addBeanPropertySetter(path + "/?"); digester.addSetProperties(path); digester.addSetNext(path, "addRenderer"); path = "components/component/renderer"; digester.addObjectCreate(path, RendererBean.class); digester.addBeanPropertySetter(path + "/?"); digester.addSetProperties(path); digester.addSetNext(path, "setRenderer"); path = "components/component/facet"; digester.addObjectCreate(path, JsfBean.class); digester.addBeanPropertySetter(path + "/?"); digester.addSetProperties(path); digester.addSetNext(path, "addFacet"); path = "components/component/event"; digester.addObjectCreate(path, EventBean.class); digester.addBeanPropertySetter(path + "/?"); digester.addSetProperties(path); digester.addSetNext(path, "addEvent"); // Validators path = "components/validator"; digester.addObjectCreate(path, ValidatorBean.class); digester.addBeanPropertySetter(path + "/id"); digester.addBeanPropertySetter(path + "/classname"); digester.addBeanPropertySetter(path + "/superclass"); digester.addBeanPropertySetter(path + "/description"); digester.addBeanPropertySetter(path + "/displayname"); digester.addBeanPropertySetter(path + "/icon"); // TODO - for superclass, populate from description in config file, if // exist digester.addSetProperties(path); digester.addSetNext(path, "addValidator"); path = "components/validator/property"; digester.addObjectCreate(path, PropertyBean.class); digester.addBeanPropertySetter(path + "/?"); digester.addSetProperties(path); digester.addSetNext(path, "addProperty"); // Converters path = "components/converter"; digester.addObjectCreate(path, ConverterBean.class); digester.addBeanPropertySetter(path + "/id"); digester.addBeanPropertySetter(path + "/classname"); digester.addBeanPropertySetter(path + "/superclass"); digester.addBeanPropertySetter(path + "/description"); digester.addBeanPropertySetter(path + "/displayname"); digester.addBeanPropertySetter(path + "/icon"); digester.addBeanPropertySetter(path + "/forclass"); // TODO - for superclass, populate from description in config file, if // exist digester.addSetProperties(path); digester.addSetNext(path, "addConverter"); // Functions path = "components/function"; digester.addObjectCreate(path, FunctionBean.class); digester.addBeanPropertySetter(path + "/name"); digester.addBeanPropertySetter(path + "/description"); digester.addBeanPropertySetter(path + "/method"); digester.addSetNext(path, "addFunction"); // - Tags & Tag handlers path = "components/component/tag"; digester.addObjectCreate(path, TagBean.class); digester.addBeanPropertySetter(path + "/?"); digester.addSetProperties(path); digester.addSetNext(path, "setTag"); path = "components/validator/tag"; digester.addObjectCreate(path, TagBean.class); digester.addBeanPropertySetter(path + "/?"); digester.addSetProperties(path); digester.addSetNext(path, "setTag"); path = "components/converter/tag"; digester.addObjectCreate(path, TagBean.class); digester.addBeanPropertySetter(path + "/?"); digester.addSetProperties(path); digester.addSetNext(path, "setTag"); path = "components/component/tag/test"; digester.addObjectCreate(path, TagTestClassHolder.class); digester.addBeanPropertySetter(path + "/?"); digester.addSetProperties(path); digester.addSetNext(path, "setTest"); path = "components/component/test"; digester.addObjectCreate(path, TestClassHolder.class); digester.addBeanPropertySetter(path + "/?"); digester.addSetProperties(path); digester.addSetNext(path, "setTest"); path = "components/component/taghandler"; digester.addObjectCreate(path, TagHandlerBean.class); digester.addBeanPropertySetter(path + "/?"); digester.addSetProperties(path); digester.addSetNext(path, "setTaghandler"); /* * path = "components/component/taghandler/test"; * digester.addObjectCreate(path, TestClassHolder.class); * digester.addBeanPropertySetter(path+"/?"); * digester.addSetProperties(path); digester.addSetNext(path, * "setTest"); */ // Properties path = "components/component/property"; digester.addObjectCreate(path, PropertyBean.class); digester.addBeanPropertySetter(path + "/?"); digester.addSetProperties(path); digester.addSetNext(path, "addProperty"); // path = "components/validator/property"; // digester.addObjectCreate(path, PropertyBean.class); // digester.addBeanPropertySetter(path+"/?"); // digester.addSetProperties(path); // digester.addSetNext(path, "addProperty"); path = "components/converter/property"; digester.addObjectCreate(path, PropertyBean.class); digester.addBeanPropertySetter(path + "/?"); digester.addSetProperties(path); digester.addSetNext(path, "addProperty"); path = "*/properties/property"; digester.addObjectCreate(path, PropertyBean.class); digester.addBeanPropertySetter(path + "/?"); digester.addSetProperties(path); digester.addSetNext(path, "addProperty"); // Listeners path = "components/listener"; digester.addObjectCreate(path, ListenerBean.class); digester.addBeanPropertySetter(path + "/?"); digester.addSetProperties(path); digester.addSetNext(path, "addListener"); path = "components/listener/tag"; digester.addObjectCreate(path, TagBean.class); digester.addBeanPropertySetter(path + "/?"); digester.addSetProperties(path); digester.addSetNext(path, "setTag"); path = "components/listener/taghandler"; digester.addObjectCreate(path, TagHandlerBean.class); digester.addBeanPropertySetter(path + "/?"); digester.addSetProperties(path); digester.addSetNext(path, "setTaghandler"); path = "components/listener/property"; digester.addObjectCreate(path, PropertyBean.class); digester.addBeanPropertySetter(path + "/?"); digester.addSetProperties(path); digester.addSetNext(path, "addProperty"); // Set this config as root. digester.push(this); try { digester.parse(configFile.toString()); } catch (IOException e) { // TODO Auto-generated catch block throw new ParsingException("I/O error on parsing config file ", e); } catch (SAXException e) { // TODO Auto-generated catch block throw new ParsingException("SAX Parsing error in config file ", e); } // checkComopnentProperties(); // return this; }
From source file:org.bedework.dumprestore.restore.rules.RestoreRuleSet.java
@Override public void addRuleInstances(final Digester d) { BwStringRule strRule = new BwStringRule(globals); BwStringFieldRule strFrule = new BwStringFieldRule(globals); BwLongStringRule lstrRule = new BwLongStringRule(globals); BwLongStringFieldRule lstrFrule = new BwLongStringFieldRule(globals); PrincipalFieldRule principalField = new PrincipalFieldRule(globals); PushFieldRule uidField = new PushFieldRule(globals, "uid"); PushFieldRule pathField = new PushFieldRule(globals, "path"); d.setRules(new ExtendedBaseRules()); /* ---------------- Universal rules ------------------------------ */ //d.addRule("!*/owner", new OwnerRule(globals)); //d.addRule("!*/owner/user", principalField); //d.addRule("!*/owner/user/account", principalField); //d.addRule("!*/owner/group", principalField); // d.addRule("!*/owner/group/account", principalField); // d.addRule("!*/groupOwner", new OwnerRule(globals)); // d.addRule("!*/groupOwner/user", principalField); //d.addRule("!*/groupOwner/user/account", principalField); // d.addRule("!*/groupOwner/group", principalField); // d.addRule("!*/groupOwner/group/account", principalField); // d.addRule("!*/creator", new CreatorRule(globals)); // d.addRule("!*/creator/user", principalField); //d.addRule("!*/creator/user/account", principalField); // d.addRule("!*/creator/group", principalField); // d.addRule("!*/creator/group/account", principalField); d.addRule("!*/bwstring", strRule); d.addRule("!*/bwstring/lang", strFrule); d.addRule("!*/bwstring/value", strFrule); d.addRule("!*/bwlongstring", lstrRule); d.addRule("!*/bwlongstring/lang", lstrFrule); d.addRule("!*/bwlongstring/value", lstrFrule); d.addRule("!*/date-time", new DateTimeRule(globals)); d.addRule("!*/date-time/?", new DateTimeFieldRule(globals)); PropertiesRule pr = new PropertiesRule(globals); d.addRule("!*/properties", pr); d.addRule("!*/properties/property", pr); d.addRule("!*/properties/property/?", new PropertiesFieldRule(globals)); d.addRule("!*/container/collection/path", new ContainerPathRule(globals)); /* ---------------- Non-universal rules ------------------------------ */ DumpPropertiesRule dpr = new DumpPropertiesRule(globals); d.addRule("caldata/majorVersion", dpr); d.addRule("caldata/minorVersion", dpr); d.addRule("caldata/updateVersion", dpr); d.addRule("caldata/patchLevel", dpr); d.addRule("caldata/dumpDate", dpr); d.addRule("caldata/version", dpr); d.addRule("caldata/syspars/system", new SysparsRule(globals)); d.addRule("caldata/syspars/system/*", new SysparsFieldRule(globals)); UserFieldRule ufr = new UserFieldRule(globals); d.addRule("caldata/users", new SectionRule(globals, "users")); d.addRule("caldata/users/user", new UserRule(globals)); d.addRule("caldata/users/user/*", ufr); CalendarFieldRule colfr = new CalendarFieldRule(globals); d.addRule("caldata/collections", new SectionRule(globals, "calendars")); d.addRule("caldata/collections/collection", new CalendarRule(globals)); d.addRule("caldata/collections/collection/?", colfr); d.addRule("caldata/collections/collection/col-lastmod", new CollectionLastmodRule(globals)); d.addRule("caldata/collections/collection/col-lastmod/?", new LastmodFieldRule(globals)); d.addRule("*/collection/categories/category", new CategoryUidRule(globals)); d.addRule("*/collection/categories/category/uid", uidField); CalSuiteFieldRule cfr = new CalSuiteFieldRule(globals); d.addRule("caldata/cal-suites", new SectionRule(globals, "cal-suites")); d.addRule("caldata/cal-suites/cal-suite", new CalSuiteRule(globals)); d.addRule("caldata/cal-suites/cal-suite/?", cfr); d.addRule("caldata/cal-suites/cal-suite/group/adminGroup/account", cfr); d.addRule("caldata/cal-suites/cal-suite/rootCalendar/collection/path", cfr); d.addRule("caldata/locations", new SectionRule(globals, "locations")); d.addRule("caldata/locations/location", new LocationRule(globals)); d.addRule("caldata/locations/location/?", new LocationFieldRule(globals)); d.addRule("caldata/contacts", new SectionRule(globals, "contacts")); d.addRule("caldata/contacts/contact", new ContactRule(globals)); d.addRule("caldata/contacts/contact/?", new ContactFieldRule(globals)); CategoryFieldRule catfr = new CategoryFieldRule(globals); d.addRule("caldata/categories", new SectionRule(globals, "categories")); d.addRule("caldata/categories/category", new CategoryRule(globals)); d.addRule("caldata/categories/category/?", catfr); AdminGroupFieldRule agfr = new AdminGroupFieldRule(globals); d.addRule("caldata/adminGroups", new SectionRule(globals, "adminGroups")); d.addRule("caldata/adminGroups/adminGroup", new AdminGroupRule(globals)); d.addRule("caldata/adminGroups/adminGroup/?", agfr); d.addRule("caldata/adminGroups/adminGroup/groupMembers/?", agfr); d.addRule("!*/groupMembers/member", new MemberRule(globals)); d.addRule("!*/groupMembers/member/user", principalField); d.addRule("!*/groupMembers/member/user/account", principalField); d.addRule("!*/groupMembers/member/adminGroup", principalField); d.addRule("!*/groupMembers/member/adminGroup/account", principalField); AuthUserFieldRule aufr = new AuthUserFieldRule(globals); d.addRule("caldata/authusers", new SectionRule(globals, "authusers")); d.addRule("caldata/authusers/authuser", new AuthUserRule(globals)); d.addRule("caldata/authusers/authuser/?", aufr); d.addRule("caldata/authusers/authuser/user/user/account", aufr); d.addRule("caldata/authusers/authuser/prefs/?", aufr); d.addRule("caldata/authusers/authuser/prefs/categoryPrefs/preferred/?", aufr); d.addRule("caldata/authusers/authuser/prefs/calendarPrefs/preferred/?", aufr); d.addRule("caldata/authusers/authuser/prefs/contactPrefs/preferred/?", aufr); d.addRule("caldata/authusers/authuser/prefs/locationPrefs/preferred/?", aufr); d.addRule("caldata/authusers/authuser/prefs/categoryPrefs/preferred/category", new CategoryUidRule(globals)); d.addRule("caldata/authusers/authuser/prefs/categoryPrefs/preferred/category/?", uidField); d.addRule("caldata/authusers/authuser/prefs/calendarPrefs/preferred/collection", new CollectionPathRule(globals)); d.addRule("caldata/authusers/authuser/prefs/calendarPrefs/preferred/collection/?", pathField); d.addRule("caldata/authusers/authuser/prefs/contactPrefs/preferred/contact", new ContactUidRule(globals)); d.addRule("caldata/authusers/authuser/prefs/contactPrefs/preferred/contact/?", uidField); d.addRule("caldata/authusers/authuser/prefs/locationPrefs/preferred/location", new LocationUidRule(globals)); d.addRule("caldata/authusers/authuser/prefs/locationPrefs/preferred/location/?", uidField); UserPrefsFieldRule upfr = new UserPrefsFieldRule(globals); d.addRule("caldata/user-preferences", new SectionRule(globals, "user-preferences")); d.addRule("caldata/user-preferences/preferences", new UserPrefsRule(globals)); d.addRule("caldata/user-preferences/preferences/?", upfr); d.addRule("caldata/user-preferences/preferences/views/view", upfr); d.addRule("caldata/user-preferences/preferences/views/view/?", upfr); d.addRule("caldata/user-preferences/preferences/views/view/collectionPaths/?", upfr); EventFieldRule efr = new EventFieldRule(globals); d.addRule("caldata/events", new SectionRule(globals, "events")); d.addRule("caldata/events/event", new EventRule(globals, objectEvent)); d.addRule("caldata/events/event/overrides/event", new EventRule(globals, objectOverride)); d.addRule("caldata/event-annotations", new SectionRule(globals, "event annotations")); d.addRule("caldata/event-annotations/event", new EventRule(globals, objectEventAnnotation)); EventStringKeyRule eskr = new EventStringKeyRule(globals); /* container/collection is caught by a universal rule above */ d.addRule("caldata/events/event/overrides/event/target/event/uid", eskr); d.addRule("caldata/events/event/overrides/event/target/event/recurrenceId", eskr); d.addRule("caldata/events/event/overrides/event/master/event/uid", eskr); d.addRule("caldata/events/event/overrides/event/master/event/recurrenceId", eskr); d.addRule("caldata/event-annotations/event/target/event/uid", eskr); d.addRule("caldata/event-annotations/event/target/event/recurrenceId", eskr); d.addRule("caldata/event-annotations/event/master/event/uid", eskr); d.addRule("caldata/event-annotations/event/master/event/recurrenceId", eskr); d.addRule("*/event/?", efr); d.addRule("*/event/rdates/rdate", efr); d.addRule("*/event/exdates/exdate", efr); d.addRule("*/event/rrules/rrule", efr); d.addRule("*/event/exrules/exrule", efr); d.addRule("*/event/recipients/?", efr); d.addRule("*/event/categories/category", new CategoryUidRule(globals)); d.addRule("*/event/categories/category/uid", uidField); d.addRule("*/event/location/location", new LocationUidRule(globals)); d.addRule("*/event/location/location/uid", uidField); d.addRule("*/event/contacts/contact", new ContactUidRule(globals)); d.addRule("*/event/contacts/contact/uid", uidField); d.addRule("*/event/geo", new GeoRule(globals)); d.addRule("*/event/geo/?", new GeoFieldRule(globals)); d.addRule("*/event/relatedTo", new RelatedToRule(globals)); d.addRule("*/event/relatedTo/?", new RelatedToFieldRule(globals)); d.addRule("*/event/organizer", new OrganizerRule(globals)); d.addRule("*/event/organizer/?", new OrganizerFieldRule(globals)); d.addRule("*/event/override/event/?", efr); d.addRule("*/event/attachments/attachment", new AttachmentRule(globals)); d.addRule("*/event/attachments/attachment/?", new AttachmentFieldRule(globals)); d.addRule("*/event/attendees/attendee", new AttendeeRule(globals)); d.addRule("*/event/attendees/attendee/?", new AttendeeFieldRule(globals)); d.addRule("*/event/comments/comment", strRule); d.addRule("*/event/comments/comment/?", strFrule); d.addRule("*/event/resources/resource", strRule); d.addRule("*/event/resources/resource/?", strFrule); d.addRule("*/event/request-statuses/request-status", new EventBwRequestStatusRule(globals)); d.addRule("*/event/request-statuses/request-status/description", strRule); d.addRule("*/event/request-statuses/request-status/description/?", strFrule); d.addRule("*/event/request-statuses/request-status/?", new EventBwRequestStatusFieldRule(globals)); d.addRule("*/event/xproperties/xproperty", new XpropertyRule(globals)); d.addRule("*/event/xproperties/xproperty/?", new XpropertyFieldRule(globals)); AlarmFieldRule alfr = new AlarmFieldRule(globals); d.addRule("*/event/alarms/alarm", new AlarmRule(globals)); d.addRule("*/event/alarms/alarm/?", alfr); d.addRule("*/event/alarms/alarm/descriptions/description", strRule); d.addRule("*/event/alarms/alarm/descriptions/description/?", strFrule); d.addRule("*/event/alarms/alarm/summaries/summary", strRule); d.addRule("*/event/alarms/alarm/summaries/summary/?", strFrule); FilterFieldRule ffr = new FilterFieldRule(globals); d.addRule("caldata/filters", new SectionRule(globals, "filters")); d.addRule("caldata/filters/filter", new FilterRule(globals)); d.addRule("*/filter/?", ffr); ResourceFieldRule rfr = new ResourceFieldRule(globals); d.addRule("caldata/resources", new SectionRule(globals, sectionResources)); d.addRule("caldata/resources/resource", new ResourceRule(globals)); d.addRule("*/resource/?", rfr); d.addRule("*/resource/content", new ResourceContentRule(globals)); d.addRule("*/resource/content/?", new ResourceContentFieldRule(globals)); d.addRule("*/event/summaries/summary", strRule); d.addRule("*/event/summaries/summary/?", strFrule); d.addRule("*/event/descriptions/description", lstrRule); d.addRule("*/event/descriptions/description/?", lstrFrule); d.addRule("*/filter/descriptions/description", lstrRule); d.addRule("*/filter/descriptions/description/?", lstrFrule); d.addRule("*/filter/display-names/display-name", strRule); d.addRule("*/filter/display-names/display-name/?", strFrule); d.addRule("*/event/alarm", new AlarmRule(globals)); d.addRule("*/event/alarm/?", alfr); }
From source file:org.efaps.maven.run.Plugin.java
/** * * @param _name name of the plugin/*from w w w . jav a 2s.c o m*/ * @see #name */ private Plugin(final URL _url) throws IOException, SAXException, ParserConfigurationException { System.out.println("read plugin " + _url); Digester digester = new Digester(); digester.setValidating(false); digester.setRules(new ExtendedBaseRules()); // plugin name PluginRule pluginRule = new PluginRule(); digester.addRule("plugin", pluginRule); digester.addCallParam("plugin/goalPrefix", 0); // goal digester.addRule("plugin/mojos/mojo", new GoalRule()); digester.addCallParam("plugin/mojos/mojo/goal", 0); digester.addCallParam("plugin/mojos/mojo/implementation", 1); digester.addCallParam("plugin/mojos/mojo/description", 2); // goal parameter digester.addCallMethod("plugin/mojos/mojo/parameters/parameter", "addParameter", 6, new Class[] { String.class, String.class, String.class, String.class, Boolean.class, Boolean.class }); digester.addCallParam("plugin/mojos/mojo/parameters/parameter/name", 0); digester.addCallParam("plugin/mojos/mojo/parameters/parameter/alias", 1); digester.addCallParam("plugin/mojos/mojo/parameters/parameter/type", 2); digester.addCallParam("plugin/mojos/mojo/parameters/parameter/description", 3); digester.addCallParam("plugin/mojos/mojo/parameters/parameter/required", 4); digester.addCallParam("plugin/mojos/mojo/parameters/parameter/editable", 5); // goal configuration (default values) DefaultValueRule.init(digester); digester.parse(_url.openStream()); this.name = pluginRule.name; }
From source file:org.kuali.kfs.module.ar.batch.CustomerInvoiceWriteoffBatchDigesterTest.java
/** * @return fully-initialized Digester used to process entry XML files *///from w ww . j a v a2s . co m private Digester buildDigester(String schemaLocation, String digestorRulesFileName) { Digester digester = new Digester(); digester.setNamespaceAware(false); digester.setValidating(true); digester.setErrorHandler(new XmlErrorHandler()); digester.setSchema(schemaLocation); Rules rules = loadRules(digestorRulesFileName); digester.setRules(rules); return digester; }
From source file:org.kuali.kfs.sys.batch.XmlBatchInputFileTypeBase.java
/** * @return fully-initialized Digester used to process entry XML files *///from www.ja va2 s .co m protected Digester buildDigester(String schemaLocation, String digestorRulesFileName) { Digester digester = new Digester(); digester.setNamespaceAware(false); digester.setValidating(true); digester.setErrorHandler(new XmlErrorHandler()); digester.setSchema(schemaLocation); Rules rules = loadRules(digestorRulesFileName); digester.setRules(rules); return digester; }
From source file:org.richfaces.component.xml.XmlTreeDataBuilder.java
public static TreeNode build(InputSource inputSource) throws SAXException, IOException { Digester digester = new Digester(); Rule rule = new Rule(); final List rulesList = new ArrayList(1); rulesList.add(rule);//w w w.java 2s. co m RulesBase rulesBase = new RulesBase() { protected List lookup(String namespace, String name) { return rulesList; } }; digester.setRules(rulesBase); digester.setNamespaceAware(true); digester.parse(inputSource); return rule.treeNode; }
From source file:org.xchain.framework.digester.AnnotationRuleSet.java
public void addRuleInstances(Digester digester) { // log what we are attempting to do. // set up the namespace in the digester. digester.setNamespaceAware(true);/*from w ww. j ava 2s .co m*/ // add the place holder rule used to pass mappings when there is not an element to pass them on... // TODO: add code for the place holder command. LifecycleContext lifecycleContext = Lifecycle.getLifecycleContext(); for (NamespaceContext namespaceContext : lifecycleContext.getNamespaceContextMap().values()) { digester.setRuleNamespaceURI(namespaceContext.getNamespaceUri()); for (Class classObject : namespaceContext.getCatalogList()) { // for catalogs that we find, we need to add a create rule, a properties rule, a set next rule, and a registration rule. addRulesForCatalog(digester, classObject, lifecycleContext); } for (Class classObject : namespaceContext.getCommandList()) { // for commands that we find, we need to add a create rule, a properties rule, a set next rule, and a registration rule. addRulesForCommand(digester, lifecycleContext, systemId, classObject); } } WithDefaultsRulesWrapper defaults = new WithDefaultsRulesWrapper(digester.getRules()); defaults.addDefault(new UnknownElementRule()); digester.setRules(defaults); }
From source file:org.xchain.tools.monitoring.MonitoringMojo.java
private void mergeWarMonitoringInfo(MonitoringInfo monitoringInfo, File file) throws MojoExecutionException { JarFile artifactJar = null;/* w ww. j a v a2 s .c o m*/ JarEntry monitoringInfoEntry = null; InputStream in = null; try { getLog().info("Getting monitoring info from file " + file.toString()); artifactJar = new JarFile(file); monitoringInfoEntry = artifactJar.getJarEntry("WEB-INF/classes/META-INF/monitoring-info.xml"); if (monitoringInfoEntry != null) { in = artifactJar.getInputStream(monitoringInfoEntry); // digest the xml file and get all of the entries. Digester digester = new Digester(); digester.push(monitoringInfo); digester.addRuleSet(new MonitoringInfoRuleSet()); WithDefaultsRulesWrapper wrapper = new WithDefaultsRulesWrapper(digester.getRules()); wrapper.addDefault(new LoggingRule()); digester.setRules(wrapper); digester.parse(in); } else { getLog().info("Monitoring info file not found in " + file.toString()); } } catch (SAXException se) { throw new MojoExecutionException("Could not parse a monitoring-info.xml file.", se); } catch (IOException ioe) { throw new MojoExecutionException("Could not open jar file.", ioe); } finally { if (in != null) { try { in.close(); } catch (IOException ioe) { getLog().warn("Could not close a jar entry input stream.", ioe); } } try { artifactJar.close(); } catch (IOException ioe) { getLog().warn("Could not close a jar.", ioe); } } }
From source file:velo.reconcilidation.SyncTargetImporter.java
/** @param d The digester object to add the rules for *//* w ww . ja v a 2s . c om*/ public static void addRules(Digester d) { d.setValidating(false); d.setRules(new ExtendedBaseRules()); //When we encounter an "account" tag, create an instance of class // 'Account' and push it on the digester stack of objects. After // doing that, call addAccount on the second-to-top object on the // digester stack (a "resource" object), passing the top object on // the digester stack (the "Account" object). And also set things // up so that for each child xml element encountered between the start // of the account tag and the end of the account tag, the text // contained in that element is passed to a setXXX method on the // Address object where XXX is the name of the xml element found. d.addObjectCreate("syncList/resource/accounts/account", Account.class); d.addSetProperties("syncList/resource/accounts/account"); d.addSetNext("syncList/resource/accounts/account", "addAccount"); //d.addSetNestedProperties("syncList/resource/account"); d.addCallMethod("syncList/resource/accounts/account/name", "setName", 0); d.addObjectCreate("syncList/resource/accounts/account/attributes/attribute", Attribute.class); //set the properties automatically, which currently the only interesting part is the 'uniqueName' of the attribute d.addSetProperties("syncList/resource/accounts/account/attributes/attribute"); d.addSetNext("syncList/resource/accounts/account/attributes/attribute", "addTransientAttribute"); //d.addSetNestedProperties("syncList/resource/account"); //d.addCallMethod("syncList/resource/accounts/account/attributes/attribute/name", "setUniqueName",0); d.addObjectCreate("syncList/resource/accounts/account/attributes/attribute/values/value", AttributeValue.class); d.addCallMethod("syncList/resource/accounts/account/attributes/attribute/values/value", "setValue", 0); //d.addSetProperties("syncList/resource/accounts/account/attributes/attribute/values/value"); d.addSetNext("syncList/resource/accounts/account/attributes/attribute/values/value", "addValue"); d.addObjectCreate("syncList/resource/groups/group", ActiveGroup.class); d.addSetProperties("syncList/resource/groups/group"); d.addSetNext("syncList/resource/groups/group", "addGroup"); //addSetProperties handles all of these :) //HUH?d.addCallMethod("syncList/resource/groups/group/displayName", "setDisplayName",0); //HUH?d.addCallMethod("syncList/resource/groups/group/uniqueId", "setUniqueId",0); //HUH?d.addCallMethod("syncList/resource/groups/group/description", "setDescription",0); d.addObjectCreate("syncList/resource/groupsMemberShip/group", ActiveGroup.class); d.addSetProperties("syncList/resource/groupsMemberShip/group"); d.addSetNext("syncList/resource/groupsMemberShip/group", "addGroupForMembership"); d.addObjectCreate("syncList/resource/groupsMemberShip/group/member", Account.class); d.addSetProperties("syncList/resource/groupsMemberShip/group/member", "id", "name"); d.addSetNext("syncList/resource/groupsMemberShip/group/member", "addMemberForSync"); }