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

📄 weblayerinfoutil.java

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

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

import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;

import com.esri.adf.web.aims.data.AIMSMapResource;
import com.esri.adf.web.data.GISResource;
import com.esri.adf.web.data.WebLayerInfo;
import com.esri.solutions.jitk.common.agslocal.AgsLocalContextCreator;

@SuppressWarnings("unchecked")
public class WebLayerInfoUtil {
	private static final Logger logger = LogManager.getLogger(AgsLocalContextCreator.class);
	
	public static List<WebLayerInfo> getWebLayerInfoList(List<WebLayerInfo> layerList, GISResource gisResource, String webLayerName){
		List<WebLayerInfo> list = null;
		WebLayerInfo webLayerInfo = null;
		
		if (layerList != null && layerList.size() > 0) {
			if (gisResource instanceof AIMSMapResource) {
				webLayerInfo = WebLayerInfoUtil.getWebLayerInfo(layerList, gisResource, webLayerName);
			}
			else {
				int iLayerId = -1;
				
				try {
					iLayerId = Integer.parseInt(webLayerName);
				}
				catch (Exception ex) {
					logger.error("Could not convert layer name to layer index", ex);
				}
				
				if (iLayerId > -1) {
					webLayerInfo = WebLayerInfoUtil.getWebLayerInfo(layerList, gisResource, iLayerId);
				}
			}
			
			if (webLayerInfo != null) {
				list = new ArrayList<WebLayerInfo>(1);
				list.add(webLayerInfo);
			}
			else {
				logger.warn("WebLayerInfo not found");
			}
		}
		else {
			logger.warn("Empty or null WebLayerInfo list encountered, ignoring");
		}
		
		return list;
	}
	
	public static WebLayerInfo getWebLayerInfo(List<WebLayerInfo> layerList, GISResource gisResource, String webLayerName){
		WebLayerInfo webLayerInfo = null;
		
		if (layerList != null && layerList.size() > 0) {
			int index = 0;
			
			for(Iterator iter = layerList.iterator(); iter.hasNext();index++) {
				WebLayerInfo layer = (WebLayerInfo)iter.next();	
				
				if(layer.getName().equalsIgnoreCase(webLayerName)) {
					webLayerInfo = layer;
					break;
				}
			}
		}
		else {
			logger.warn("Empty or null WebLayerInfo list encountered, ignoring");
		}
		
		return webLayerInfo;
	}	
	
	public static WebLayerInfo getWebLayerInfo(List layerList, GISResource resource, int layerId) {
		WebLayerInfo wli = null;
	  
		if (resource == null || layerList == null || layerList.isEmpty()) {
			logger.warn("Empty or null WebLayerInfo list or resource encountered, ignoring");
		}
		else {
			Object obj = null;
		  
			for (Iterator iter = layerList.iterator(); iter.hasNext(); ) {
				obj = iter.next();
	
				if (obj instanceof WebLayerInfo){
					WebLayerInfo twli = (WebLayerInfo)obj;

					// If no match, return null, not the last WebLayerInfo 
					if (layerId == twli.getId() && resource == twli.getResource()) {
						wli = twli;
						break;
					}
				}				  
			}
		}
		
		return wli;
	}
}

⌨️ 快捷键说明

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