summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2009-07-13 05:30:33 +0000
committerrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2009-07-13 05:30:33 +0000
commitfbb82e6af067ae82b6ac9ac99567b4d641e557e2 (patch)
tree783cdadbb4ed8445d6f3c2959260457313f4455e
parent0972a2480e2ec5997599645ca99c7621464c07ce (diff)
Support namespace to java package mappings
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@793459 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--branches/sca-java-1.x/tools/databinding/sdo/src/main/java/org/apache/tuscany/tools/wsdl2java/sdo/SDODatabinding.java63
-rw-r--r--branches/sca-java-1.x/tools/databinding/sdo/src/test/java/org/apache/tuscany/tools/wsdl2java/sdo/SDODataBindingTestCase.java9
2 files changed, 27 insertions, 45 deletions
diff --git a/branches/sca-java-1.x/tools/databinding/sdo/src/main/java/org/apache/tuscany/tools/wsdl2java/sdo/SDODatabinding.java b/branches/sca-java-1.x/tools/databinding/sdo/src/main/java/org/apache/tuscany/tools/wsdl2java/sdo/SDODatabinding.java
index 91e445bec5..4a5df2be28 100644
--- a/branches/sca-java-1.x/tools/databinding/sdo/src/main/java/org/apache/tuscany/tools/wsdl2java/sdo/SDODatabinding.java
+++ b/branches/sca-java-1.x/tools/databinding/sdo/src/main/java/org/apache/tuscany/tools/wsdl2java/sdo/SDODatabinding.java
@@ -19,9 +19,7 @@
package org.apache.tuscany.tools.wsdl2java.sdo;
-import java.io.BufferedReader;
import java.io.File;
-import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
@@ -79,26 +77,26 @@ public class SDODatabinding extends XSD2JavaGenerator implements DataBindingProf
Map<String, String> ns2pkgMap = context.getNamespacePackageMap();
- String srcd = (String)context.get(ToolConstants.CFG_OUTPUTDIR);
+ String outputDir = (String)context.get(ToolConstants.CFG_OUTPUTDIR);
String pkg = context.getPackageName();
String wsdl = (String)context.get(ToolConstants.CFG_WSDLLOCATION);
// preparing the directories where files to be written.
- File srcDir;
- if (srcd == null) {
+ File targetDir;
+ if (outputDir == null) {
try {
- srcd = new File(new URI(wsdl)).getParentFile().getAbsolutePath();
+ outputDir = new File(new URI(wsdl)).getParentFile().getAbsolutePath();
} catch (URISyntaxException e) {
- srcd = new File(".").getAbsolutePath();
+ outputDir = new File(".").getAbsolutePath();
}
}
- srcDir = new File(srcd);
- srcDir.mkdirs();
+ targetDir = new File(outputDir);
+ targetDir.mkdirs();
List<String> argList = new ArrayList<String>();
argList.add("-targetDirectory");
- argList.add(srcDir.getAbsolutePath());
+ argList.add(targetDir.getAbsolutePath());
if (pkg != null) {
argList.add("-javaPackage");
@@ -112,7 +110,7 @@ public class SDODatabinding extends XSD2JavaGenerator implements DataBindingProf
try {
processArguments(args);
- genModel = runXSD2Java(args);
+ genModel = runXSD2Java(args, ns2pkgMap);
} catch (Exception e) {
e.printStackTrace();
printUsage();
@@ -125,13 +123,13 @@ public class SDODatabinding extends XSD2JavaGenerator implements DataBindingProf
}
- protected GenModel runXSD2Java(String args[]) {
+ protected GenModel runXSD2Java(String args[], Map<String, String> ns2PkgMap) {
String xsdFileName = args[inputIndex];
EPackage.Registry packageRegistry = new EPackageRegistryImpl(EPackage.Registry.INSTANCE);
extendedMetaData = new BasicExtendedMetaData(packageRegistry);
String packageURI = getSchemaNamespace(xsdFileName);
- Hashtable packageInfoTable =
- createPackageInfoTable(packageURI, schemaNamespace, javaPackage, prefix, namespaceInfo);
+ Hashtable<String, PackageInfo> packageInfoTable =
+ createPackageInfoTable(packageURI, schemaNamespace, javaPackage, prefix, ns2PkgMap);
return generateFromXMLSchema(xsdFileName,
packageRegistry,
extendedMetaData,
@@ -142,35 +140,16 @@ public class SDODatabinding extends XSD2JavaGenerator implements DataBindingProf
allNamespaces);
}
- private static Hashtable createPackageInfoTable(String packageURI,
- String schemaNamespace,
- String javaPackage,
- String prefix,
- String namespaceInfo) {
- Hashtable packageInfoTable = new Hashtable();
+ private static Hashtable<String, PackageInfo> createPackageInfoTable(String packageURI,
+ String schemaNamespace,
+ String javaPackage,
+ String prefix,
+ Map<String, String> ns2PkgMap) {
+ Hashtable<String, PackageInfo> packageInfoTable = new Hashtable<String, PackageInfo>();
- if (namespaceInfo != null) {
- try {
- FileReader inputFile = new FileReader(namespaceInfo);
- BufferedReader bufRead = new BufferedReader(inputFile);
-
- String line = bufRead.readLine();
- while (line != null) {
- if (line.length() > 0) {
- String[] options = line.split(";");
- if (options.length > 1) {
- if (options.length > 2)
- packageInfoTable.put(options[0], new PackageInfo(options[1], options[2], options[0],
- null));
- else
- packageInfoTable.put(options[0], new PackageInfo(options[1], null, options[0], null));
- } else
- packageInfoTable.put(options[0], new PackageInfo(null, null, options[0], null));
- }
- line = bufRead.readLine();
- }
- } catch (IOException e) {
- e.printStackTrace();
+ if (ns2PkgMap != null && !ns2PkgMap.isEmpty()) {
+ for (Map.Entry<String, String> e : ns2PkgMap.entrySet()) {
+ packageInfoTable.put(e.getKey(), new PackageInfo(e.getValue(), null, e.getKey(), null));
}
} else {
if (schemaNamespace != null)
diff --git a/branches/sca-java-1.x/tools/databinding/sdo/src/test/java/org/apache/tuscany/tools/wsdl2java/sdo/SDODataBindingTestCase.java b/branches/sca-java-1.x/tools/databinding/sdo/src/test/java/org/apache/tuscany/tools/wsdl2java/sdo/SDODataBindingTestCase.java
index 5ae8421870..e1b2ae24d9 100644
--- a/branches/sca-java-1.x/tools/databinding/sdo/src/test/java/org/apache/tuscany/tools/wsdl2java/sdo/SDODataBindingTestCase.java
+++ b/branches/sca-java-1.x/tools/databinding/sdo/src/test/java/org/apache/tuscany/tools/wsdl2java/sdo/SDODataBindingTestCase.java
@@ -19,6 +19,7 @@
package org.apache.tuscany.tools.wsdl2java.sdo;
+import java.io.File;
import java.net.URL;
import org.apache.cxf.tools.wsdlto.WSDLToJava;
@@ -31,10 +32,12 @@ public class SDODataBindingTestCase {
@Test
public void testGenerateStatic() {
- URL url = getClass().getResource("/HelloService.wsdl");
- String args[] = new String[] {"-db", "static-sdo", "-d", "target/jaxws-static-sdo-source", url.toString()};
+ File file = new File("src/test/resources/HelloService.wsdl");
+ String args[] =
+ new String[] {"-db", "static-sdo", "-d", "target/jaxws-static-sdo-source", "-p",
+ "http://apache.org/hello_world_soap_http/types=helloworld.sdo", "-p",
+ "http://apache.org/hello_world_soap_http=helloworld.ws", file.getAbsolutePath()};
WSDLToJava.main(args);
-
}
@Test