Author: seba.wagner
Date: Wed Dec 24 14:39:10 2008
New Revision: 1734

Modified:
    trunk/webapp/filetest.keystore
    trunk/webapp/src/app/hibernate.cfg.xml
    trunk/webapp/src/app/org/openmeetings/app/data/record/BatikMethods.java
     
trunk/webapp/src/app/org/openmeetings/app/data/record/WhiteboardConvertionJobManager.java
     
trunk/webapp/src/app/org/openmeetings/app/data/record/WhiteboardMapToSVG.java
     
trunk/webapp/src/app/org/openmeetings/app/data/record/dao/RecordingConversionJobDaoImpl.java
    trunk/webapp/src/app/org/openmeetings/app/documents/GenerateImage.java
     
trunk/webapp/src/app/org/openmeetings/app/hibernate/beans/recording/RecordingConversionJob.hbm.xml
     
trunk/webapp/src/app/org/openmeetings/app/hibernate/beans/recording/RecordingConversionJob.java
     
trunk/webapp/src/app/org/openmeetings/servlet/outputhandler/ExportToImage.java
    trunk/webapp/src/test/org/openmeetings/test/record/BatchConversion.java

Log:
Fixes:
Issue 550 Rework of Recorder
Part SVG and PNG Conversion
Paint Tool Correct Export To SVG

Modified: trunk/webapp/filetest.keystore
==============================================================================
Binary files. No diff available.

Modified: trunk/webapp/src/app/hibernate.cfg.xml
==============================================================================
--- trunk/webapp/src/app/hibernate.cfg.xml      (original)
+++ trunk/webapp/src/app/hibernate.cfg.xml      Wed Dec 24 14:39:10 2008
@@ -3,8 +3,7 @@

  <hibernate-configuration>
    <session-factory>
-
-               <!-- User  / Password -->
+    <!-- User  / Password -->
                <property name="connection.username">root</property>
                <property name="connection.password"></property>
                
@@ -23,8 +22,8 @@

                <!-- properties -->
                
-               <property name="show_sql">true</property>
-               <property name="format_sql">true</property>
+               <property name="show_sql">false</property>
+               <property name="format_sql">false</property>
                <property name="use_outer_join">false</property>
                <property  
name="hibernate.query.factory_class">org.hibernate.hql.ast.ASTQueryTranslatorFactory</property>
          <property  
name="connection.provider_class 
">org.hibernate.connection.C3P0ConnectionProvider</property>

Modified:  
trunk/webapp/src/app/org/openmeetings/app/data/record/BatikMethods.java
==============================================================================
--- trunk/webapp/src/app/org/openmeetings/app/data/record/BatikMethods.java     
 
(original)
+++ trunk/webapp/src/app/org/openmeetings/app/data/record/BatikMethods.java     
 
