You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by aj...@apache.org on 2006/04/28 18:32:53 UTC

svn commit: r397946 - in /webservices/axis2/trunk/java/modules/tool/src/org/apache/axis2/tool/codegen: WSDL2JavaGenerator.java eclipse/CodeGenWizard.java eclipse/ui/WSDLFileSelectionPage.java resource/Codegen.properties

Author: ajith
Date: Fri Apr 28 09:32:51 2006
New Revision: 397946

URL: http://svn.apache.org/viewcvs?rev=397946&view=rev
Log:
Changing the tool classes to suit the changes in the codegenerator

Modified:
    webservices/axis2/trunk/java/modules/tool/src/org/apache/axis2/tool/codegen/WSDL2JavaGenerator.java
    webservices/axis2/trunk/java/modules/tool/src/org/apache/axis2/tool/codegen/eclipse/CodeGenWizard.java
    webservices/axis2/trunk/java/modules/tool/src/org/apache/axis2/tool/codegen/eclipse/ui/WSDLFileSelectionPage.java
    webservices/axis2/trunk/java/modules/tool/src/org/apache/axis2/tool/codegen/resource/Codegen.properties

Modified: webservices/axis2/trunk/java/modules/tool/src/org/apache/axis2/tool/codegen/WSDL2JavaGenerator.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/src/org/apache/axis2/tool/codegen/WSDL2JavaGenerator.java?rev=397946&r1=397945&r2=397946&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/tool/src/org/apache/axis2/tool/codegen/WSDL2JavaGenerator.java (original)
+++ webservices/axis2/trunk/java/modules/tool/src/org/apache/axis2/tool/codegen/WSDL2JavaGenerator.java Fri Apr 28 09:32:51 2006
@@ -15,17 +15,17 @@
  */
 package org.apache.axis2.tool.codegen;
 
-import org.apache.axis2.wsdl.builder.WOMBuilderFactory;
+
+import org.apache.axis2.description.AxisService;
+import org.apache.axis2.description.WSDL2AxisServiceBuilder;
 import org.apache.axis2.wsdl.util.CommandLineOption;
 import org.apache.axis2.wsdl.util.CommandLineOptionConstants;
-import org.apache.wsdl.WSDLDescription;
 
 import javax.wsdl.WSDLException;
+
 import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
 import java.io.IOException;
-import java.io.InputStream;
+import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.HashMap;
 import java.util.Map;
@@ -130,6 +130,33 @@
        return optionMap;
        
     }
+    
+    public String getBaseUri(String wsdlURI){
+    	
+    	try {
+			URL url;
+			if (wsdlURI.indexOf("://")==-1){
+				url = new URL("file","",wsdlURI);
+			}else{
+				url = new URL(wsdlURI);	
+			}
+
+			
+			String baseUri;
+			if ("file".equals(url.getProtocol())){
+				baseUri = new File(url.getFile()).getParentFile().toURL().toExternalForm();
+			}else{
+				baseUri = url.toExternalForm().substring(0,
+						url.toExternalForm().lastIndexOf("/")
+				);
+			}
+		
+			
+			return baseUri;
+		} catch (MalformedURLException e) {
+			throw new RuntimeException(e);
+		}
+    }
     /**
      * Reads the WSDL Object Model from the given location.
      * 
@@ -138,26 +165,21 @@
      * @throws WSDLException when WSDL File is invalid
      * @throws IOException on errors reading the WSDL file
      */
