Author: eschwert
Date: Sun Feb 26 19:52:43 2012
New Revision: 1293922

URL: http://svn.apache.org/viewvc?rev=1293922&view=rev
Log:
OPENMEETINGS-60 Close BufferedReader

Modified:
    
incubator/openmeetings/branches/jira-plugin/src/main/java/org/openmeetings/jira/plugin/gateway/OmRestService.java
    
incubator/openmeetings/branches/jira-plugin/src/test/java/org/openmeetings/jira/plugin/gateway/OmRestServiceTest.java

Modified: 
incubator/openmeetings/branches/jira-plugin/src/main/java/org/openmeetings/jira/plugin/gateway/OmRestService.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/branches/jira-plugin/src/main/java/org/openmeetings/jira/plugin/gateway/OmRestService.java?rev=1293922&r1=1293921&r2=1293922&view=diff
==============================================================================
--- 
incubator/openmeetings/branches/jira-plugin/src/main/java/org/openmeetings/jira/plugin/gateway/OmRestService.java
 (original)
+++ 
incubator/openmeetings/branches/jira-plugin/src/main/java/org/openmeetings/jira/plugin/gateway/OmRestService.java
 Sun Feb 26 19:52:43 2012
@@ -140,6 +140,8 @@ public class OmRestService {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                        throw new Exception("DocumentException by SAXReader in 
REST Service");
+               }finally{
+                       br.close();
                }
            
         Element root = document.getRootElement(); 

Modified: 
incubator/openmeetings/branches/jira-plugin/src/test/java/org/openmeetings/jira/plugin/gateway/OmRestServiceTest.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/branches/jira-plugin/src/test/java/org/openmeetings/jira/plugin/gateway/OmRestServiceTest.java?rev=1293922&r1=1293921&r2=1293922&view=diff
==============================================================================
--- 
incubator/openmeetings/branches/jira-plugin/src/test/java/org/openmeetings/jira/plugin/gateway/OmRestServiceTest.java
 (original)
+++ 
incubator/openmeetings/branches/jira-plugin/src/test/java/org/openmeetings/jira/plugin/gateway/OmRestServiceTest.java
 Sun Feb 26 19:52:43 2012
@@ -1,8 +1,11 @@
 package org.openmeetings.jira.plugin.gateway;
 
+import java.io.BufferedReader;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.UnsupportedEncodingException;
 
 import org.junit.Test;
 import org.junit.After;
@@ -25,8 +28,12 @@ import org.dom4j.DocumentException;
 import org.dom4j.Element;
 import org.dom4j.io.SAXReader;
 
+import java.net.MalformedURLException;
 import java.net.URI;
+import java.net.URL;
 import java.util.Iterator;
+import java.util.LinkedHashMap;
+
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.UriBuilder;
 
@@ -114,7 +121,7 @@ new OmRestService();
     }
     
     
-    @Test
+    //@Test
     public void testCallApacheCommons() throws SAXException, IOException, 
ParserConfigurationException, XPathExpressionException, DocumentException {
         
        try{    
@@ -237,4 +244,138 @@ new OmRestService();
        }
     }
     
+    private  String getEncodetURI(String url) throws MalformedURLException {
+               return new URL(url).toString().replaceAll(" ","%20");
+       }
+    
+    @Test
+       public void callTestExceptions() throws Exception
+       {       
+       String request= 
"http://localhost:5080/openmeetings/services/UserService/getSession";;
+
+               HttpClient client = new HttpClient();
+        GetMethod method = null;
+        
+               try {
+                       method = new 
GetMethod(getEncodetURI(request).toString());
+               } catch (MalformedURLException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               }
+               int statusCode = 0;
+               try {
+                       statusCode = client.executeMethod(method);
+               } catch (HttpException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+                       throw new Exception("Connection to OpenMeetings 
refused. Please check your OpenMeetings configuration. HttpException");
+               } catch (IOException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+                       throw new Exception("Connection to OpenMeetings 
refused. Please check your OpenMeetings configuration. IOException");
+               }
+               
+               
+               switch (statusCode) {
+           
+                   case 200: {                 
+                           System.out.println("Success connection");           
            
+                           break;      
+                   }
+                   case 400: {                 
+                               throw new Exception("Bad request. The 
parameters passed to the service did not match as expected. The Message should 
tell you what was missing or incorrect.");
+               
+                           //System.out.println("Bad request. The parameters 
passed to the service did not match as expected. The Message should tell you 
what was missing or incorrect."); 
+                    
+                               //break;
+       
+                   }   
+                   case 403: {
+                               throw new Exception("Forbidden. You do not have 
permission to access this resource, or are over your rate limit.");
+       
+                               //System.out.println("Forbidden. You do not 
have permission to access this resource, or are over your rate limit.");
+       
+                               //break;
+               
+                   }           
+                   case 503: {
+                               throw new Exception("Service unavailable. An 
internal problem prevented us from returning data to you.");
+
+                               //System.out.println("Service unavailable. An 
internal problem prevented us from returning data to you.");
+               
+                           //break;
+               
+                   }                       
+                   default:{ 
+                                       throw new Exception("Your call to 
OpenMeetings! Web Services returned an unexpected  HTTP status of: " + 
statusCode);
+       
+                               //System.out.println("Your call to 
OpenMeetings! Web Services returned an unexpected  HTTP status of: " + 
statusCode);
+                   }
+                   
+           }
+        
+               
+        InputStream rstream = null;
+
+        try {
+                       rstream = method.getResponseBodyAsStream();
+               } catch (IOException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+                       throw new Exception("No Response Body");
+
+               }
+
+        BufferedReader br = new BufferedReader(new InputStreamReader(rstream));
+        
+        SAXReader reader = new SAXReader();
+           String line;
+           Document document = null;
+           try {
+                       while ((line = br.readLine()) != null) {
+                               document = reader.read(new 
ByteArrayInputStream(line.getBytes("UTF-8")));
+                               //System.out.println("line"+line);
+                       
+                       }
+               } catch (UnsupportedEncodingException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+                       throw new Exception("UnsupportedEncodingException by 
SAXReader");
+               } catch (IOException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+                       throw new Exception("IOException by SAXReader in REST 
Service");
+               } catch (DocumentException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+                       throw new Exception("DocumentException by SAXReader in 
REST Service");
+               }finally{
+                       br.close();
+               }
+           
+        Element root = document.getRootElement(); 
+        
+        LinkedHashMap<String,Element> elementMap = new 
LinkedHashMap<String,Element>();                            
+        
+        for ( @SuppressWarnings("unchecked")Iterator<Element> i = 
root.elementIterator(); i.hasNext(); ) {
+               
+               
+                   Element item = i.next();
+                   
+                   if(item.getNamespacePrefix()=="soapenv"){
+                       throw new Exception(item.getData().toString());
+                   }else{
+                       String nodeVal = item.getName();
+                           elementMap.put(nodeVal, item);
+                           log.error(item.asXML());
+                   }
+               }
+               
+               //return elementMap;        
+           
+       }       
+       
+    
+    
+    
 }


Reply via email to