Dennis Kao
2013-08-08 bbaf4ed875548c854622b55a177c8d35ab9238dc
geoserver layer setting
3 files modified
111 ■■■■■ changed files
xdgnjobs/ximple-jobcarrier/src/main/resources/quartz_jobs.xml 6 ●●●● patch | view | raw | blame | history
xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/GeoserverIntegrateConfigJob.java 55 ●●●● patch | view | raw | blame | history
xdgnjobs/ximple-spatialjob/src/test/java/com/ximple/eofms/rest/GeoManagerEncoderTest.java 50 ●●●● patch | view | raw | blame | history
xdgnjobs/ximple-jobcarrier/src/main/resources/quartz_jobs.xml
@@ -37,11 +37,11 @@
        </entry>
        <entry>
          <key>PGHOST</key>
          <value>10.10.1.6</value>
          <value>192.168.11.99</value>
        </entry>
        <entry>
          <key>PGDATBASE</key>
          <value>pgNSTPC</value>
          <value>pgNNTPC</value>
        </entry>
        <entry>
          <key>PGPORT</key>
@@ -130,7 +130,7 @@
        </entry>
        <entry>
          <key>GEOSERVER_URL</key>
          <value>http://10.10.1.6:8080/geoserver</value>
          <value>http://www.ximple.com.tw/geoserver</value>
        </entry>
        <entry>
          <key>GEOSERVER_USER</key>
xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/GeoserverIntegrateConfigJob.java
@@ -13,6 +13,7 @@
import it.geosolutions.geoserver.rest.decoder.utils.NameLinkElem;
import it.geosolutions.geoserver.rest.encoder.GSLayerEncoder;
import it.geosolutions.geoserver.rest.encoder.GSLayerGroupEncoder;
import it.geosolutions.geoserver.rest.encoder.GSLayerGroupEncoder23;
import it.geosolutions.geoserver.rest.encoder.GSResourceEncoder;
import it.geosolutions.geoserver.rest.encoder.datastore.GSPostGISDatastoreEncoder;
import it.geosolutions.geoserver.rest.encoder.feature.GSFeatureTypeEncoder;
@@ -24,6 +25,7 @@
import org.geotools.data.Transaction;
import org.geotools.data.jdbc.JDBCUtils;
import org.geotools.geometry.GeneralEnvelope;
import org.jdom.Element;
import org.opengis.feature.type.FeatureType;
import org.opengis.feature.type.GeometryDescriptor;
import org.quartz.JobDataMap;
@@ -528,21 +530,19 @@
            }
            XGeosDataConfig xgeosConfig = (XGeosDataConfig) value;
            StringBuilder sbFullName = new StringBuilder(namespace);
            sbFullName.append(':');
            StringBuilder sbLayerName = new StringBuilder(namespace);
            sbLayerName.append(':');
            sbLayerName.append("fsc-");
            sbLayerName.append(xgeosConfig.getFSC()).append("-c");
            sbLayerName.append(xgeosConfig.getCOMP()).append("-l");
            sbLayerName.append(xgeosConfig.getLEV()).append("-w");
            sbLayerName.append(xgeosConfig.getWEIGHT());
            String layerName = sbLayerName.toString();
            sbLayers.append(layerName);
            if (lgEncoder != null) {
                lgEncoder.addLayer(layerName);
            }
            sbFullName.append(layerName);
            sbLayers.append(sbFullName.toString());
        }
        return sbLayers.toString();
@@ -585,16 +585,8 @@
                return;
            }
            Set<String> styles = new TreeSet<String>();
            RESTStyleList styleList = reader.getStyles();
            for (NameLinkElem style : styleList) {
                styles.add(style.getName());
            }
            RESTLayerList layers = reader.getLayers();
            for (NameLinkElem layer : layers) {
                layer.getName();
            }
            // Map styles = dataConfig.getStyles();
            List<String> styleList = reader.getStyles().getNames();
            Set<String> styles = new TreeSet<String>(styleList);
            XGeosDataConfigMapping mapping = getConfigMapping();
            HashMap<String, String> defaultStyles = buildDefaultStylesMapping(mapping);
