📄 defaultadftobeanconverter.java
字号:
/*
* (non-Javadoc)
* @see com.esri.solutions.jitk.web.tasks.mapcomp.IADFToBeanConverter#createLayerFieldListType(com.esri.arcgisws.MapLayerInfo)
*/
@SuppressWarnings("unchecked")
public LayerFieldListType createLayerFieldListType (MapLayerInfo info) {
if (info == null) {
throw new NullPointerException ();
}
LayerFieldListType fieldList = null;
try {
fieldList = m_factory.createLayerFieldListType();
if (info.getFields() != null) {
Field[] fields = info.getFields().getFieldArray();
for (int i = 0; i < fields.length; i++) {
fieldList.getLayerField().add(createLayerFieldType(fields[i]));
}
}
return fieldList;
} catch (JAXBException e) {
LOG.warn("", e);
}
return null;
}
/*
* (non-Javadoc)
* @see com.esri.solutions.jitk.web.tasks.mapcomp.IADFToBeanConverter#createLayerFieldType(com.esri.arcgisws.Field)
*/
public LayerFieldType createLayerFieldType (Field field) {
LayerFieldType layerField = null;
try {
layerField = m_factory.createLayerFieldType();
layerField.setDisplayName(field.getName());
// TODO: Determine how to tell if Field is a hotlink field.
layerField.setIsHotlink(false);
return layerField;
} catch (JAXBException e) {
LOG.warn("", e);
}
return null;
}
/*
* (non-Javadoc)
* @see com.esri.solutions.jitk.web.tasks.mapcomp.IADFToBeanConverter#createAgsLocalServiceType(com.esri.adf.web.ags.data.AGSLocalMapResource)
*/
@SuppressWarnings("unchecked")
public AgsLocalServiceType createAgsLocalServiceType (AGSLocalMapResource res) {
AgsLocalServiceType svc = null;
try {
svc = m_factory.createAgsLocalService();
svc.setDisplayName(res.getAlias());
HostList hostList = m_factory.createHostList();
hostList.getHost().addAll(res.getHosts());
svc.setHostList(hostList);
svc.setIdentity(createIdentityType(res.getUser()));
svc.setServiceName(res.getServerObjectName());
AGSMapFunctionality func = (AGSMapFunctionality)res.getFunctionality("map");
double trans = func.getTransparency();
if (trans < 1.0) {
svc.setIsTransparentBackground(true);
} else {
svc.setIsTransparentBackground(false);
}
updateDisplaySettings(res, svc);
MapLayerInfo[] layerInfos = func.getLayerInfos();
LayerListType layerList = createLayerListType(layerInfos);
svc.setLayers(layerList);
return svc;
} catch (JAXBException e) {
LOG.warn("", e);
}
return null;
}
/*
* (non-Javadoc)
* @see com.esri.solutions.jitk.web.tasks.mapcomp.IADFToBeanConverter#createLayerListType(com.esri.arcgisws.MapLayerInfo[])
*/
@SuppressWarnings("unchecked")
public LayerListType createLayerListType(MapLayerInfo[] layerInfos) {
try {
LayerListType layerList = m_factory.createLayerListType();
for (int i = 0; i < layerInfos.length; i++) {
if (!layerInfos[i].isIsComposite()) {
ServiceLayerType serviceLayer = createServiceLayerType(layerInfos[i]);
if (serviceLayer != null) {
try {
LayerItemType li = m_factory.createLayerListTypeLayerItemType();
li.setServiceLayer(serviceLayer);
layerList.getLayerItem().add(li);
} catch (JAXBException e) {
LOG.warn("", e);
}
}
}
}
return layerList;
} catch (JAXBException e) {
LOG.warn("", e);
}
return null;
}
/*
* (non-Javadoc)
* @see com.esri.solutions.jitk.web.tasks.mapcomp.IADFToBeanConverter#createArcImsInternetServiceType(com.esri.adf.web.aims.data.AIMSMapResource)
*/
public ArcImsInternetServiceType createArcImsInternetServiceType (AIMSMapResource res) {
ArcImsInternetServiceType svc = null;
try {
svc = m_factory.createArcImsInternetService();
svc.setDisplayName(res.getAlias());
svc.setUrl(res.getHostName());
svc.setServiceName(res.getServiceName());
AIMSMapFunctionality func = (AIMSMapFunctionality)res.getFunctionality("map");
double trans = func.getTransparency();
if (trans < 1.0) {
svc.setIsTransparentBackground(true);
} else {
svc.setIsTransparentBackground(false);
}
svc.setIdentity(createIdentityType(res.getUserName(), res.getPassword(), res.isPasswordEncrypted()));
updateDisplaySettings(res, svc);
LayerListType layerList = createLayerListType (func.getMap().getLayers());
svc.setLayers(layerList);
return svc;
} catch (JAXBException e) {
LOG.warn("", e);
}
return null;
}
/*
* (non-Javadoc)
* @see com.esri.solutions.jitk.web.tasks.mapcomp.IADFToBeanConverter#createLayerListType(com.esri.aims.mtier.model.map.Layers)
*/
@SuppressWarnings("unchecked")
public LayerListType createLayerListType(Layers layers) {
if (layers == null) {
throw new NullPointerException ();
}
try {
LayerListType layerList = m_factory.createLayerListType();
for (Object o : layers.getLayersCollection()) {
Layer layer = (Layer) o;
ServiceLayerType serviceLayer = null;
serviceLayer = createServiceLayerType(layer);
if (serviceLayer != null) {
LayerItemType li;
try {
li = m_factory.createLayerListTypeLayerItemType();
li.setServiceLayer(serviceLayer);
layerList.getLayerItem().add(li);
} catch (JAXBException e) {
LOG.warn("", e);
}
}
}
return layerList;
} catch (JAXBException e) {
LOG.warn("", e);
}
return null;
}
/*
* (non-Javadoc)
* @see com.esri.solutions.jitk.web.tasks.mapcomp.IADFToBeanConverter#createServiceLayerType(com.esri.aims.mtier.model.map.layer.Layer)
*/
public ServiceLayerType createServiceLayerType(Layer layer) {
ServiceLayer serviceLayer = null;
try {
serviceLayer = m_factory.createServiceLayer();
serviceLayer.setId(layer.getID());
serviceLayer.setName(layer.getName());
// TODO: Add support for retrieving Fields from ArcIMS
// Issue: ArcIMS JConnect library does not provide easy
// way to retrieve fields for FeatureLayer. Need to do
// a ServiceInfo request.
serviceLayer.setFields(m_factory.createLayerFieldListType());
return serviceLayer;
} catch (JAXBException e) {
LOG.warn("", e);
}
return null;
}
/*
* (non-Javadoc)
* @see com.esri.solutions.jitk.web.tasks.mapcomp.IADFToBeanConverter#createIdentityType(java.lang.String, java.lang.String, boolean)
*/
public IdentityType createIdentityType(String userName, String password,
boolean passwordEncrypted) {
IdentityType id = null;
Cryptographer crypto = new Cryptographer();
try {
if (userName != null && password != null) {
id = m_factory.createIdentityType();
id.setUserName(userName);
if (passwordEncrypted) {
id.setPassword(password);
id.setIsEncrypted(true);
} else {
id.setPassword(crypto.encrypt(password));
id.setIsEncrypted(true);
}
return id;
}
} catch (SecurityException e) {
LOG.warn("", e);
} catch (JAXBException e) {
LOG.warn("", e);
}
return null;
}
/*
* (non-Javadoc)
* @see com.esri.solutions.jitk.web.tasks.mapcomp.IADFToBeanConverter#createArcWebServiceType(com.esri.adf.web.aws.data.AWSMapResource)
*/
public ArcWebServiceType createArcWebServiceType (AWSMapResource res) {
ArcWebServiceType svc = null;
try {
svc = m_factory.createArcWebService();
svc.setAuthenticationEndPointUrl(res.getAuthenticationEndPointURL());
svc.setDisplayName(res.getAlias());
svc.setIdentity(createIdentityType(res.getUserName(), res.getPassword(), res.isPasswordEncrypted()));
svc.setMapImageEndPointUrl(res.getMapImageEndPointURL());
AWSMapFunctionality func = (AWSMapFunctionality)res.getFunctionality("map");
double trans = func.getTransparency();
if (trans < 1.0) {
svc.setIsTransparentBackground(true);
} else {
svc.setIsTransparentBackground(false);
}
svc.setTransparency(trans);
// TODO: Add support for ArcWeb Fields, if possible.
return svc;
} catch (JAXBException e) {
LOG.warn("", e);
}
return null;
}
/*
* (non-Javadoc)
* @see com.esri.solutions.jitk.web.tasks.mapcomp.IADFToBeanConverter#createWmsServiceType(com.esri.adf.web.wms.data.WMSMapResource)
*/
public WmsServiceType createWmsServiceType (WMSMapResource res) {
WmsServiceType svc = null;
try {
svc = m_factory.createWmsService();
svc.setDisplayName(res.getAlias());
svc.setGetCapabilitiesUrl(res.getWmsURL());
boolean isTransparent = false;
if (res.getWmsMap().isTransparent() == null) {
isTransparent = false;
} else {
isTransparent = res.getWmsMap().isTransparent().booleanValue();
}
svc.setIsTransparentBackground(isTransparent);
svc.setIdentity(null);
updateDisplaySettings(res, svc);
LayerListType layerList = createLayerListType(res.getWmsMap().getAllLayers());
svc.setLayers(layerList);
return svc;
} catch (JAXBException e) {
LOG.warn("", e);
}
return null;
}
/*
* (non-Javadoc)
* @see com.esri.solutions.jitk.web.tasks.mapcomp.IADFToBeanConverter#createLayerListType(java.util.List)
*/
@SuppressWarnings("unchecked")
public LayerListType createLayerListType(
List<com.esri.wms.client.Layer> allLayers) {
LayerListType layerList = null;
try {
layerList = m_factory.createLayerListType();
for (com.esri.wms.client.Layer layer : allLayers) {
ServiceLayerType serviceLayer = null;
serviceLayer = createServiceLayerType(layer);
if (serviceLayer != null) {
try {
LayerItemType li = m_factory.createLayerListTypeLayerItemType();
li.setServiceLayer(serviceLayer);
layerList.getLayerItem().add(li);
} catch (JAXBException e) {
LOG.warn("", e);
}
}
}
return layerList;
} catch (JAXBException e) {
LOG.warn("", e);
}
return null;
}
/*
* (non-Javadoc)
* @see com.esri.solutions.jitk.web.tasks.mapcomp.IADFToBeanConverter#createServiceLayerType(com.esri.aims.mtier.model.map.layer.Layer)
*/
public ServiceLayerType createServiceLayerType(
com.esri.wms.client.Layer layer) {
ServiceLayer serviceLayer = null;
try {
serviceLayer = m_factory.createServiceLayer();
serviceLayer.setId(layer.getName());
serviceLayer.setName(layer.getName());
return serviceLayer;
} catch (JAXBException e) {
LOG.warn("", e);
}
return null;
}
/*
* (non-Javadoc)
* @see com.esri.solutions.jitk.web.tasks.mapcomp.IADFToBeanConverter#createIdentityType(com.esri.adf.web.ags.data.AGSUser)
*/
public IdentityType createIdentityType (AGSUser user) {
IdentityType id = null;
Cryptographer crypto = new Cryptographer();
try {
id = m_factory.createIdentityType();
id.setDomain(user.getDomain());
id.setUserName(user.getUserName());
if (user.isPasswordEncrypted()) {
id.setPassword(user.getPassword());
id.setIsEncrypted(true);
} else {
id.setIsEncrypted(true);
id.setPassword(crypto.encrypt(user.getPassword()));
}
return id;
} catch (SecurityException e) {
LOG.warn("", e);
} catch (JAXBException e) {
LOG.warn("", e);
}
return null;
}
/*
* (non-Javadoc)
* @see com.esri.solutions.jitk.web.tasks.mapcomp.IADFToBeanConverter#clearMessages()
*/
public void clearMessages() {
}
/*
* (non-Javadoc)
* @see com.esri.solutions.jitk.web.tasks.mapcomp.IADFToBeanConverter#getMessages()
*/
public List<String> getMessages() {
return new ArrayList<String>();
}
/**
* Sets the reference to the Personalization Context object that is
* to be used to access Personalization data and operations.
*
* @param ctx Reference to Personalization Context.
*/
public void setPersonalizationContext(IPersonalizationContext ctx) {
m_persCtx = ctx;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -