| | |
| | | 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/ElementLayerCriterion.java svneol=native#text/plain |
| | | xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/ElementLevelCriterion.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/util/PrintfFormat.java svneol=native#text/plain |
| | | xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/util/TWDDatumConverter.java svneol=native#text/plain |
| | | xdgnjobs/ximple-spatialjob/src/main/resources/com/ximple/eofms/filter/ElementDispatcherRules.xml svneol=native#text/xml |
| | | xdgnjobs/ximple-spatialjob/src/main/resources/conf/ConvertShpFilterForLayer.xml svneol=native#text/xml |
| | | xdgnjobs/ximple-spatialjob/src/main/resources/conf/DefaultConvertShpFilter.xml svneol=native#text/xml |
| | | xdgnjobs/ximple-spatialjob/src/test/java/com/ximple/eofms/filter/ElementDispatcherTest.java svneol=native#text/plain |
| | | xdgnjobs/ximple-spatialjob/src/test/resources/com/ximple/eofms/filter/test-data/testElementFilter.xml svneol=native#text/xml |
| | |
| | | { |
| | | private String name; |
| | | private String description; |
| | | private LinkedList<ElementTypeCriterion> criterions; |
| | | private LinkedList<ElementTypeCriterion> typeIdCriterions; |
| | | private LinkedList<ElementLevelCriterion> levelCriterions; |
| | | |
| | | protected Log logger = LogFactory.getLog(AbstractFLinkageDispatchableFilter.class); |
| | | |
| | | public AbstractDispatchableFilter() |
| | | { |
| | | criterions = new LinkedList<ElementTypeCriterion>(); |
| | | typeIdCriterions = new LinkedList<ElementTypeCriterion>(); |
| | | levelCriterions = new LinkedList<ElementLevelCriterion>(); |
| | | } |
| | | |
| | | public String getName() |
| | |
| | | |
| | | public void addCriterion(ElementTypeCriterion criterion) |
| | | { |
| | | criterions.add(criterion); |
| | | typeIdCriterions.add(criterion); |
| | | } |
| | | |
| | | public void addLevelCriterion(ElementLevelCriterion criterion) |
| | | { |
| | | levelCriterions.add(criterion); |
| | | } |
| | | |
| | | protected int compareType(Element element) |
| | | { |
| | | for (ElementTypeCriterion criterion : criterions) |
| | | for (ElementTypeCriterion criterion : typeIdCriterions) |
| | | { |
| | | if (criterion.compareTo(element) == 0) |
| | | return 0; |
| | | } |
| | | return -1; |
| | | } |
| | | |
| | | protected int compareLevel(Element element) |
| | | { |
| | | for (ElementLevelCriterion criterion : levelCriterions) |
| | | { |
| | | if (criterion.compareTo(element) == 0) |
| | | return 0; |
| | |
| | | } else if (element instanceof ComplexChainElement) |
| | | { |
| | | ComplexChainElement complexChain = (ComplexChainElement) element; |
| | | System.out.println("-----ComplexChainElement Element:" + element.getElementType().toString() + |
| | | ":type=" + element.getType() + ":lv=" + element.getLevelIndex() + ":id=" + |
| | | (fLinkage == null ? "NULL" : (fLinkage.getFsc() + "|" +fLinkage.getUfid() + "|" + fLinkage.getComponentID()))); |
| | | |
| | | Feature feature = featureType.create(new Object[]{ |
| | | complexChain.toGeometry(geometryFactory), |
| | | (int) fLinkage.getFsc(), |
New file |
| | |
| | | package com.ximple.eofms.filter; |
| | | |
| | | import com.ximple.io.dgn7.Element; |
| | | |
| | | import java.util.ArrayList; |
| | | |
| | | public class ElementLevelCriterion implements Comparable |
| | | { |
| | | private int elementLevel; |
| | | private ArrayList<Integer> elementLevelArray ; |
| | | |
| | | public ElementLevelCriterion() |
| | | { |
| | | elementLevelArray = new ArrayList<Integer>(); |
| | | } |
| | | |
| | | public int compareTo(Object o) |
| | | { |
| | | if (o instanceof Element) |
| | | { |
| | | Element elm = (Element) o; |
| | | |
| | | for(Integer elevel : getElementLevelArray()) |
| | | { |
| | | if (elm.getElementType().id == elevel.intValue()) |
| | | return 0; |
| | | } |
| | | |
| | | } |
| | | return -1; |
| | | } |
| | | |
| | | public int getElementLevel() |
| | | { |
| | | return elementLevel; |
| | | } |
| | | |
| | | public ArrayList<Integer> getElementLevelArray() |
| | | { |
| | | return elementLevelArray; |
| | | } |
| | | |
| | | public void setElementLevel(int iLevel) |
| | | { |
| | | this.elementLevel = iLevel ; |
| | | this.elementLevelArray.add(iLevel); |
| | | } |
| | | } |
| | |
| | | FrammeAttributeData featureLinkage = getFeatureLinkage(element); |
| | | return featureLinkage != null && tid == featureLinkage.getFsc() && |
| | | (cid == featureLinkage.getComponentID()) && |
| | | (lid == element.getLevelIndex()) && (compareType(element) == 0); |
| | | (lid == element.getLevelIndex()) && (compareLevel(element) == 0); |
| | | } |
| | | |
| | | public Feature execute(Element element) |
| | |
| | | + " SET XLOW = :new.XLOW, YLOW = :new.YLOW, XHIGH = :new.XHIGH, YHIGH = :new.YHIGH\n" |
| | | + " WHERE FSC = :new.FSC AND UFID = :new.UFID AND COMPID = :new.COMPID AND OCCID = :new.OCCID;\n" |
| | | + " END IF;\n" + " END;"; |
| | | |
| | | /** |
| | | * copy connectivity to connectivity_webcheck sql |
| | | */ |
| | | protected static final String TRUNCATE_CONNECTIVITY_WEBCHECK = "TRUNCATE TABLE BASEDB.CONNECTIVITY_WEBCHECK"; |
| | | protected static final String CREATE_CONNECTIVITY_WEBCHECK = "CREATE TABLE BASEDB.CONNECTIVITY_WEBCHECK\n" + |
| | | "( FSC NUMBER(5) NOT NULL," + |
| | | " UFID NUMBER(10) NOT NULL," + |
| | | " N1 NUMBER(10)," + |
| | | " N2 NUMBER(10)," + |
| | | " FDR1 NUMBER(5)," + |
| | | " FDR2 NUMBER(5)," + |
| | | " DIR NUMBER(3)," + |
| | | " OHUG NUMBER(3)," + |
| | | " OSTATUS NUMBER(3)," + |
| | | " PHASE NUMBER(3)," + |
| | | " X NUMBER(10,3) NOT NULL," + |
| | | " Y NUMBER(10,3) NOT NULL" + |
| | | ")\n" + |
| | | "TABLESPACE BASE_DATA PCTUSED 40 PCTFREE 10 INITRANS 1 MAXTRANS 255\n" + |
| | | "STORAGE (INITIAL 19120K MINEXTENTS 1 MAXEXTENTS 2147483645 \n" + |
| | | "PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT )\n" + |
| | | "LOGGING NOCOMPRESS NOCACHE NOPARALLEL MONITORING;"; |
| | | |
| | | protected static final String COPY_CONNECTIVITY_TO_WEBCHECK = "INSERT /*+ APPEND */ INTO BASEDB.CONNECTIVITY_WEBCHECK\n" + |
| | | "(FSC, UFID, N1, N2, FDR1, FDR2, DIR, OHUG,OSTATUS, PHASE, X, Y)\n" + |
| | | "SELECT FSC, UFID, N1, N2, FDR1, FDR2, DIR, OHUG, OSTATUS, PHASE, X, Y FROM BASEDB.CONNECTIVITY "; |
| | | |
| | | |
| | | /** |
| | | * |
| | | */ |
| | |
| | | jobContext.setLogin(_username, _password); |
| | | jobContext.setShapeData(_dataPath); |
| | | jobContext.setExecutionContext(context); |
| | | |
| | | |
| | | try |
| | | { |
| | | //exetcuteConvert(jobContext, _orgSchema, _dataPath); |
| | | exetcuteConvert(jobContext, "CMMS_SPATIALDB", _dataPath); |
| | | copyConnectivity(jobContext); |
| | | exetcuteConvert(jobContext, _orgSchema, _dataPath); |
| | | //exetcuteConvert(jobContext, "CMMS_SPATIALDB", _dataPath); |
| | | |
| | | //close all open filewriter instance |
| | | jobContext.closeFeatureWrite(); |
| | |
| | | ex.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. |
| | | } |
| | | |
| | | } |
| | | |
| | | //Connectivity½Æ»s¤@Óª©¥»¡A¦b¬d¸ß¹q¬y¤è¦V®É¥Î¨Ó¤ñ¹ïOMS¸ê®Æ®wªº¹q¾¹³s±µ©Ê(Connectivity) |
| | | private void copyConnectivity(OracleConvertJobContext jobContext) throws SQLException |
| | | { |
| | | OracleConnection connection = jobContext.getOracleConnection() ; |
| | | Statement stmt = connection.createStatement(); |
| | | stmt.execute(OracleConvertJobContext.TRUNCATE_CONNECTIVITY_WEBCHECK); |
| | | stmt.execute(OracleConvertJobContext.COPY_CONNECTIVITY_TO_WEBCHECK); |
| | | } |
| | | |
| | | private void exetcuteConvert(OracleConvertJobContext jobContext, |
| | |
| | | stmtDest.close(); |
| | | } |
| | | |
| | | // Binary to Element |
| | | private Element fetchBinaryElement(byte[] raws) throws Dgn7fileException |
| | | { |
| | | ByteBuffer buffer = ByteBuffer.wrap(raws); |
| | |
| | | { |
| | | // config = new File("conf/DefaultConvertShpFilter.xml"); |
| | | filterURL = this.getClass().getResource("/conf/DefaultConvertShpFilter.xml"); |
| | | //filterURL = this.getClass().getResource("/conf/ConvertShpFilterForLevel.xml"); |
| | | } |
| | | assert filterURL != null; |
| | | return (ElementDispatcher) digester.parse(filterURL); |
| | |
| | | |
| | | public void putFeatureCollection(Element element) |
| | | { |
| | | //§PÂ_¬O§_²Å©M±ø¥ó |
| | | Feature feature = elementDispatcher.execute(element); |
| | | if (feature == null) |
| | | { |
| | |
| | | <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"/> |
| | | <bean-property-setter-rule pattern="cid"/> |
| | | <bean-property-setter-rule pattern="lid"/> |
| | | <pattern value="LineCreateStrategy"> |
| | | <!-- <bean-property-setter-rule pattern="lid"/> --> |
| | | <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="elementLayerCriterion"> |
| | | <object-create-rule classname="com.ximple.eofms.filter.ElementLevelCriterion"/> |
| | | <set-next-rule methodname="addLayerCriterion" paramtype="com.ximple.eofms.filter.ElementLevelCriterion"/> |
| | | <set-properties-rule/> |
| | | <bean-property-setter-rule pattern="elementLayer"/> |
| | | </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"> |
| | | </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> |
| | | </pattern> |
| | | </digester-rules> |
New file |
| | |
| | | <?xml version="1.0" encoding="big5" ?> |
| | | <ElementDispatcherRules> |
| | | <!-- High Voltage Features --> |
| | | <TypeCompLevelFilter name="FSC-106.C-0"> |
| | | <tid>106</tid> |
| | | <cid>0</cid> |
| | | <description>¥D°ªÀ£½u</description> |
| | | <elementCriterion> |
| | | <elementType>12</elementType> |
| | | </elementCriterion> |
| | | <elementLevelCriterion> |
| | | <elementLevel>1</elementLevel> |
| | | </elementLevelCriterion> |
| | | <LineCreateStrategy/> |
| | | </TypeCompLevelFilter> |
| | | |
| | | </ElementDispatcherRules> |
| | |
| | | </elementCriterion> |
| | | <TextCreateStrategy/> |
| | | </TypeCompFilter> |
| | | <!-- *****§CÀ£****** --> |
| | | <TypeCompFilter name="FSC-201.C-0"> |
| | | <tid>201</tid> |
| | | <cid>0</cid> |