All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.geojsf.controller.util.DummyViewFactory Maven / Gradle / Ivy

The newest version!
package org.geojsf.controller.util;

import net.sf.ahtutils.exception.ejb.UtilsConstraintViolationException;
import net.sf.ahtutils.interfaces.model.graphic.UtilsGraphic;
import net.sf.ahtutils.interfaces.model.status.UtilsDescription;
import net.sf.ahtutils.interfaces.model.status.UtilsLang;
import net.sf.ahtutils.interfaces.model.status.UtilsStatus;

import org.geojsf.factory.ejb.EjbGeoCategoryFactory;
import org.geojsf.factory.ejb.EjbGeoLayerFactory;
import org.geojsf.factory.ejb.EjbGeoMapFactory;
import org.geojsf.factory.ejb.EjbGeoServiceFactory;
import org.geojsf.factory.ejb.EjbGeoViewFactory;
import org.geojsf.interfaces.model.core.GeoJsfCategory;
import org.geojsf.interfaces.model.core.GeoJsfLayer;
import org.geojsf.interfaces.model.core.GeoJsfMap;
import org.geojsf.interfaces.model.core.GeoJsfService;
import org.geojsf.interfaces.model.core.GeoJsfView;
import org.geojsf.interfaces.model.meta.GeoJsfDataSource;
import org.geojsf.interfaces.model.meta.GeoJsfViewPort;
import org.geojsf.interfaces.model.sld.GeoJsfSld;
import org.geojsf.interfaces.model.sld.GeoJsfSldRule;
import org.geojsf.interfaces.model.sld.GeoJsfSldTemplate;

public class DummyViewFactory,GT extends UtilsStatus,GS extends UtilsStatus,
								CATEGORY extends GeoJsfCategory,
								SERVICE extends GeoJsfService,
								LAYER extends GeoJsfLayer,
								MAP extends GeoJsfMap,
								VIEW extends GeoJsfView,
								VP extends GeoJsfViewPort,
								DS extends GeoJsfDataSource,
								SLDTEMPLATE extends GeoJsfSldTemplate,
								SLDTYPE extends UtilsStatus,
								SLD extends GeoJsfSld,
								RULE extends GeoJsfSldRule>
{
	private EjbGeoCategoryFactory fCategory;
	private EjbGeoServiceFactory fService;
	private EjbGeoLayerFactory fLayer;
	private EjbGeoMapFactory fMap;
	private EjbGeoViewFactory fView;
	
	public SERVICE serviceOsm,serviceAht;
	public SERVICE getServiceOsm() {return serviceOsm;}
	public SERVICE getServiceAht() {return serviceAht;}
	
	private CATEGORY category;

	private LAYER layerOsmBasic,layerAhtRoads,layerAhtStreams,layerAhtRestricted;
	
	private MAP map;
	public MAP getMap() {return map;}
	
	final Class clLang;
	final Class clDescription;
	final Class cCategory;
	final Class clService;
	final Class clLayer;
	final Class clMap;
	final Class clView;
	
	private final String[] langs = {"en","de"};
	
    public static ,GT extends UtilsStatus,GS extends UtilsStatus,
					CATEGORY extends GeoJsfCategory,
					SERVICE extends GeoJsfService,
					LAYER extends GeoJsfLayer,
					MAP extends GeoJsfMap,
					VIEW extends GeoJsfView,
					VP extends GeoJsfViewPort,
					DS extends GeoJsfDataSource,
					SLDTYPE extends UtilsStatus,
					SLDTEMPLATE extends GeoJsfSldTemplate,
					SLD extends GeoJsfSld,
					RULE extends GeoJsfSldRule>
    	DummyViewFactory
    	factory(final Class clLang,final Class clDescription,final Class cCategory,final Class clService,final Class clLayer,final Class clMap,final Class clView)
    {
        return new DummyViewFactory(clLang,clDescription,cCategory,clService,clLayer,clMap,clView);
    }
	
    public DummyViewFactory(final Class clLang,final Class clDescription,final Class cCategory,final Class clService,final Class clLayer,final Class clMap,final Class clView)
    {
        this.clLang = clLang;
        this.clDescription = clDescription;
        this.cCategory = cCategory;
        this.clService = clService;
        this.clLayer = clLayer;
        this.clMap = clMap;
        this.clView = clView;
        
        fCategory = EjbGeoCategoryFactory.factory(cCategory);
        fService = EjbGeoServiceFactory.factory(clService);
		fLayer = EjbGeoLayerFactory.factory(clLang,clLayer);
		fMap = EjbGeoMapFactory.factory(clLang,clMap);
		fView = EjbGeoViewFactory.factory(clView);
		
		try
		{
			initServices();
			initCategory();
			initLayer();
			initViews();
		}
		catch (UtilsConstraintViolationException e) {e.printStackTrace();}
    } 
 
    private void initCategory() throws UtilsConstraintViolationException
	{
		if(category==null){category = fCategory.build("cat");serviceOsm.setId(0);}
	}
    
	private void initServices() throws UtilsConstraintViolationException
	{
		if(serviceOsm==null){serviceOsm = fService.build("osm","http://vmap0.tiles.osgeo.org/wms/vmap0");serviceOsm.setId(0);}
		if(serviceAht==null){serviceAht = fService.build("aht","https://www.aht-group.com/geoserver/sf/wms");serviceAht.setId(1);}
	}
	
	private void initLayer() throws UtilsConstraintViolationException
	{
		layerOsmBasic = fLayer.build("basic", serviceOsm,category,langs);layerOsmBasic.setId(1);
		layerAhtRoads = fLayer.build("roads",serviceAht,category,langs);layerAhtRoads.setId(2);
		layerAhtStreams = fLayer.build("streams",serviceAht,category,langs);layerAhtStreams.setId(3);
		layerAhtRestricted = fLayer.build("restricted",serviceAht,category,langs);layerAhtRestricted.setId(4);
	}
	
	private void initViews() throws UtilsConstraintViolationException
	{
		map = fMap.create("defaultMap",langs);map.setId(1);
		map.getViews().add(fView.create(map, layerAhtRoads, 1, true,true));
		map.getViews().add(fView.create(map, layerAhtStreams, 2, true,true));
		map.getViews().add(fView.create(map, layerAhtRestricted, 3, true,true));
		map.getViews().add(fView.create(map, layerOsmBasic, 4, true,true));
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy