📄 wsddbuilder.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 + -