You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yoko-commits@incubator.apache.org by en...@apache.org on 2007/05/17 17:41:22 UTC

svn commit: r539037 - in /incubator/yoko/trunk: pom.xml tools/src/main/java/org/apache/yoko/tools/processors/idl/IDLToWSDLProcessor.java tools/src/test/java/org/apache/yoko/tools/processors/IDLToWSDLGenerationTest.java

Author: enolan
Date: Thu May 17 10:41:21 2007
New Revision: 539037

URL: http://svn.apache.org/viewvc?view=rev&rev=539037
Log:
Yoko-316 - adding option -e to specify a different encoding type.

Modified:
    incubator/yoko/trunk/pom.xml
    incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/IDLToWSDLProcessor.java
    incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/IDLToWSDLGenerationTest.java

Modified: incubator/yoko/trunk/pom.xml
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/pom.xml?view=diff&rev=539037&r1=539036&r2=539037
==============================================================================
--- incubator/yoko/trunk/pom.xml (original)
+++ incubator/yoko/trunk/pom.xml Thu May 17 10:41:21 2007
@@ -71,7 +71,7 @@
         <antrun.version>1.1</antrun.version>
         <antlr.version>2.7.5</antlr.version>
         <bcel.version>5.2</bcel.version>
-        <cxf.version>2.0-incubator-RC-SNAPSHOT</cxf.version>
+        <cxf.version>2.0-incubator-SNAPSHOT</cxf.version>
         <commons.logging.version>1.0.4</commons.logging.version>
         <concurrent.version>1.3.4</concurrent.version>
         <junit.version>3.8.2</junit.version>

Modified: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/IDLToWSDLProcessor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/IDLToWSDLProcessor.java?view=diff&rev=539037&r1=539036&r2=539037
==============================================================================
--- incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/IDLToWSDLProcessor.java (original)
+++ incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/IDLToWSDLProcessor.java Thu May 17 10:41:21 2007
@@ -257,7 +257,7 @@
                                      schemaFilename, logical, physical);
         } else {
             if (outputWriter == null) {
-                outputWriter = getOutputWriter(idl + ".wsdl", outputDir);
+                outputWriter = getOutputWriter(idl + ".wsdl", outputDir); 
             }
             visitor.writeDefinition(outputWriter);
         }         
@@ -324,17 +324,16 @@
         }                           
     }           
     
-    private Writer getOutputWriter(String filename, String outputDirectory) throws Exception {
+    public Writer getOutputWriter(String filename, String outputDirectory) throws Exception {
 
-        FileWriterUtil fw = new FileWriterUtil(outputDirectory);
-        // REVISIT - Waiting on a change in CXF
+        FileWriterUtil fw = new FileWriterUtil(outputDirectory);        
         
-        /*if (env.optionSet(ToolCorbaConstants.CFG_WSDL_ENCODING)) { 
-            String encoding = env.get(ToolCorbaConstants.CFG_WSDL_ENCODING).toString();
-            return fw.getWriter("", filename, encoding); 
-        } else {*/
-        return fw.getWriter("", filename); 
-        //}       
+        if (env.optionSet(ToolCorbaConstants.CFG_WSDL_ENCODING)) { 
+            String encoding = env.get(ToolCorbaConstants.CFG_WSDL_ENCODING).toString();            
+            return fw.getWriter(new File(filename, outputDirectory), encoding); 
+        } else {
+            return fw.getWriter("", filename); 
+        }       
     }
     
     public void setEnvironment(ProcessorEnvironment penv) {

Modified: incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/IDLToWSDLGenerationTest.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/IDLToWSDLGenerationTest.java?view=diff&rev=539037&r1=539036&r2=539037
==============================================================================
--- incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/IDLToWSDLGenerationTest.java (original)
+++ incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/IDLToWSDLGenerationTest.java Thu May 17 10:41:21 2007
@@ -27,6 +27,7 @@
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.io.OutputStreamWriter;
+import java.io.Writer;
 import java.net.URL;
 import java.util.HashMap;
 import java.util.Map;
@@ -72,7 +73,7 @@
         IDLToWSDLProcessor processor = new IDLToWSDLProcessor();
         processor.setEnvironment(env);        
         java.io.CharArrayWriter out = new java.io.CharArrayWriter();
-        processor.setOutputWriter(out);
+        processor.setOutputWriter(out);        
         processor.process();
 
         InputStream origStream = getClass().getResourceAsStream(expectedWsdlFilename);  
@@ -438,4 +439,30 @@
         
     }
                 
-}
+    public void testEncodingGeneration() throws Exception {    	
+    	
+    	try {
+    	    String sourceIdlFilename = "/idl/Enum.idl";    	       	
+		    URL idl = getClass().getResource(sourceIdlFilename);
+		    ProcessorEnvironment env = new ProcessorEnvironment();
+		    Map<String, Object> cfg = new HashMap<String, Object>();
+		    cfg.put(ToolCorbaConstants.CFG_IDLFILE, idl.getFile());
+		    cfg.put(ToolCorbaConstants.CFG_WSDL_ENCODING, "UTF-16");
+		    env.setParameters(cfg);
+		    IDLToWSDLProcessor processor = new IDLToWSDLProcessor();
+		    processor.setEnvironment(env);
+		    Writer out = processor.getOutputWriter("Enum.wsdl", ".");		        
+		    		   
+		    if (out instanceof OutputStreamWriter) {
+		    	OutputStreamWriter writer = (OutputStreamWriter)out;
+		    	assertEquals("Encoding should be UTF-16", writer.getEncoding(), 
+		    			"UTF-16");		    	
+		    }
+		    out.close();
+    	} finally {
+    		new File("Enum.wsdl").deleteOnExit();    			
+    	}
+
+	}
+                
+}
\ No newline at end of file