From 5b68deeb9867ca8ec4e5c09719525f5b93061899 Mon Sep 17 00:00:00 2001 From: ?? ? <ulysseskao@ximple.com.tw> Date: Mon, 25 Aug 2008 18:56:13 +0800 Subject: [PATCH] update for EOFM-153 --- xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/IndexDgnConvertPostGISJobContext.java | 74 ++++++++++++++++++++++++++++++++++++ 1 files changed, 73 insertions(+), 1 deletions(-) diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/IndexDgnConvertPostGISJobContext.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/IndexDgnConvertPostGISJobContext.java index 08156d7..56e75a7 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/IndexDgnConvertPostGISJobContext.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/IndexDgnConvertPostGISJobContext.java @@ -52,6 +52,7 @@ private FeatureTypeBuilder typeBuilderPnt = null; private FeatureTypeBuilder typeBuilderRect = null; + private FeatureTypeBuilder typeBuilderSmallRect = null; private FeatureType featureType = null; private FeatureType featureType2 = null; @@ -357,6 +358,77 @@ return typeBuilderPnt.getFeatureType(); } + public FeatureType createFeatureElement3(String featureName) throws SchemaException + { + if (typeBuilderSmallRect == null) + { + typeBuilderSmallRect = FeatureTypeBuilderUtil.createNormalIndexFeatureTypeBuilder(featureName); + if (isExistFeature(typeBuilderSmallRect.getFeatureType())) + { + try + { + Connection conn = targetDataStore.getConnection(Transaction.AUTO_COMMIT); + if (dropTableMode) + { + try + { + dropGeometryColumn(conn, featureName, + typeBuilderSmallRect.getFeatureType().getDefaultGeometry().getLocalName()); + } catch (PSQLException e) + { + logger.debug(e.getMessage(), e); + } + try + { + dropTable(conn, featureName); + } catch (PSQLException e) + { + logger.debug(e.getMessage(), e); + } + ArrayList<String> schemaTexts = createNewSchemaTexts(typeBuilderSmallRect.getFeatureType()); + for (String stmtText : schemaTexts) + { + Statement stmt = conn.createStatement(); + stmt.execute(stmtText); + stmt.close(); + } + } else + { + deleteTable(conn, featureName); + } + conn.close(); + } catch (IOException e) + { + logger.warn(e.getMessage(), e); + } catch (SQLException e) + { + logger.warn(e.getMessage(), e); + } + } else + { + try + { + Connection conn = targetDataStore.getConnection(Transaction.AUTO_COMMIT); + ArrayList<String> schemaTexts = createNewSchemaTexts(typeBuilderSmallRect.getFeatureType()); + for (String stmtText : schemaTexts) + { + Statement stmt = conn.createStatement(); + stmt.execute(stmtText); + stmt.close(); + } + conn.close(); + } catch (IOException e) + { + logger.warn(e.getMessage(), e); + } catch (SQLException e) + { + logger.warn(e.getMessage(), e); + } + } + } + return typeBuilderSmallRect.getFeatureType(); + } + public Feature createFeature(FeatureType featureType, Element element) throws IllegalAttributeException { DefaultColorTable colorTable = (DefaultColorTable) DefaultColorTable.getInstance(); @@ -509,7 +581,7 @@ dgnname = dgnname.substring(0, i); } dgnname = dgnname + "_s"; - featureType3 = createFeatureElement(dgnname.toLowerCase()); + featureType3 = createFeatureElement3(dgnname.toLowerCase()); } return createFeature3(featureType3, element); } -- Gitblit v0.0.0-SNAPSHOT