gdaniels 2003/01/09 20:01:14 Modified: java/src/org/apache/axis/wsdl/toJava JavaTestCaseWriter.java Log: Improve TestCase generation a bit: * We know we're using our stubs, so make sure the binding var is of the right type. This enables us to set a 60-second timeout as the default for TestCases. As it was, we could hang forever in generated TestCases. Now if you want a longer timeout, you can simply edit/remove this line. * Refactor unused arguments out of a private member function * Use "assertNotNull", because that's what it's there for Revision Changes Path 1.49 +11 -10 xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaTestCaseWriter.java Index: JavaTestCaseWriter.java =================================================================== RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaTestCaseWriter.java,v retrieving revision 1.48 retrieving revision 1.49 diff -u -r1.48 -r1.49 --- JavaTestCaseWriter.java 30 Dec 2002 14:36:46 -0000 1.48 +++ JavaTestCaseWriter.java 10 Jan 2003 04:01:14 -0000 1.49 @@ -59,7 +59,6 @@ import org.apache.axis.wsdl.symbolTable.BindingEntry; import org.apache.axis.wsdl.symbolTable.Parameter; import org.apache.axis.wsdl.symbolTable.Parameters; -import org.apache.axis.wsdl.symbolTable.PortTypeEntry; import org.apache.axis.wsdl.symbolTable.ServiceEntry; import org.apache.axis.wsdl.symbolTable.SymbolTable; import org.apache.axis.wsdl.symbolTable.TypeEntry; @@ -141,11 +140,9 @@ } PortType portType = binding.getPortType(); - PortTypeEntry ptEntry = - symbolTable.getPortTypeEntry(portType.getQName()); writeComment(pw, p.getDocumentationElement()); - writeServiceTestCode(pw, portName, portType, ptEntry, binding, bEntry); + writeServiceTestCode(pw, portName, portType, bEntry); } } // writeFileBody @@ -156,8 +153,8 @@ private int counter = 1; private final void writeServiceTestCode(PrintWriter pw, - String portName, PortType portType, PortTypeEntry ptEntry, - Binding binding, BindingEntry bEntry) throws IOException { + String portName, PortType portType, + BindingEntry bEntry) throws IOException { Iterator ops = portType.getOperations().iterator(); while (ops.hasNext()) { Operation op = (Operation) ops.next(); @@ -178,7 +175,7 @@ String testMethodName = "test" + counter++ + portName + javaOpName; pw.println(" public void " + testMethodName + "() throws Exception {"); - String bindingType = (String) bEntry.getDynamicVar(JavaBindingWriter.INTERFACE_NAME); + String bindingType = bEntry.getName() + "Stub"; writeBindingAssignment(pw, bindingType, portName); @@ -291,7 +288,8 @@ String bindingType, String portName) throws IOException { pw.println(" " + bindingType + " binding;"); pw.println(" try {"); - pw.print(" binding = new " + sEntry.getName()); + pw.println(" binding = (" + bindingType + ")"); + pw.print(" new " + sEntry.getName()); pw.println("Locator" + "().get" + portName + "();"); pw.println(" }"); pw.println(" catch (" + javax.xml.rpc.ServiceException.class.getName() + " jre) {"); @@ -300,9 +298,12 @@ pw.println(" throw new junit.framework.AssertionFailedError(\"JAX-RPC ServiceException caught: \" + jre);"); pw.println(" }"); - pw.println(" assertTrue(\"" + + pw.println(" assertNotNull(\"" + Messages.getMessage("null00", "binding") + - "\", binding != null);"); + "\", binding);"); + pw.println(); + pw.println(" // Time out after a minute"); + pw.println(" binding.setTimeout(60000);"); pw.println(); } // writeBindingAssignment