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 br...@apache.org on 2007/05/02 14:41:53 UTC

svn commit: r534487 - in /incubator/yoko/trunk/tools/src: main/java/org/apache/yoko/tools/processors/idl/ test/java/org/apache/yoko/tools/idlpreprocessor/

Author: bravi
Date: Wed May  2 07:41:52 2007
New Revision: 534487

URL: http://svn.apache.org/viewvc?view=rev&rev=534487
Log:
[YOKO-320] - Basic integration of Lars IDLPreProcessor in the IDLToWSDL tool.

Removed:
    incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/IDLPreProcessor.java
Modified:
    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/idlpreprocessor/IdlPreprocessorReaderTest.java

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=534487&r1=534486&r2=534487
==============================================================================
--- 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 Wed May  2 07:41:52 2007
@@ -20,12 +20,11 @@
 package org.apache.yoko.tools.processors.idl;
 
 import java.io.BufferedReader;
-import java.io.ByteArrayInputStream;
 import java.io.File;
-//import java.io.FileInputStream;
 import java.io.FileReader;
-import java.io.InputStream;
 import java.io.Writer;
+import java.net.URL;
+import java.util.HashMap;
 import java.util.StringTokenizer;
 
 import javax.wsdl.Binding;
@@ -45,6 +44,9 @@
 import org.apache.schemas.yoko.bindings.corba.AddressType;
 import org.apache.yoko.tools.common.ProcessorEnvironment;
 import org.apache.yoko.tools.common.ToolCorbaConstants;
+import org.apache.yoko.tools.idlpreprocessor.DefaultIncludeResolver;
+import org.apache.yoko.tools.idlpreprocessor.DefineState;
+import org.apache.yoko.tools.idlpreprocessor.IdlPreprocessorReader;
 import org.apache.yoko.wsdl.CorbaConstants;
 
 public class IDLToWSDLProcessor implements Processor {
@@ -104,14 +106,19 @@
     }
 
     public void parseIDL() throws Exception {
-        IDLPreProcessor preProcessor = new IDLPreProcessor();
-        File file = new File(env.get(ToolCorbaConstants.CFG_IDLFILE).toString());
+        String location = env.get(ToolCorbaConstants.CFG_IDLFILE).toString();
+        File file = new File(location);
         if (!file.exists()) {
             throw new Exception("IDL file " + file.getName() + " doesn't exist");
         }
-        byte[] bytes = preProcessor.process(file);
-        InputStream stream = new ByteArrayInputStream(bytes);
-        IDLParser parser = new IDLParser(new IDLLexer(stream));
+        URL orig = file.toURI().toURL();
+        DefaultIncludeResolver includeResolver = new DefaultIncludeResolver(file.getParentFile());
+        DefineState defineState = new DefineState(new HashMap<String, String>());
+        IdlPreprocessorReader preprocessor = new IdlPreprocessorReader(orig,
+                                                                       location,
+                                                                       includeResolver,
+                                                                       defineState);
+        IDLParser parser = new IDLParser(new IDLLexer(new java.io.LineNumberReader(preprocessor)));
         parser.specification();
         AST idlTree = parser.getAST();
 
@@ -158,7 +165,7 @@
             Binding[] bindings = visitor.getCorbaBindings();
             generateCORBAService(def, bindings);
             writeDefinitions(visitor, outputDir);           
-        } catch (Exception ex) {
+        } catch (Exception ex) {           
             throw new ToolException(ex.getMessage(), ex);
         }
     }

Modified: incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/idlpreprocessor/IdlPreprocessorReaderTest.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/idlpreprocessor/IdlPreprocessorReaderTest.java?view=diff&rev=534487&r1=534486&r2=534487
==============================================================================
--- incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/idlpreprocessor/IdlPreprocessorReaderTest.java (original)
+++ incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/idlpreprocessor/IdlPreprocessorReaderTest.java Wed May  2 07:41:52 2007
@@ -80,28 +80,31 @@
         final URL orig = findTestResource(location);
         final ClassPathIncludeResolver includeResolver = new ClassPathIncludeResolver();
         final DefineState defineState = new DefineState(new HashMap<String, String>());
-        final IdlPreprocessorReader preprocessor = new IdlPreprocessorReader(orig, location, includeResolver,
-                defineState);
+        final IdlPreprocessorReader preprocessor = new IdlPreprocessorReader(orig,
+                                                                             location,
+                                                                             includeResolver,
+                                                                             defineState);
         return preprocessor;
     }
 
     private void assertExpectedPreprocessingResult(final String expectedResultLocation,
-            final IdlPreprocessorReader includeReader) throws UnsupportedEncodingException, IOException {
+                                                   final IdlPreprocessorReader includeReader)
+        throws UnsupportedEncodingException, IOException {
         LineNumberReader oReader = new LineNumberReader(includeReader);
         InputStream resolved = findTestResource(expectedResultLocation).openStream();
         LineNumberReader rReader = new LineNumberReader(new InputStreamReader(resolved, "ISO-8859-1"));
         try {
-        	boolean eof = false;
-        	do {
-        		int line = rReader.getLineNumber() + 1;
-        		String actualLine = oReader.readLine();
-        		String expectedLine = rReader.readLine();
-        		assertEquals("difference in line " + line, expectedLine, actualLine);
-        		eof = actualLine == null || expectedLine == null;
-        	} while (!eof);
+            boolean eof = false;
+            do {
+                int line = rReader.getLineNumber() + 1;
+                String actualLine = oReader.readLine();
+                String expectedLine = rReader.readLine();
+                assertEquals("difference in line " + line, expectedLine, actualLine);
+                eof = actualLine == null || expectedLine == null;
+            } while (!eof);
         }
         finally {
-        	rReader.close();
+            rReader.close();
         }
     }