Wed Dec 24 14:39:10 2008
@@ -59,7 +59,13 @@
                for (Iterator iter = 
pointsList.keySet().iterator();iter.hasNext();) {
                        Map<Integer,Object> point = (Map<Integer,Object>)  
pointsList.get(iter.next());
                        
-                       this.drawThickLine2D(g2d,  
Double.valueOf(point.get(1).toString()).doubleValue(),
+                       log.debug("POINT FROM TO :" +
+                                       
Double.valueOf(point.get(1).toString()).doubleValue()+","+
+                                       
Double.valueOf(point.get(2).toString()).doubleValue()+","+
+                                       
Double.valueOf(point.get(3).toString()).doubleValue()+","+
+                                       
Double.valueOf(point.get(4).toString()).doubleValue());
+                       
+                       this.drawThickLine2DPaint(g2d,  
Double.valueOf(point.get(1).toString()).doubleValue(),
                                        
Double.valueOf(point.get(2).toString()).doubleValue(),
                                        
Double.valueOf(point.get(3).toString()).doubleValue(),
                                        
Double.valueOf(point.get(4).toString()).doubleValue(),
@@ -167,6 +173,29 @@
                g2d.setPaint(col);
                g2d.drawLine(x1, y1, x2, y2);
        }
+       
+       public void drawThickLine2DPaint(Graphics2D g2d, double x1, double y1,  
double x2, double y2,
+                       int width, Color c, double xObj, double yObj, float 
alpha) throws  
Exception {
+               g2d.setPaint(c);
+               
+               int[] rules = new int[8];
+               
+               //all possible Compositing Rules:
+               rules[0] = AlphaComposite.SRC_OVER;
+               rules[1] = AlphaComposite.DST_OVER;
+               rules[2] = AlphaComposite.CLEAR;
+               rules[3] = AlphaComposite.SRC;
+               rules[4] = AlphaComposite.SRC_IN;
+               rules[5] = AlphaComposite.DST_IN;
+               rules[6] = AlphaComposite.SRC_OUT;
+               rules[7] = AlphaComposite.DST_OUT;
+               
+               g2d.setComposite( AlphaComposite.getInstance( 
AlphaComposite.SRC,alpha));
+               g2d.setStroke(new BasicStroke(width, BasicStroke.CAP_ROUND,  
BasicStroke.JOIN_BEVEL));
+               Line2D line = new Line2D.Double(x1, y1, x2, y2);
+           g2d.draw(line);
+       }
+
        
        public void drawThickLine2D(Graphics2D g2d, double x1, double y1, 
double  
x2, double y2,
                        int width, Color c, double xObj, double yObj, float 
alpha) throws  
Exception {

Modified:  
trunk/webapp/src/app/org/openmeetings/app/data/record/WhiteboardConvertionJobManager.java
==============================================================================
---  
trunk/webapp/src/app/org/openmeetings/app/data/record/WhiteboardConvertionJobManager.java
        
(original)
+++  
trunk/webapp/src/app/org/openmeetings/app/data/record/WhiteboardConvertionJobManager.java
        
Wed Dec 24 14:39:10 2008
@@ -16,6 +16,7 @@
  import org.openmeetings.app.data.record.dao.RecordingConversionJobDaoImpl;
  import org.openmeetings.app.data.record.dao.RecordingDaoImpl;
  import org.openmeetings.app.data.record.dao.WhiteBoardEventDaoImpl;
+import org.openmeetings.app.documents.GenerateImage;
  import org.openmeetings.app.hibernate.beans.recording.Recording;
  import  
org.openmeetings.app.hibernate.beans.recording.RecordingConversionJob;
  import org.openmeetings.app.hibernate.beans.recording.WhiteBoardEvent;
@@ -36,6 +37,9 @@
        private static Long numberOfMilliseconds = 200L;
        
        private static boolean isRunning = false;
+       
+       //This is the
+       private static boolean isDebug = false;

        private static final Log log =  
LogFactory.getLog(WhiteboardConvertionJobManager.class);

@@ -78,9 +82,13 @@
                                        
                                }
                                
+                               //Do SVG Conversion for next 100 SVG Images, 
that should fill one  
Folder
+                               for (int i=0;i<100;i++) {
+                                       this.processJobs();
+                               }
                                
-                               processJobs();
-                               
+                               //Do SVG to PNG Batch Conversion
+                               this.processConvertionJobs();
                                
                                isRunning = false;
                        } else {
@@ -98,7 +106,7 @@
                        
                        List<RecordingConversionJob> listOfConversionJobs =  
RecordingConversionJobDaoImpl.getInstance().getRecordingConversionJobs();
                        
-                       log.debug("processJobs: "+listOfConversionJobs.size());
+                       //log.debug("processJobs: 
"+listOfConversionJobs.size());
                        
                        for (RecordingConversionJob recordingConversionJob :  
listOfConversionJobs) {
                                
@@ -194,6 +202,12 @@
                                                
                                                log.debug("THIS FILE IS  
PROCESSED: "+recordingConversionJob.getRecordingConversionJobId());
                                                
+                                               //FIXME: this should happen 
only one time per conversion Job
+                                               
+                                               
recordingConversionJob.setEnded(new Date());
+                                               
recordingConversionJob.setBatchProcessCounter(0L);
+                                                
RecordingConversionJobDaoImpl.getInstance().updateRecordingConversionJobs(recordingConversionJob);
+                                               
                                        }
                                }
                                
@@ -202,6 +216,56 @@
                } catch (Exception err) {
                        log.error("[processJobs]",err);
                }
+               
+       }
+       
+       public synchronized void processConvertionJobs() {
+               try {
+                       
+                       List<RecordingConversionJob> listOfConversionJobs =  
RecordingConversionJobDaoImpl.getInstance().getRecordingConversionBatchConversionJobs();
+                       
+                       //log.debug("processBatchJobs SIZE: 
"+listOfConversionJobs.size());
+                       
+                       for (RecordingConversionJob recordingConversionJob :  
listOfConversionJobs) {
+                               
+                               int maxFolder = 
Math.round(recordingConversionJob.getImageNumber() /  
100);
+                               
+                               if (maxFolder >= 
recordingConversionJob.getBatchProcessCounter()) {
+                                       
+                                       Map<String,String> outputFileNames = 
null;
+                                       if (isDebug) {
+                                               outputFileNames =  
this.generateBatchFileDebug(recordingConversionJob.getRecordingConversionJobId(),
+                                                                               
        recordingConversionJob.getBatchProcessCounter());
+                                       } else {
+                                               outputFileNames =  
this.generateBatchFile(recordingConversionJob.getRecordingConversionJobId(),
+                                                               
recordingConversionJob.getBatchProcessCounter());
+                                       }
+                                       
+                                       
+                                       
+                                       
GenerateImage.getInstance().convertImageByTypeAndSize(
+                                                       
outputFileNames.get("input"),
+                                                       
outputFileNames.get("output"),
+                                                       660, 580);
+                                       
+                                       //Add Count For next Round
+                                        
recordingConversionJob.setBatchProcessCounter(recordingConversionJob.getBatchProcessCounter()+1);
+                                        
RecordingConversionJobDaoImpl.getInstance().updateRecordingConversionJobs(recordingConversionJob);
+                                       
+                               } else {
+                                       
+                                       log.debug("Batch Processing Done");
+                                       
+                                       
recordingConversionJob.setEndPngConverted(new Date());
+                                        
RecordingConversionJobDaoImpl.getInstance().updateRecordingConversionJobs(recordingConversionJob);
+                                       
+                               }
+                               
+                       }
+                       
+               } catch (Exception err) {
+                       log.error("[processConvertionJobs]",err);
+               }
        }
        
        private void generateFileAsSVG(Map whiteBoardObjects, String  
roomRecordingInXML, RecordingConversionJob recordingConversionJob) throws  
Exception {
@@ -250,8 +314,19 @@
  //
  //       log.debug("stringWriter"+stringWriter.toString());

-               String firstImageName =  
this.generateSVGFileDebug(recordingConversionJob.getRecordingConversionJobId(), 
 
recordingConversionJob.getImageNumber());
-               log.debug("Write File To: " + firstImageName);
+        String firstImageName = "";
+
+        if (isDebug) {
+               firstImageName = this.generateSVGFileDebug(
+                                       
recordingConversionJob.getRecordingConversionJobId(),
+                                       
recordingConversionJob.getImageNumber());
+        } else {
+               firstImageName = this.generateSVGFileName(
+                               
recordingConversionJob.getRecordingConversionJobId(),
+                               recordingConversionJob.getImageNumber());
+        }
+
+        log.debug("Write File To: " + firstImageName);

                FileWriter fileWriter = new FileWriter(firstImageName);
                svgGenerator.stream(fileWriter, useCSS);
@@ -283,20 +358,96 @@
         return batchFileSVGDir + File.separatorChar + imageNumber + ".svg";
        }
        
