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

📄 wsddbuilder.java

📁 根据java文件
💻 JAVA
字号:
/**
 * Copyright (c) 2000-2007 bkgd, Inc. All rights reserved.
 */

package com.bkgd.platform.system.tools;

import com.bkgd.platform.system.kernel.util.GetterUtil;
import com.bkgd.platform.system.kernel.util.StringUtil;
import com.bkgd.platform.system.util.SAXReaderFactory;
import com.bkgd.platform.system.util.FileUtil;
import com.bkgd.platform.system.util.ant.Java2WsddTask;

import java.io.File;
import java.io.IOException;

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

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

/**
 * <a href="WSDDBuilder.java.html"><b><i>View Source</i></b></a>
 *
 * @author Joey zhang
 *
 */
public class WSDDBuilder {

	public static void main(String[] args) {
		if (args.length == 2) {
			new WSDDBuilder(args[0], args[1]);
		}
		else {
			throw new IllegalArgumentException();
		}
	}

	/**
	 * 根据service.xml生成wsdd
	 * @param fileName              
	 * @param serverConfigFileName  server-config.wsdd
	 */
	public WSDDBuilder(String fileName, String serverConfigFileName) {
		try {
			_serverConfigFileName = serverConfigFileName;

			SAXReader reader = SAXReaderFactory.getInstance();

			Document doc = reader.read(new File(fileName));

			Element root = doc.getRootElement();

			String packagePath = root.attributeValue("package-path");

			Element portlet = root.element("portlet");
			Element namespace = root.element("namespace");

			if (portlet != null) {
				_portletShortName = portlet.attributeValue("short-name");
			}
			else {
				_portletShortName = namespace.getText();
			}

			_outputPath =
				"src/" + StringUtil.replace(packagePath, ".", "/") +
					"/service/http";

			_packagePath = packagePath;

			List entities = root.elements("entity");

			Iterator itr = entities.iterator();

			while (itr.hasNext()) {
				Element entity = (Element)itr.next();

				String entityName = entity.attributeValue("name");

				boolean remoteService = GetterUtil.getBoolean(
					entity.attributeValue("remote-service"), true);

				if (remoteService) {
					_createServiceWSDD(entityName);

					WSDDMerger.merge(
						_outputPath + "/" + entityName + "Service_deploy.wsdd",
						_serverConfigFileName);
				}
			}
		}
		catch (Exception e) {
			e.printStackTrace();
		}
	}

	private void _createServiceWSDD(String entityName) throws IOException {
		String className =
			_packagePath + ".service.http." + entityName + "ServiceSoap";

		String serviceName = StringUtil.replace(_portletShortName, " ", "_");

//		if (!_portletShortName.equals("Portal")) {
//			serviceName = "Portlet_" + serviceName;
//		}

		serviceName += ("_" + entityName + "Service");

		String[] wsdds = Java2WsddTask.generateWsdd(className, serviceName);

		FileUtil.write(
			new File(_outputPath + "/" + entityName + "Service_deploy.wsdd"),
			wsdds[0], true);

		FileUtil.write(
			new File(_outputPath + "/" + entityName + "Service_undeploy.wsdd"),
			wsdds[1], true);
	}

	private String _serverConfigFileName;
	private String _portletShortName;
	private String _outputPath;
	private String _packagePath;

}

⌨️ 快捷键说明

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