1 31 32 package org.opencms.db.mssql; 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 58 public class CmsBackupDriver extends org.opencms.db.generic.CmsBackupDriver { 59 60 63 public org.opencms.db.generic.CmsSqlManager initSqlManager(String classname) { 64 65 return CmsSqlManager.getInstance(classname); 66 } 67 68 71 public List readBackupProjects(CmsDbContext dbc) throws CmsDataAccessException { 72 73 List projects = new ArrayList (); 74 ResultSet res = null; 75 PreparedStatement stmt = null; 76 Connection conn = null; 77 78 try { 79 conn = m_sqlManager.getConnection(dbc); 81 stmt = m_sqlManager.getPreparedStatement(conn, "C_PROJECTS_READLAST_BACKUP"); 82 stmt.setInt(1, 300); 83 res = stmt.executeQuery(); 84 while (res.next()) { 85 List resources = m_driverManager.getBackupDriver().readBackupProjectResources( 86 dbc, 87 res.getInt("PUBLISH_TAG")); 88 projects.add(new CmsBackupProject( 89 res.getInt("PUBLISH_TAG"), 90 res.getInt("PROJECT_ID"), 91 res.getString("PROJECT_NAME"), 92 res.getString("PROJECT_DESCRIPTION"), 93 res.getInt("TASK_ID"), 94 new CmsUUID(res.getString("USER_ID")), 95 new CmsUUID(res.getString("GROUP_ID")), 96 new CmsUUID(res.getString("MANAGERGROUP_ID")), 97 res.getLong("DATE_CREATED"), 98 res.getInt("PROJECT_TYPE"), 99 CmsDbUtil.getTimestamp(res, "PROJECT_PUBLISHDATE"), 100 new CmsUUID(res.getString("PROJECT_PUBLISHED_BY")), 101 res.getString("PROJECT_PUBLISHED_BY_NAME"), 102 res.getString("USER_NAME"), 103 res.getString("GROUP_NAME"), 104 res.getString("MANAGERGROUP_NAME"), 105 resources)); 106 } 107 } catch (SQLException e) { 108 throw new CmsDbSqlException(org.opencms.db.generic.Messages.get().container( 109 org.opencms.db.generic.Messages.ERR_GENERIC_SQL_1, 110 CmsDbSqlException.getErrorQuery(stmt)), e); 111 } finally { 112 m_sqlManager.closeAll(dbc, conn, stmt, res); 113 } 114 return (projects); 115 } 116 } | Popular Tags |