forked from geodmms/xdgnjobs

?? ?
2008-03-27 0bdcece216e0d3b51760ded614b420eff503abef
.gitattributes
@@ -49,6 +49,7 @@
xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateTextStrategy.java svneol=native#text/plain
xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/ElementDispatchableFilter.java svneol=native#text/plain
xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/ElementDispatcher.java svneol=native#text/plain
xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/ElementTypeCriterion.java svneol=native#text/plain
xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/TypeCompIdDispatchableFilter.java svneol=native#text/plain
xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/TypeCompLevelIdDispatchableFilter.java svneol=native#text/plain
xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/TypeIdDispatchableFilter.java svneol=native#text/plain
xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/AbstractDispatchableFilter.java
@@ -1,18 +1,23 @@
package com.ximple.eofms.filter;
import java.util.LinkedList;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.ximple.io.dgn7.Element;
public abstract class AbstractDispatchableFilter implements ElementDispatchableFilter
{
    private String name;
    private String description;
    private int elmtype;
    private LinkedList<ElementTypeCriterion> criterions;
    protected Log logger = LogFactory.getLog(AbstractFLinkageDispatchableFilter.class);
    public AbstractDispatchableFilter()
    {
        criterions = new LinkedList<ElementTypeCriterion>();
    }
    public String getName()
@@ -35,13 +40,19 @@
        this.description = description;
    }
    public int getElmtype()
    public void addCriterion(ElementTypeCriterion criterion)
    {
        return elmtype;
        criterions.add(criterion);
    }
    public void setElmtype(int elmtype)
    protected int compareType(Element element)
    {
        this.elmtype = elmtype;
        for (ElementTypeCriterion criterion : criterions)
        {
            if (criterion.compareTo(element) == 0)
                return 0;
        }
        return -1;
    }
}
xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/ElementTypeCriterion.java
New file
@@ -0,0 +1,33 @@
package com.ximple.eofms.filter;
import com.ximple.io.dgn7.Element;
public class ElementTypeCriterion implements Comparable
{
    private int elementTypeId;
    public ElementTypeCriterion()
    {
    }
    public int compareTo(Object o)
    {
        if (o instanceof Element)
        {
            Element elm = (Element) o;
            if (elm.getElementType().id == elementTypeId)
                return 0;
        }
        return -1;
    }
    public int getElementTypeId()
    {
        return elementTypeId;
    }
    public void setElementTypeId(int elementTypeId)
    {
        this.elementTypeId = elementTypeId;
    }
}
xdgnjobs/ximple-spatialjob/src/test/resources/com/ximple/eofms/filter/test-data/testElementFilter.xml
@@ -3,7 +3,10 @@
  <TypeFilter name="DemoFeature1">
    <tid>106</tid>
    <description>DemoFilter for DemoFeature</description>
    <elmtype>7</elmtype>
    <elementCriterion>
      <elementtype>7</elementtype>
      <elementtype>17</elementtype>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeFilter>
  <TypeCompFilter name="DemoFeature2">
xdgnjobs/ximple-spatialjob/src/test/resources/com/ximple/eofms/filter/test-data/testRules.xml
@@ -10,18 +10,24 @@
      <set-properties-rule/>
      <bean-property-setter-rule pattern="name"/>
      <bean-property-setter-rule pattern="description"/>
      <bean-property-setter-rule pattern="elmtype"/>
      <!-- <bean-property-setter-rule pattern="elmtype"/> -->
      <bean-property-setter-rule pattern="tid"/>
        <pattern value="LineCreateStrategy">
            <object-create-rule classname="com.ximple.eofms.filter.CreateLineStringStrategy"/>
            <set-next-rule methodname="setCreateStrategy" paramtype="com.ximple.eofms.filter.CreateFeatureTypeStrategy"/>
            <set-properties-rule/>
        </pattern>
        <pattern value="TextCreateStrategy">
            <object-create-rule classname="com.ximple.eofms.filter.CreateTextStrategy"/>
            <set-next-rule methodname="setCreateStrategy" paramtype="com.ximple.eofms.filter.CreateFeatureTypeStrategy"/>
            <set-properties-rule/>
        </pattern>
      <pattern value="elementCriterion">
        <object-create-rule classname="com.ximple.eofms.filter.ElementTypeCriterion"/>
        <set-next-rule methodname="addCriterion" paramtype="com.ximple.eofms.filter.ElementTypeCriterion"/>
        <set-properties-rule/>
        <bean-property-setter-rule pattern="elementType"/>
      </pattern>
      <pattern value="LineCreateStrategy">
        <object-create-rule classname="com.ximple.eofms.filter.CreateLineStringStrategy"/>
        <set-next-rule methodname="setCreateStrategy" paramtype="com.ximple.eofms.filter.CreateFeatureTypeStrategy"/>
        <set-properties-rule/>
      </pattern>
      <pattern value="TextCreateStrategy">
        <object-create-rule classname="com.ximple.eofms.filter.CreateTextStrategy"/>
        <set-next-rule methodname="setCreateStrategy" paramtype="com.ximple.eofms.filter.CreateFeatureTypeStrategy"/>
        <set-properties-rule/>
      </pattern>
    </pattern>
    <pattern value="TypeCompFilter">
      <object-create-rule classname="com.ximple.eofms.filter.TypeCompIdDispatchableFilter"/>