-       private String generateSVGFileName(Long conversionJobId, Long 
fileNumber)  
throws Exception {
-               String recordingRootDir = Application.webAppPath + 
File.separatorChar  
+ "upload" + File.separatorChar + StreamService.folderForRecordings;
-       File recordingRootDirFolder = new File(recordingRootDir);
-       if (!recordingRootDirFolder.exists()) {
-          recordingRootDirFolder.mkdir();
-       }
-
-       String recordingFileDir = recordingRootDir + File.separatorChar +  
conversionJobId;
-       File recordingFileDirFolder = new File(recordingFileDir);
-       if (!recordingFileDirFolder.exists()) {
-          recordingFileDirFolder.mkdir();
-       }
-
-       return recordingFileDir + File.separatorChar + "record+" +  
fileNumber + ".svg";
+       /**
+        * This won't work in Debug(=>means JUnit!) Modus as the batch File-Dir 
 
is relative to the Server-Path
+        *
+        * @param conversionJobId
+        * @param folderNumber
+        * @return
+        * @throws Exception
+        */
+       private Map<String, String> generateBatchFileDebug(Long conversionJobId,
+                       Long folderNumber) throws Exception {
+               String recordingRootDir  
= 
"/Users/swagner/Documents/work/red5_distros/red5_r3200_snapshot/webapps/openmeetings/test/";
+
+               // The Folders must already exist here otherwise no Image could 
exist
+               // here, so no need to
+               // check for existance
+               String recordingFileDir = recordingRootDir + File.separatorChar
+                               + conversionJobId;
+               String batchFileSVGDir = recordingFileDir + File.separatorChar
+                               + folderNumber;
+
+               String batchFilePNGDir = batchFileSVGDir + File.separatorChar + 
"PNG";
+               File recordingBatchFilePNGDirFolder = new File(batchFilePNGDir);
+               if (!recordingBatchFilePNGDirFolder.exists()) {
+                       recordingBatchFilePNGDirFolder.mkdir();
+               }
+
+               Map<String, String> returnMap = new HashMap<String, String>();
+
+               returnMap.put("input", batchFileSVGDir + File.separatorChar + 
"*.svg");
+               returnMap
+                               .put("output", batchFilePNGDir + 
File.separatorChar + "%d.png");
+
+               return returnMap;
+       }
+       
+       private Map<String, String> generateBatchFile(Long conversionJobId,
+                       Long folderNumber) throws Exception {
+               
+               String recordingRootDir = Application.webAppPath + 
File.separatorChar
+                               + "upload" + File.separatorChar
+                               + StreamService.folderForRecordings;
+
+               // The Folders must already exist here otherwise no Image could 
exist
+               // here, so no need to
+               // check for existance
+               String recordingFileDir = recordingRootDir + File.separatorChar 
+  
conversionJobId;
+               String batchFileSVGDir = recordingFileDir + File.separatorChar 
+  
folderNumber;
+
+               String batchFilePNGDir = batchFileSVGDir + File.separatorChar + 
"PNG";
+               File recordingBatchFilePNGDirFolder = new File(batchFilePNGDir);
+               if (!recordingBatchFilePNGDirFolder.exists()) {
+                       recordingBatchFilePNGDirFolder.mkdir();
+               }
+
+               Map<String, String> returnMap = new HashMap<String, String>();
+
+               returnMap.put("input", batchFileSVGDir + File.separatorChar + 
"*.svg");
+               returnMap
+                               .put("output", batchFilePNGDir + 
File.separatorChar + "%d.png");
+
+               return returnMap;
+       }
+       
+       private String generateSVGFileName(Long conversionJobId, Long 
imageNumber)
+                       throws Exception {
+               
+               String recordingRootDir = Application.webAppPath + 
File.separatorChar
+                               + "upload" + File.separatorChar
+                               + StreamService.folderForRecordings;
+               
+               File recordingRootDirFolder = new File(recordingRootDir);
+               if (!recordingRootDirFolder.exists()) {
+                       recordingRootDirFolder.mkdir();
+               }
+               
+               String recordingFileDir = recordingRootDir + File.separatorChar 
+  
conversionJobId;
+               File recordingFileDirFolder = new File(recordingFileDir);
+               if (!recordingFileDirFolder.exists()) {
+                       recordingFileDirFolder.mkdir();
+               }
+               Double numberOfFolder = Math.floor(imageNumber / 100);
+               String folderDir = "" + numberOfFolder.intValue();
+
+               String batchFileSVGDir = recordingFileDir + File.separatorChar 
+  
folderDir;
+               File recordingBatchFileDirFolder = new File(batchFileSVGDir);
+               if (!recordingBatchFileDirFolder.exists()) {
+                       recordingBatchFileDirFolder.mkdir();
+               }
+
+               return batchFileSVGDir + File.separatorChar + imageNumber + 
".svg";
        }
        
  }

