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

📄 addservices.java

📁 联合国农粮署牵头开发的geonetwork源代码最新版
💻 JAVA
字号:
package org.wfp.vam.intermap.services.map;import java.util.List;import jeeves.interfaces.Service;import jeeves.server.ServiceConfig;import jeeves.server.context.ServiceContext;import org.fao.geonet.csw.common.util.Xml;import org.jdom.Element;import org.wfp.vam.intermap.Constants;import org.wfp.vam.intermap.kernel.map.MapMerger;//=============================================================================/** main.result service. shows search results  */public class AddServices implements Service{	public void init(String appPath, ServiceConfig config) throws Exception {}	//--------------------------------------------------------------------------	//---	//--- Service	//---	//--------------------------------------------------------------------------	public Element exec(Element params, ServiceContext context) throws Exception	{		// get some request parameters		String serverUrl = params.getChildText(Constants.MAP_SERVER_URL);		int serverType = Integer.parseInt(params.getChildText(Constants.MAP_SERVER_TYPE));		List<Element> lServices = params.getChildren(Constants.MAP_SERVICE);		// if no services are specified then forward to GetServices		if (lServices.size() == 0)		{			Element response = new Element("response");			response.addContent(new Element("status").setAttribute("services", "false"));			response.addContent(new Element("mapserver").setText("-" + serverType + ""));			response.addContent(new Element("url").setText(serverUrl));			return response;		}//		else//			response.addContent(new Element("status").setAttribute("services", "true"));		// Get the other request parameters		String vsp = params.getChildText("vendor_spec_par"); // vendor specific parameters		String bbox = params.getChildText("BBOX");		MapMerger mm = MapUtil.getMapMerger(context);		Element added = new Element("added");		if (lServices.size() > 0)		{			// Get the MapMerger object from the user session			// Set a flag to indicate that no services were in the MapMerger			boolean mmWasEmpty = mm.size() == 0;			// Create the Service objects and attach them to the MapMerge object			for (Element eService : lServices)			{				String serviceName = eService.getText();				int servid = MapUtil.addService(serverType, serverUrl, serviceName, vsp, mm);				if ( servid != -1 )				{					//System.err.println("ADDING SERVICE " + serviceName + " @ " + servid);					added.addContent(new Element("newLayer")										 .setAttribute("name", serviceName)										 .setAttribute("id", ""+servid)									);				}			}			// Set the bounding box as specified in the URL			if (bbox != null)			{				MapUtil.setBBoxFromUrl(bbox, mm);			}			// Calculate the starting BoundingBox if flag is set			else if (mmWasEmpty)			{				MapUtil.setDefBoundingBox(mm);			}			// Update the user session			context.getUserSession().setProperty(Constants.SESSION_MAP, mm);		}		// Set image size if not set		String size = (String)context.getUserSession().getProperty(Constants.SESSION_SIZE);		if (size == null) {//			System.out.println("defaultImageSize = " + MapUtil.getDefaultImageSize()); // DEBUG			context.getUserSession().setProperty(Constants.SESSION_SIZE, MapUtil.getDefaultImageSize());		}				//System.err.println(" --ADDED --> " + Xml.getString(added));		return mm.toElementSimple().addContent(added);	}}//=============================================================================

⌨️ 快捷键说明

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