@@ -32,16 +38,16 @@
      <bean-property-setter-rule pattern="elmtype"/>
      <bean-property-setter-rule pattern="tid"/>
      <bean-property-setter-rule pattern="cid"/>
        <pattern value="LineCreateStrategy">
            <object-create-rule classname="com.ximple.eofms.filter.CreateLineStringStrategy"/>
            <set-next-rule methodname="setCreateStrategy" paramtype="com.ximple.eofms.filter.CreateFeatureTypeStrategy"/>
            <set-properties-rule/>
        </pattern>
        <pattern value="TextCreateStrategy">
            <object-create-rule classname="com.ximple.eofms.filter.CreateTextStrategy"/>
            <set-next-rule methodname="setCreateStrategy" paramtype="com.ximple.eofms.filter.CreateFeatureTypeStrategy"/>
            <set-properties-rule/>
        </pattern>
      <pattern value="LineCreateStrategy">
        <object-create-rule classname="com.ximple.eofms.filter.CreateLineStringStrategy"/>
        <set-next-rule methodname="setCreateStrategy" paramtype="com.ximple.eofms.filter.CreateFeatureTypeStrategy"/>
        <set-properties-rule/>
      </pattern>
      <pattern value="TextCreateStrategy">
        <object-create-rule classname="com.ximple.eofms.filter.CreateTextStrategy"/>
        <set-next-rule methodname="setCreateStrategy" paramtype="com.ximple.eofms.filter.CreateFeatureTypeStrategy"/>
        <set-properties-rule/>
      </pattern>
    </pattern>
    <pattern value="TypeCompLevelFilter">
      <object-create-rule classname="com.ximple.eofms.filter.TypeCompLevelIdDispatchableFilter"/>
@@ -53,16 +59,16 @@
      <bean-property-setter-rule pattern="tid"/>
      <bean-property-setter-rule pattern="cid"/>
      <bean-property-setter-rule pattern="lid"/>
        <pattern value="LineCreateStrategy">
            <object-create-rule classname="com.ximple.eofms.filter.CreateLineStringStrategy"/>
            <set-next-rule methodname="setCreateStrategy" paramtype="com.ximple.eofms.filter.CreateFeatureTypeStrategy"/>
            <set-properties-rule/>
        </pattern>
        <pattern value="TextCreateStrategy">
            <object-create-rule classname="com.ximple.eofms.filter.CreateTextStrategy"/>
            <set-next-rule methodname="setCreateStrategy" paramtype="com.ximple.eofms.filter.CreateFeatureTypeStrategy"/>
            <set-properties-rule/>
        </pattern>
      <pattern value="LineCreateStrategy">
        <object-create-rule classname="com.ximple.eofms.filter.CreateLineStringStrategy"/>
        <set-next-rule methodname="setCreateStrategy" paramtype="com.ximple.eofms.filter.CreateFeatureTypeStrategy"/>
        <set-properties-rule/>
      </pattern>
      <pattern value="TextCreateStrategy">
        <object-create-rule classname="com.ximple.eofms.filter.CreateTextStrategy"/>
        <set-next-rule methodname="setCreateStrategy" paramtype="com.ximple.eofms.filter.CreateFeatureTypeStrategy"/>
        <set-properties-rule/>
      </pattern>
    </pattern>
  </pattern>
</digester-rules>