[jboss-svn-commits] JBL Code SVN: r26384 - labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue May 5 21:19:21 EDT 2009


Author: stampy88
Date: 2009-05-05 21:19:21 -0400 (Tue, 05 May 2009)
New Revision: 26384

Modified:
   labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/BaseTest.java
Log:
Ensure readers are closed after reading MVEL files

Modified: labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/BaseTest.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/BaseTest.java	2009-05-05 20:31:04 UTC (rev 26383)
+++ labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/BaseTest.java	2009-05-06 01:19:21 UTC (rev 26384)
@@ -24,42 +24,51 @@
 public abstract class BaseTest extends TestCase {
     protected EntityManagerFactory emf;
 
-    protected Map<String, User>    users;
-    protected Map<String, Group>   groups;
+    protected Map<String, User> users;
+    protected Map<String, Group> groups;
 
-    protected TaskService          taskService;
-    protected TaskServiceSession   taskSession;
+    protected TaskService taskService;
+    protected TaskServiceSession taskSession;
 
     protected void setUp() throws Exception {
         Properties conf = new Properties();
-        conf.setProperty( "mail.smtp.host", "localhost" );
-        conf.setProperty( "mail.smtp.port", "2345" );
-        conf.setProperty( "from", "from at domain.com" );
-        conf.setProperty( "replyTo", "replyTo at domain.com" );
-        conf.setProperty( "defaultLanguage", "en-UK" );
-        SendIcal.initInstance( conf );
-        
+        conf.setProperty("mail.smtp.host", "localhost");
+        conf.setProperty("mail.smtp.port", "2345");
+        conf.setProperty("from", "from at domain.com");
+        conf.setProperty("replyTo", "replyTo at domain.com");
+        conf.setProperty("defaultLanguage", "en-UK");
+        SendIcal.initInstance(conf);
+
         // Use persistence.xml configuration
-        emf = Persistence.createEntityManagerFactory( "org.drools.task" );
+        emf = Persistence.createEntityManagerFactory("org.drools.task");
 
-        taskService = new TaskService( emf, SystemEventListenerFactory.getSystemEventListener() );
+        taskService = new TaskService(emf, SystemEventListenerFactory.getSystemEventListener());
         taskSession = taskService.createSession();
         MockUserInfo userInfo = new MockUserInfo();
-        taskService.setUserinfo( userInfo );
+        taskService.setUserinfo(userInfo);
         Map vars = new HashedMap();
 
-        Reader reader = new InputStreamReader( BaseTest.class.getResourceAsStream( "LoadUsers.mvel" ) );
-        users = (Map<String, User>) eval( reader,
-                                          vars );
-        for ( User user : users.values() ) {
-            taskSession.addUser( user );
+        Reader reader = null;
+
+        try {
+            reader = new InputStreamReader(BaseTest.class.getResourceAsStream("LoadUsers.mvel"));
+            users = (Map<String, User>) eval(reader, vars);
+            for (User user : users.values()) {
+                taskSession.addUser(user);
+            }
+        } finally {
+            if (reader != null) reader.close();
+            reader = null;
         }
 
-        reader = new InputStreamReader( BaseTest.class.getResourceAsStream( "LoadGroups.mvel" ) );
-        groups = (Map<String, Group>) eval( reader,
-                                            vars );
-        for ( Group group : groups.values() ) {
-            taskSession.addGroup( group );
+        try {
+            reader = new InputStreamReader(BaseTest.class.getResourceAsStream("LoadGroups.mvel"));
+            groups = (Map<String, Group>) eval(reader,  vars);
+            for (Group group : groups.values()) {
+                taskSession.addGroup(group);
+            }
+        } finally {
+            if (reader != null) reader.close();
         }
     }
 
@@ -71,37 +80,34 @@
     public Object eval(Reader reader,
                        Map vars) {
         try {
-            return eval( toString( reader ),
-                         vars );
-        } catch ( IOException e ) {
-            throw new RuntimeException( "Exception Thrown",
-                                        e );
+            return eval(toString(reader),
+                    vars);
+        } catch (IOException e) {
+            throw new RuntimeException("Exception Thrown",
+                    e);
         }
     }
 
     public String toString(Reader reader) throws IOException {
-        int charValue = 0;
-        StringBuffer sb = new StringBuffer( 1024 );
-        while ( (charValue = reader.read()) != -1 ) {
-            //result = result + (char) charValue;
-            sb.append( (char) charValue );
+        StringBuilder sb = new StringBuilder(1024);
+        int charValue;
+
+        while ((charValue = reader.read()) != -1) {
+            sb.append((char) charValue);
         }
         return sb.toString();
     }
 
-    public Object eval(String str,
-                       Map vars) {
-        ExpressionCompiler compiler = new ExpressionCompiler( str.trim() );
+    public Object eval(String str, Map vars) {
+        ExpressionCompiler compiler = new ExpressionCompiler(str.trim());
 
         ParserContext context = new ParserContext();
-        context.addPackageImport( "org.drools.task" );
-        context.addPackageImport( "org.drools.task.service" );
-        context.addPackageImport( "org.drools.task.query" );
-        context.addPackageImport( "java.util" );
-        
-        vars.put( "now",
-                  new Date() );
-        return MVEL.executeExpression( compiler.compile( context ),
-                                       vars );
+        context.addPackageImport("org.drools.task");
+        context.addPackageImport("org.drools.task.service");
+        context.addPackageImport("org.drools.task.query");
+        context.addPackageImport("java.util");
+
+        vars.put("now", new Date());
+        return MVEL.executeExpression(compiler.compile(context), vars);
     }
 }




More information about the jboss-svn-commits mailing list