📄 wmcwfsmapresourcewriter.java
字号:
/**
*
*/
package com.esri.solutions.jitk.data.wmc;
import java.util.Iterator;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import com.esri.solutions.jitk.datasources.ogc.wfs.FeatureTypeDescription;
import com.esri.solutions.jitk.web.wfs.data.WFSMapResource;
import com.esri.solutions.jitk.web.wfs.data.WFSWebLayerInfo;
import com.esri.solutions.jitk.web.wfs.data.query.WFSQueryFunctionality;
/**
* @author vlad2928
*
*/
public class WMCWFSMapResourceWriter extends WMCGISResourceWriter {
private static final Logger _logger = LogManager.getLogger(WMCWFSMapResourceWriter.class);
protected WMCWFSMapResourceWriter(WFSMapResource resource) {
super(resource);
}
/*
<Layer hidden="1" queryable="0">
<Server title="0057978" version="1.0.0" service="OGC:WFS">
<OnlineResource xlink:href="http://vladp2:8181/wfsconnector/com.esri.wfs.Esrimap/SearchMap_wfs?request=getcapabilities" xlink:type="simple"/>
</Server>
<Name/>
<Title>WorldCountries-0</Title>
<SRS>EPSG:4326</SRS>
<FormatList>
<Format current="1">image/png</Format>
</FormatList>
</Layer>
*/
private StringBuffer serverTagToWMC() {
StringBuffer buf = new StringBuffer();
if(resource != null) {
Tag serverTag = new Tag("Server", new String[][] {{"title", resource.getAlias()}, {"service", "OGC:WFS"}, {"version" , "1.1.0"}}, null, true);
buf.append(serverTag.open());
buf.append(attsTag("OnlineResource", new String[][] {{"xlink:href", ((WFSMapResource)resource).getEndPointURL()}, {"xlink:type" , "simple"}}));
buf.append(serverTag.close());
} else {
_logger.warn("WFSResource is null.");
}
return buf;
}
/* (non-Javadoc)
* @see com.esri.solutions.jitk.data.wmc.IWMCGISResourceWriter#write()
*/
public StringBuffer write() {
StringBuffer buf = new StringBuffer();
WFSQueryFunctionality qfunc = (WFSQueryFunctionality)resource.getFunctionality(WFSQueryFunctionality.FUNCTIONALITY_NAME);
StringBuffer serverTagBuffer = serverTagToWMC();
if(serverTagBuffer.length() > 0) {
for(Iterator<WFSWebLayerInfo> i = ((WFSMapResource)resource).getLayers().iterator(); i.hasNext();) {
WFSWebLayerInfo layer = i.next();
Tag layerTag = new Tag("Layer", new String[][] {{ "hidden", "0"}, {"queryable", (qfunc != null && qfunc.getQueryLayers().contains(layer)) ? "1" : "0"}}, null, true);
buf.append(layerTag.open());
buf.append(serverTagBuffer);
FeatureTypeDescription desc = layer.getFeatureTypeDescription();
buf.append(valueTag("Name", desc.getName()));
buf.append(valueTag("Title", desc.getTitle()));
buf.append(valueTag("SRS", "EPSG:" + desc.getDefaultSrs().getCode()));
buf.append(layerTag.close());
}
}
return buf;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -