Search in sources :

Example 1 with PersistenceBrokerCallback

use of org.springmodules.orm.ojb.PersistenceBrokerCallback in project cu-kfs by CU-CommunityApps.

the class ActionListDAOOjbImpl method getCount.

public int getCount(final String workflowId) {
    return (Integer) getPersistenceBrokerTemplate().execute(new PersistenceBrokerCallback() {

        public Object doInPersistenceBroker(PersistenceBroker broker) {
            PreparedStatement statement = null;
            ResultSet resultSet = null;
            try {
                Connection connection = broker.serviceConnectionManager().getConnection();
                statement = connection.prepareStatement(ACTION_LIST_COUNT_QUERY);
                statement.setString(1, workflowId);
                resultSet = statement.executeQuery();
                if (!resultSet.next()) {
                    throw new WorkflowRuntimeException("Error determining Action List Count.");
                }
                return resultSet.getInt(1);
            } catch (SQLException | LookupException e) {
                throw new WorkflowRuntimeException("Error determining Action List Count.", e);
            } finally {
                if (statement != null) {
                    try {
                        statement.close();
                    } catch (SQLException e) {
                    // should we be logging something?
                    }
                }
                if (resultSet != null) {
                    try {
                        resultSet.close();
                    } catch (SQLException e) {
                    // should we be logging something?
                    }
                }
            }
        }
    });
}
Also used : PersistenceBroker(org.apache.ojb.broker.PersistenceBroker) LookupException(org.apache.ojb.broker.accesslayer.LookupException) SQLException(java.sql.SQLException) PersistenceBrokerCallback(org.springmodules.orm.ojb.PersistenceBrokerCallback) ResultSet(java.sql.ResultSet) Connection(java.sql.Connection) PreparedStatement(java.sql.PreparedStatement) WorkflowRuntimeException(org.kuali.kfs.kew.api.WorkflowRuntimeException)

Example 2 with PersistenceBrokerCallback

use of org.springmodules.orm.ojb.PersistenceBrokerCallback in project cu-kfs by CU-CommunityApps.

the class ActionListDAOOjbImpl method getMaxActionItemDateAssignedAndCountForUser.

/**
 * Gets the max action item id and count doe a given user.
 *
 * @return A List with the first value being the maxActionItemId and the second value being the count
 */
public List<Object> getMaxActionItemDateAssignedAndCountForUser(final String principalId) {
    return (List<Object>) getPersistenceBrokerTemplate().execute(new PersistenceBrokerCallback() {

        public Object doInPersistenceBroker(PersistenceBroker broker) {
            PreparedStatement statement = null;
            ResultSet resultSet = null;
            List<Object> result = new ArrayList<Object>();
            try {
                Connection connection = broker.serviceConnectionManager().getConnection();
                statement = connection.prepareStatement(MAX_ACTION_ITEM_DATE_ASSIGNED_AND_ACTION_LIST_COUNT_AND_QUERY);
                statement.setString(1, principalId);
                resultSet = statement.executeQuery();
                if (!resultSet.next()) {
                    throw new WorkflowRuntimeException("Error determining Action List Count and Max Action Item Id.");
                } else {
                    result.add(resultSet.getTimestamp(1));
                    result.add(resultSet.getInt(2));
                }
                return result;
            } catch (SQLException e) {
                throw new WorkflowRuntimeException("Error determining Action List Count and Max Action Item Id.", e);
            } catch (LookupException e) {
                throw new WorkflowRuntimeException("Error determining Action List Count and Max Action Item Id.", e);
            } finally {
                if (statement != null) {
                    try {
                        statement.close();
                    } catch (SQLException e) {
                    // should we be logging something?
                    }
                }
                if (resultSet != null) {
                    try {
                        resultSet.close();
                    } catch (SQLException e) {
                    // should we be logging something?
                    }
                }
            }
        }
    });
}
Also used : PersistenceBroker(org.apache.ojb.broker.PersistenceBroker) LookupException(org.apache.ojb.broker.accesslayer.LookupException) SQLException(java.sql.SQLException) PersistenceBrokerCallback(org.springmodules.orm.ojb.PersistenceBrokerCallback) ResultSet(java.sql.ResultSet) ArrayList(java.util.ArrayList) Connection(java.sql.Connection) ArrayList(java.util.ArrayList) List(java.util.List) PreparedStatement(java.sql.PreparedStatement) WorkflowRuntimeException(org.kuali.kfs.kew.api.WorkflowRuntimeException)

Example 3 with PersistenceBrokerCallback

use of org.springmodules.orm.ojb.PersistenceBrokerCallback in project cu-kfs by CU-CommunityApps.

