Package org.geoserver.hibernate

Source Code of org.geoserver.hibernate.HibBootstrapper

/*
*/

package org.geoserver.hibernate;

import org.geoserver.catalog.Catalog;
import org.geoserver.catalog.NamespaceInfo;
import org.geoserver.catalog.WorkspaceInfo;
import org.geoserver.catalog.impl.WorkspaceInfoImpl;
import org.geoserver.config.GeoServer;
import org.geoserver.config.GeoServerInfo;
import org.geoserver.config.JAIInfo;
import org.geoserver.services.hibernate.beans.GMLInfoImplHb;
import org.geoserver.wcs.WCSInfoImpl;
import org.geoserver.wfs.GMLInfo;
import org.geoserver.wfs.WFSInfo;
import org.geoserver.wfs.GMLInfo.SrsNameStyle;
import org.geoserver.wfs.WFSInfoImpl;
import org.geoserver.wms.WMSInfoImpl;
import org.geoserver.wms.WatermarkInfo;
import org.geoserver.wms.WatermarkInfoImpl;

/**
*
* @author ETj <etj at geo-solutions.it>
*/
public class HibBootstrapper {

    private Catalog resourceCatalog;

    private GeoServer serviceCatalog;

    public HibBootstrapper(Catalog resourceCatalog, GeoServer serviceCatalog) {
        this.resourceCatalog = resourceCatalog;
        this.serviceCatalog = serviceCatalog;
    }

    public GeoServerInfo createBaseObjects() {

        GeoServerInfo geoserver = createDefaultGeoServer();
        createDefaultServices(geoserver);
        // NamespaceInfo defaultNameSpace = createDefaultNamespace();
        // WorkspaceInfo defaultWs = createDefaultWorkspace();

        return geoserver;
    }

    public NamespaceInfo createDefaultNamespace() {
        NamespaceInfo ns = resourceCatalog.getFactory().createNamespace();
        ns.setPrefix("nurc");
        ns.setURI("http://www.nurc.nato.int");
        resourceCatalog.add(ns);
        resourceCatalog.setDefaultNamespace(ns);
        return ns;
    }

    public WorkspaceInfo createDefaultWorkspace() {
        WorkspaceInfoImpl ws = (WorkspaceInfoImpl) resourceCatalog.getFactory()
                .createWorkspace();
        ws.setDefault(Boolean.TRUE);
        ws.setName("nurc");
        resourceCatalog.add(ws);
        resourceCatalog.setDefaultWorkspace(ws);
        return ws;
    }

    public GeoServerInfo createDefaultGeoServer() {
        GeoServerInfo geoserver;
        geoserver = this.serviceCatalog.getFactory().createGlobal();
        geoserver.setContact(this.serviceCatalog.getFactory().createContact());

        geoserver.setNumDecimals(8);

        geoserver.setVerbose(false);
        geoserver.setVerboseExceptions(false);

        // jai
        JAIInfo jai = serviceCatalog.getFactory().createJAI();
        jai.setMemoryCapacity((Double) 0.5);
        jai.setMemoryThreshold((Double) 0.75);
        jai.setTileThreads((Integer) 5);
        jai.setTilePriority((Integer) 5);
        jai.setImageIOCache((Boolean) false);
        jai.setJpegAcceleration((Boolean) false);
        jai.setPngAcceleration((Boolean) false);
        jai.setRecycling((Boolean) false);
        jai.setAllowNativeMosaic(false);

        geoserver.setJAI(jai);

        serviceCatalog.setGlobal(geoserver);

        return geoserver;
    }

    private void createDefaultServices(GeoServerInfo geoserver) {

        WFSInfoImpl wfs = new WFSInfoImpl();
        wfs.setId("wfs");
        wfs.setName("wfs");
        wfs.setTitle("Test WFS");
        wfs.setEnabled(true);

        wfs.setServiceLevel(WFSInfo.ServiceLevel.COMPLETE);

        // gml2
        GMLInfo gml = new GMLInfoImplHb();
        gml.setSrsNameStyle(SrsNameStyle.NORMAL);
        wfs.getGML().put(WFSInfo.Version.V_10, gml);

        // gml3
        gml = new GMLInfoImplHb();
        gml.setSrsNameStyle(SrsNameStyle.URN);
        wfs.getGML().put(WFSInfo.Version.V_11, gml);
        wfs.setGeoServer(serviceCatalog);

        this.serviceCatalog.add(wfs);

        WMSInfoImpl wms = new WMSInfoImpl();
        wms.setName("wms");
        wms.setId("wms");
        wms.setTitle("Test WMS");
        wms.setEnabled(true);
        WatermarkInfo wm = new WatermarkInfoImpl();
        wm.setEnabled(false);
        wm.setPosition(WatermarkInfo.Position.BOT_RIGHT);
        wms.setWatermark(wm);
        wms.setGeoServer(serviceCatalog);

        this.serviceCatalog.add(wms);

        WCSInfoImpl wcs = new WCSInfoImpl();
        wcs.setId("wcs");
        wcs.setName("wcs");
        wcs.setTitle("Test WCS");
        wcs.setEnabled(true);
        wcs.setGeoServer(serviceCatalog);

        this.serviceCatalog.add(wcs);
    }

    public void setCatalog(Catalog catalog) {
        this.resourceCatalog = catalog;
    }

    public void setGeoServer(GeoServer geoServer) {
        this.serviceCatalog = geoServer;
    }

}
TOP

Related Classes of org.geoserver.hibernate.HibBootstrapper

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.