Author: seba.wagner
Date: Thu Dec 25 02:56:01 2008
New Revision: 1735

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/documents/GenerateSWF.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

Log:
Fixes:
Issue 550 Rework of Recorder
Part PNG to SWF Conversion

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      Thu Dec 25 02:56:01 2008
@@ -3,42 +3,13 @@

  <hibernate-configuration>
    <session-factory>
-    <!-- User  / Password -->
-               <property name="connection.username">root</property>
-               <property name="connection.password"></property>
-               
-               <!-- Database Settings -->
-               <property 
name="connection.driver_class">com.mysql.jdbc.Driver</property>
-               <property  
name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
-               <property  
name="connection.url">jdbc:mysql://localhost/openmeetings_lps42?useUnicode=true&amp;createDatabaseIfNotExist=true&amp;characterEncoding=utf-8</property>
        
-               
-               <property name="hibernate.connection.CharSet">utf8</property>
-               <property 
name="hibernate.connection.characterEncoding">utf8</property>
-               <property name="hibernate.connection.useUnicode">true</property>
-
-               
-               <!-- Database Scheme Auto Update -->
-               <property name="hbm2ddl.auto">update</property>                 
-
-               <!-- properties -->
-               
-               <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>
-        <property  
name="cache.provider_class">org.hibernate.cache.NoCacheProvider </property>
-        <property name="cache.use_query_cache">false </property>
-        <property name="cache.use_second_level_cache">false </property>
-        <property name="generate_statistics">false</property>
-        <property name="cache.use_structured_entries">false</property>
-
-
-               <property name="c3p0.max_size">20</property>
-               <property name="c3p0.min_size">2</property>
-               <property name="c3p0.max_statements">100</property>
-               <property name="c3p0.timeout">3600</property>
-               
+    <property  
name="hibernate.connection.driver_class">org.postgresql.Driver</property>
+    <property  
name="hibernate.connection.url">jdbc:postgresql://localhost/xmlcrm</property>
+    <property name="hibernate.connection.username">postgres</property>
+    <property name="hibernate.connection.password">*****</property>
+    <property  
name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
+    <property name="hibernate.show_sql">true</property>
+    <property name="hibernate.hbm2ddl.auto">update</property>
      <mapping  
resource="org/openmeetings/app/hibernate/beans/adresses/Adresses.hbm.xml"/>
      <mapping  
resource="org/openmeetings/app/hibernate/beans/adresses/Adresses_Emails.hbm.xml"/>
      <mapping  
resource="org/openmeetings/app/hibernate/beans/adresses/Emails.hbm.xml"/>

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     
 
Thu Dec 25 02:56:01 2008
@@ -59,11 +59,11 @@
                for (Iterator iter = 
pointsList.keySet().iterator();iter.hasNext();) {
                        Map<Integer,Object> point = (Map<Integer,Object>)  
pointsList.get(iter.next());
                        
-                       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());
+//                     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(),

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
        
Thu Dec 25 02:56:01 2008
@@ -5,6 +5,7 @@
  import java.io.StringWriter;
  import java.util.Date;
  import java.util.HashMap;
+import java.util.LinkedList;
  import java.util.List;
  import java.util.Map;

@@ -17,6 +18,7 @@
  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.documents.GenerateSWF;
  import org.openmeetings.app.hibernate.beans.recording.Recording;
  import  
org.openmeetings.app.hibernate.beans.recording.RecordingConversionJob;
  import org.openmeetings.app.hibernate.beans.recording.WhiteBoardEvent;
@@ -90,6 +92,9 @@
                                //Do SVG to PNG Batch Conversion
                                this.processConvertionJobs();
                                
