Initial revision
[mir.git] / source / mircoders / entity / EntityVideo.java
diff --git a/source/mircoders/entity/EntityVideo.java b/source/mircoders/entity/EntityVideo.java
new file mode 100755 (executable)
index 0000000..802fc8f
--- /dev/null
@@ -0,0 +1,115 @@
+package mircoders.entity;
+
+import java.lang.*;
+import java.io.*;
+import java.util.*;
+import java.sql.*;
+
+import webdb.entity.*;
+import webdb.misc.*;
+import webdb.storage.*;
+
+/**
+ * Diese Klasse enthält die Daten eines MetaObjekts
+ *
+ * @author RK
+ * @version 11.11.2000
+ */
+
+
+public class EntityVideo extends AbstractEntity implements Entity
+{
+       private static int instances;
+
+       public EntityVideo()
+       {
+               super();
+               instances++;
+       }
+
+       public EntityVideo(StorageObject theStorage) {
+               this();
+               setStorage(theStorage);
+       }
+
+       //
+       // methods
+
+       public byte[] getVideoData()
+       {
+
+               Connection con=null;Statement stmt=null;
+               byte[] video_data=null;
+
+               try {
+                       con = theStorageObject.getPooledCon();
+                       con.setAutoCommit(false);
+                       stmt = con.createStatement();
+                       ResultSet rs = theStorageObject.executeSql(stmt,"select video_data from video where id="+getId());
+                       if(rs!=null) {
+                               if (rs.next()) {
+                                        video_data = rs.getBytes(1);
+                               }
+                               rs.close();
+                       }
+               }
+               catch (Exception e) {theLog.printDebugInfo("-- getImage gescheitert: "+e.toString());}
+               finally {
+                       try {con.setAutoCommit(true); } catch (Exception e) {;}
+                       theStorageObject.freeConnection(con,stmt); }
+
+               return video_data;
+       }
+
+       public void setVideoData(byte[] uploadData)
+       {
+               if (uploadData!=null) {
+                       Connection con=null;PreparedStatement pstmt=null;
+                       try {
+
+                               con = theStorageObject.getPooledCon();
+                               con.setAutoCommit(false);
+                               theLog.printDebugInfo("setvideo :: trying to insert video");
+
+                               // setting values
+                               String sql = "update videos set image_data=? where id="+getId();
+                               theLog.printDebugInfo("setvideo: "+ sql);
+                               pstmt = con.prepareStatement(sql);
+                               pstmt.setBytes(1, uploadData);
+                               pstmt.executeUpdate();
+                               sql="update content set is_produced='0' where to_media="+getId();
+                               pstmt = con.prepareStatement(sql);
+                               pstmt.executeUpdate();
+                       }
+                       catch (Exception e) {theLog.printDebugInfo("setvideo :: setvideo gescheitert: "+e.toString());}
+                       finally {
+                               try {con.setAutoCommit(true); } catch (Exception e) {;}
+                               theStorageObject.freeConnection(con,pstmt); }
+               }
+       }
+
+       public void update() throws StorageObjectException {
+               super.update();
+               try {
+                       theStorageObject.executeUpdate("update content set is_produced='0' where to_media="+getId());
+               } catch (SQLException e) {
+                       theLog.printError("video :: update :: failed!! "+ e.toString());
+               }
+       }
+
+       public void setValues(HashMap theStringValues)
+       {
+               if (theStringValues != null) {
+                       if (!theStringValues.containsKey("is_published"))
+                        theStringValues.put("is_published","0");
+               }
+               super.setValues(theStringValues);
+       }
+
+
+       public void finalize() {
+               instances--;
+               super.finalize();
+       }
+
+}