⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 defaultbeantoadfconverter.java

📁 esri的ArcGIS Server超级学习模板程序(for java)
💻 JAVA
字号:
package com.esri.solutions.jitk.web.tasks.mapcomp;

import java.util.ArrayList;
import java.util.List;

import com.esri.adf.web.ags.data.AGSLocalMapResource;
import com.esri.adf.web.ags.data.AGSMapResource;
import com.esri.adf.web.ags.data.AGSUser;
import com.esri.adf.web.aims.data.AIMSMapResource;
import com.esri.adf.web.data.GISResource;
import com.esri.adf.web.data.MapFunctionality;
import com.esri.adf.web.wms.data.WMSMapResource;
import com.esri.solutions.jitk.personalization.data.beans.v1.AgsInternetServiceType;
import com.esri.solutions.jitk.personalization.data.beans.v1.AgsLocalServiceType;
import com.esri.solutions.jitk.personalization.data.beans.v1.ArcImsInternetServiceType;
import com.esri.solutions.jitk.personalization.data.beans.v1.ArcImsTcpServiceType;
import com.esri.solutions.jitk.personalization.data.beans.v1.IdentityType;
import com.esri.solutions.jitk.personalization.data.beans.v1.MapServiceType;
import com.esri.solutions.jitk.personalization.data.beans.v1.WcsServiceType;
import com.esri.solutions.jitk.personalization.data.beans.v1.WfsServiceType;
import com.esri.solutions.jitk.personalization.data.beans.v1.WmsServiceType;
import com.esri.solutions.jitk.web.data.IBCTMapFunctionality;
import com.esri.solutions.jitk.web.data.IGISResourceFactory;
import com.esri.solutions.jitk.web.data.image.TintParameters;
import com.esri.solutions.jitk.web.wcs.data.WCSMapResource;
import com.esri.solutions.jitk.web.wfs.data.WFSMapResource;

/**
 * Converts Map Composition bean objects into ADF objects.
 */
public class DefaultBeanToADFConverter implements IBeanToADFConverter {

	/**
	 * Reference to a GIS Resource Factory to create {@link AGSMapResource}
	 * objects.
	 */
	private IGISResourceFactory<AGSMapResource> m_agsMapResourceFactory;
	
	/**
	 * Reference to a GIS Resource Factory to create {@link AGSLocalMapResource}
	 * objects.
	 */
	private IGISResourceFactory<AGSLocalMapResource> m_agsLocalMapResourceFactory;
	
	/**
	 * Reference to a GIS Resource Factory to create {@link AIMSMapResource}
	 * objects.
	 */
	private IGISResourceFactory<AIMSMapResource> m_aimsMapResourceFactory;
	
	/**
	 * Reference to a GIS Resource Factory to create {@link WMSMapResource}
	 * objects.
	 */
	private IGISResourceFactory<WMSMapResource> m_wmsMapResourceFactory;
	
	/**
	 * Reference to a GIS Resource Factory to create {@link WCSMapResource}
	 * objects.
	 */
	private IGISResourceFactory<WCSMapResource> m_wcsMapResourceFactory;
	
	/**
	 * Reference to a GIS Resource Factory to create {@link WFSMapResource}
	 * objects.
	 */	
	private IGISResourceFactory<WFSMapResource> m_wfsMapResourceFactory;

	/* (non-Javadoc)
	 * @see com.esri.solutions.jitk.web.tasks.mapcomp.IBeanToADFConverter#createAGSMapResource(com.esri.solutions.jitk.personalization.data.beans.v1.AgsInternetServiceType)
	 */
	public AGSMapResource createAGSMapResource (AgsInternetServiceType agsInet) {
		AGSMapResource resource = null;
		
		resource = this.m_agsMapResourceFactory.createResource();
		
		resource.setAlias(agsInet.getDisplayName());
		resource.setEndPointURL(agsInet.getEndPointUrl());
		
		applyDisplaySettings(resource, agsInet);
		
		if (agsInet.getIdentity() != null) {
			AGSUser user = new AGSUser();
			IdentityType identity = agsInet.getIdentity();
			
			user.setDomain(identity.getDomain());
			user.setUserName(identity.getUserName());
			user.setPassword(identity.getPassword());
			user.setPasswordEncrypted(identity.isIsEncrypted());
			resource.setUser(user);
		}
		
		return resource;
	}
	