@@ -817,13 +809,7 @@
        GeoServerRESTReader reader = manager.getReader();
        GeoServerRESTPublisher publisher = manager.getPublisher();
        RESTLayerList layers = reader.getLayers();
        ArrayList<String> baseMapNames = new ArrayList<String>();
        for (NameLinkElem elm : layers) {
            baseMapNames.add(elm.getName());
        }
        List<String> baseMapNames = reader.getLayers().getNames();
        XGeosDataConfigMapping configMapping = getConfigMapping();
        if (configMapping.getMapping().isEmpty()) {
            logger.warn("XGeosDataConfigMapping is empty! Pleace check XGeosDataConfig file.");
@@ -853,14 +839,27 @@
        for (Object key : defaultMapNames) {
            List configs = (List) configMapping.getMapping().get(key);
            GSLayerGroupEncoder lge = new GSLayerGroupEncoder();
            GSLayerGroupEncoder lge = new GSLayerGroupEncoder23() {
                @Override
                protected void addToRoot(Element... elements) {
                    for (Element e : elements) {
                        if (e != null) {
                            getRoot().addContent(e.cloneContent());
                        }
                    }
                }
            };
            lge.setBounds("EPSG:3826",293838.061931726,2758423.49415501,311845.457747425,2768966.72993585);
            String defaultLayerNames = buildDefaultWMSLayerNames(DEFAULT_NAMESPACE, configs, lge);
            logger.info(key + ":" + defaultLayerNames);
            logger.info(lge.toString());
            // wmsConfig.getBaseMapLayers().put(key, defaultLayerNames);
            String layerGroupName = key.toString();
            RESTLayerGroup layerGroup = reader.getLayerGroup(DEFAULT_NAMESPACE, layerGroupName);
            if (layerGroup == null) {
                publisher.createLayerGroup(DEFAULT_NAMESPACE, layerGroupName, lge);
                if (!publisher.createLayerGroup(DEFAULT_NAMESPACE, layerGroupName, lge)) {
                    logger.warn("Cannot create layergroups:" + layerGroupName + "-" + lge.toString());
                }
            } else {
                publisher.configureLayerGroup(DEFAULT_NAMESPACE, layerGroupName, lge);
@@ -876,14 +875,10 @@
        }
        GeoServerRESTReader reader = manager.getReader();
        RESTLayerList layers = reader.getLayers();
        List<String> layernames = reader.getLayers().getNames();
        ArrayList<String> baseMapNames = new ArrayList<String>(layernames);
        // Map baseMapLayers = wmsConfig.getBaseMapLayers();
        // Map baseMapEnvelopes = wmsConfig.getBaseMapEnvelopes();
        ArrayList<String> baseMapNames = new ArrayList<String>();
        for (NameLinkElem elm : layers) {
            baseMapNames.add(elm.getName());
        }
        for (Object key : baseMapNames) {
            String baseMapTitle = (String) key;
xdgnjobs/ximple-spatialjob/src/test/java/com/ximple/eofms/rest/GeoManagerEncoderTest.java
@@ -1,11 +1,47 @@
package com.ximple.eofms.rest;
/**
 * Created with IntelliJ IDEA.
 * User: ulysseskao
 * Date: 2013/8/8
 * Time: 下午 2:18
 * To change this template use File | Settings | File Templates.
 */
import it.geosolutions.geoserver.rest.encoder.GSLayerGroupEncoder;
import it.geosolutions.geoserver.rest.encoder.GSLayerGroupEncoder23;
import org.jdom.Element;
import org.testng.annotations.Test;
public class GeoManagerEncoderTest {
    @Test
    public void testLaterGroupEncoder() {
        String a = "pgCLS:xtpc:fsc-203-c1-l37-w1,xtpc:fsc-203-c0-l38-w1,xtpc:fsc-203-c1-l38-w1,xtpc:fsc-203-c0-l37-w1,xtpc:fsc-311-c1-l45-w1,xtpc:fsc-311-c1-l45-w0,xtpc:fsc-311-c0-l45-w1,xtpc:fsc-501-c0-l1-w0,xtpc:fsc-501-c1-l2-w0,xtpc:fsc-502-c0-l1-w1,xtpc:fsc-502-c1-l2-w1,xtpc:fsc-503-c0-l1-w2,xtpc:fsc-999-c0-l62-w1";
        GSLayerGroupEncoder groupWriter = new GSLayerGroupEncoder23() {
            @Override
            protected void addToRoot(Element... elements) {
                for (Element e : elements) {
                    if (e != null) {
                        getRoot().addContent(e.cloneContent());
                    }
                }
            }
        };
        groupWriter.addLayer("xtpc:fsc-203-c1-l37-w1");
        groupWriter.addLayer("xtpc:fsc-203-c0-l38-w1");
        groupWriter.addLayer("xtpc:fsc-203-c1-l38-w1");
        groupWriter.addLayer("xtpc:fsc-203-c0-l37-w1");
        groupWriter.addLayer("xtpc:fsc-311-c1-l45-w1");
        groupWriter.addLayer("xtpc:fsc-311-c1-l45-w0");
        groupWriter.addLayer("xtpc:fsc-311-c0-l45-w1");
        groupWriter.addLayer("xtpc:fsc-501-c0-l1-w0");
        groupWriter.addLayer("xtpc:fsc-501-c1-l2-w0");
        groupWriter.addLayer("xtpc:fsc-502-c0-l1-w1");
        groupWriter.addLayer("xtpc:fsc-502-c1-l2-w");
        groupWriter.addLayer("xtpc:fsc-503-c0-l1-w2");
        groupWriter.addLayer("xtpc:fsc-999-c0-l62-w1");
        String s = groupWriter.toString();
        System.out.println(s);
    }
    @Test
    public void testLaterGroupEncoder23() {
        String a = "pgCLS:xtpc:fsc-203-c1-l37-w1,xtpc:fsc-203-c0-l38-w1,xtpc:fsc-203-c1-l38-w1,xtpc:fsc-203-c0-l37-w1,xtpc:fsc-311-c1-l45-w1,xtpc:fsc-311-c1-l45-w0,xtpc:fsc-311-c0-l45-w1,xtpc:fsc-501-c0-l1-w0,xtpc:fsc-501-c1-l2-w0,xtpc:fsc-502-c0-l1-w1,xtpc:fsc-502-c1-l2-w1,xtpc:fsc-503-c0-l1-w2,xtpc:fsc-999-c0-l62-w1";
        GSLayerGroupEncoder23 groupWriter = new GSLayerGroupEncoder23();
        groupWriter.addLayer("topp:boundaries");
        String s = groupWriter.toString();
    }
}