📄 adddatatask.java
字号:
this.getContext().addResource("aimsJITK" + UUID.randomUUID().toString(), aimsResource);
if (getBackgroundTransparent().equals("true")) {
AIMSMapFunctionality mapFunc = (AIMSMapFunctionality) aimsResource.getFunctionalities().get("map");
mapFunc.getMap().setTransColor(mapFunc.getMap().getBackground());
}
} catch (Exception e) {
_logger.warn(TextResources.getResourceString(ResourceProps.ERROR_MESSAGE) + " ArcIMS service " + svc + ".", e);
this.renderMessage(TextResources.getResourceString(ResourceProps.ERROR_MESSAGE) + " ArcIMS service " + svc + ".");
}
}
private void addWMSResource(String svc) {
//resource = resourceAdder.addWMSSource(svc, this.isTransparent(), this.isProjectToNewService(), this.isZoomToNewService());
String[] wmsInfo = svc.split("\\*");
WMSMapResource wmsResource = (WMSMapResource) m_wmsMapResourceFactory.createResource();
wmsResource.setWmsURL(wmsInfo[0]);
try {
this.getContext().addResource("wmsJITK" + UUID.randomUUID().toString(), wmsResource);
wmsResource.setAlias(wmsResource.getWmsServerConnection().getServerTitle());
/*if (getBackgroundTransparent().equals("true")) {
wmsResource.getWmsMap().setTransparent(true);
}*/
} catch (Exception e) {
_logger.warn(TextResources.getResourceString(ResourceProps.ERROR_MESSAGE) + " WMS service " + wmsInfo[0] + ".", e);
this.renderMessage(TextResources.getResourceString(ResourceProps.ERROR_MESSAGE) + " WMS service " + wmsInfo[0] + ".");
}
}
private void addWFSResource(String svc) {
String[] serviceInfo = svc.split("\\*");
String url = serviceInfo[0];
String serviceName = serviceInfo[1];
WFSMapResource wfsResource = (WFSMapResource) m_wfsMapResourceFactory.createResource();
wfsResource.setEndPointURL(url);
wfsResource.setAlias(serviceName);
String id = "wfsJITK" + UUID.randomUUID().toString();
try {
this.getContext().addResource(id, wfsResource);
} catch (Exception e) {
_logger.warn(TextResources.getResourceString(ResourceProps.ERROR_MESSAGE) + " WFS service " + url + ".", e);
this.renderMessage(TextResources.getResourceString(ResourceProps.ERROR_MESSAGE) + " WFS service " + url + ".");
}
}
private void addWCSResource(String svc) {
String[] wcsArray = svc.split("\\*");
URLBuilder wcsURL = null;
String coverageName = null;
if (wcsArray.length > 1) {
wcsURL = new URLBuilder(wcsArray[0]);
} else {
wcsURL = new URLBuilder(svc);
}
try {
coverageName = wcsURL.getParam("coverage");
wcsURL.removeParam("coverage");
WCSMapResource wcsResource = (WCSMapResource) this.m_wcsMapResourceFactory.createResource();
wcsResource.setWCSCapabilities(getWcsCapabilities(wcsURL.toString()));
//wcsResource.setEndPointURL(wcsURL.toString());
wcsResource.setCoverage(coverageName);
this.getContext().addResource("wcsJITK" + UUID.randomUUID().toString(), wcsResource);
} catch (Exception e) {
_logger.warn(TextResources.getResourceString(ResourceProps.ERROR_MESSAGE) + " WCS service " + wcsURL.toString() + ".", e);
this.renderMessage(TextResources.getResourceString(ResourceProps.ERROR_MESSAGE) + " WCS service. " + e.getMessage());
}
}
private void addArcGISServerLocalResource(String svc, String[] paramArray) {
String host = "";
String domain = "";
String user = "";
String pswd = "";
String encstr = "";
for (int j = 0; j < paramArray.length; j++) {
String[] param = splitParams(paramArray[j]);
if (param[0].equalsIgnoreCase("host")) {
host = param[1];
}
if (param[0].equalsIgnoreCase("domain")) {
domain = param[1];
}
if (param[0].equalsIgnoreCase("user")) {
user = param[1];
}
if (param[0].equalsIgnoreCase("pswd")) {
pswd = param[1];
}
if (param[0].equalsIgnoreCase("encrypted")) {
encstr = param[1];
}
}
boolean passwordEncrypted = encstr.trim().equalsIgnoreCase("true") ? true : false;
AGSLocalMapResource agsLocalResource = (AGSLocalMapResource) this.m_agsLocalMapResourceFactory.createResource();
agsLocalResource.setAlias(svc);
agsLocalResource.setHosts(Collections.singletonList(host));
AGSUser agsUser = new AGSUser();
agsUser.setDomain(domain);
agsUser.setUserName(user);
agsUser.setPassword(pswd);
agsUser.setPasswordEncrypted(passwordEncrypted);
agsLocalResource.setUser(agsUser);
agsLocalResource.setServerObjectName(svc);
try {
this.getContext().addResource("agsLocalJITK" + UUID.randomUUID().toString(), agsLocalResource);
if (getBackgroundTransparent().equals("true")) {
AGSMapFunctionality mapFunc = (AGSMapFunctionality) agsLocalResource.getFunctionality("map");
mapFunc.getMapDescription().setTransparentColor(mapFunc.getMapServerInfo().getBackgroundColor());
}
} catch (Exception e) {
_logger.warn(this.addServiceErrorMessage = TextResources.getResourceString(ResourceProps.ERROR_MESSAGE) + " ArcGIS server object " + svc + ".", e);
this.renderMessage(TextResources.getResourceString(ResourceProps.ERROR_MESSAGE) + " ArcGIS server object " + svc + ".");
}
}
private void addArcGISServerInternetResource(String svc) {
int pos = svc.indexOf("*");
String surl = svc.substring(pos + 1, svc.length());
String svcName = svc.substring(0, pos);
AGSMapResource agsResource = (AGSMapResource) m_agsMapResourceFactory.createResource();
agsResource.setEndPointURL(surl);
agsResource.setAlias(svcName);
try {
this.getContext().addResource("agsWebJITK" + UUID.randomUUID().toString(), agsResource);
if (getBackgroundTransparent().equals("true")) {
AGSMapFunctionality mapFunc = (AGSMapFunctionality) agsResource.getFunctionality("map");
//mapFunc.getMapDescription().setTransparentColor(mapFunc.getMapServerInfo().getBackgroundColor());
RgbColor color = new RgbColor();
color.setRed(new UnsignedByte(255));
color.setGreen(new UnsignedByte(255));
color.setBlue(new UnsignedByte(255));
mapFunc.getMapDescription().setTransparentColor(color);
}
} catch (Exception e) {
_logger.warn(TextResources.getResourceString(ResourceProps.ERROR_MESSAGE) + " ArcGIS Web Service " + surl + ".", e);
this.addServiceErrorMessage = TextResources.getResourceString(ResourceProps.ERROR_MESSAGE) + " ArcGIS Web Service " + surl + ".";
this.renderMessage(TextResources.getResourceString(ResourceProps.ERROR_MESSAGE) + " ArcGIS Web Service " + surl + ".");
}
}
/**
* Finish adding data.
*/
public void finishAddData(TaskEvent event) {
_logger.info("Adding selected services to the map");
super.requestTaskRender();
try {
String[] svcList = getSelectedServices().split("!");
this.errorMessage = ResourceProps.SUCCESS_MESSAGE;
this.addServiceErrorMessage = ResourceProps.SUCCESS_MESSAGE;
for (int i = 0; i < svcList.length; i++) {
String[] svcInfo = svcList[i].split("#");
if (svcInfo.length > 2) {
String hostInfo = svcInfo[0];
String svc = svcInfo[1];
// ArcIMS Service
if (hostInfo.indexOf("-ArcIMS") > 0) {
addArcIMSResource(svc, parseHostInfoParams(hostInfo));
}
// WMS Service
if (hostInfo.indexOf("OGC (WMS) Service") >= 0) {
addWMSResource(svc);
}
// WFS Service
if (hostInfo.indexOf("OGC (WFS) Service") >= 0) {
addWFSResource(svc);
}
// WCS Service
if (hostInfo.indexOf("-OGC (WCS) Service") > 0) {
addWCSResource(svc);
}
// ArcGIS Server Local
if (hostInfo.indexOf("-ArcGIS Server Local") > 0) {
addArcGISServerLocalResource(svc, parseHostInfoParams(hostInfo));
}
// ArcGIS Server Internet
if (hostInfo.indexOf("-ArcGIS Server Internet") > 0) {
addArcGISServerInternetResource(svc);
}
}
}
//reset extent history
ExtentHistoryResetter.resetHistory(this.getContext());
} catch (Exception e) {
_logger.warn("Unable to create service list.", e);
}
restoreAvailableServices();
this.getContext().refresh();
}
public void previewMapService(TaskEvent event) {
_logger.info("Previewing map service");
super.requestTaskRender();
this.errorMessage = ResourceProps.SUCCESS_MESSAGE;
}
public void addGISServer(TaskEvent event) {
_logger.info("Adding GIS Server");
super.requestTaskRender();
this.errorMessage = ResourceProps.SUCCESS_MESSAGE;
}
public void removeGISServer(TaskEvent event) {
_logger.info("Removing GIS Server");
super.requestTaskRender();
this.errorMessage = ResourceProps.SUCCESS_MESSAGE;
this.addServiceErrorMessage = null;
String svcs = getAvailableServices();
String[] svcList = svcs.split("!");
this.availableServiceList = new LinkedHashMap<String, String>();
for (int i = svcList.length - 1; i >= 0; i--) {
String[] svcInfo = svcList[i].split("#");
String host = svcInfo[0];
String svc = svcInfo[1];
String svcListStr = this.availableServiceList.get(host);
if (svcListStr == null) {
svcListStr = svc + "!";
} else {
svcListStr += (svc + "!");
}
this.availableServiceList.put(host, svcListStr);
}
}
/**
* Set service renderer layout.
*/
public void selectServices(TaskEvent event) {
_logger.info("Setting service renderer layout");
super.requestTaskRender();
this.errorMessage = ResourceProps.SUCCESS_MESSAGE;
((AddDataTaskInfo) this.taskInfo).selectServiceRendererLayout();
}
/**
* Set preview renderer layout.
*/
public void previewService(TaskEvent event) {
_logger.info("Setting service service renderer layout");
super.requestTaskRender();
this.errorMessage = ResourceProps.SUCCESS_MESSAGE;
((AddDataTaskInfo) this.taskInfo).selectPreviewRendererLayout();
}
private void getResourcesFromSession() {
FacesContext fContext = FacesContext.getCurrentInstance();
ExternalContext efContext = fContext.getExternalContext();
String resources = (String) efContext.getSessionMap().get("com.esri.solutions.jitk.web.data.URLResourceHandler.resources");
if ((resources != null) && (resources.length() > 0)) {
String[] resourceArray = resources.split(",");
for (int i = 0; i < resourceArray.length; i++) {
ResourceObject resource = new ResourceObject(resourceArray[i]);
if ((resource.getResourceType() != null) && resource.getResourceType().equals("wcs")) {
getWCSServiceList(resource.getLocation());
}
}
}
}
public Map<String, String> getAvailableServicesList() {
getResourcesFromSession();
return sort(this.availableServiceList);
}
public Map<String, String> getSelectedServicesList() {
return this.selectedServiceList;
}
public void setGisResourceFactories(
Map<String, IGISResourceFactory<GISResource>> factories) {
m_factories = factories;
this.m_agsMapResourceFactory = m_factories.get(AGSMapResource.class.getName());
this.m_agsLocalMapResourceFactory = m_factories.get(AGSLocalMapResource.class.getName());
this.m_aimsMapResourceFactory = m_factories.get(AIMSMapResource.class.getName());
this.m_wmsMapResourceFactory = m_factories.get(WMSMapResource.class.getName());
this.m_wcsMapResourceFactory = m_factories.get(WCSMapResource.class.getName());
this.m_wfsMapResourceFactory = m_factories.get(WFSMapResource.class.getName());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -