/*
* DatabaseFileRequestStorage.java
*
* Created on June 17, 2004, 3:18 PM
*/
package org.dcache.srm.request.sql;
import org.springframework.dao.DataAccessException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.concurrent.ScheduledExecutorService;
import org.dcache.srm.request.FileRequest;
import org.dcache.srm.util.Configuration;
/**
*
* @author timur
*/
public abstract class DatabaseFileRequestStorage<F extends FileRequest<?>> extends DatabaseJobStorage<F> {
/** Creates a new instance of FileRequestStorage */
public DatabaseFileRequestStorage(Configuration.DatabaseParameters configuration, ScheduledExecutorService executor)
throws DataAccessException
{
super(configuration, executor);
}
protected abstract F getFileRequest(
Connection _con,
long ID,
Long NEXTJOBID,
long CREATIONTIME,
long LIFETIME,
int STATE,
String SCHEDULERID,
long SCHEDULER_TIMESTAMP,
int NUMOFRETR,
long LASTSTATETRANSITIONTIME,
long REQUESTID,
Long CREDENTIALID,
String STATUSCODE,
ResultSet set,
int next_index)throws SQLException;
@Override
protected F
getJob(
Connection _con,
long ID,
Long NEXTJOBID,
long CREATIONTIME,
long LIFETIME,
int STATE,
String SCHEDULERID,
long SCHEDULER_TIMESTAMP,
int NUMOFRETR,
long LASTSTATETRANSITIONTIME,
ResultSet set,
int next_index) throws SQLException {
long REQUESTID = set.getLong(next_index++);
Long CREDENTIALID = set.getLong(next_index++);
String STATUSCODE= set.getString(next_index++);
return getFileRequest(
_con,
ID,
NEXTJOBID ,
CREATIONTIME,
LIFETIME,
STATE,
SCHEDULERID,
SCHEDULER_TIMESTAMP,
NUMOFRETR,
LASTSTATETRANSITIONTIME,
REQUESTID,
CREDENTIALID,
STATUSCODE,
set,
next_index );
}
@Override
public abstract String getTableName();
/*protected java.util.Set getFileRequests(String requestId) throws java.sql.SQLException{
return getJobsByCondition(" REQUESTID = '"+requestId+"'");
}*/
}