	/* (non-Javadoc)
	 * @see com.esri.solutions.jitk.web.tasks.mapcomp.IBeanToADFConverter#createAGSLocalMapResource(com.esri.solutions.jitk.personalization.data.beans.v1.AgsLocalServiceType)
	 */
	@SuppressWarnings("unchecked")
	public AGSLocalMapResource createAGSLocalMapResource (AgsLocalServiceType agsLocal) {
		AGSLocalMapResource resource = null;
		
		resource = this.m_agsLocalMapResourceFactory.createResource();
		
		resource.setAlias(agsLocal.getDisplayName());
		List<String> hosts = new ArrayList<String>();
		if (agsLocal.getHostList() != null) {
			hosts.addAll(agsLocal.getHostList().getHost());
		}
		resource.setHosts(hosts);
		resource.setServerObjectName(agsLocal.getServiceName());
		
		applyDisplaySettings(resource, agsLocal);
		
		if (agsLocal.getIdentity() != null) {
			AGSUser user = new AGSUser();
			IdentityType identity = agsLocal.getIdentity();
			
			user.setDomain(identity.getDomain());
			user.setUserName(identity.getUserName());
			user.setPassword(identity.getPassword());
			user.setPasswordEncrypted(identity.isIsEncrypted());
			resource.setUser(user);
		}
		
		return resource;
	}
	
	/* (non-Javadoc)
	 * @see com.esri.solutions.jitk.web.tasks.mapcomp.IBeanToADFConverter#createAIMSMapResource(com.esri.solutions.jitk.personalization.data.beans.v1.ArcImsInternetServiceType)
	 */
	public AIMSMapResource createAIMSMapResource (ArcImsInternetServiceType aimsInet) {
		AIMSMapResource resource = null;
		
		resource = this.m_aimsMapResourceFactory.createResource();
		
		resource.setAlias(aimsInet.getDisplayName());
		resource.setHostName(aimsInet.getUrl());
		resource.setServiceName(aimsInet.getServiceName());
		
		if (aimsInet.getIdentity() != null) {
			IdentityType identity = aimsInet.getIdentity();
			resource.setUserName(identity.getUserName());
			resource.setPassword(identity.getPassword());
			resource.setPasswordEncrypted(identity.isIsEncrypted());
		}
		
		applyDisplaySettings (resource, aimsInet);
		
		return resource;
	}
	
	/* (non-Javadoc)
	 * @see com.esri.solutions.jitk.web.tasks.mapcomp.IBeanToADFConverter#createAIMSMapResource(com.esri.solutions.jitk.personalization.data.beans.v1.ArcImsTcpServiceType)
	 */
	public AIMSMapResource createAIMSMapResource (ArcImsTcpServiceType aimsTcp) {
		AIMSMapResource resource = null;
		
		resource = this.m_aimsMapResourceFactory.createResource();
		
		resource.setAlias(aimsTcp.getDisplayName());
		resource.setHostName(aimsTcp.getHost());
		resource.setPort(aimsTcp.getPort());
		resource.setServiceName(aimsTcp.getServiceName());
		
		if (aimsTcp.getIdentity() != null) {
			IdentityType identity = aimsTcp.getIdentity();
			resource.setUserName(identity.getUserName());
			resource.setPassword(identity.getPassword());
			resource.setPasswordEncrypted(identity.isIsEncrypted());
		}
		
		applyDisplaySettings (resource, aimsTcp);
		
		return resource;
	}
	
	/* (non-Javadoc)
	 * @see com.esri.solutions.jitk.web.tasks.mapcomp.IBeanToADFConverter#createWMSMapResource(com.esri.solutions.jitk.personalization.data.beans.v1.WmsServiceType)
	 */
	public WMSMapResource createWMSMapResource (WmsServiceType wms) {
		WMSMapResource resource = null;
		
		resource = this.m_wmsMapResourceFactory.createResource();
		
		resource.setAlias(wms.getDisplayName());
		resource.setWmsURL(wms.getGetCapabilitiesUrl());
		
		applyDisplaySettings(resource, wms);
		
		return resource;
	}
	
	/* (non-Javadoc)
	 * @see com.esri.solutions.jitk.web.tasks.mapcomp.IBeanToADFConverter#createWCSMapResource(com.esri.solutions.jitk.personalization.data.beans.v1.WcsServiceType)
	 */
	public WCSMapResource createWCSMapResource (WcsServiceType wcs) {
		WCSMapResource resource = null;
		
		resource = this.m_wcsMapResourceFactory.createResource();
		
		resource.setAlias(wcs.getDisplayName());
		resource.setEndPointURL(wcs.getGetCapabilitiesUrl());
		resource.setCoverage(wcs.getCoverageName());
		
		applyDisplaySettings(resource, wcs);
		
		return resource;
	}
	