+                               //Do PNG to SWF Conversion
+                               this.processConvertionSWFJobs();
+                               
                                isRunning = false;
                        } else {
                                
@@ -228,7 +233,9 @@
                        
                        for (RecordingConversionJob recordingConversionJob :  
listOfConversionJobs) {
                                
-                               int maxFolder = 
Math.round(recordingConversionJob.getImageNumber() /  
100);
+                               Double maxFolderDoub =  
Math.floor(recordingConversionJob.getImageNumber() / 100);
+                               
+                               int maxFolder = maxFolderDoub.intValue();
                                
                                if (maxFolder >= 
recordingConversionJob.getBatchProcessCounter()) {
                                        
@@ -243,10 +250,10 @@
                                        
                                        
                                        
-                                       
GenerateImage.getInstance().convertImageByTypeAndSize(
+                                       
GenerateImage.getInstance().convertImageByTypeAndSizeAndDepth(
                                                        
outputFileNames.get("input"),
                                                        
outputFileNames.get("output"),
-                                                       660, 580);
+                                                       660, 580, 8);
                                        
                                        //Add Count For next Round
                                         
recordingConversionJob.setBatchProcessCounter(recordingConversionJob.getBatchProcessCounter()+1);
@@ -257,6 +264,7 @@
                                        log.debug("Batch Processing Done");
                                        
                                        
recordingConversionJob.setEndPngConverted(new Date());
+                                       
recordingConversionJob.setStartedSWFConverted(new Date());
                                         
RecordingConversionJobDaoImpl.getInstance().updateRecordingConversionJobs(recordingConversionJob);
                                        
                                }
@@ -268,6 +276,63 @@
                }
        }
        
+       public synchronized void processConvertionSWFJobs() {
+               try {
+                       
+                       List<RecordingConversionJob> listOfSWFConversionJobs =  
RecordingConversionJobDaoImpl.getInstance().getRecordingConversionSWFConversionJobs();
+                       
+                       log.debug("processSWFJobs SIZE: 
"+listOfSWFConversionJobs.size());
+                       
+                       for (RecordingConversionJob recordingConversionJob :  
listOfSWFConversionJobs) {
+                               
+                               //Get All Images
+                               
+                               Double maxFolderDoub =  
Math.floor(recordingConversionJob.getImageNumber() / 100);
+                               long maxFolder = maxFolderDoub.longValue();
+                               
+                               List<String> images = new LinkedList<String>();
+                               
+                               for (long i=0;i<maxFolder;i++) {
+                                       
+                                       String folderName =  
this.getBatchFileFolder(recordingConversionJob.getRecordingConversionJobId(),  
i);     
+                                       
+                                       for (int k=0;k<100;k++) {
+                                               
+                                               images.add(folderName+k+".png");
+                                               
+                                       }
+                                       
+                               }
+                               
+                               //restImages will be always smaller then 100
+                               long restImages = 
recordingConversionJob.getImageNumber() -  
(maxFolder*100);
+                               
+                               log.debug("restImages: "+restImages);
+                               
+                               for (int k=0;k<restImages;k++) {
+                                       
+                                       String folderName =  
this.getBatchFileFolder(recordingConversionJob.getRecordingConversionJobId(),  
maxFolder);     
+                                       
+                                       images.add(folderName+k+".png");
+                                       
+                               }
+                               
+                               log.debug("images: "+images);
+                               
+                               String output =  
this.getSWFFileForResult(recordingConversionJob.getRecordingConversionJobId());
+                               
+                               
GenerateSWF.getInstance().generateSWFByImages(images, output, 10);
+                               
+                               recordingConversionJob.setEndSWFConverted(new 
Date());
+                                
RecordingConversionJobDaoImpl.getInstance().updateRecordingConversionJobs(recordingConversionJob);
+                               
+                       }
+                       
+               } catch (Exception err) {
+                       log.error("[processConvertionSWFJobs]",err);
+               }
+       }       
+       
        private void generateFileAsSVG(Map whiteBoardObjects, String  
roomRecordingInXML, RecordingConversionJob recordingConversionJob) throws  
Exception {
                
                // Get a DOMImplementation.
@@ -415,14 +480,12 @@
                Map<String, String> returnMap = new HashMap<String, String>();

                returnMap.put("input", batchFileSVGDir + File.separatorChar + 
"*.svg");
-               returnMap
-                               .put("output", batchFilePNGDir + 
File.separatorChar + "%d.png");
+               returnMap.put("output", batchFilePNGDir + File.separatorChar + 
"%d.png");

                return returnMap;
        }
        
-       private String generateSVGFileName(Long conversionJobId, Long 
imageNumber)
-                       throws Exception {
+       private String generateSVGFileName(Long conversionJobId, Long  
imageNumber) throws Exception {
                
                String recordingRootDir = Application.webAppPath + 
File.separatorChar
                                + "upload" + File.separatorChar
@@ -448,6 +511,40 @@
                }

                return batchFileSVGDir + File.separatorChar + imageNumber + 
".svg";
+       }
+       
+       private String getBatchFileFolder(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.separatorChar;
+
+               File f = new File(batchFilePNGDir);
+               return f.getAbsolutePath() + File.separatorChar;
+       }
+       
+       private String getSWFFileForResult(Long conversionJobId) 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 recordingFileDirAbsolute = (new  
File(recordingFileDir)).getAbsolutePath();
+               
+               String swfFile = recordingFileDirAbsolute + File.separatorChar  
+ "whiteboard.swf";
+               return swfFile;
        }
        
  }

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   
 
