wfsweblayerinfosbuilder.java

来自「esri的ArcGIS Server超级学习模板程序(for java)」· Java 代码 · 共 55 行

JAVA
55
字号
package com.esri.solutions.jitk.web.wfs.data;

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

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

import com.esri.adf.web.data.GISResource;
import com.esri.solutions.jitk.datasources.ogc.wfs.FeatureType;
import com.esri.solutions.jitk.datasources.ogc.wfs.FeatureTypeDescription;
import com.esri.solutions.jitk.datasources.ogc.wfs.WFSCapabilities;
import com.esri.solutions.jitk.datasources.ogc.wfs.WFSFeatureDescriptions;

public class WFSWebLayerInfosBuilder {
	private static final Logger _logger = LogManager.getLogger(WFSWebLayerInfosBuilder.class);
	
	public WFSWebLayerInfosBuilder() {
	}
	
	public List<WFSWebLayerInfo> buildWebLayerInfos(
			WFSCapabilities cap, 
			WFSFeatureDescriptions wfd, 
			GISResource resource) {
		List<WFSWebLayerInfo> layers = new ArrayList<WFSWebLayerInfo>();
		List<FeatureTypeDescription> ftl = cap.getFeatureTypes();
		int iLayerIdx = 0;
		
		for (FeatureTypeDescription fdt: ftl) {
			String layerName = fdt.getName();
			FeatureType ft = wfd.getFeatureTypes().get(layerName);
			
			if (layerName != null) {
				_logger.debug("Adding layer " + layerName + " to layer list");
			}
			else {
				_logger.warn("Received null Title for a feature type");
			}	
			
			WFSWebLayerInfo webLayerInfo = new WFSWebLayerInfo();
			webLayerInfo.setId(iLayerIdx);
			webLayerInfo.setName(fdt.getName());
			webLayerInfo.setResource(resource);
			webLayerInfo.setFeatureTypeDescription(fdt);
			webLayerInfo.setFeatureType(ft);
			
			layers.add(webLayerInfo);
			
			iLayerIdx++;
		}	
		
		return layers;
	}
}

⌨️ 快捷键说明

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