the class ActionTakenDAOOjbImpl method getLastModifiedDate.

@Override
public Timestamp getLastModifiedDate(String documentId) {
    return (Timestamp) getPersistenceBrokerTemplate().execute(new PersistenceBrokerCallback() {

        public Object doInPersistenceBroker(PersistenceBroker broker) {
            PreparedStatement statement = null;
            ResultSet resultSet = null;
            try {
                Connection connection = broker.serviceConnectionManager().getConnection();
                statement = connection.prepareStatement(LAST_MODIFIED_DATE_QUERY);
                statement.setString(1, documentId);
                resultSet = statement.executeQuery();
                if (!resultSet.next()) {
                    return null;
                } else {
                    return resultSet.getTimestamp(1);
                }
            } catch (Exception e) {
                throw new WorkflowRuntimeException("Error determining Last Modified Date.", e);
            } finally {
                if (statement != null) {
                    try {
                        statement.close();
                    } catch (SQLException e) {
                    // should we be logging something?
                    }
                }
                if (resultSet != null) {
                    try {
                        resultSet.close();
                    } catch (SQLException e) {
                    // should we be logging something?
                    }
                }
            }
        }
    });
}
Also used : PersistenceBroker(org.apache.ojb.broker.PersistenceBroker) SQLException(java.sql.SQLException) PersistenceBrokerCallback(org.springmodules.orm.ojb.PersistenceBrokerCallback) ResultSet(java.sql.ResultSet) Connection(java.sql.Connection) PreparedStatement(java.sql.PreparedStatement) WorkflowRuntimeException(org.kuali.kfs.kew.api.WorkflowRuntimeException) Timestamp(java.sql.Timestamp) WorkflowRuntimeException(org.kuali.kfs.kew.api.WorkflowRuntimeException) SQLException(java.sql.SQLException)

Example 4 with PersistenceBrokerCallback

use of org.springmodules.orm.ojb.PersistenceBrokerCallback in project cu-kfs by CU-CommunityApps.

the class ActionTakenDAOOjbImpl method getLastActionTakenDate.

public Timestamp getLastActionTakenDate(final String documentId, final ActionType actionType) {
    return (Timestamp) getPersistenceBrokerTemplate().execute(new PersistenceBrokerCallback() {

        public Object doInPersistenceBroker(PersistenceBroker broker) {
            PreparedStatement statement = null;
            ResultSet resultSet = null;
            try {
                Connection connection = broker.serviceConnectionManager().getConnection();
                statement = connection.prepareStatement(LAST_ACTION_TAKEN_DATE_QUERY);
                statement.setString(1, documentId);
                statement.setString(2, actionType.getCode());
                resultSet = statement.executeQuery();
                if (!resultSet.next()) {
                    return null;
                } else {
                    return resultSet.getTimestamp(1);
                }
            } catch (Exception e) {
                throw new WorkflowRuntimeException("Error determining Last Action Taken Date.", e);
            } finally {
                if (statement != null) {
                    try {
                        statement.close();
                    } catch (SQLException e) {
                    // should we be logging something?
                    }
                }
                if (resultSet != null) {
                    try {
                        resultSet.close();
                    } catch (SQLException e) {
                    // should we be logging something?
                    }
                }
            }
        }
    });
}
Also used : PersistenceBroker(org.apache.ojb.broker.PersistenceBroker) SQLException(java.sql.SQLException) PersistenceBrokerCallback(org.springmodules.orm.ojb.PersistenceBrokerCallback) ResultSet(java.sql.ResultSet) Connection(java.sql.Connection) PreparedStatement(java.sql.PreparedStatement) WorkflowRuntimeException(org.kuali.kfs.kew.api.WorkflowRuntimeException) Timestamp(java.sql.Timestamp) WorkflowRuntimeException(org.kuali.kfs.kew.api.WorkflowRuntimeException) SQLException(java.sql.SQLException)

Aggregations

Connection (java.sql.Connection)4 PreparedStatement (java.sql.PreparedStatement)4 ResultSet (java.sql.ResultSet)4 SQLException (java.sql.SQLException)4 PersistenceBroker (org.apache.ojb.broker.PersistenceBroker)4 WorkflowRuntimeException (org.kuali.kfs.kew.api.WorkflowRuntimeException)4 PersistenceBrokerCallback (org.springmodules.orm.ojb.PersistenceBrokerCallback)4 Timestamp (java.sql.Timestamp)2 LookupException (org.apache.ojb.broker.accesslayer.LookupException)2 ArrayList (java.util.ArrayList)1 List (java.util.List)1