Author: slaws
Date: Fri Aug 12 17:08:26 2011
New Revision: 1157190

URL: http://svn.apache.org/viewvc?rev=1157190&view=rev
Log:
Any exception in tests causes node.stop() to be missed so add try/catch

Modified:
    
tuscany/sca-java-2.x/trunk/testing/itest/ws/wsdl/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/WSDLSerializationTestCase.java

Modified: 
tuscany/sca-java-2.x/trunk/testing/itest/ws/wsdl/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/WSDLSerializationTestCase.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/testing/itest/ws/wsdl/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/WSDLSerializationTestCase.java?rev=1157190&r1=1157189&r2=1157190&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/testing/itest/ws/wsdl/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/WSDLSerializationTestCase.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/testing/itest/ws/wsdl/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/WSDLSerializationTestCase.java
 Fri Aug 12 17:08:26 2011
@@ -107,165 +107,174 @@ public class WSDLSerializationTestCase e
 */    
     
     public void testTuscanySerialization() throws Exception {  
+        
+        
         // read in WSDL
         String contributionLocation = "target/classes";
         NodeImpl node = 
(NodeImpl)NodeFactory.newInstance().createNode("org/apache/tuscany/sca/binding/ws/axis2/wsdl-serialize.composite",
 
                                                                        new 
Contribution("test", contributionLocation));
         node.start();
         
-        RuntimeEndpointImpl endpoint = 
(RuntimeEndpointImpl)node.getDomainComposite().getComponents().get(0).getServices().get(0).getEndpoints().get(0);
-        WSDLInterface wsdlInterface = 
(WSDLInterface)endpoint.getBindingInterfaceContract().getInterface();
-        
-        WSDLDefinition wsdlDefinition = wsdlInterface.getWsdlDefinition();
-        Definition definition = wsdlDefinition.getDefinition();
-        
-        // write out a flattened WSDL along with XSD
-        ByteArrayOutputStream outStream = new ByteArrayOutputStream();
-        try {
-            WSDLWriter writer = WSDLFactory.newInstance().newWSDLWriter();
-            String baseURI = wsdlDefinition.getLocation().toString();
-            outStream.write(baseURI.getBytes());
-            outStream.write(separator);            
-            writer.writeWSDL(definition, outStream);
-            for (WSDLDefinition importedWSDLDefintion : 
wsdlDefinition.getImportedDefinitions()){
-                outStream.write(separator);
-                baseURI = importedWSDLDefintion.getLocation().toString();
+        try {            
+            
+            RuntimeEndpointImpl endpoint = 
(RuntimeEndpointImpl)node.getDomainComposite().getComponents().get(0).getServices().get(0).getEndpoints().get(0);
+            WSDLInterface wsdlInterface = 
(WSDLInterface)endpoint.getBindingInterfaceContract().getInterface();
+            
+            WSDLDefinition wsdlDefinition = wsdlInterface.getWsdlDefinition();
+            Definition definition = wsdlDefinition.getDefinition();
+            
+            // write out a flattened WSDL along with XSD
+            ByteArrayOutputStream outStream = new ByteArrayOutputStream();
+            try {
+                WSDLWriter writer = WSDLFactory.newInstance().newWSDLWriter();
+                String baseURI = wsdlDefinition.getLocation().toString();
                 outStream.write(baseURI.getBytes());
-                outStream.write(separator);
-                writer.writeWSDL(importedWSDLDefintion.getDefinition(), 
outStream);
-            }
-            for (XSDefinition xsdDefinition : wsdlDefinition.getXmlSchemas()){
-                // we store a reference to the schema schema. We don't need to 
write that out.
-                // also ignore schema that are extract from the original WSDL 
(have in their location)
-                if 
(!xsdDefinition.getNamespace().equals("http://www.w3.org/2001/XMLSchema";) &&
-                    xsdDefinition.getSchema() != null){
-                    writeSchema(outStream, xsdDefinition.getSchema());
+                outStream.write(separator);            
+                writer.writeWSDL(definition, outStream);
+                for (WSDLDefinition importedWSDLDefintion : 
wsdlDefinition.getImportedDefinitions()){
+                    outStream.write(separator);
+                    baseURI = importedWSDLDefintion.getLocation().toString();
+                    outStream.write(baseURI.getBytes());
+                    outStream.write(separator);
+                    writer.writeWSDL(importedWSDLDefintion.getDefinition(), 
outStream);
                 }
-            }           
-        } catch (Exception e){
-            throw new RuntimeException(e);
-        }
-
-        String wsdlString = outStream.toString();
-        //System.out.println(wsdlString);
-        
-        // Read the WSDL and XSD back in from the string
-        String xmlArray[] = wsdlString.split("_X_");
-        String topWSDLLocation = null;
-        Map<String, XMLString> xmlMap = new HashMap<String, XMLString>();
-        
-        for (int i = 0; i < xmlArray.length; i = i + 2){
-            String location = xmlArray[i];
-            String xml = xmlArray[i+1];
-            // strip the file name out of the location
-            location = location.substring(location.lastIndexOf("/") + 1);
-            
-            if (location.endsWith(".wsdl")){
-                xmlMap.put(location,
-                           new WSDLInfo(xmlArray[i],
-                                          xml));
+                for (XSDefinition xsdDefinition : 
wsdlDefinition.getXmlSchemas()){
+                    // we store a reference to the schema schema. We don't 
need to write that out.
+                    // also ignore schema that are extract from the original 
WSDL (have in their location)
+                    if 
(!xsdDefinition.getNamespace().equals("http://www.w3.org/2001/XMLSchema";) &&
+                        xsdDefinition.getSchema() != null){
+                        writeSchema(outStream, xsdDefinition.getSchema());
+                    }
+                }           
+            } catch (Exception e){
+                throw new RuntimeException(e);
+            }
+    
+            String wsdlString = outStream.toString();
+            //System.out.println(wsdlString);
+            
+            // Read the WSDL and XSD back in from the string
+            String xmlArray[] = wsdlString.split("_X_");
+            String topWSDLLocation = null;
+            Map<String, XMLString> xmlMap = new HashMap<String, XMLString>();
+            
+            for (int i = 0; i < xmlArray.length; i = i + 2){
+                String location = xmlArray[i];
+                String xml = xmlArray[i+1];
+                // strip the file name out of the location
+                location = location.substring(location.lastIndexOf("/") + 1);
                 
-                if (topWSDLLocation == null){
-                    topWSDLLocation = location;
+                if (location.endsWith(".wsdl")){
+                    xmlMap.put(location,
+                               new WSDLInfo(xmlArray[i],
+                                              xml));
+                    
+                    if (topWSDLLocation == null){
+                        topWSDLLocation = location;
+                    }
+                } else {
+                    xmlMap.put(location,
+                            new XSDInfo(xmlArray[i],
+                                          xml));
                 }
-            } else {
-                xmlMap.put(location,
-                        new XSDInfo(xmlArray[i],
-                                      xml));
             }
-        }
-        
-        ExtensionPointRegistry registry = 
endpoint.getCompositeContext().getExtensionPointRegistry();
-        FactoryExtensionPoint modelFactories = 
registry.getExtensionPoint(FactoryExtensionPoint.class);
-        org.apache.tuscany.sca.interfacedef.wsdl.WSDLFactory wsdlFactory = 
modelFactories.getFactory(org.apache.tuscany.sca.interfacedef.wsdl.WSDLFactory.class);
-        XSDFactory xsdFactory = modelFactories.getFactory(XSDFactory.class);
-        XmlSchemaCollection schemaCollection = new XmlSchemaCollection();
-        schemaCollection.setSchemaResolver(new XSDURIResolverImpl(xmlMap));
-        ContributionFactory contributionFactory = 
modelFactories.getFactory(ContributionFactory.class);
-        final org.apache.tuscany.sca.contribution.Contribution contribution = 
contributionFactory.createContribution();
-        ProcessorContext processorContext = new ProcessorContext();
-        
-        ExtensibleModelResolver extensibleResolver = new 
ExtensibleModelResolver(contribution, 
registry.getExtensionPoint(ModelResolverExtensionPoint.class), modelFactories);
-        WSDLModelResolver wsdlResolver = 
(WSDLModelResolver)extensibleResolver.getModelResolverInstance(WSDLDefinition.class);
-        XSDModelResolver xsdResolver = 
(XSDModelResolver)extensibleResolver.getModelResolverInstance(XSDefinition.class);
-        contribution.setURI("temp");
-        contribution.setLocation(topWSDLLocation);
-        contribution.setModelResolver(extensibleResolver);
-
-        // read
-        for (XMLString xmlString : xmlMap.values()){
-            if (xmlString instanceof WSDLInfo){
-                WSDLReader reader =  WSDLFactory.newInstance().newWSDLReader();
-                reader.setFeature("javax.wsdl.verbose", false);
-                reader.setFeature("javax.wsdl.importDocuments", true);
-                WSDLLocatorImpl locator = new 
WSDLLocatorImpl(xmlString.getBaseURI(), xmlMap);
-                Definition readDefinition = reader.readWSDL(locator);
-                
-                wsdlDefinition = wsdlFactory.createWSDLDefinition();
-                wsdlDefinition.setDefinition(readDefinition);
-                wsdlDefinition.setLocation(new URI(xmlString.getBaseURI()));
-                
-                ((WSDLInfo)xmlString).setWsdlDefintion(wsdlDefinition);
-                wsdlResolver.addModel(wsdlDefinition, processorContext);
-                
-            } else {
-                InputStream inputStream = new 
ByteArrayInputStream(xmlString.getXmlString().getBytes());
-                InputSource inputSource = new InputSource(inputStream);
-                inputSource.setSystemId(xmlString.getBaseURI());
-                XmlSchema schema = schemaCollection.read(inputSource, null);
-                inputStream.close();
-                
-                XSDefinition xsdDefinition = xsdFactory.createXSDefinition();
-                xsdDefinition.setSchema(schema);
-                
-                ((XSDInfo)xmlString).setXsdDefinition(xsdDefinition);
-                xsdResolver.addModel(xsdDefinition, processorContext);
+            
+            ExtensionPointRegistry registry = 
endpoint.getCompositeContext().getExtensionPointRegistry();
+            FactoryExtensionPoint modelFactories = 
registry.getExtensionPoint(FactoryExtensionPoint.class);
+            org.apache.tuscany.sca.interfacedef.wsdl.WSDLFactory wsdlFactory = 
modelFactories.getFactory(org.apache.tuscany.sca.interfacedef.wsdl.WSDLFactory.class);
+            XSDFactory xsdFactory = 
modelFactories.getFactory(XSDFactory.class);
+            XmlSchemaCollection schemaCollection = new XmlSchemaCollection();
+            schemaCollection.setSchemaResolver(new XSDURIResolverImpl(xmlMap));
+            ContributionFactory contributionFactory = 
modelFactories.getFactory(ContributionFactory.class);
+            final org.apache.tuscany.sca.contribution.Contribution 
contribution = contributionFactory.createContribution();
+            ProcessorContext processorContext = new ProcessorContext();
+            
+            ExtensibleModelResolver extensibleResolver = new 
ExtensibleModelResolver(contribution, 
registry.getExtensionPoint(ModelResolverExtensionPoint.class), modelFactories);
+            WSDLModelResolver wsdlResolver = 
(WSDLModelResolver)extensibleResolver.getModelResolverInstance(WSDLDefinition.class);
+            XSDModelResolver xsdResolver = 
(XSDModelResolver)extensibleResolver.getModelResolverInstance(XSDefinition.class);
+            contribution.setURI("temp");
+            contribution.setLocation(topWSDLLocation);
+            contribution.setModelResolver(extensibleResolver);
+    
+            // read
+            for (XMLString xmlString : xmlMap.values()){
+                if (xmlString instanceof WSDLInfo){
+                    WSDLReader reader =  
WSDLFactory.newInstance().newWSDLReader();
+                    reader.setFeature("javax.wsdl.verbose", false);
+                    reader.setFeature("javax.wsdl.importDocuments", true);
+                    WSDLLocatorImpl locator = new 
WSDLLocatorImpl(xmlString.getBaseURI(), xmlMap);
+                    Definition readDefinition = reader.readWSDL(locator);
+                    
+                    wsdlDefinition = wsdlFactory.createWSDLDefinition();
+                    wsdlDefinition.setDefinition(readDefinition);
+                    wsdlDefinition.setLocation(new 
URI(xmlString.getBaseURI()));
+                    
+                    ((WSDLInfo)xmlString).setWsdlDefintion(wsdlDefinition);
+                    wsdlResolver.addModel(wsdlDefinition, processorContext);
+                    
+                } else {
+                    InputStream inputStream = new 
ByteArrayInputStream(xmlString.getXmlString().getBytes());
+                    InputSource inputSource = new InputSource(inputStream);
+                    inputSource.setSystemId(xmlString.getBaseURI());
+                    XmlSchema schema = schemaCollection.read(inputSource, 
null);
+                    inputStream.close();
+                    
+                    XSDefinition xsdDefinition = 
xsdFactory.createXSDefinition();
+                    xsdDefinition.setSchema(schema);
+                    
+                    ((XSDInfo)xmlString).setXsdDefinition(xsdDefinition);
+                    xsdResolver.addModel(xsdDefinition, processorContext);
+                }
             }
-        }
-        
-        // resolve
-        for (XMLString xmlString : xmlMap.values()){
-            if (xmlString instanceof WSDLInfo){
-               wsdlDefinition = ((WSDLInfo)xmlString).getWsdlDefintion();
-               
-               // link to imports
-               for (Map.Entry<String, List<javax.wsdl.Import>> entry :
-                   ((Map<String, 
List<javax.wsdl.Import>>)wsdlDefinition.getDefinition().getImports()).entrySet())
 {
-                   for (javax.wsdl.Import imp : entry.getValue()) {
-                       String wsdlName = 
imp.getDefinition().getDocumentBaseURI();
-                       WSDLInfo wsdlInfo = 
(WSDLInfo)xmlMap.get(getFilenameWithoutPath(wsdlName));
-                       
wsdlDefinition.getImportedDefinitions().add(wsdlInfo.getWsdlDefintion());
+            
+            // resolve
+            for (XMLString xmlString : xmlMap.values()){
+                if (xmlString instanceof WSDLInfo){
+                   wsdlDefinition = ((WSDLInfo)xmlString).getWsdlDefintion();
+                   
+                   // link to imports
+                   for (Map.Entry<String, List<javax.wsdl.Import>> entry :
+                       ((Map<String, 
List<javax.wsdl.Import>>)wsdlDefinition.getDefinition().getImports()).entrySet())
 {
+                       for (javax.wsdl.Import imp : entry.getValue()) {
+                           String wsdlName = 
imp.getDefinition().getDocumentBaseURI();
+                           WSDLInfo wsdlInfo = 
(WSDLInfo)xmlMap.get(getFilenameWithoutPath(wsdlName));
+                           
wsdlDefinition.getImportedDefinitions().add(wsdlInfo.getWsdlDefintion());
+                       }
                    }
-               }
-               
-               // link to in-line types
-               Types types = wsdlDefinition.getDefinition().getTypes();
-               if ( types != null){
-                   for (int i=0; i < types.getExtensibilityElements().size(); 
i++){
-                       String schemaName = xmlString.getBaseURI() + "#" + i++;
-                       XSDInfo xsdInfo = 
(XSDInfo)xmlMap.get(getFilenameWithoutPath(schemaName));
-                       
wsdlDefinition.getXmlSchemas().add(xsdInfo.getXsdDefinition());
+                   
+                   // link to in-line types
+                   Types types = wsdlDefinition.getDefinition().getTypes();
+                   if ( types != null){
+                       for (int i=0; i < 
types.getExtensibilityElements().size(); i++){
+                           String schemaName = xmlString.getBaseURI() + "#" + 
i++;
+                           XSDInfo xsdInfo = 
(XSDInfo)xmlMap.get(getFilenameWithoutPath(schemaName));
+                           
wsdlDefinition.getXmlSchemas().add(xsdInfo.getXsdDefinition());
+                       }
                    }
-               }
-
-            } else {
-                
+    
+                } else {
+                    
+                }
             }
+            
+            WSDLInfo topWSDL = (WSDLInfo)xmlMap.get(topWSDLLocation);
+            WSDLDefinition topWSDLDefinition = topWSDL.getWsdlDefintion();
+            
+            PortType portType = 
(PortType)topWSDLDefinition.getDefinition().getAllPortTypes().values().iterator().next();
+            WSDLInterface readWSDLInterface = 
wsdlFactory.createWSDLInterface(portType, topWSDLDefinition, 
extensibleResolver, null);
+            
+            // now check what we have just read with what we started out with 
to see if the compatibility test passes
+            // in the real system have to check contracts not interfaces
+            UtilityExtensionPoint utils = 
registry.getExtensionPoint(UtilityExtensionPoint.class);
+            InterfaceContractMapper interfaceContractMapper = 
utils.getUtility(InterfaceContractMapper.class);
+            boolean match = 
interfaceContractMapper.isCompatibleSubset(wsdlInterface, readWSDLInterface);
+            Assert.assertTrue(match);
+        } catch(Exception ex){
+            System.out.println(ex.toString());
+            ex.printStackTrace();
+            Assert.fail();
         }
         
-        WSDLInfo topWSDL = (WSDLInfo)xmlMap.get(topWSDLLocation);
-        WSDLDefinition topWSDLDefinition = topWSDL.getWsdlDefintion();
-        
-        PortType portType = 
(PortType)topWSDLDefinition.getDefinition().getAllPortTypes().values().iterator().next();
-        WSDLInterface readWSDLInterface = 
wsdlFactory.createWSDLInterface(portType, topWSDLDefinition, 
extensibleResolver, null);
-        
-        // now check what we have just read with what we started out with to 
see if the compatibility test passes
-        // in the real system have to check contracts not interfaces
-        UtilityExtensionPoint utils = 
registry.getExtensionPoint(UtilityExtensionPoint.class);
-        InterfaceContractMapper interfaceContractMapper = 
utils.getUtility(InterfaceContractMapper.class);
-        boolean match = 
interfaceContractMapper.isCompatibleSubset(wsdlInterface, readWSDLInterface);
-        Assert.assertTrue(match);
-        
         node.stop();
     }
     


Reply via email to