use of org.apache.ojb.broker.PersistenceBroker 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;
}
Aggregations