xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/util/ElementDigesterUtils.java
File was renamed from xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/util/DigesterUtils.java @@ -5,7 +5,7 @@ import org.apache.commons.digester3.binder.DigesterLoader; import org.apache.commons.digester3.xmlrules.FromXmlRulesModule; public class DigesterUtils { public class ElementDigesterUtils { protected static Digester digester = null; protected static DigesterLoader loader = DigesterLoader.newLoader( new FromXmlRulesModule() { @Override xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/util/XGeosConfigDigesterUtils.java
New file @@ -0,0 +1,11 @@ package com.ximple.eofms.util; /** * Created with IntelliJ IDEA. * User: ulysseskao * Date: 2013/8/6 * Time: 下午 4:35 * To change this template use File | Settings | File Templates. */ public class XGeosConfigDigesterUtils { } xdgnjobs/ximple-spatialjob/src/main/resources/com/ximple/eofms/filter/digester-rules-3.0.dtd
New file @@ -0,0 +1,244 @@ <?xml version="1.0" encoding="UTF-8" ?> <!-- $Id: digester-rules-3.0.dtd 1209995 2011-12-03 20:23:25Z simonetripodi $ Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <!-- "Digester" component of the Commons Subproject DTD for the definition of Digester rules in XML. $Id: digester-rules-3.0.dtd 1209995 2011-12-03 20:23:25Z simonetripodi $ Applications wishing to reference this DTD in their own documents should use the following DOCTYPE declaration: <!DOCTYPE digester-rules PUBLIC "-//Apache Commons //DTD digester-rules XML V1.0//EN" "http://commons.apache.org/digester/dtds/digester-rules-3.0.dtd"> --> <!-- This document type defines an XML format for defining Digester rules. Digester is a framework for pattern-matching-based parsing of XML into Java objects. See http://commons.apache.org/digester/. --> <!ENTITY % rule-elements "bean-property-setter-rule | call-method-rule | call-param-rule | object-param-rule | node-create-rule | factory-create-rule | object-create-rule | set-properties-rule | set-nested-properties-rule | set-property-rule | set-top-rule | set-next-rule | set-root-rule" > <!-- digester-rules is the root element. --> <!ELEMENT digester-rules (pattern | include | %rule-elements; )*> <!ATTLIST digester-rules namespaceURI CDATA #IMPLIED> <!-- <pattern> defines a matching pattern, or part of a matching pattern. Any rule nested in a pattern element prepends its parent's to its pattern. Patterns may be recursively nested. Example: <pattern value="foo"> <pattern value="bar"> <object-create-rule pattern="baz" classname="Fubar" /> </pattern> </pattern> The above sample fragment defines an ObjectCreateRule associated with the pattern "foo/bar/baz". Note that the use of pattern elements is optional; an alternative is for each rule element to contain a 'pattern' attribute. --> <!ELEMENT pattern (pattern | include | %rule-elements; )*> <!ATTLIST pattern value CDATA #REQUIRED> <!-- <include> allows one set of digester rules to be included inside another. The 'path' attribute contains the URI of the document to include. Inclusion behaves as if the included rules document is 'macro-expanded' within the outer document. Programmatically initialized rules can be included as well, via the 'class' attribute. The 'class' attribute should contain the name of a class that implements org.apache.commons.digester.xmlrules.DigesterRulesSource. --> <!ELEMENT include EMPTY> <!ATTLIST include url CDATA #IMPLIED class CDATA #IMPLIED> <!-- Each 'rule' element below corresponds to a concrete subclass of org.apache.framework.digester.Rule. Each 'rule' element has an optional 'pattern' attribute, which defines the pattern for that rule instance. If the rule element is nested inside one or more <pattern> elements, those patterns will be prepended to the pattern specified in the rule's 'pattern' attribute. --> <!-- Bean Property Setter Rule --> <!ELEMENT bean-property-setter-rule EMPTY> <!ATTLIST bean-property-setter-rule pattern CDATA #IMPLIED propertyname CDATA #IMPLIED propertynameFromAttribute CDATA #IMPLIED> <!-- CallMethodRule - - Note that paramtypes is ignored unless paramcount is defined. --> <!ELEMENT call-method-rule EMPTY> <!ATTLIST call-method-rule pattern CDATA #IMPLIED targetoffset CDATA #IMPLIED methodname CDATA #REQUIRED paramcount CDATA #IMPLIED paramtypes CDATA #IMPLIED usingElementBodyAsArgument CDATA #IMPLIED useExactMatch CDATA #IMPLIED> <!-- CallParamRule attrname - set param from attribute value (cannot be combined with from-stack or stack-index) from-stack - select an object from the current digester stack to pass as the parameter value. stack-index - select an object from the current digester stack to pass as a parameter value. If this is defined then from-stack is implicitly true. If from-stack is defined but this is not defined then this has an implicit value of zero, ie the top object on the stack is passed as the parameter. --> <!ELEMENT call-param-rule EMPTY> <!ATTLIST call-param-rule pattern CDATA #IMPLIED paramnumber CDATA #REQUIRED attrname CDATA #IMPLIED from-stack CDATA #IMPLIED stack-index CDATA #IMPLIED> <!-- ObjectParamRule attrname - Optional. This attribute is not normally specified. If it is provided, then this rule is executed *only* if the matched element has an attribute with this name. type - The type of the object to be passed to the target method. Mandatory. value - Initial value for the object. The BeanUtils converter module will be used to convert this to the type specified by the type attribute. Optional; if no value is provided then the converter will be invoked to convert NULL to the target type. For most (but not all) converters, NULL input results in NULL output. --> <!ELEMENT object-param-rule EMPTY> <!ATTLIST object-param-rule pattern CDATA #IMPLIED paramnumber CDATA #REQUIRED attrname CDATA #IMPLIED type CDATA #REQUIRED value CDATA #IMPLIED> <!-- NodeCreateRule type - node type: either 'element' or 'fragment'. this is optional, default is 'element' --> <!ELEMENT node-create-rule EMPTY> <!ATTLIST node-create-rule pattern CDATA #IMPLIED type CDATA #IMPLIED> <!-- FactoryCreateRule ignore-exceptions - if this attribute is (ignore case) 'true' then any exceptions thrown by the object create rule will be ignore. This will allow processing to continue. --> <!ELEMENT factory-create-rule EMPTY> <!ATTLIST factory-create-rule pattern CDATA #IMPLIED classname CDATA #REQUIRED attrname CDATA #IMPLIED ignore-exceptions CDATA #IMPLIED> <!-- ObjectCreateRule --> <!ELEMENT object-create-rule EMPTY> <!ATTLIST object-create-rule pattern CDATA #IMPLIED classname CDATA #REQUIRED attrname CDATA #IMPLIED paramtypes CDATA #IMPLIED> <!-- SetPropertiesRule --> <!ELEMENT set-properties-rule (alias)*> <!ATTLIST set-properties-rule pattern CDATA #IMPLIED> <!-- SetNestedPropertiesRule --> <!ELEMENT set-nested-properties-rule (alias)*> <!ATTLIST set-nested-properties-rule pattern CDATA #IMPLIED allow-unknown-child-elements CDATA #IMPLIED> <!-- An alias is a custom attribute->property name mapping --> <!ELEMENT alias EMPTY> <!ATTLIST alias attr-name CDATA #REQUIRED prop-name CDATA #IMPLIED> <!-- SetPropertyRule --> <!ELEMENT set-property-rule EMPTY> <!ATTLIST set-property-rule pattern CDATA #IMPLIED name CDATA #IMPLIED value CDATA #IMPLIED> <!-- SetTopRule --> <!ELEMENT set-top-rule EMPTY> <!ATTLIST set-top-rule pattern CDATA #IMPLIED methodname CDATA #REQUIRED paramtype CDATA #IMPLIED exactMatch CDATA #IMPLIED fireOnBegin CDATA #IMPLIED> <!-- SetNextRule --> <!ELEMENT set-next-rule EMPTY> <!ATTLIST set-next-rule pattern CDATA #IMPLIED methodname CDATA #REQUIRED paramtype CDATA #IMPLIED exactMatch CDATA #IMPLIED fireOnBegin CDATA #IMPLIED> <!-- SetRootRule --> <!ELEMENT set-root-rule EMPTY> <!ATTLIST set-root-rule pattern CDATA #IMPLIED methodname CDATA #REQUIRED paramtype CDATA #IMPLIED exactMatch CDATA #IMPLIED fireOnBegin CDATA #IMPLIED> xdgnjobs/ximple-spatialjob/src/main/resources/com/ximple/eofms/geoserver/config/DefaultXGeosDataConfigRules.xml
xdgnjobs/ximple-spatialjob/src/main/resources/com/ximple/eofms/geoserver/config/digester-rules-3.0.dtd
New file @@ -0,0 +1,244 @@ <?xml version="1.0" encoding="UTF-8" ?> <!-- $Id: digester-rules-3.0.dtd 1209995 2011-12-03 20:23:25Z simonetripodi $ Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <!-- "Digester" component of the Commons Subproject DTD for the definition of Digester rules in XML. $Id: digester-rules-3.0.dtd 1209995 2011-12-03 20:23:25Z simonetripodi $ Applications wishing to reference this DTD in their own documents should use the following DOCTYPE declaration: <!DOCTYPE digester-rules PUBLIC "-//Apache Commons //DTD digester-rules XML V1.0//EN" "http://commons.apache.org/digester/dtds/digester-rules-3.0.dtd"> --> <!-- This document type defines an XML format for defining Digester rules. Digester is a framework for pattern-matching-based parsing of XML into Java objects. See http://commons.apache.org/digester/. --> <!ENTITY % rule-elements "bean-property-setter-rule | call-method-rule | call-param-rule | object-param-rule | node-create-rule | factory-create-rule | object-create-rule | set-properties-rule | set-nested-properties-rule | set-property-rule | set-top-rule | set-next-rule | set-root-rule" > <!-- digester-rules is the root element. --> <!ELEMENT digester-rules (pattern | include | %rule-elements; )*> <!ATTLIST digester-rules namespaceURI CDATA #IMPLIED> <!-- <pattern> defines a matching pattern, or part of a matching pattern. Any rule nested in a pattern element prepends its parent's to its pattern. Patterns may be recursively nested. Example: <pattern value="foo"> <pattern value="bar"> <object-create-rule pattern="baz" classname="Fubar" /> </pattern> </pattern> The above sample fragment defines an ObjectCreateRule associated with the pattern "foo/bar/baz". Note that the use of pattern elements is optional; an alternative is for each rule element to contain a 'pattern' attribute. --> <!ELEMENT pattern (pattern | include | %rule-elements; )*> <!ATTLIST pattern value CDATA #REQUIRED> <!-- <include> allows one set of digester rules to be included inside another. The 'path' attribute contains the URI of the document to include. Inclusion behaves as if the included rules document is 'macro-expanded' within the outer document. Programmatically initialized rules can be included as well, via the 'class' attribute. The 'class' attribute should contain the name of a class that implements org.apache.commons.digester.xmlrules.DigesterRulesSource. --> <!ELEMENT include EMPTY> <!ATTLIST include url CDATA #IMPLIED class CDATA #IMPLIED> <!-- Each 'rule' element below corresponds to a concrete subclass of org.apache.framework.digester.Rule. Each 'rule' element has an optional 'pattern' attribute, which defines the pattern for that rule instance. If the rule element is nested inside one or more <pattern> elements, those patterns will be prepended to the pattern specified in the rule's 'pattern' attribute. --> <!-- Bean Property Setter Rule --> <!ELEMENT bean-property-setter-rule EMPTY> <!ATTLIST bean-property-setter-rule pattern CDATA #IMPLIED propertyname CDATA #IMPLIED propertynameFromAttribute CDATA #IMPLIED> <!-- CallMethodRule - - Note that paramtypes is ignored unless paramcount is defined. --> <!ELEMENT call-method-rule EMPTY> <!ATTLIST call-method-rule pattern CDATA #IMPLIED targetoffset CDATA #IMPLIED methodname CDATA #REQUIRED paramcount CDATA #IMPLIED paramtypes CDATA #IMPLIED usingElementBodyAsArgument CDATA #IMPLIED useExactMatch CDATA #IMPLIED> <!-- CallParamRule attrname - set param from attribute value (cannot be combined with from-stack or stack-index) from-stack - select an object from the current digester stack to pass as the parameter value. stack-index - select an object from the current digester stack to pass as a parameter value. If this is defined then from-stack is implicitly true. If from-stack is defined but this is not defined then this has an implicit value of zero, ie the top object on the stack is passed as the parameter. --> <!ELEMENT call-param-rule EMPTY> <!ATTLIST call-param-rule pattern CDATA #IMPLIED paramnumber CDATA #REQUIRED attrname CDATA #IMPLIED from-stack CDATA #IMPLIED stack-index CDATA #IMPLIED> <!-- ObjectParamRule attrname - Optional. This attribute is not normally specified. If it is provided, then this rule is executed *only* if the matched element has an attribute with this name. type - The type of the object to be passed to the target method. Mandatory. value - Initial value for the object. The BeanUtils converter module will be used to convert this to the type specified by the type attribute. Optional; if no value is provided then the converter will be invoked to convert NULL to the target type. For most (but not all) converters, NULL input results in NULL output. --> <!ELEMENT object-param-rule EMPTY> <!ATTLIST object-param-rule pattern CDATA #IMPLIED paramnumber CDATA #REQUIRED attrname CDATA #IMPLIED type CDATA #REQUIRED value CDATA #IMPLIED> <!-- NodeCreateRule type - node type: either 'element' or 'fragment'. this is optional, default is 'element' --> <!ELEMENT node-create-rule EMPTY> <!ATTLIST node-create-rule pattern CDATA #IMPLIED type CDATA #IMPLIED> <!-- FactoryCreateRule ignore-exceptions - if this attribute is (ignore case) 'true' then any exceptions thrown by the object create rule will be ignore. This will allow processing to continue. --> <!ELEMENT factory-create-rule EMPTY> <!ATTLIST factory-create-rule pattern CDATA #IMPLIED classname CDATA #REQUIRED attrname CDATA #IMPLIED ignore-exceptions CDATA #IMPLIED> <!-- ObjectCreateRule --> <!ELEMENT object-create-rule EMPTY> <!ATTLIST object-create-rule pattern CDATA #IMPLIED classname CDATA #REQUIRED attrname CDATA #IMPLIED paramtypes CDATA #IMPLIED> <!-- SetPropertiesRule --> <!ELEMENT set-properties-rule (alias)*> <!ATTLIST set-properties-rule pattern CDATA #IMPLIED> <!-- SetNestedPropertiesRule --> <!ELEMENT set-nested-properties-rule (alias)*> <!ATTLIST set-nested-properties-rule pattern CDATA #IMPLIED allow-unknown-child-elements CDATA #IMPLIED> <!-- An alias is a custom attribute->property name mapping --> <!ELEMENT alias EMPTY> <!ATTLIST alias attr-name CDATA #REQUIRED prop-name CDATA #IMPLIED> <!-- SetPropertyRule --> <!ELEMENT set-property-rule EMPTY> <!ATTLIST set-property-rule pattern CDATA #IMPLIED name CDATA #IMPLIED value CDATA #IMPLIED> <!-- SetTopRule --> <!ELEMENT set-top-rule EMPTY> <!ATTLIST set-top-rule pattern CDATA #IMPLIED methodname CDATA #REQUIRED paramtype CDATA #IMPLIED exactMatch CDATA #IMPLIED fireOnBegin CDATA #IMPLIED> <!-- SetNextRule --> <!ELEMENT set-next-rule EMPTY> <!ATTLIST set-next-rule pattern CDATA #IMPLIED methodname CDATA #REQUIRED paramtype CDATA #IMPLIED exactMatch CDATA #IMPLIED fireOnBegin CDATA #IMPLIED> <!-- SetRootRule --> <!ELEMENT set-root-rule EMPTY> <!ATTLIST set-root-rule pattern CDATA #IMPLIED methodname CDATA #REQUIRED paramtype CDATA #IMPLIED exactMatch CDATA #IMPLIED fireOnBegin CDATA #IMPLIED> xdgnjobs/ximple-spatialjob/src/main/resources/com/ximple/eofms/geoserver/config/xgeosdataconfig.xml