Thu Dec 25 02:56:01 2008
@@ -57,7 +57,7 @@
                        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);
+                       //log.debug("x,y,width,height: 
"+x+","+y+","+width+","+height);
                        
                        //Draw a Painting
                SVGGraphics2D svgGenerator_temp = new  
SVGGraphics2D(svgGenerator);

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
     
Thu Dec 25 02:56:01 2008
@@ -116,6 +116,32 @@
                return null;
        }
        
+       
+       public List<RecordingConversionJob>  
getRecordingConversionSWFConversionJobs() {
+               try {
+                       
+                       String hql = "select c from RecordingConversionJob as c 
" +
+                                               "where c.endPngConverted IS NOT 
NULL " +
+                                               "AND c.endSWFConverted 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;
+       }
+       
        public void updateRecordingConversionJobs(RecordingConversionJob  
recordingConversionJob) {
                try {
                        

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      
 
Thu Dec 25 02:56:01 2008
@@ -304,4 +304,95 @@
                }
        }
        
+
+       public HashMap<String,Object> convertImageByTypeAndSizeAndDepth(String  
inputFile, String outputfile,
+                       int width, int height, int depth) {
+               HashMap<String,Object> returnMap = new HashMap<String,Object>();
+               returnMap.put("process", "convertSingleJpg");
+               try {
+
+                       //Init variables
+                       String[] cmd;
+                       String executable_fileName = "";        
+                       String pathToIMagick =  
Configurationmanagement.getInstance().getConfKey(3,"imagemagick_path").getConf_value();
+                       if(!pathToIMagick.equals("")  
&& !pathToIMagick.endsWith(File.separator)){
+                               pathToIMagick = pathToIMagick + File.separator;
+                       }
+                       
+                       log.debug("##### convertSingleJpg pngconverter: ");
+               
+                       
+                       //If no Windows Platform
+                       if 
(System.getProperty("os.name").toUpperCase().indexOf("WINDOWS") ==  
-1) {
+                               String runtimeFile = "thumbnail.sh";
+                               executable_fileName = 
Application.batchFileFir+"THUMB_"
+                                               + 
CalendarPatterns.getTimeForStreamId(new Date()) +"_"+ runtimeFile;
+               
+                               cmd = new String[1];
+                               cmd[0] = executable_fileName;
+                       } else {
+                               String runtimeFile = "thumbnail.bat";
+                               executable_fileName = 
Application.batchFileFir+"THUMB_"
+                                               + 
CalendarPatterns.getTimeForStreamId(new Date()) +"_"+ runtimeFile;
+                               
+                               cmd = new String[4];
+                               cmd[0] = "cmd.exe";
+                               cmd[1] = "/C";
+                               cmd[2] = "start";
+                               cmd[3] = executable_fileName;
+                       }
+                       log.debug("executable_fileName: "+executable_fileName);
+                       
+                       Runtime rt = Runtime.getRuntime();
+                       
+                       log.debug("cmd: "+cmd);
+
+                       //Create the Content of the Converter Script (.bat or 
.sh File)
+                       String fileContent = pathToIMagick + "convert " +
+                                       " " + "-size "+width+"x"+height+" " +
+                                       " " + "-depth "+depth+" " +
+                                       " " + "\"" + inputFile + "\"" +
+                                       " " + "\"" + outputfile+"\"" +
+                                       Application.lineSeperator + "exit";
+                               
+                       //execute the Script
+                       FileOutputStream fos = new 
FileOutputStream(executable_fileName);
+                       fos.write(fileContent.getBytes());
+                       fos.close();
+                       
+                       //make new shell script executable
+                       //in JAVA6 this can be done directly through the api
+                       if 
(System.getProperty("os.name").toUpperCase().indexOf("WINDOWS") ==  
-1) {
+                               
MakeExectuable.getInstance().setExecutable(executable_fileName);
+                       }
+                       
+                       for (int i=0;i<cmd.length;i++){
+                               log.debug("cmd: "+cmd[i]);
+                       }
+                                       
+                       returnMap.put("command", cmd.toString());
+                       Process proc = rt.exec(cmd);
+                       InputStream stderr = proc.getErrorStream();
+                       InputStreamReader isr = new InputStreamReader(stderr);
+                       BufferedReader br = new BufferedReader(isr);
+                       String line = null;
+                       String error = "";
+                       while ((line = br.readLine()) != null)
+                               error += line;
+                       returnMap.put("error", error);
+                       int exitVal = proc.waitFor();
+                       returnMap.put("exitValue", exitVal);
+
+                       log.debug("DEBUG: "+error);
+                       
+                       return returnMap;
+               } catch (Throwable t) {
+                       t.printStackTrace();
+                       returnMap.put("error",t.getMessage());
+                       returnMap.put("exitValue", -1);
+                       return returnMap;
+               }
+       }
+       
+       
  }