Modified:  
trunk/webapp/src/app/org/openmeetings/app/data/record/WhiteboardMapToSVG.java
==============================================================================
---  
trunk/webapp/src/app/org/openmeetings/app/data/record/WhiteboardMapToSVG.java   
 
(original)
+++  
trunk/webapp/src/app/org/openmeetings/app/data/record/WhiteboardMapToSVG.java   
 
Wed Dec 24 14:39:10 2008
@@ -57,6 +57,8 @@
                        Double width =  
Double.valueOf(graphObject.get(graphObject.size()-3).toString()).doubleValue();
                        Double height =  
Double.valueOf(graphObject.get(graphObject.size()-2).toString()).doubleValue();
                        
+                       log.debug("x,y,width,height: 
"+x+","+y+","+width+","+height);
+                       
                        //Draw a Painting
                SVGGraphics2D svgGenerator_temp = new  
SVGGraphics2D(svgGenerator);
                //SVGGraphics2D svgGenerator2 = new SVGGraphics2D(document);

Modified:  
trunk/webapp/src/app/org/openmeetings/app/data/record/dao/RecordingConversionJobDaoImpl.java
==============================================================================
---  
trunk/webapp/src/app/org/openmeetings/app/data/record/dao/RecordingConversionJobDaoImpl.java
     
(original)
+++  
trunk/webapp/src/app/org/openmeetings/app/data/record/dao/RecordingConversionJobDaoImpl.java
     
Wed Dec 24 14:39:10 2008
@@ -53,11 +53,50 @@
                return null;
        }
        
