1
19
20 package com.liferay.portal.tools;
21
22 import com.liferay.portal.kernel.xml.Document;
23 import com.liferay.portal.kernel.xml.Element;
24 import com.liferay.portal.kernel.xml.SAXReaderUtil;
25 import com.liferay.portal.util.InitUtil;
26 import com.liferay.util.ant.Wsdl2JavaTask;
27
28 import java.io.File;
29
30 import java.util.Iterator;
31
32
38 public class PortalClientBuilder {
39
40 public static void main(String[] args) {
41 InitUtil.initWithSpring();
42
43 if (args.length == 4) {
44 new PortalClientBuilder(args[0], args[1], args[2], args[3]);
45 }
46 else {
47 throw new IllegalArgumentException();
48 }
49 }
50
51 public PortalClientBuilder(
52 String fileName, String outputDir, String mappingFile, String url) {
53
54 try {
55 Document doc = SAXReaderUtil.read(new File(fileName));
56
57 Element root = doc.getRootElement();
58
59 Iterator<Element> itr = root.elements("service").iterator();
60
61 while (itr.hasNext()) {
62 Element service = itr.next();
63
64 String name = service.attributeValue("name");
65
66 if (name.startsWith("Portal_") || name.startsWith("Portlet_")) {
67 Wsdl2JavaTask.generateJava(
68 url + "/" + name + "?wsdl", outputDir, mappingFile);
69 }
70 }
71 }
72 catch (Exception e) {
73 e.printStackTrace();
74 }
75
76 File testNamespace = new File(outputDir + "/com/liferay/portal");
77
78 if (testNamespace.exists()) {
79 throw new RuntimeException(
80 "Please update " + mappingFile + " to namespace " +
81 "com.liferay.portal to com.liferay.client.soap.portal");
82 }
83 }
84
85 }