forked from geodmms/xdgnjobs

?? ?
2008-05-23 6eb2ea4bb982133d17e403582d7bcaced31af5f9
update for EOFM-103
9 files modified
88 ■■■■■ changed files
xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/TextElement.java 43 ●●●●● patch | view | raw | blame | history
xdgnjobs/ximple-jobcarrier/src/main/resources/log4j.properties 3 ●●●●● patch | view | raw | blame | history
xdgnjobs/ximple-jobcarrier/src/main/resources/quartz_jobs.xml 2 ●●● patch | view | raw | blame | history
xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/TypeCompIdDispatchableFilter.java 8 ●●●● patch | view | raw | blame | history
xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/TypeCompLevelIdDispatchableFilter.java 8 ●●●● patch | view | raw | blame | history
xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/TypeIdDispatchableFilter.java 8 ●●●● patch | view | raw | blame | history
xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/GeneralDgnConvertJobContext.java 8 ●●●● patch | view | raw | blame | history
xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/IndexDgnConvertJobContext.java 4 ●●● patch | view | raw | blame | history
xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertJobContext.java 4 ●●● patch | view | raw | blame | history
xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/TextElement.java
@@ -1,6 +1,12 @@
package com.ximple.io.dgn7;
import java.awt.geom.AffineTransform;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.CharBuffer;
import java.nio.charset.CharacterCodingException;
import java.nio.charset.Charset;
import java.nio.charset.CharsetDecoder;
import org.apache.log4j.Logger;
@@ -178,11 +184,48 @@
                val.append(temp[i]);
            }
        } else
        {
            byte[] strRaw = new byte[num * 2];
            for (int i = 0; i < num; i++)
            {
                short charValue = raw[i + 31];
                byte hi = (byte) (charValue >>> 8);
                byte lo = (byte) charValue;
                strRaw[i * 2] = hi;
                strRaw[i * 2 + 1] = lo;
            }
            try
            {
                Charset charsetBig5 = Charset.forName("Big5");
                CharsetDecoder decoder = charsetBig5.newDecoder();
                CharBuffer cb = decoder.decode(ByteBuffer.wrap(strRaw));
                val.append(cb);
            } catch (CharacterCodingException e)
            {
                logger.warn(e.getMessage(), e);
                return val.toString();
            } finally
            {
                // rawBuffer.position(pos);
                // rawBuffer.order(order);
            }
        }
        return val.toString();
    }
    protected byte[] convertDBCSToUnicode(byte[] buffer)
    {
        byte[] charBuffer = new byte[4];
        charBuffer[0] = (byte) ((byte) ((buffer[1] & 0xc0) >>> 6) | 0xc0);
        charBuffer[1] = (byte) (buffer[1] & 0x3f | 0x80);
        charBuffer[2] = (byte) ((byte) ((buffer[0] & 0xc0) >>> 6) | 0xc0);
        charBuffer[3] = (byte) (buffer[0] & 0x3f | 0x80);
        return charBuffer;
    }
    public Geometry toGeometry(GeometryFactory factory)
    {
        return factory.createPoint(getUserOrigin());
xdgnjobs/ximple-jobcarrier/src/main/resources/log4j.properties
@@ -9,16 +9,19 @@
# 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=xjobcarrier.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
xdgnjobs/ximple-jobcarrier/src/main/resources/quartz_jobs.xml
@@ -46,7 +46,7 @@
        </entry>
        <entry>
          <key>CONVERTDB</key>
          <value>true</value>
          <value>false</value>
        </entry>
        <entry>
          <key>CONVERTFILE</key>
xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/TypeCompIdDispatchableFilter.java
@@ -72,7 +72,13 @@
    {
        try
        {
            FeatureType ftype = createStrategy.createFeatureElement(getName());
            StringBuilder sb= new StringBuilder();
            sb.append(getName());
            sb.append("_");
            sb.append(element.getLevelIndex());
            sb.append("_");
            sb.append(element.getWeight());
            FeatureType ftype = createStrategy.createFeatureElement(sb.toString());
            return createStrategy.createFeature(ftype, element);
        } catch (SchemaException e)
        {
xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/TypeCompLevelIdDispatchableFilter.java
@@ -82,7 +82,13 @@
    {
        try
        {
            FeatureType ftype = createStrategy.createFeatureElement(getName());
            StringBuilder sb= new StringBuilder();
            sb.append(getName());
            sb.append("_");
            sb.append(element.getLevelIndex());
            sb.append("_");
            sb.append(element.getWeight());
            FeatureType ftype = createStrategy.createFeatureElement(sb.toString());
            return createStrategy.createFeature(ftype, element);
        } catch (SchemaException e)
        {
xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/TypeIdDispatchableFilter.java
@@ -56,7 +56,13 @@
    {
        try
        {
            FeatureType ftype = createStrategy.createFeatureElement(getName());
            StringBuilder sb= new StringBuilder();
            sb.append(getName());
            sb.append("_");
            sb.append(element.getLevelIndex());
            sb.append("_");
            sb.append(element.getWeight());
            FeatureType ftype = createStrategy.createFeatureElement(sb.toString());
            return createStrategy.createFeature(ftype, element);
        } catch (SchemaException e)
        {
xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/GeneralDgnConvertJobContext.java
@@ -10,6 +10,7 @@
import java.util.TreeMap;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.nio.charset.Charset;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -158,7 +159,9 @@
                    writer = featuresWriterContext.get(featureType.getTypeName());
                } else
                {
                    ShapefileDataStore shapefileDataStore = new ShapefileDataStore(sfile.toURI().toURL());
                    // ShapefileDataStore shapefileDataStore = new ShapefileDataStore(sfile.toURI().toURL());
                    ShapefileDataStore shapefileDataStore = new ShapefileDataStore(sfile.toURI().toURL(),
                            true, Charset.forName("UTF-8"));
                    shapefileDataStore.createSchema(featureType);
                    writer = shapefileDataStore.getFeatureWriter(featureType.getTypeName(), Transaction.AUTO_COMMIT);
                    featuresWriterContext.put(featureType.getTypeName(), writer);
@@ -280,6 +283,7 @@
            Geometry geom = convertDecorator.toGeometry(geometryFactory);
            double angle = textElement.getRotationAngle();
            String content = textElement.getText();
            angle = BigDecimal.valueOf(angle).setScale(3, RoundingMode.HALF_UP).doubleValue();
            if (geom != null)
            {
@@ -291,7 +295,7 @@
                        textElement.getTextHeight(),
                        textElement.getTextWidth(),
                        angle,
                        textElement.getText()
                        content
                });
            } else
            {
xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/IndexDgnConvertJobContext.java
@@ -9,6 +9,7 @@
import java.util.List;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.nio.charset.Charset;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -151,7 +152,8 @@
                }
                else
                {
                  ShapefileDataStore shapefileDataStore = new ShapefileDataStore(sfile.toURI().toURL());
                  ShapefileDataStore shapefileDataStore = new ShapefileDataStore(sfile.toURI().toURL(),
                        true, Charset.forName("UTF-8"));
                  shapefileDataStore.createSchema(featureType);
                  writer = shapefileDataStore.getFeatureWriter(featureType.getTypeName(), Transaction.AUTO_COMMIT);
                  featuresWriterContext.put(featureType.getTypeName() , writer);
xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertJobContext.java
@@ -11,6 +11,7 @@
import java.util.HashMap;
import java.util.Iterator;
import java.util.Properties;
import java.nio.charset.Charset;
import org.apache.commons.digester.Digester;
import org.apache.commons.digester.xmlrules.DigesterLoader;
@@ -202,7 +203,8 @@
                    writer = featuresWriterContext.get(featureType.getTypeName());
                } else
                {
                    ShapefileDataStore shapefileDataStore = new ShapefileDataStore(sfile.toURI().toURL());
                    ShapefileDataStore shapefileDataStore = new ShapefileDataStore(sfile.toURI().toURL(),
                            true, Charset.forName("UTF-8"));
                    shapefileDataStore.createSchema(featureType);
                    writer = shapefileDataStore.getFeatureWriter(featureType.getTypeName(), Transaction.AUTO_COMMIT);
                    featuresWriterContext.put(featureType.getTypeName(), writer);