📄 defaultbeantoadfconverter.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 + -