+       /**
+        * get all Conversion Jobs where END Time is not set for
+        * the SVG Conversion
+        * and the Batch process is not yet started
+        *
+        * @return
+        */
        public List<RecordingConversionJob> getRecordingConversionJobs() {
                try {
                        
                        String hql = "select c from RecordingConversionJob as c 
" +
-                                               "where c.ended IS NULL ";
+                                               "where c.ended IS NULL " +
+                                               "AND c.startedPngConverted IS 
NULL";
+                       
+                       Object idf = HibernateUtil.createSession();
+                       Session session = HibernateUtil.getSession();
+                       Transaction tx = session.beginTransaction();
+                       Query query = session.createQuery(hql);
+                       List<RecordingConversionJob> ll = query.list();
+                       tx.commit();
+                       HibernateUtil.closeSession(idf);
+                       
+                       return ll;
+       
+               } catch (HibernateException ex) {
+                       log.error("[getRecordingConversionJobs]: " , ex);
+               } catch (Exception ex2) {
+                       log.error("[getRecordingConversionJobs]: " , ex2);
+               }
+               return null;
+       }
+       
+       /**
+        * Get all selected Conversion Jobs where SVG has
+        * finished but Batch Process not yet
+        *
+        * @return
+        */
+       public List<RecordingConversionJob>  
getRecordingConversionBatchConversionJobs() {
+               try {
+                       
+                       String hql = "select c from RecordingConversionJob as c 
" +
+                                               "where c.ended IS NOT NULL " +
+                                               "AND c.endPngConverted IS NULL";
                        
                        Object idf = HibernateUtil.createSession();
                        Session session = HibernateUtil.getSession();

Modified:  
trunk/webapp/src/app/org/openmeetings/app/documents/GenerateImage.java
==============================================================================
--- trunk/webapp/src/app/org/openmeetings/app/documents/GenerateImage.java      
 
(original)
+++ trunk/webapp/src/app/org/openmeetings/app/documents/GenerateImage.java      
 
Wed Dec 24 14:39:10 2008
@@ -205,7 +205,7 @@
                        int exitVal = proc.waitFor();
                        returnMap.put("exitValue", exitVal);

-                       log.debug("ERROR: "+error);
+                       log.debug("DEBUG: "+error);
                        
                        return returnMap;
                } catch (Throwable t) {
@@ -216,7 +216,7 @@
                }
        }
        
-       public HashMap<String,Object> convertSingleImageByTypeAndSize(String  
inputFile, String outputfile,
+       public HashMap<String,Object> convertImageByTypeAndSize(String 
inputFile,  
String outputfile,
                        int width, int height) {
                HashMap<String,Object> returnMap = new HashMap<String,Object>();
                returnMap.put("process", "convertSingleJpg");
@@ -293,7 +293,7 @@
                        int exitVal = proc.waitFor();
                        returnMap.put("exitValue", exitVal);

-                       log.debug("ERROR: "+error);
+                       log.debug("DEBUG: "+error);
                        
                        return returnMap;
                } catch (Throwable t) {
@@ -303,6 +303,5 @@
                        return returnMap;
                }
        }
-
        
  }

Modified:  
trunk/webapp/src/app/org/openmeetings/app/hibernate/beans/recording/RecordingConversionJob.hbm.xml
==============================================================================
---  
trunk/webapp/src/app/org/openmeetings/app/hibernate/beans/recording/RecordingConversionJob.hbm.xml
       
(original)
+++  
trunk/webapp/src/app/org/openmeetings/app/hibernate/beans/recording/RecordingConversionJob.hbm.xml
       
