From aff20544466124f3a84fac0b6714fba5b609b291 Mon Sep 17 00:00:00 2001 From: Dennis Kao <ulysseskao@ximple.com.tw> Date: Tue, 06 Aug 2013 19:34:01 +0800 Subject: [PATCH] update geoserver config with rest --- xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/DummyFeatureConvertShpJobContext.java | 4 xdgnjobs/ximple-spatialjob/src/test/java/com/ximple/eofms/filter/ElementDispatcherTest.java | 6 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/util/XGeosConfigDigesterUtils.java | 30 +++- xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/edbgeo/DummyFeatureConvertEdbGeoJobContext.java | 4 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/mysql/OracleConvertMySQLJobContext.java | 4 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/FeatureDgnConvertPostGISJobContext.java | 4 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/GeoserverIntegrateConfigJob.java | 260 ++++++++++++++++++++++++++++++------- xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/orasdo/DummyFeatureConvertOraSDOJobContext.java | 4 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/orasdo/FeatureDgnConvertOraSDOJobContext.java | 4 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/OracleConvertPostGISJobContext.java | 5 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/DummyFeatureConvertPostGISJobContext.java | 4 xdgnjobs/ximple-spatialjob/src/main/resources/com/ximple/eofms/filter/ElementDispatcherRules.xml | 2 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/FeatureDgnConvertShpJobContext.java | 4 xdgnjobs/ximple-jobcarrier/src/main/resources/quartz_jobs.xml | 37 ++-- xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/edbgeo/OracleConvertEdbGeoJobContext.java | 4 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/OracleConvertShapefilesJobContext.java | 4 xdgnjobs/ximple-spatialjob/src/main/resources/com/ximple/eofms/geoserver/config/DefaultXGeosDataConfigRules.xml | 2 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/edbgeo/FeatureDgnConvertEdbGeoJobContext.java | 4 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/mysql/DummyFeatureConvertMySQlJobContext.java | 4 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/orasdo/OracleConvertOraSDOJobContext.java | 4 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/mysql/FeatureDgnConvertMySQLJobContext.java | 4 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/DummyFeatureConvertJobContext.java | 4 22 files changed, 290 insertions(+), 112 deletions(-) diff --git a/xdgnjobs/ximple-jobcarrier/src/main/resources/quartz_jobs.xml b/xdgnjobs/ximple-jobcarrier/src/main/resources/quartz_jobs.xml index b7c4a37..966d32c 100644 --- a/xdgnjobs/ximple-jobcarrier/src/main/resources/quartz_jobs.xml +++ b/xdgnjobs/ximple-jobcarrier/src/main/resources/quartz_jobs.xml @@ -1,27 +1,30 @@ <?xml version='1.0' encoding='utf-8'?> <job-scheduling-data xmlns="http://www.quartz-scheduler.org/xml/JobSchedulingData" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.quartz-scheduler.org/xml/JobSchedulingData http://www.quartz-scheduler.org/xml/job_scheduling_data_1_8.xsd" - version="1.8"> + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.quartz-scheduler.org/xml/JobSchedulingData http://www.quartz-scheduler.org/xml/job_scheduling_data_1_8.xsd" + version="1.8"> - <pre-processing-commands> - <delete-jobs-in-group>*</delete-jobs-in-group> <!-- clear all jobs in scheduler --> - <delete-triggers-in-group>*</delete-triggers-in-group> <!-- clear all triggers in scheduler --> - </pre-processing-commands> + <pre-processing-commands> + <delete-jobs-in-group>*</delete-jobs-in-group> + <!-- clear all jobs in scheduler --> + <delete-triggers-in-group>*</delete-triggers-in-group> + <!-- clear all triggers in scheduler --> + </pre-processing-commands> - <processing-directives> - <!-- if there are any jobs/trigger in scheduler of same name (as in this file), overwrite them --> - <overwrite-existing-data>true</overwrite-existing-data> - <!-- if there are any jobs/trigger in scheduler of same name (as in this file), and over-write is false, ignore them rather then generating an error --> - <ignore-duplicates>false</ignore-duplicates> - </processing-directives> + <processing-directives> + <!-- if there are any jobs/trigger in scheduler of same name (as in this file), overwrite them --> + <overwrite-existing-data>true</overwrite-existing-data> + <!-- if there are any jobs/trigger in scheduler of same name (as in this file), and over-write is false, ignore them rather then generating an error --> + <ignore-duplicates>false</ignore-duplicates> + </processing-directives> <schedule> <job> - <name>ConvertDgn2PostGisIntoPostgre</name> + <name>ConvertDMMS2PostGisWithGeoserver</name> <group>DEFAULT</group> <description>A job that convert dgn to postgis</description> + <!--job-class>com.ximple.eofms.jobs.OracleConvertDgn2PostGISJob</job-class--> <job-class>com.ximple.eofms.jobs.GeoserverIntegrateConfigJob</job-class> <!--volatility>false</volatility--> <durability>false</durability> @@ -127,7 +130,7 @@ </entry> <entry> <key>GEOSERVER_URL</key> - <value>http://www.ximple.com.tw/geoserver</value> + <value>http://10.10.1.6:8080/geoserver</value> </entry> <entry> <key>GEOSERVER_USER</key> @@ -148,9 +151,9 @@ <simple> <name>convertTrigger</name> <group>DEFAULT</group> - <job-name>ConvertDgn2PostGisIntoPostgre</job-name> + <job-name>ConvertDMMS2PostGisWithGeoserver</job-name> <job-group>DEFAULT</job-group> - <start-time>2011-03-01T18:00:00</start-time> + <start-time>2013-03-01T18:00:00</start-time> <!-- repeat indefinitely every 10 seconds --> <repeat-count>0</repeat-count> <repeat-interval>500</repeat-interval> diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/DummyFeatureConvertJobContext.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/DummyFeatureConvertJobContext.java index ca2e17b..765f981 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/DummyFeatureConvertJobContext.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/DummyFeatureConvertJobContext.java @@ -18,7 +18,7 @@ import com.ximple.eofms.filter.TypeCompLevelIdDispatchableFilter; import com.ximple.eofms.filter.TypeIdDispatchableFilter; import com.ximple.eofms.jobs.context.AbstractDgnFileJobContext; -import com.ximple.eofms.util.DigesterUtils; +import com.ximple.eofms.util.ElementDigesterUtils; import com.ximple.io.dgn7.ComplexElement; import com.ximple.io.dgn7.Element; import com.ximple.io.dgn7.FrammeAttributeData; @@ -78,7 +78,7 @@ // filterURL = this.getClass().getResource("/conf/ConvertShpFilterForLevel.xml"); } assert filterURL != null; - Digester digester = DigesterUtils.getElementDigester(); + Digester digester = ElementDigesterUtils.getElementDigester(); return (ElementDispatcher) digester.parse(filterURL); } catch (UnsupportedEncodingException e) { logger.info(e.getMessage(), e); diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/GeoserverIntegrateConfigJob.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/GeoserverIntegrateConfigJob.java index 7eab711..2391245 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/GeoserverIntegrateConfigJob.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/GeoserverIntegrateConfigJob.java @@ -1,22 +1,28 @@ package com.ximple.eofms.jobs; +import com.vividsolutions.jts.geom.*; import com.ximple.eofms.geoserver.config.XGeosDataConfig; import com.ximple.eofms.geoserver.config.XGeosDataConfigMapping; import com.ximple.eofms.jobs.context.AbstractOracleJobContext; import com.ximple.eofms.util.PrintfFormat; +import com.ximple.eofms.util.XGeosConfigDigesterUtils; import it.geosolutions.geoserver.rest.GeoServerRESTManager; import it.geosolutions.geoserver.rest.GeoServerRESTPublisher; import it.geosolutions.geoserver.rest.GeoServerRESTReader; import it.geosolutions.geoserver.rest.decoder.RESTDataStore; +import it.geosolutions.geoserver.rest.decoder.RESTStyleList; +import it.geosolutions.geoserver.rest.encoder.GSLayerEncoder; +import it.geosolutions.geoserver.rest.encoder.GSResourceEncoder; import it.geosolutions.geoserver.rest.encoder.datastore.GSPostGISDatastoreEncoder; +import it.geosolutions.geoserver.rest.encoder.feature.GSFeatureTypeEncoder; import it.geosolutions.geoserver.rest.manager.GeoServerRESTStoreManager; import org.apache.commons.collections.MultiMap; import org.apache.commons.digester3.Digester; -import org.apache.commons.digester3.binder.DigesterLoader; -import org.apache.commons.digester3.xmlrules.FromXmlRulesModule; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.geotools.data.Transaction; +import org.opengis.feature.type.FeatureType; +import org.opengis.feature.type.GeometryDescriptor; import org.quartz.JobDataMap; import org.quartz.JobDetail; import org.quartz.JobExecutionContext; @@ -32,6 +38,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Map; public class GeoserverIntegrateConfigJob extends OracleConvertDgn2PostGISJob { final static Log logger = LogFactory.getLog(GeoserverIntegrateConfigJob.class); @@ -39,9 +46,8 @@ private static final String SKIPCONFIGJOB = "SKIPCONFIGJOB"; private static final String MASTERMODE = "MASTERMODE"; private static final String EPSG = "EPSG:"; - private static final String DEFAULTNAMESPACE = "xtpc"; + private static final String DEFAULT_NAMESPACE = "xtpc"; private static final String XGEOSDATACONFIG_PATH = "xgeosdataconfig.xml"; - private static final String XGEOSRULES_NAME = "DefaultXGeosDataConfigRules.xml"; private static final String GEOSERVER_BASEURL = "GEOSERVER_URL"; private static final String GEOSERVER_USER = "GEOSERVER_USER"; private static final String GEOSERVER_PASS = "GEOSERVER_PASS"; @@ -58,6 +64,7 @@ // private static final String GRANT_VIEWSQL = "GRANT SELECT ON TABLE \"%s\" TO public"; private static final int SRSID_TWD97_ZONE119 = 3825; private static final int SRSID_TWD97_ZONE121 = 3826; + public static final String DEFAULT_STORENAME = "pgDMMS"; private static XGeosDataConfigMapping xgeosDataConfigMapping = null; @@ -102,38 +109,7 @@ protected XGeosDataConfigMapping getConfigMapping() { if (xgeosDataConfigMapping == null) { - final URL rulesURL = XGeosDataConfigMapping.class.getResource(XGEOSRULES_NAME); - assert rulesURL != null; - - DigesterLoader loader = DigesterLoader.newLoader( new FromXmlRulesModule() { - @Override - protected void loadRules() { - loadXMLRules(rulesURL); - } - - }); - Digester digester = loader.newDigester(); - /* - File rootDir = GeoserverDataDirectory.getGeoserverDataDirectory(); - File xfmsConfigDir; - - try { - xfmsConfigDir = GeoserverDataDirectory.findConfigDir(rootDir, "xdgnjobs"); - } catch (ConfigurationException cfe) { - logger.warn("no xmark dir found, creating new one"); - //if for some bizarre reason we don't fine the dir, make a new one. - xfmsConfigDir = new File(rootDir, "xdgnjobs"); - } x - - File xfmsConfigFile = new File(xfmsConfigDir, XGEOSDATACONFIG_PATH); - try { - xgeosDataConfigMapping = (XGeosDataConfigMapping) digester.parse(xfmsConfigFile); - } catch (IOException e) { - logger.warn(e.getMessage(), e); - } catch (SAXException e) { - logger.warn(e.getMessage(), e); - } - */ + Digester digester = XGeosConfigDigesterUtils.getXGeosConfigDigester(); final URL configDataURL = XGeosDataConfigMapping.class.getResource(XGEOSDATACONFIG_PATH); try { xgeosDataConfigMapping = (XGeosDataConfigMapping) digester.parse(configDataURL); @@ -153,10 +129,6 @@ super.execute(jobExecutionContext); createTargetDataStore(); - if (getSourceDataStore() == null) { - logger.warn("Cannot connect source oracle database."); - throw new JobExecutionException("Cannot connect source oracle database."); - } if (getTargetDataStore() == null) { logger.warn("Cannot connect source postgreSQL database."); @@ -369,7 +341,7 @@ sql = pf.sprintf(viewName); stmt.execute(sql); stmt.close(); - connection.commit(); + // connection.commit(); } private void createOrReplaceExtraView(Connection connection, String schemaName, String tableName, String viewName, @@ -388,7 +360,7 @@ sql = pf.sprintf(viewName); stmt.execute(sql); stmt.close(); - connection.commit(); + // connection.commit(); } private Timestamp retrieveCurrentSchemaTimestamp(Connection connection, short status) throws SQLException { @@ -484,6 +456,74 @@ } } + private HashMap<String, String> buildDefaultStylesMapping(XGeosDataConfigMapping configMapping) { + HashMap<String, String> result = new HashMap<String, String>(); + + for (Object key : configMapping.getMapping().keySet()) { + List xgeosConfigs = (List) configMapping.getMapping().get(key); + for (Object value : xgeosConfigs) { + XGeosDataConfig xgeosConfig = (XGeosDataConfig) value; + + StringBuilder sbView = new StringBuilder("fsc-"); + sbView.append(xgeosConfig.getFSC()).append("-c"); + sbView.append(xgeosConfig.getCOMP()).append("-l"); + sbView.append(xgeosConfig.getLEV()).append("-w"); + sbView.append(xgeosConfig.getWEIGHT()); + + String viewName = sbView.toString(); + if (!result.containsKey(viewName)) { + result.put(viewName, xgeosConfig.getFTYPE()); + } else { + if (xgeosConfig.getFTYPE() != null) { + if (!result.get(viewName).equals(xgeosConfig.getFTYPE())) + logger.info("Style Define Diff:" + result.get(viewName) + " - " + xgeosConfig.getFTYPE()); + } else { + logger.warn("xgeosConfig getFTYPE() is null - " + xgeosConfig.toString()); + } + } + } + } + return result; + } + + private void resetFeatureTypesMapping(JobExecutionContext executionContext, GeoServerRESTReader reader) { + try { + Connection connection = targetDataStore.getConnection(Transaction.AUTO_COMMIT); + if (!checkCurrentRepositoryStatus(connection, DataReposVersionManager.VSSTATUS_LINKVIEW)) { + return; + } + + RESTStyleList styleList = reader.getStyles(); + + // Map styles = dataConfig.getStyles(); + + XGeosDataConfigMapping mapping = getConfigMapping(); + HashMap<String, String> defaultStyles = buildDefaultStylesMapping(mapping); + + try { + /* + String[] dsFTypeNames = dataStore.getTypeNames(); + + for (String featureTypeName : dsFTypeNames) { + String ftKey = dsConf.getId() + DataConfig.SEPARATOR + featureTypeName; + FeatureTypeConfig ftConfig = dataConfig.getFeatureTypeConfig(ftKey); + if (ftConfig == null) { + if (!createFeatureTypeConfig(dataConfig, dsConf, dataStore, styles, featureTypeName, defaultStyles)) { + LOGGER.info("Create Feature Failed. [" + featureTypeName + "]"); + } + } else { + updateFeatureTypeConfig(ftConfig, dataStore, styles, defaultStyles); + } + } + */ + } finally { + // if (dataStore != null) dataStore.dispose(); + } + } catch (IOException e) { + logger.warn(e.getMessage(), e); + } + } + private void resetGeoServerConfig(JobExecutionContext jobExecutionContext) { try { URL geoServerURL = new URL(_geoServerURL); @@ -492,30 +532,32 @@ List<String> workSpaces = reader.getWorkspaceNames(); boolean found = false; for (String name : workSpaces) { - if (name.equalsIgnoreCase(DEFAULTNAMESPACE)) { + if (name.equalsIgnoreCase(DEFAULT_NAMESPACE)) { found = true; break; } } + GeoServerRESTPublisher publisher = manager.getPublisher(); if (!found) { - GeoServerRESTPublisher publisher = manager.getPublisher(); - publisher.createWorkspace(DEFAULTNAMESPACE, new URI("http://tpc.ximple.com.tw/geodmms")); + publisher.createWorkspace(DEFAULT_NAMESPACE, new URI("http://tpc.ximple.com.tw/geodmms")); } - RESTDataStore dataStore = reader.getDatastore(DEFAULTNAMESPACE, "pgDMMS"); + RESTDataStore dataStore = reader.getDatastore(DEFAULT_NAMESPACE, DEFAULT_STORENAME); if (dataStore == null) { GeoServerRESTStoreManager storeManager = manager.getStoreManager(); - GSPostGISDatastoreEncoder store = new GSPostGISDatastoreEncoder("pgDMMS"); + GSPostGISDatastoreEncoder store = new GSPostGISDatastoreEncoder(DEFAULT_STORENAME); store.setHost(_pgHost); - // store.setPort(_pgPort); + store.setPort(Integer.parseInt(_pgPort)); store.setDatabase(_pgDatabase); - store.setSchema("public"); + store.setSchema(_pgSchema); store.setUser(_pgUsername); store.setPassword(_pgPassword); - storeManager.create(DEFAULTNAMESPACE, store); + storeManager.create(DEFAULT_NAMESPACE, store); } + + resetFeatureTypesMapping(jobExecutionContext, reader); XGeosDataConfigMapping configMapping = getConfigMapping(); MultiMap configMultiMap = configMapping.getMapping(); @@ -523,6 +565,12 @@ List values = (List) configMultiMap.get(key); for (Object value : values) { XGeosDataConfig xgeosConfig = (XGeosDataConfig) value; + + /* + publishPostGISLayer(publisher, DEFAULT_NAMESPACE, DEFAULT_STORENAME, + xgeosConfig.getPG(), + "EPSG:" + SRSID_TWD97_ZONE121, ""); + */ } } @@ -533,4 +581,116 @@ logger.warn(e.getMessage(), e); } } + + public boolean publishPostGISLayer(GeoServerRESTPublisher publisher, String workspace, String storename, String layername, String srs, + String defaultStyle) { + + final GSFeatureTypeEncoder fte = new GSFeatureTypeEncoder(); + + fte.setProjectionPolicy(GSResourceEncoder.ProjectionPolicy.REPROJECT_TO_DECLARED); + fte.addKeyword("KEYWORD"); + fte.setTitle(layername); + fte.setName(layername); + fte.setSRS(srs); // srs=null?"EPSG:4326":srs); + final GSLayerEncoder layerEncoder = new GSLayerEncoder(); + layerEncoder.setDefaultStyle(defaultStyle); + return publisher.publishDBLayer(workspace, storename, fte, layerEncoder); + } + + protected String getDefaultFeatureTypeStyleId(Map styles, HashMap<String, String> defaultStyles, FeatureType featureType) { + String ftName = featureType.getName().getLocalPart(); + boolean isNormalFeature = false; + boolean isLandBased = false; + boolean isIndex = false; + boolean isSmallIndex = false; + boolean isSymbol = false; + GeometryDescriptor geomAttrType = featureType.getGeometryDescriptor(); + Class geomType = geomAttrType.getType().getBinding(); + if (defaultStyles.containsKey(ftName)) { + String defaultStyleName = defaultStyles.get(ftName); + String styleName = retrieveDefaultStyle(styles, defaultStyleName, "unknown"); + if (!styleName.equals("unknown")) { + return styleName; + } + } + + if (ftName.indexOf("fsc") != -1) { + isNormalFeature = true; + } + if (ftName.indexOf("indexshape") != -1) { + isIndex = true; + } + if (ftName.indexOf("indexshapes") != -1) { + isSmallIndex = true; + } + if (ftName.indexOf("lnd") != -1) { + isLandBased = true; + } + /* + if (featureType.find("symbol") != -1) { + isSymbol = true; + } + */ + + if (Point.class.equals(geomType)) { + if (isSymbol) { + return retrieveDefaultStyle(styles, "pgTPC_Symbol", "point"); + } else if (isIndex) { + return retrieveDefaultStyle(styles, "pgTPC_TpclidText", "point"); + } else { + return retrieveDefaultStyle(styles, "pgTPC_Text", "point"); + } + } else if (LineString.class.equals(geomType)) { + if ((!isIndex) && (!isLandBased)) { + return retrieveDefaultStyle(styles, "pgTPC_Conductor", "line"); + } else if (isIndex) { + if (isSmallIndex) + return retrieveDefaultStyle(styles, "pgTPC_INDEXSHAPES", "line"); + + return retrieveDefaultStyle(styles, "pgTPC_INDEXSHAPE", "line"); + } else if (isLandBased) { + return retrieveDefaultStyle(styles, "pgTPC_LndcityLine", "line"); + } + } else if (MultiPoint.class.equals(geomType)) { + if (isSymbol) { + return retrieveDefaultStyle(styles, "pgTPC_Symbol", "point"); + } else { + return retrieveDefaultStyle(styles, "pgTPC_Text", "point"); + } + } else if (Polygon.class.equals(geomType)) { + if ((!isIndex) && (!isLandBased)) { + return retrieveDefaultStyle(styles, "polygon", "polygon"); + } else if (isIndex) { + return retrieveDefaultStyle(styles, "pgTPC_INDEXSHAPE", "polygon"); + } else if (isLandBased) { + return retrieveDefaultStyle(styles, "pgTPC_LndcityPolygon", "polygon"); + } + } else if (LinearRing.class.equals(geomType)) { + if (!isIndex) { + return retrieveDefaultStyle(styles, "polygon", "polygon"); + } else { + return retrieveDefaultStyle(styles, "pgTPC_INDEXSHAPE", "polygon"); + } + } else if (MultiLineString.class.equals(geomType)) { + if ((!isIndex) && (!isLandBased)) { + return retrieveDefaultStyle(styles, "pgTPC_Conductor", "line"); + } else if (isLandBased) { + return retrieveDefaultStyle(styles, "pgTPC_LndcityLine", "line"); + } else { + return retrieveDefaultStyle(styles, "pgTPC_INDEXSHAPE", "line"); + } + } else if (MultiPolygon.class.equals(geomType)) { + return "polygon"; + } + + return "pgTPC_Symbol"; + } + + private static String retrieveDefaultStyle(Map styles, String styleName, String defaultStyleName) { + if (styles.containsKey(styleName)) { + return styleName; + } else + return defaultStyleName; + } + } diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/edbgeo/DummyFeatureConvertEdbGeoJobContext.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/edbgeo/DummyFeatureConvertEdbGeoJobContext.java index 9f19654..a486435 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/edbgeo/DummyFeatureConvertEdbGeoJobContext.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/edbgeo/DummyFeatureConvertEdbGeoJobContext.java @@ -10,7 +10,7 @@ import java.util.Iterator; import java.util.List; -import com.ximple.eofms.util.DigesterUtils; +import com.ximple.eofms.util.ElementDigesterUtils; import org.apache.commons.digester3.Digester; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -76,7 +76,7 @@ // filterURL = this.getClass().getResource("/conf/ConvertShpFilterForLevel.xml"); } assert filterURL != null; - Digester digester = DigesterUtils.getElementDigester(); + Digester digester = ElementDigesterUtils.getElementDigester(); return (ElementDispatcher) digester.parse(filterURL); } catch (UnsupportedEncodingException e) { logger.info(e.getMessage(), e); diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/edbgeo/FeatureDgnConvertEdbGeoJobContext.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/edbgeo/FeatureDgnConvertEdbGeoJobContext.java index 20d1aca..dd4f1f0 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/edbgeo/FeatureDgnConvertEdbGeoJobContext.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/edbgeo/FeatureDgnConvertEdbGeoJobContext.java @@ -12,7 +12,7 @@ import com.ximple.eofms.filter.AbstractFLinkageDispatchableFilter; import com.ximple.eofms.filter.ElementDispatcher; -import com.ximple.eofms.util.DigesterUtils; +import com.ximple.eofms.util.ElementDigesterUtils; import com.ximple.io.dgn7.ComplexElement; import com.ximple.io.dgn7.Element; import com.ximple.io.dgn7.FrammeAttributeData; @@ -69,7 +69,7 @@ // filterURL = this.getClass().getResource("/conf/ConvertShpFilterForLevel.xml"); } assert filterURL != null; - Digester digester = DigesterUtils.getElementDigester(); + Digester digester = ElementDigesterUtils.getElementDigester(); return (ElementDispatcher) digester.parse(filterURL); } catch (UnsupportedEncodingException e) { logger.info(e.getMessage(), e); diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/edbgeo/OracleConvertEdbGeoJobContext.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/edbgeo/OracleConvertEdbGeoJobContext.java index 311a91b..08c0be1 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/edbgeo/OracleConvertEdbGeoJobContext.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/edbgeo/OracleConvertEdbGeoJobContext.java @@ -23,7 +23,7 @@ import com.ximple.eofms.filter.ElementDispatcher; import com.ximple.eofms.filter.FeatureTypeEvent; import com.ximple.eofms.jobs.OracleElementLogger; -import com.ximple.eofms.util.DigesterUtils; +import com.ximple.eofms.util.ElementDigesterUtils; import com.ximple.io.dgn7.ComplexElement; import com.ximple.io.dgn7.Element; import com.ximple.io.dgn7.FrammeAttributeData; @@ -97,7 +97,7 @@ // filterURL = this.getClass().getResource("/conf/ConvertShpFilterForLevel.xml"); } assert filterURL != null; - Digester digester = DigesterUtils.getElementDigester(); + Digester digester = ElementDigesterUtils.getElementDigester(); return (ElementDispatcher) digester.parse(filterURL); } catch (UnsupportedEncodingException e) { logger.info(e.getMessage(), e); diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/mysql/DummyFeatureConvertMySQlJobContext.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/mysql/DummyFeatureConvertMySQlJobContext.java index ba88010..98c1a11 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/mysql/DummyFeatureConvertMySQlJobContext.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/mysql/DummyFeatureConvertMySQlJobContext.java @@ -16,7 +16,7 @@ import com.ximple.eofms.filter.TypeCompIdDispatchableFilter; import com.ximple.eofms.filter.TypeCompLevelIdDispatchableFilter; import com.ximple.eofms.filter.TypeIdDispatchableFilter; -import com.ximple.eofms.util.DigesterUtils; +import com.ximple.eofms.util.ElementDigesterUtils; import com.ximple.io.dgn7.ComplexElement; import com.ximple.io.dgn7.Element; import com.ximple.io.dgn7.FrammeAttributeData; @@ -75,7 +75,7 @@ // filterURL = this.getClass().getResource("/conf/ConvertShpFilterForLevel.xml"); } assert filterURL != null; - Digester digester = DigesterUtils.getElementDigester(); + Digester digester = ElementDigesterUtils.getElementDigester(); return (ElementDispatcher) digester.parse(filterURL); } catch (UnsupportedEncodingException e) { logger.info(e.getMessage(), e); diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/mysql/FeatureDgnConvertMySQLJobContext.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/mysql/FeatureDgnConvertMySQLJobContext.java index 426840b..5c1cef7 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/mysql/FeatureDgnConvertMySQLJobContext.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/mysql/FeatureDgnConvertMySQLJobContext.java @@ -12,7 +12,7 @@ import com.ximple.eofms.filter.AbstractFLinkageDispatchableFilter; import com.ximple.eofms.filter.ElementDispatcher; -import com.ximple.eofms.util.DigesterUtils; +import com.ximple.eofms.util.ElementDigesterUtils; import com.ximple.io.dgn7.ComplexElement; import com.ximple.io.dgn7.Element; import com.ximple.io.dgn7.FrammeAttributeData; @@ -68,7 +68,7 @@ // filterURL = this.getClass().getResource("/conf/ConvertShpFilterForLevel.xml"); } assert filterURL != null; - Digester digester = DigesterUtils.getElementDigester(); + Digester digester = ElementDigesterUtils.getElementDigester(); return (ElementDispatcher) digester.parse(filterURL); } catch (UnsupportedEncodingException e) { logger.info(e.getMessage(), e); diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/mysql/OracleConvertMySQLJobContext.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/mysql/OracleConvertMySQLJobContext.java index 8bb5c69..c7e0336 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/mysql/OracleConvertMySQLJobContext.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/mysql/OracleConvertMySQLJobContext.java @@ -11,7 +11,7 @@ import java.util.HashMap; import java.util.Iterator; -import com.ximple.eofms.util.DigesterUtils; +import com.ximple.eofms.util.ElementDigesterUtils; import org.apache.commons.digester3.Digester; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -91,7 +91,7 @@ // filterURL = this.getClass().getResource("/conf/ConvertShpFilterForLevel.xml"); } assert filterURL != null; - Digester digester = DigesterUtils.getElementDigester(); + Digester digester = ElementDigesterUtils.getElementDigester(); return (ElementDispatcher) digester.parse(filterURL); } catch (UnsupportedEncodingException e) { logger.info(e.getMessage(), e); diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/orasdo/DummyFeatureConvertOraSDOJobContext.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/orasdo/DummyFeatureConvertOraSDOJobContext.java index 9b1bf26..70683e1 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/orasdo/DummyFeatureConvertOraSDOJobContext.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/orasdo/DummyFeatureConvertOraSDOJobContext.java @@ -16,7 +16,7 @@ import com.ximple.eofms.filter.TypeCompIdDispatchableFilter; import com.ximple.eofms.filter.TypeCompLevelIdDispatchableFilter; import com.ximple.eofms.filter.TypeIdDispatchableFilter; -import com.ximple.eofms.util.DigesterUtils; +import com.ximple.eofms.util.ElementDigesterUtils; import com.ximple.io.dgn7.ComplexElement; import com.ximple.io.dgn7.Element; import com.ximple.io.dgn7.FrammeAttributeData; @@ -75,7 +75,7 @@ // filterURL = this.getClass().getResource("/conf/ConvertShpFilterForLevel.xml"); } assert filterURL != null; - Digester digester = DigesterUtils.getElementDigester(); + Digester digester = ElementDigesterUtils.getElementDigester(); return (ElementDispatcher) digester.parse(filterURL); } catch (UnsupportedEncodingException e) { logger.info(e.getMessage(), e); diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/orasdo/FeatureDgnConvertOraSDOJobContext.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/orasdo/FeatureDgnConvertOraSDOJobContext.java index 1c3ebd6..c24b318 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/orasdo/FeatureDgnConvertOraSDOJobContext.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/orasdo/FeatureDgnConvertOraSDOJobContext.java @@ -12,7 +12,7 @@ import com.ximple.eofms.filter.AbstractFLinkageDispatchableFilter; import com.ximple.eofms.filter.ElementDispatcher; -import com.ximple.eofms.util.DigesterUtils; +import com.ximple.eofms.util.ElementDigesterUtils; import com.ximple.io.dgn7.ComplexElement; import com.ximple.io.dgn7.Element; import com.ximple.io.dgn7.FrammeAttributeData; @@ -68,7 +68,7 @@ // filterURL = this.getClass().getResource("/conf/ConvertShpFilterForLevel.xml"); } assert filterURL != null; - Digester digester = DigesterUtils.getElementDigester(); + Digester digester = ElementDigesterUtils.getElementDigester(); return (ElementDispatcher) digester.parse(filterURL); } catch (UnsupportedEncodingException e) { logger.info(e.getMessage(), e); diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/orasdo/OracleConvertOraSDOJobContext.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/orasdo/OracleConvertOraSDOJobContext.java index c7b85f1..09d4d6b 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/orasdo/OracleConvertOraSDOJobContext.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/orasdo/OracleConvertOraSDOJobContext.java @@ -15,7 +15,7 @@ import com.ximple.eofms.filter.AbstractFLinkageDispatchableFilter; import com.ximple.eofms.filter.ElementDispatcher; import com.ximple.eofms.jobs.OracleElementLogger; -import com.ximple.eofms.util.DigesterUtils; +import com.ximple.eofms.util.ElementDigesterUtils; import com.ximple.io.dgn7.ComplexElement; import com.ximple.io.dgn7.Element; import com.ximple.io.dgn7.FrammeAttributeData; @@ -89,7 +89,7 @@ // filterURL = this.getClass().getResource("/conf/ConvertShpFilterForLevel.xml"); } assert filterURL != null; - Digester digester = DigesterUtils.getElementDigester(); + Digester digester = ElementDigesterUtils.getElementDigester(); return (ElementDispatcher) digester.parse(filterURL); } catch (UnsupportedEncodingException e) { logger.info(e.getMessage(), e); diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/DummyFeatureConvertPostGISJobContext.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/DummyFeatureConvertPostGISJobContext.java index aa20926..85319ca 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/DummyFeatureConvertPostGISJobContext.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/DummyFeatureConvertPostGISJobContext.java @@ -16,7 +16,7 @@ import com.ximple.eofms.filter.TypeCompIdDispatchableFilter; import com.ximple.eofms.filter.TypeCompLevelIdDispatchableFilter; import com.ximple.eofms.filter.TypeIdDispatchableFilter; -import com.ximple.eofms.util.DigesterUtils; +import com.ximple.eofms.util.ElementDigesterUtils; import com.ximple.io.dgn7.ComplexElement; import com.ximple.io.dgn7.Element; import com.ximple.io.dgn7.FrammeAttributeData; @@ -75,7 +75,7 @@ // filterURL = this.getClass().getResource("/conf/ConvertShpFilterForLevel.xml"); } assert filterURL != null; - Digester digester = DigesterUtils.getElementDigester(); + Digester digester = ElementDigesterUtils.getElementDigester(); return (ElementDispatcher) digester.parse(filterURL); } catch (UnsupportedEncodingException e) { logger.info(e.getMessage(), e); diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/FeatureDgnConvertPostGISJobContext.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/FeatureDgnConvertPostGISJobContext.java index 60dc83d..27be640 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/FeatureDgnConvertPostGISJobContext.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/FeatureDgnConvertPostGISJobContext.java @@ -12,7 +12,7 @@ import com.ximple.eofms.filter.AbstractFLinkageDispatchableFilter; import com.ximple.eofms.filter.ElementDispatcher; -import com.ximple.eofms.util.DigesterUtils; +import com.ximple.eofms.util.ElementDigesterUtils; import com.ximple.io.dgn7.ComplexElement; import com.ximple.io.dgn7.Element; import com.ximple.io.dgn7.FrammeAttributeData; @@ -69,7 +69,7 @@ // filterURL = this.getClass().getResource("/conf/ConvertShpFilterForLevel.xml"); } assert filterURL != null; - Digester digester = DigesterUtils.getElementDigester(); + Digester digester = ElementDigesterUtils.getElementDigester(); return (ElementDispatcher) digester.parse(filterURL); } catch (UnsupportedEncodingException e) { logger.info(e.getMessage(), e); diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/OracleConvertPostGISJobContext.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/OracleConvertPostGISJobContext.java index 2a9eb93..853f72e 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/OracleConvertPostGISJobContext.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/OracleConvertPostGISJobContext.java @@ -22,7 +22,7 @@ import com.ximple.eofms.filter.ElementDispatcher; import com.ximple.eofms.filter.FeatureTypeEvent; import com.ximple.eofms.jobs.OracleElementLogger; -import com.ximple.eofms.util.DigesterUtils; +import com.ximple.eofms.util.ElementDigesterUtils; import com.ximple.io.dgn7.ComplexElement; import com.ximple.io.dgn7.Element; import com.ximple.io.dgn7.FrammeAttributeData; @@ -35,7 +35,6 @@ import org.geotools.data.Transaction; import org.geotools.data.jdbc.JDBCUtils; import org.geotools.feature.SchemaException; -import org.geotools.feature.type.FeatureTypeImpl; import org.opengis.feature.simple.SimpleFeature; import org.opengis.feature.simple.SimpleFeatureType; import org.postgresql.util.PSQLException; @@ -96,7 +95,7 @@ // filterURL = this.getClass().getResource("/conf/ConvertShpFilterForLevel.xml"); } assert filterURL != null; - Digester digester = DigesterUtils.getElementDigester(); + Digester digester = ElementDigesterUtils.getElementDigester(); return (ElementDispatcher) digester.parse(filterURL); } catch (UnsupportedEncodingException e) { logger.info(e.getMessage(), e); diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/DummyFeatureConvertShpJobContext.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/DummyFeatureConvertShpJobContext.java index 0e86fbb..d2f85db 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/DummyFeatureConvertShpJobContext.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/DummyFeatureConvertShpJobContext.java @@ -17,7 +17,7 @@ import com.ximple.eofms.filter.TypeCompIdDispatchableFilter; import com.ximple.eofms.filter.TypeCompLevelIdDispatchableFilter; import com.ximple.eofms.filter.TypeIdDispatchableFilter; -import com.ximple.eofms.util.DigesterUtils; +import com.ximple.eofms.util.ElementDigesterUtils; import com.ximple.io.dgn7.ComplexElement; import com.ximple.io.dgn7.Element; import com.ximple.io.dgn7.FrammeAttributeData; @@ -78,7 +78,7 @@ // filterURL = this.getClass().getResource("/conf/ConvertShpFilterForLevel.xml"); } assert filterURL != null; - Digester digester = DigesterUtils.getElementDigester(); + Digester digester = ElementDigesterUtils.getElementDigester(); return (ElementDispatcher) digester.parse(filterURL); } catch (UnsupportedEncodingException e) { logger.info(e.getMessage(), e); diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/FeatureDgnConvertShpJobContext.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/FeatureDgnConvertShpJobContext.java index 5825139..ffc965e 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/FeatureDgnConvertShpJobContext.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/FeatureDgnConvertShpJobContext.java @@ -13,7 +13,7 @@ import com.ximple.eofms.filter.AbstractFLinkageDispatchableFilter; import com.ximple.eofms.filter.ElementDispatcher; -import com.ximple.eofms.util.DigesterUtils; +import com.ximple.eofms.util.ElementDigesterUtils; import com.ximple.io.dgn7.ComplexElement; import com.ximple.io.dgn7.Element; import com.ximple.io.dgn7.FrammeAttributeData; @@ -76,7 +76,7 @@ // filterURL = this.getClass().getResource("/conf/ConvertShpFilterForLevel.xml"); } assert filterURL != null; - Digester digester = DigesterUtils.getElementDigester(); + Digester digester = ElementDigesterUtils.getElementDigester(); return (ElementDispatcher) digester.parse(filterURL); } catch (UnsupportedEncodingException e) { logger.info(e.getMessage(), e); diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/OracleConvertShapefilesJobContext.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/OracleConvertShapefilesJobContext.java index ea60c5a..8beaf47 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/OracleConvertShapefilesJobContext.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/OracleConvertShapefilesJobContext.java @@ -13,7 +13,7 @@ import java.util.Iterator; import java.util.Properties; -import com.ximple.eofms.util.DigesterUtils; +import com.ximple.eofms.util.ElementDigesterUtils; import org.apache.commons.digester3.Digester; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -102,7 +102,7 @@ // filterURL = this.getClass().getResource("/conf/ConvertShpFilterForLevel.xml"); } assert filterURL != null; - Digester digester = DigesterUtils.getElementDigester(); + Digester digester = ElementDigesterUtils.getElementDigester(); return (ElementDispatcher) digester.parse(filterURL); } catch (UnsupportedEncodingException e) { logger.info(e.getMessage(), e); diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/util/XGeosConfigDigesterUtils.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/util/XGeosConfigDigesterUtils.java index 12df231..a89e7c8 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/util/XGeosConfigDigesterUtils.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/util/XGeosConfigDigesterUtils.java @@ -1,11 +1,27 @@ package com.ximple.eofms.util; -/** - * Created with IntelliJ IDEA. - * User: ulysseskao - * Date: 2013/8/6 - * Time: 下午 4:35 - * To change this template use File | Settings | File Templates. - */ +import com.ximple.eofms.geoserver.config.XGeosDataConfigMapping; +import org.apache.commons.digester3.Digester; +import org.apache.commons.digester3.binder.DigesterLoader; +import org.apache.commons.digester3.xmlrules.FromXmlRulesModule; + public class XGeosConfigDigesterUtils { + private static final String XGEOSRULES_NAME = "DefaultXGeosDataConfigRules.xml"; + + protected static Digester digester = null; + protected static DigesterLoader loader = DigesterLoader.newLoader( new FromXmlRulesModule() { + @Override + protected void loadRules() { + loadXMLRules(XGeosDataConfigMapping.class.getResource(XGEOSRULES_NAME)); + } + + } ); + + static { + digester = loader.newDigester(); + } + + public static Digester getXGeosConfigDigester() { + return digester; + } } diff --git a/xdgnjobs/ximple-spatialjob/src/main/resources/com/ximple/eofms/filter/ElementDispatcherRules.xml b/xdgnjobs/ximple-spatialjob/src/main/resources/com/ximple/eofms/filter/ElementDispatcherRules.xml index 635cd5c..72c6ad4 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/resources/com/ximple/eofms/filter/ElementDispatcherRules.xml +++ b/xdgnjobs/ximple-spatialjob/src/main/resources/com/ximple/eofms/filter/ElementDispatcherRules.xml @@ -1,5 +1,5 @@ <?xml version='1.0' encoding="big5"?> -<!DOCTYPE digester-rules PUBLIC "-//Apache Commons //DTD digester-rules XML V1.0//EN" "http://commons.apache.org/digester/dtds/digester-rules-3.0.dtd"> +<!DOCTYPE digester-rules PUBLIC "-//Apache Commons //DTD digester-rules XML V1.0//EN" "digester-rules-3.0.dtd"> <digester-rules> <pattern value="ElementDispatcherRules"> <object-create-rule classname="com.ximple.eofms.filter.ElementDispatcher"/> diff --git a/xdgnjobs/ximple-spatialjob/src/main/resources/com/ximple/eofms/geoserver/config/DefaultXGeosDataConfigRules.xml b/xdgnjobs/ximple-spatialjob/src/main/resources/com/ximple/eofms/geoserver/config/DefaultXGeosDataConfigRules.xml index 0c141d5..3674334 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/resources/com/ximple/eofms/geoserver/config/DefaultXGeosDataConfigRules.xml +++ b/xdgnjobs/ximple-spatialjob/src/main/resources/com/ximple/eofms/geoserver/config/DefaultXGeosDataConfigRules.xml @@ -1,5 +1,5 @@ <?xml version='1.0' encoding="big5"?> -<!DOCTYPE digester-rules PUBLIC "-//Jakarta Apache //DTD digester-rules XML V1.0//EN" "digester-rules.dtd"> +<!DOCTYPE digester-rules PUBLIC "-//Apache Commons //DTD digester-rules XML V1.0//EN" "digester-rules-3.0.dtd"> <digester-rules> <pattern value="dataroot"> <object-create-rule classname="com.ximple.eofms.geoserver.config.XGeosDataConfigMapping"/> diff --git a/xdgnjobs/ximple-spatialjob/src/test/java/com/ximple/eofms/filter/ElementDispatcherTest.java b/xdgnjobs/ximple-spatialjob/src/test/java/com/ximple/eofms/filter/ElementDispatcherTest.java index 6d351fb..21508da 100644 --- a/xdgnjobs/ximple-spatialjob/src/test/java/com/ximple/eofms/filter/ElementDispatcherTest.java +++ b/xdgnjobs/ximple-spatialjob/src/test/java/com/ximple/eofms/filter/ElementDispatcherTest.java @@ -3,7 +3,7 @@ import java.io.File; import java.io.IOException; -import com.ximple.eofms.util.DigesterUtils; +import com.ximple.eofms.util.ElementDigesterUtils; import org.apache.commons.digester3.Digester; import org.geotools.TestData; import org.testng.Assert; @@ -17,7 +17,7 @@ @Test public void testLoadRules() throws IOException { File rules = TestData.file(this, TestRulesName); - Digester digester = DigesterUtils.getElementDigester(); + Digester digester = ElementDigesterUtils.getElementDigester(); // File config = TestData.file(this, TestConfigName); // ElementDispatcher ed = (ElementDispatcher) digester.parse(config); Assert.assertNotNull(digester); @@ -26,7 +26,7 @@ @Test public void testLoadConfig() throws IOException, SAXException { File rules = TestData.file(this, TestRulesName); - Digester digester = DigesterUtils.getElementDigester(); + Digester digester = ElementDigesterUtils.getElementDigester(); File config = TestData.file(this, TestConfigName); ElementDispatcher ed = (ElementDispatcher) digester.parse(config); Assert.assertNotNull(ed); -- Gitblit v0.0.0-SNAPSHOT