Modified:  
trunk/webapp/src/app/org/openmeetings/app/documents/GenerateSWF.java
==============================================================================
--- trunk/webapp/src/app/org/openmeetings/app/documents/GenerateSWF.java        
 
(original)
+++ trunk/webapp/src/app/org/openmeetings/app/documents/GenerateSWF.java        
 
Thu Dec 25 02:56:01 2008
@@ -2,6 +2,8 @@

  import java.util.Date;
  import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;

  import java.io.BufferedReader;
  import java.io.File;
@@ -71,6 +73,91 @@
                                        + " " + "\"" + originalFolder + 
fileNamePure + ".pdf\""
                                        + " " + "\"" + destinationFolder + 
fileNamePure+".swf\""
                                        + Application.lineSeperator + "exit";
+                               
+                       //execute the Script
+                       FileOutputStream fos = new 
FileOutputStream(executable_fileName);
+                       fos.write(fileContent.getBytes());
+                       fos.close();
+                       
+                       //make new shell script executable
+                       //in JAVA6 this can be done directly through the api
+                       if 
(System.getProperty("os.name").toUpperCase().indexOf("WINDOWS") ==  
-1) {
+                               
MakeExectuable.getInstance().setExecutable(executable_fileName);
+                       }
+                       
+                       Runtime rt = Runtime.getRuntime();                      
+                       
+                       for (int i=0;i<cmd.length;i++){
+                               log.debug("cmd: "+cmd[i]);
+                       }
+                       
+                       returnMap.put("command", cmd.toString());
+                       Process proc = rt.exec(cmd);
+                       InputStream stderr = proc.getErrorStream();
+                       InputStreamReader isr = new InputStreamReader(stderr);
+                       BufferedReader br = new BufferedReader(isr);
+                       String line = null;
+                       String error = "";
+                       while ((line = br.readLine()) != null)
+                               error += line;
+                       returnMap.put("error", error);
+                       int exitVal = proc.waitFor();
+                       returnMap.put("exitValue", exitVal);
+                       return returnMap;
+               } catch (Throwable t) {
+                       t.printStackTrace();
+                       returnMap.put("error", t.getMessage());
+                       returnMap.put("exitValue", -1);
+                       return returnMap;
+               }
+       }
+       
+       public HashMap<String,Object> generateSWFByImages(List<String> images,  
String outputfile, int fps) {
+               HashMap<String,Object> returnMap = new HashMap<String,Object>();
+               returnMap.put("process", "generateSWFByImages");                
+               try {
+                       
+                       //Init variables
+                       String[] cmd;
+                       String executable_fileName = "";        
+                       String pathToSWFTools =  
Configurationmanagement.getInstance().getConfKey(3,"swftools_path").getConf_value();
+                       //If SWFTools Path is not blank a File.seperator at the 
end of the path  
is needed
+                       if(!pathToSWFTools.equals("")  
&& !pathToSWFTools.endsWith(File.separator)){
+                               pathToSWFTools = pathToSWFTools + 
File.separator;
+                       }
+                       
+
+                       //If no Windows Platform
+                       if 
(System.getProperty("os.name").toUpperCase().indexOf("WINDOWS") ==  
-1) {
+                               String runtimeFile = "swfconverter.sh";
+                               executable_fileName = 
Application.batchFileFir+"SWFIMAGECONVERT_"
+                                               + 
CalendarPatterns.getTimeForStreamId(new Date()) +"_"+ runtimeFile;
+               
+                               cmd = new String[1];
+                               cmd[0] = executable_fileName;
+                       } else {
+                               String runtimeFile = "swfconverter.bat";
+                               executable_fileName = 
Application.batchFileFir+"SWFIMAGECONVERT_"
+                                               + 
CalendarPatterns.getTimeForStreamId(new Date()) +"_"+ runtimeFile;
+                               
+                               cmd = new String[4];
+                               cmd[0] = "cmd.exe";
+                               cmd[1] = "/C";
+                               cmd[2] = "start";
+                               cmd[3] = executable_fileName;
+                       }
+                       log.debug("executable_fileName: "+executable_fileName);
+                       
+                       //Create the Content of the Converter Script (.bat or 
.sh File)
+                       String fileContent = pathToSWFTools + "png2swf"
+                                       + " -o " + "\"" + outputfile + "\""
+                                       + " -r " + fps;
+                       
+                       for (Iterator<String> iter = 
images.iterator();iter.hasNext();) {
+                               fileContent += " " + "\"" + iter.next() +"\"";
+                       }
+                       
+                       fileContent += Application.lineSeperator + "exit";
                                
                        //execute the Script
                        FileOutputStream fos = new 
FileOutputStream(executable_fileName);

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
       
Thu Dec 25 02:56:01 2008
@@ -15,5 +15,7 @@
      <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"/>
+    <property name="startedSWFConverted" type="java.util.Date"  
column="startedswfconverted"/>
+    <property name="endSWFConverted" type="java.util.Date"  
column="endswfconverted"/>
    </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
  
Thu Dec 25 02:56:01 2008
@@ -21,6 +21,9 @@
        private Date startedPngConverted;
        private Date endPngConverted;
        private Long batchProcessCounter = 0L;
+       private Date startedSWFConverted;
+       private Date endSWFConverted;
+       
        
        /**
       *
@@ -145,6 +148,30 @@
        }
        public void setBatchProcessCounter(Long batchProcessCounter) {
                this.batchProcessCounter = batchProcessCounter;
+       }
+       
+       /**
+     * @hibernate.property
+     *  column="startedswfconverted"
+     *  type="java.util.Date"
+     */
+       public Date getStartedSWFConverted() {
+               return startedSWFConverted;
+       }
+       public void setStartedSWFConverted(Date startedSWFConverted) {
+               this.startedSWFConverted = startedSWFConverted;
+       }
+       
+       /**
+     * @hibernate.property
+     *  column="endswfconverted"
+     *  type="java.util.Date"
+     */
+       public Date getEndSWFConverted() {
+               return endSWFConverted;
+       }
+       public void setEndSWFConverted(Date endSWFConverted) {
+               this.endSWFConverted = endSWFConverted;
        }
        


--~--~---------~--~----~------------~-------~--~----~
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