Wed Dec 24 14:39:10 2008
@@ -12,5 +12,8 @@
      <property name="ended" type="java.util.Date" column="ended"/>
      <property name="currentWhiteBoardAsXml" type="text"  
column="currentwhiteboardasxml"/>
      <property name="endTimeInMilliSeconds" type="long"  
column="endtimeinmilliseconds"/>
+    <property name="startedPngConverted" type="java.util.Date"  
column="startedpngconverted"/>
+    <property name="endPngConverted" type="java.util.Date"  
column="endpngconverted"/>
+    <property name="batchProcessCounter" type="long"  
column="batchprocesscounter"/>
    </class>
  </hibernate-mapping>

Modified:  
trunk/webapp/src/app/org/openmeetings/app/hibernate/beans/recording/RecordingConversionJob.java
==============================================================================
---  
trunk/webapp/src/app/org/openmeetings/app/hibernate/beans/recording/RecordingConversionJob.java
  
(original)
+++  
trunk/webapp/src/app/org/openmeetings/app/hibernate/beans/recording/RecordingConversionJob.java
  
Wed Dec 24 14:39:10 2008
@@ -14,9 +14,13 @@
        private Long imageNumber = 0L;
        private Recording recording;
        private Date started;
+       //this is only the end Date for the SVG Conversion
        private Date ended;
        private String currentWhiteBoardAsXml;
        private Long endTimeInMilliSeconds;
+       private Date startedPngConverted;
+       private Date endPngConverted;
+       private Long batchProcessCounter = 0L;
        
        /**
       *
@@ -105,6 +109,42 @@
        }
        public void setEndTimeInMilliSeconds(Long endTimeInMilliSeconds) {
                this.endTimeInMilliSeconds = endTimeInMilliSeconds;
+       }
+       
+       /**
+     * @hibernate.property
+     *  column="startedpngconverted"
+     *  type="java.util.Date"
+     */
+       public Date getStartedPngConverted() {
+               return startedPngConverted;
+       }
+       public void setStartedPngConverted(Date startedPngConverted) {
+               this.startedPngConverted = startedPngConverted;
+       }
+       
+       /**
+     * @hibernate.property
+     *  column="endpngconverted"
+     *  type="java.util.Date"
+     */
+       public Date getEndPngConverted() {
+               return endPngConverted;
+       }
+       public void setEndPngConverted(Date endPngConverted) {
+               this.endPngConverted = endPngConverted;
+       }
+       
+       /**
+     * @hibernate.property
+     *  column="batchprocesscounter"
+     *  type="long"
+     */
+       public Long getBatchProcessCounter() {
+               return batchProcessCounter;
+       }
+       public void setBatchProcessCounter(Long batchProcessCounter) {
+               this.batchProcessCounter = batchProcessCounter;
        }
        


Modified:  
trunk/webapp/src/app/org/openmeetings/servlet/outputhandler/ExportToImage.java
==============================================================================
---  
trunk/webapp/src/app/org/openmeetings/servlet/outputhandler/ExportToImage.java  
 
(original)
+++  
trunk/webapp/src/app/org/openmeetings/servlet/outputhandler/ExportToImage.java  
 
Wed Dec 24 14:39:10 2008
@@ -159,7 +159,7 @@
                                FileWriter out = new FileWriter(svgFile);
                                svgGenerator.stream(out, useCSS);
                                
-                               HashMap<String,Object> returnError =  
GenerateImage.getInstance().convertSingleImageByTypeAndSize(
+                               HashMap<String,Object> returnError =  
GenerateImage.getInstance().convertImageByTypeAndSize(
                                                svgFile.getAbsolutePath(), 
resultFile.getAbsolutePath(),
                                                pBean.getWidth(), 
pBean.getHeight());
                                

Modified:  
trunk/webapp/src/test/org/openmeetings/test/record/BatchConversion.java
==============================================================================
--- trunk/webapp/src/test/org/openmeetings/test/record/BatchConversion.java     
 
(original)
+++ trunk/webapp/src/test/org/openmeetings/test/record/BatchConversion.java     
 
Wed Dec 24 14:39:10 2008
@@ -17,7 +17,7 @@
        public void testBatchConversion(){
                try {
                        
-                       for (int i=0;i<300;i++) {
+                       for (int i=0;i<350;i++) {
                                
WhiteboardConvertionJobManager.getInstance().initJobs();
                        }
                        

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"OpenMeetings developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/openmeetings-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to