-    public WSDLDescription getWOM(String wsdlURI) throws WSDLException, IOException
-    {
-       try {
-           InputStream in = null;
-           if (wsdlURI.startsWith("http")){
-              in = new URL(wsdlURI).openStream();
-           }else{
-               //treat the uri as a file name
-               in = new FileInputStream(new File(wsdlURI)); 
-           }
-         
-        return WOMBuilderFactory.getBuilder(org.apache.wsdl.WSDLConstants.WSDL_1_1).build(in).getDescription();
-    } catch (FileNotFoundException e) {
-       throw e;
-    } catch (WSDLException e) {
-       throw e;
-    } catch (Exception e){
-        throw new RuntimeException(e);
-    }
-    
+    public AxisService getAxisService(String wsdlURI) throws Exception{
+    	
+    		URL url;
+			if (wsdlURI.indexOf("://")==-1){
+				url = new URL("file","",wsdlURI);
+			}else{
+				url = new URL(wsdlURI);	
+			}
+
+			
+			WSDL2AxisServiceBuilder builder = 
+				new WSDL2AxisServiceBuilder(url.openConnection().getInputStream());
+					
+			builder.setBaseUri(getBaseUri(wsdlURI));
+			return builder.populateService();
     }
 
     /**

Modified: webservices/axis2/trunk/java/modules/tool/src/org/apache/axis2/tool/codegen/eclipse/CodeGenWizard.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/src/org/apache/axis2/tool/codegen/eclipse/CodeGenWizard.java?rev=397946&r1=397945&r2=397946&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/tool/src/org/apache/axis2/tool/codegen/eclipse/CodeGenWizard.java (original)
+++ webservices/axis2/trunk/java/modules/tool/src/org/apache/axis2/tool/codegen/eclipse/CodeGenWizard.java Fri Apr 28 09:32:51 2006
@@ -1,5 +1,6 @@
 package org.apache.axis2.tool.codegen.eclipse;
 
+import org.apache.axis2.description.AxisService;
 import org.apache.axis2.tool.codegen.WSDL2JavaGenerator;
 import org.apache.axis2.tool.codegen.eclipse.plugin.CodegenWizardPlugin;
 import org.apache.axis2.tool.codegen.eclipse.ui.AbstractWizardPage;
@@ -13,10 +14,9 @@
 import org.apache.axis2.tool.codegen.eclipse.util.SettingsConstants;
 import org.apache.axis2.wsdl.codegen.CodeGenConfiguration;
 import org.apache.axis2.wsdl.codegen.CodeGenerationEngine;
-import org.apache.axis2.wsdl.codegen.Java2WSDLCodegenEngine;
 import org.apache.axis2.wsdl.util.CommandLineOption;
 import org.apache.axis2.wsdl.util.CommandLineOptionConstants;
-import org.apache.wsdl.WSDLDescription;
+import org.apache.ws.java2wsdl.Java2WSDLCodegenEngine;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.NullProgressMonitor;
@@ -189,7 +189,7 @@
                   */
                  WSDL2JavaGenerator generator = new WSDL2JavaGenerator(); 
                  monitor.subTask(CodegenWizardPlugin.getResourceString("generator.readingWOM"));
-                 WSDLDescription wom = generator.getWOM(wsdlSelectionPage.getFileName());
+                 AxisService service = generator.getAxisService(wsdlSelectionPage.getFileName());
                  monitor.worked(1);
                  
                  Map optionsMap = generator.fillOptionMap(optionsPage.isAsyncOnlyOn(),
@@ -205,18 +205,24 @@
                          									optionsPage.getPackageName(),
                          									optionsPage.getSelectedLanguage(),
                          									outputPage.getOutputLocation());
-                 CodeGenConfiguration codegenConfig = new CodeGenConfiguration(wom, optionsMap);
+                 CodeGenConfiguration codegenConfig = new CodeGenConfiguration(service, optionsMap);
+                 //set the baseURI
+                 codegenConfig.setBaseURI(generator.getBaseUri(wsdlSelectionPage.getFileName()));
                  monitor.worked(1);
                  
                  monitor.subTask(CodegenWizardPlugin.getResourceString("generator.generating"));
                  
                  new CodeGenerationEngine(codegenConfig).generate();
-                
+                 
+                 //TODO refresh the eclipse project space to show the generated files
+                 
                  monitor.worked(1);
               }
               catch (Exception e)
               {
-                
+                 ///////////////////////////////
+            	  e.printStackTrace();
+            	 ///////////////////////////// 
                  throw new InterruptedException(e.getMessage());
               }
 
@@ -235,6 +241,9 @@
         }
         catch (InvocationTargetException e1)
         {
+        	/////////////////////////
+        	e1.printStackTrace();
+        	////////////////////////
             throw new RuntimeException(e1);
         }
         catch (InterruptedException e1)

Modified: webservices/axis2/trunk/java/modules/tool/src/org/apache/axis2/tool/codegen/eclipse/ui/WSDLFileSelectionPage.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/src/org/apache/axis2/tool/codegen/eclipse/ui/WSDLFileSelectionPage.java?rev=397946&r1=397945&r2=397946&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/tool/src/org/apache/axis2/tool/codegen/eclipse/ui/WSDLFileSelectionPage.java (original)
+++ webservices/axis2/trunk/java/modules/tool/src/org/apache/axis2/tool/codegen/eclipse/ui/WSDLFileSelectionPage.java Fri Apr 28 09:32:51 2006
@@ -93,6 +93,8 @@
     /**
      * Handle the dialog change event. Basically evaluates the file name and
      * sets the error message accordingly
+     * 
+     * TODO - we might need to call this in a different event!!!
      */
     private void dialogChanged() {
         String fileName = getFileName();

Modified: webservices/axis2/trunk/java/modules/tool/src/org/apache/axis2/tool/codegen/resource/Codegen.properties
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/src/org/apache/axis2/tool/codegen/resource/Codegen.properties?rev=397946&r1=397945&r2=397946&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/tool/src/org/apache/axis2/tool/codegen/resource/Codegen.properties (original)
+++ webservices/axis2/trunk/java/modules/tool/src/org/apache/axis2/tool/codegen/resource/Codegen.properties Fri Apr 28 09:32:51 2006
@@ -72,8 +72,8 @@
 ##########################################################################
 #java source file selection = page 4
 page4.name=page4
-page4.title=Java source selection
-page4.desc=Set the output project for the generated code
+page4.title=Java source/classpath selection
+page4.desc=Select the classes and the libraries
 #labels
 page4.classpath.label=Java Class path Entries. Select either folders or jar files
 page4.classname.label=Class name