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();
}
}