1 31 32 package org.opencms.db.mysql; 33 34 import org.opencms.db.CmsDbContext; 35 import org.opencms.db.CmsDbSqlException; 36 import org.opencms.db.CmsDbUtil; 37 import org.opencms.db.generic.CmsSqlManager; 38 import org.opencms.file.CmsBackupProject; 39 import org.opencms.file.CmsDataAccessException; 40 import org.opencms.util.CmsUUID; 41 42 import java.sql.Connection ; 43 import java.sql.PreparedStatement ; 44 import java.sql.ResultSet ; 45 import java.sql.SQLException ; 46 import java.util.ArrayList ; 47 import java.util.List ; 48 49 59 public class CmsBackupDriver extends org.opencms.db.generic.CmsBackupDriver { 60 61 64 public org.opencms.db.generic.CmsSqlManager initSqlManager(String classname) { 65 66 return CmsSqlManager.getInstance(classname); 67 } 68 69 72 public List readBackupProjects(CmsDbContext dbc) throws CmsDataAccessException { 73 74 List projects = new ArrayList (); 75 ResultSet res = null; 76 PreparedStatement stmt = null; 77 Connection conn = null; 78 79 try { 80 conn = m_sqlManager.getConnection(dbc); 82 stmt = m_sqlManager.getPreparedStatement(conn, "C_PROJECTS_READLAST_BACKUP"); 83 stmt.setInt(1, 300); 84 res = stmt.executeQuery(); 85 while (res.next()) { 86 List resources = m_driverManager.getBackupDriver().readBackupProjectResources( 87 dbc, 88 res.getInt("PUBLISH_TAG")); 89 projects.add(new CmsBackupProject( 90 res.getInt("PUBLISH_TAG"), 91 res.getInt("PROJECT_ID"), 92 res.getString("PROJECT_NAME"), 93 res.getString("PROJECT_DESCRIPTION"), 94 res.getInt("TASK_ID"), 95 new CmsUUID(res.getString("USER_ID")), 96 new CmsUUID(res.getString("GROUP_ID")), 97 new CmsUUID(res.getString("MANAGERGROUP_ID")), 98 res.getLong("DATE_CREATED"), 99 res.getInt("PROJECT_TYPE"), 100 CmsDbUtil.getTimestamp(res, "PROJECT_PUBLISHDATE"), 101 new CmsUUID(res.getString("PROJECT_PUBLISHED_BY")), 102 res.getString("PROJECT_PUBLISHED_BY_NAME"), 103 res.getString("USER_NAME"), 104 res.getString("GROUP_NAME"), 105 res.getString("MANAGERGROUP_NAME"), 106 resources)); 107 } 108 } catch (SQLException e) { 109 throw new CmsDbSqlException(org.opencms.db.generic.Messages.get().container( 110 org.opencms.db.generic.Messages.ERR_GENERIC_SQL_1, 111 CmsDbSqlException.getErrorQuery(stmt)), e); 112 } finally { 113 m_sqlManager.closeAll(dbc, conn, stmt, res); 114 } 115 return (projects); 116 } 117 } 118 | Popular Tags |