From 741f15ae46171a6df532f7e3727b0fc55acd7d39 Mon Sep 17 00:00:00 2001 From: ?? ? <ulysseskao@ximple.com.tw> Date: Mon, 01 Sep 2008 11:28:39 +0800 Subject: [PATCH] update for EOFM-156 --- xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/ShapeElement.java | 25 ++++++++++++ xdgnjobs/ximple-elmparser/src/main/java/com/ximple/eofms/XElementParser.java | 17 ++++++++ .gitattributes | 1 xdgnjobs/ximple-elmparser/pom.xml | 15 +------ xdgnjobs/ximple-elmparser/src/main/resources/log4j.properties | 28 ++++++++++++++ 5 files changed, 73 insertions(+), 13 deletions(-) diff --git a/.gitattributes b/.gitattributes index 76a0fa1..b9c16d8 100644 --- a/.gitattributes +++ b/.gitattributes @@ -43,6 +43,7 @@ xdgnjobs/ximple-dgnio/src/test/resources/com/ximple/io/dgn7/test-data/testHV.dgn -text xdgnjobs/ximple-elmparser/pom.xml svneol=native#text/xml xdgnjobs/ximple-elmparser/src/main/java/com/ximple/eofms/XElementParser.java svneol=native#text/plain +xdgnjobs/ximple-elmparser/src/main/resources/log4j.properties svneol=native#text/plain xdgnjobs/ximple-jobcarrier/pom.xml svneol=native#text/xml xdgnjobs/ximple-jobcarrier/src/main/java/com/ximple/eofms/XQuartzJobCarrier.java svneol=native#text/plain xdgnjobs/ximple-jobcarrier/src/main/java/com/ximple/eofms/XQuartzJobWizard.java svneol=native#text/plain diff --git a/xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/ShapeElement.java b/xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/ShapeElement.java index 945d11e..c43458e 100644 --- a/xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/ShapeElement.java +++ b/xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/ShapeElement.java @@ -5,6 +5,7 @@ import com.vividsolutions.jts.geom.Geometry; import com.vividsolutions.jts.geom.GeometryFactory; import com.vividsolutions.jts.geom.LinearRing; +import com.vividsolutions.jts.geom.Coordinate; /** * ShapeElement @@ -22,6 +23,30 @@ super(raw); } + public Coordinate[] getVertices() + { + Coordinate[] result = super.getVertices(); + if ((result != null) && (result.length > 2)) + { + boolean isClosed = result[0].equals2D(result[result.length - 1]); + if (!isClosed) + { + double distance = result[0].distance(result[result.length - 1]); + if (distance < 0.00210) + { + result[result.length - 1] = new Coordinate(result[0]); + } else + { + logger.info("Shape is not closed. distance=" + distance); + logger.debug("result[0]=" + result[0].toString()); + logger.debug("result[length - 1]=" + result[result.length - 1]); + } + } + } + + return result; + } + public Geometry toGeometry(GeometryFactory factory) { try diff --git a/xdgnjobs/ximple-elmparser/pom.xml b/xdgnjobs/ximple-elmparser/pom.xml index b3bd6c1..d65c20d 100644 --- a/xdgnjobs/ximple-elmparser/pom.xml +++ b/xdgnjobs/ximple-elmparser/pom.xml @@ -193,7 +193,7 @@ <configuration> <archive> <manifest> - <mainClass>com.ximple.eofms.XQuartzJobCarrier</mainClass> + <mainClass>com.ximple.eofms.XElementParser</mainClass> <addClasspath>true</addClasspath> </manifest> </archive> @@ -205,7 +205,7 @@ <plugin> <!-- Use maven from the command line: - mvn exec:java -Dexec.mainClass="com.ximple.eofms.XQuartzJobCarrier" + mvn exec:java -Dexec.mainClass="com.ximple.eofms.XElementParser" --> <artifactId>exec-maven-plugin</artifactId> <groupId>org.codehaus.mojo</groupId> @@ -220,7 +220,7 @@ </executions> --> <configuration> - <mainClass>com.ximple.eofms.XQuartzJobCarrier</mainClass> + <mainClass>com.ximple.eofms.XElementParser</mainClass> <!-- <commandlineArgs>-wizard</commandlineArgs> --> @@ -282,16 +282,7 @@ <directory>src/main/resources</directory> <includes> <include>log4j.properties</include> - <include>quartz.properties</include> - <include>quartz_jobs.xml</include> </includes> - <!-- - <excludes> - <exclude>XQuartzJobWizard*.properties</exclude> - <exclude>quartz_jobs.xml</exclude> - <exclude>quartz_jobs_shapefiles.xml</exclude> - </excludes> - --> <filtering>false</filtering> </resource> </resources> diff --git a/xdgnjobs/ximple-elmparser/src/main/java/com/ximple/eofms/XElementParser.java b/xdgnjobs/ximple-elmparser/src/main/java/com/ximple/eofms/XElementParser.java index 722497f..85c406f 100644 --- a/xdgnjobs/ximple-elmparser/src/main/java/com/ximple/eofms/XElementParser.java +++ b/xdgnjobs/ximple-elmparser/src/main/java/com/ximple/eofms/XElementParser.java @@ -57,7 +57,7 @@ private void initializeDataConfig() { dataConfig = new HashMap<String, String>(); - dataConfig.put("DATAPATH", "G:\\Temp\\JobData\\nstpc\\elmout"); + dataConfig.put("DATAPATH", "G:\\Temp\\JobData\\tctpc\\elmout"); elementDispatcher = createElementDispatcher(); } @@ -188,14 +188,29 @@ { FrammeAttributeData linkage = AbstractFLinkageDispatchableFilter.getFeatureLinkage(element); + if (linkage != null) + { + logger.warn("Unknown Element:" + element.getElementType().toString() + + ":type=" + element.getType() + ":lv=" + element.getLevelIndex() + ":id=" + + (linkage.getFsc() + "|" + linkage.getComponentID())); + if (element instanceof ComplexElement) + { + ComplexElement complex = (ComplexElement) element; + logger.warn("----Complex Element size=" + complex.size()); + } + } + + /* logger.warn("Unknown Element:" + element.getElementType().toString() + ":type=" + element.getType() + ":lv=" + element.getLevelIndex() + ":id=" + (linkage == null ? "NULL" : (linkage.getFsc() + "|" + linkage.getComponentID()))); + if (element instanceof ComplexElement) { ComplexElement complex = (ComplexElement) element; logger.warn("----Complex Element size=" + complex.size()); } + */ return; } diff --git a/xdgnjobs/ximple-elmparser/src/main/resources/log4j.properties b/xdgnjobs/ximple-elmparser/src/main/resources/log4j.properties new file mode 100644 index 0000000..2340551 --- /dev/null +++ b/xdgnjobs/ximple-elmparser/src/main/resources/log4j.properties @@ -0,0 +1,28 @@ +# Create stdout appender +log4j.rootLogger=error, logfile, stdout + +# Configure the stdout appender to go to the Console +log4j.appender.stdout=org.apache.log4j.ConsoleAppender + +# Configure stdout appender to use the PatternLayout +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout + +# Pattern output the caller's filename and line # +log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n +#log4j.appender.stdout.encoding=UTF-8 + +log4j.appender.logfile=org.apache.log4j.FileAppender +log4j.appender.logfile.file=xelmparser.log +log4j.appender.logfile.layout=org.apache.log4j.PatternLayout +log4j.appender.logfile.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n +#log4j.appender.logfile.encoding=UTF-8 + +log4j.appender.remoteout=com.holub.log4j.RemoteAppender +log4j.appender.remoteout.Port=8011 +log4j.appender.remoteout.layout=org.apache.log4j.PatternLayout +log4j.appender.remoteout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n +#log4j.appender.remoteout.encoding=UTF-8 + +# Print messages of level INFO or above for examples +log4j.logger.org.cavaness.quartzbook=INFO +log4j.logger.com.ximple.eofms=INFO \ No newline at end of file -- Gitblit v0.0.0-SNAPSHOT