Search in sources :

Example 11 with WorkflowRuntimeException

use of org.kuali.kfs.kew.api.WorkflowRuntimeException in project cu-kfs by CU-CommunityApps.

the class DocumentRouteHeaderDAOOjbImpl method findPendingByResponsibilityIds.

public Collection<String> findPendingByResponsibilityIds(Set<String> responsibilityIds) {
    Collection<String> documentIds = new ArrayList<>();
    if (responsibilityIds.isEmpty()) {
        return documentIds;
    }
    PersistenceBroker broker = null;
    Connection conn = null;
    Statement statement = null;
    ResultSet rs = null;
    try {
        broker = getPersistenceBroker(false);
        conn = broker.serviceConnectionManager().getConnection();
        String respIds = "('";
        int index = 0;
        for (String responsibilityId : responsibilityIds) {
            respIds += responsibilityId + (index == responsibilityIds.size() - 1 ? "" : "','");
            index++;
        }
        respIds += "')";
        String query = "SELECT DISTINCT(doc_hdr_id) FROM KREW_ACTN_RQST_T " + "WHERE (STAT_CD='" + ActionRequestStatus.INITIALIZED.getCode() + "' OR STAT_CD='" + ActionRequestStatus.ACTIVATED.getCode() + "') AND RSP_ID IN " + respIds;
        LOG.debug("Query to find pending documents for requeue: " + query);
        statement = conn.createStatement();
        rs = statement.executeQuery(query);
        while (rs.next()) {
            documentIds.add(rs.getString(1));
        }
    } catch (SQLException sqle) {
        LOG.error("SQLException: " + sqle.getMessage(), sqle);
        throw new WorkflowRuntimeException(sqle);
    } catch (LookupException le) {
        LOG.error("LookupException: " + le.getMessage(), le);
        throw new WorkflowRuntimeException(le);
    } finally {
        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException e) {
                LOG.warn("Could not close result set.");
            }
        }
        if (statement != null) {
            try {
                statement.close();
            } catch (SQLException e) {
                LOG.warn("Could not close statement.");
            }
        }
        try {
            if (broker != null) {
                OjbFactoryUtils.releasePersistenceBroker(broker, this.getPersistenceBrokerTemplate().getPbKey());
            }
        } catch (Exception e) {
            LOG.error("Failed closing connection: " + e.getMessage(), e);
        }
    }
    return documentIds;
}
Also used : PersistenceBroker(org.apache.ojb.broker.PersistenceBroker) LookupException(org.apache.ojb.broker.accesslayer.LookupException) SQLException(java.sql.SQLException) PreparedStatement(java.sql.PreparedStatement) Statement(java.sql.Statement) ArrayList(java.util.ArrayList) Connection(java.sql.Connection) ResultSet(java.sql.ResultSet) WorkflowRuntimeException(org.kuali.kfs.kew.api.WorkflowRuntimeException) LookupException(org.apache.ojb.broker.accesslayer.LookupException) WorkflowRuntimeException(org.kuali.kfs.kew.api.WorkflowRuntimeException) SQLException(java.sql.SQLException) OptimisticLockException(org.apache.ojb.broker.OptimisticLockException) CannotAcquireLockException(org.springframework.dao.CannotAcquireLockException) LockingException(org.kuali.kfs.kew.api.exception.LockingException)

Example 12 with WorkflowRuntimeException

use of org.kuali.kfs.kew.api.WorkflowRuntimeException in project cu-kfs by CU-CommunityApps.

the class DocumentRouteHeaderDAOOjbImpl method findByDocTypeAndAppId.

public Collection findByDocTypeAndAppId(String documentTypeName, String appId) {
    Collection documentIds = new ArrayList<>();
    PersistenceBroker broker = null;
    Connection conn = null;
    ResultSet rs = null;
    try {
        broker = getPersistenceBroker(false);
        conn = broker.serviceConnectionManager().getConnection();
        String query = "SELECT DISTINCT " + "    (docHdr.doc_hdr_id) " + "FROM " + "    KREW_DOC_HDR_T docHdr, " + "    KREW_DOC_TYP_T docTyp " + "WHERE " + "    docHdr.APP_DOC_ID     = ? " + "    AND docHdr.DOC_TYP_ID = docTyp.DOC_TYP_ID " + "    AND docTyp.DOC_TYP_NM = ?";
        LOG.debug("Query to find documents by app id: " + query);
        PreparedStatement stmt = conn.prepareStatement(query);
        stmt.setString(1, appId);
        stmt.setString(2, documentTypeName);
        rs = stmt.executeQuery();
        while (rs.next()) {
            documentIds.add(new String(rs.getString(1)));
        }
        rs.close();
    } catch (SQLException sqle) {
        LOG.error("SQLException: " + sqle.getMessage(), sqle);
        throw new WorkflowRuntimeException(sqle);
    } catch (LookupException le) {
        LOG.error("LookupException: " + le.getMessage(), le);
        throw new WorkflowRuntimeException(le);
    } finally {
        try {
            if (broker != null) {
                OjbFactoryUtils.releasePersistenceBroker(broker, this.getPersistenceBrokerTemplate().getPbKey());
            }
        } catch (Exception e) {
            LOG.error("Failed closing connection: " + e.getMessage(), e);
        }
    }
    return documentIds;
}
Also used : PersistenceBroker(org.apache.ojb.broker.PersistenceBroker) LookupException(org.apache.ojb.broker.accesslayer.LookupException) SQLException(java.sql.SQLException) ArrayList(java.util.ArrayList) Connection(java.sql.Connection) ResultSet(java.sql.ResultSet) Collection(java.util.Collection) PreparedStatement(java.sql.PreparedStatement) WorkflowRuntimeException(org.kuali.kfs.kew.api.WorkflowRuntimeException) LookupException(org.apache.ojb.broker.accesslayer.LookupException) WorkflowRuntimeException(org.kuali.kfs.kew.api.WorkflowRuntimeException) SQLException(java.sql.SQLException) OptimisticLockException(org.apache.ojb.broker.OptimisticLockException) CannotAcquireLockException(org.springframework.dao.CannotAcquireLockException) LockingException(org.kuali.kfs.kew.api.exception.LockingException)

Aggregations

WorkflowRuntimeException (org.kuali.kfs.kew.api.WorkflowRuntimeException)12 Connection (java.sql.Connection)6 PreparedStatement (java.sql.PreparedStatement)6 ResultSet (java.sql.ResultSet)6 SQLException (java.sql.SQLException)6 PersistenceBroker (org.apache.ojb.broker.PersistenceBroker)6 IOException (java.io.IOException)4 ParseException (java.text.ParseException)4 ServletException (javax.servlet.ServletException)4 LookupException (org.apache.ojb.broker.accesslayer.LookupException)4 ActionMessage (org.apache.struts.action.ActionMessage)4 ActionMessages (org.apache.struts.action.ActionMessages)4 WorkflowServiceErrorException (org.kuali.kfs.kew.exception.WorkflowServiceErrorException)4 DocumentRouteHeaderValue (org.kuali.kfs.kew.routeheader.DocumentRouteHeaderValue)4 PersistenceBrokerCallback (org.springmodules.orm.ojb.PersistenceBrokerCallback)4 ArrayList (java.util.ArrayList)3 UnsupportedEncodingException (java.io.UnsupportedEncodingException)2 Timestamp (java.sql.Timestamp)2 HashSet (java.util.HashSet)2 OptimisticLockException (org.apache.ojb.broker.OptimisticLockException)2