	/* (non-Javadoc)
	 * @see com.esri.solutions.jitk.web.tasks.mapcomp.IBeanToADFConverter#createWCSMapResource(com.esri.solutions.jitk.personalization.data.beans.v1.WfsServiceType)
	 */	
	public WFSMapResource createWFSMapResource(WfsServiceType wfs) {
		WFSMapResource resource = null;
		
		resource = this.m_wfsMapResourceFactory.createResource();
		
		resource.setAlias(wfs.getDisplayName());
		resource.setEndPointURL(wfs.getGetCapabilitiesUrl());
		
		applyDisplaySettings(resource, wfs);
		
		return resource;
	}
	
	/**
	 * Sets the reference to the GIS Resource Factory to create
	 * {@link AGSMapResource} objects.
	 * 
	 * @param factory		Reference to GIS Resource Factory.
	 */
	public void setAgsMapResourceFactory (IGISResourceFactory<AGSMapResource> factory) {
		m_agsMapResourceFactory = factory;
	}
	
	/**
	 * Sets the reference to the GIS Resource Factory to create
	 * {@link AGSLocalMapResource} objects.
	 * 
	 * @param factory		Reference to GIS Resource Factory.
	 */
	public void setAgsLocalMapResourceFactory (IGISResourceFactory<AGSLocalMapResource> factory) {
		m_agsLocalMapResourceFactory = factory;
	}
	
	/**
	 * Sets the reference to the GIS Resource Factory to create
	 * {@link AIMSMapResource} objects.
	 * 
	 * @param factory		Reference to GIS Resource Factory.
	 */
	public void setAimsMapResourceFactory (IGISResourceFactory<AIMSMapResource> factory) {
		m_aimsMapResourceFactory = factory;
	}
	
	/**
	 * Sets the reference to the GIS Resource Factory to create
	 * {@link WmsMapResource} objects.
	 * 
	 * @param factory		Reference to GIS Resource Factory.
	 */
	public void setWmsMapResourceFactory (IGISResourceFactory<WMSMapResource> factory) {
		m_wmsMapResourceFactory = factory;
	}
	
	/**
	 * Sets the reference to the GIS Resource Factory to create
	 * {@link WcsMapResource} objects.
	 * 
	 * @param factory		Reference to GIS Resource Factory.
	 */
	public void setWcsMapResourceFactory (IGISResourceFactory<WCSMapResource> factory) {
		m_wcsMapResourceFactory = factory;
	}
	
	/**
	 * Sets the reference to the GIS Resource Factory to create
	 * {@link WfsMapResource} objects.
	 * 
	 * @param factory		Reference to GIS Resource Factory.
	 */
	public void setWfsMapResourceFactory (IGISResourceFactory<WFSMapResource> factory) {
		m_wfsMapResourceFactory = factory;
	}	
	
	/**
	 * Applies the Display Settings within a GIS Resource.
	 * The Display Settings includes brightness, contrast, tint, 
	 * and transparency.  The desired Display Settings are stored
	 * within the MapServiceType bean.
	 * 
	 * @param resource		GIS Resource on which to apply Display Settings
	 * @param service		Contains the desired Display Settings.		
	 */
	protected void applyDisplaySettings (GISResource resource, MapServiceType service) {
		if (resource.getFunctionality(MapFunctionality.FUNCTIONALITY_NAME) == null) {
			return;
		}
		if (!(resource.getFunctionality(MapFunctionality.FUNCTIONALITY_NAME) instanceof MapFunctionality)) {
			return;
		}
		MapFunctionality mFunc = (MapFunctionality) resource.getFunctionality(MapFunctionality.FUNCTIONALITY_NAME);
		
		mFunc.setTransparency(service.getTransparency());
		
		if (mFunc instanceof IBCTMapFunctionality) {
			IBCTMapFunctionality bctFunc = (IBCTMapFunctionality) mFunc;
			
			bctFunc.setBrightness((byte) service.getBrightness());
			bctFunc.setContrast((byte) service.getContrast());
			TintParameters tint = new TintParameters();
			tint.setBlueOffset((byte) service.getTintBlue());
			tint.setGreenOffset((byte) service.getTintGreen());
			tint.setRedOffset((byte) service.getTintRed());
			bctFunc.setTint(tint);
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -