resultQuery.append("WITH NUMBEREDITEM AS (");\r
Metadata orderMetadata = rp.getOrderBy();\r
if (queryObject.hasOrderInfo())\r
- qf.format("SELECT ROWNUMBER() OVER (ORDER BY %1$s %2$s) AS RN, ", orderMetadata.getOrderName("i", "md"), rp.getOrderDirection().name());\r
+ qf.format("SELECT ROWNUMBER() OVER (ORDER BY %1$s %2$s) AS RN, ", orderMetadata.getOrderName("i", "md"),\r
+ rp.getOrderDirection().name());\r
else\r
resultQuery.append("SELECT ROWNUMBER() OVER () AS RN, ");\r
- resultQuery.append("i.ID, i.TITLE, i.DESCRIPTION, i.ITEMTYPEID, i.HOUSEID, i.CREATED, i.ISFOLDER FROM ITEM i ");\r
+ resultQuery.append(\r
+ "i.ID, i.TITLE, i.DESCRIPTION, i.ITEMTYPEID, i.HOUSEID, i.CREATED, i.ISFOLDER FROM ITEM i ");\r
String orderTableName = orderMetadata.getTableName();\r
if (orderTableName != null)\r
qf.format("LEFT OUTER JOIN %1$s md ON (md.ID = i.ID) ", orderTableName);\r
qf.format("(SELECT ii.ID %1$s AND ii.ITEMTYPEID = %2$d))", innerQuery, csr.getItemType().getId());\r
qf.format(" SELECT * FROM NUMBEREDITEM WHERE RN BETWEEN %1$d AND %2$d", bottom, top);\r
} else {\r
- resultQuery.append("SELECT i.ID, i.TITLE, i.DESCRIPTION, i.ITEMTYPEID, i.HOUSEID, i.CREATED, i.ISFOLDER FROM ITEM i ");\r
+ resultQuery.append(\r
+ "SELECT i.ID, i.TITLE, i.DESCRIPTION, i.ITEMTYPEID, i.HOUSEID, i.CREATED, i.ISFOLDER FROM ITEM i ");\r
resultQuery.append("WHERE i.ID IN ");\r
qf.format("(SELECT ii.ID %1$s) ORDER BY i.TITLE", innerQuery);\r
}\r
\r
+ qf.close();\r
logger.trace(resultQuery.toString());\r
return resultQuery.toString();\r
}\r
\r
- private List<ComplexSearchResult> getResultHeaders(Connection connection, QueryObject queryObject, String innerQuery) {\r
+ private List<ComplexSearchResult> getResultHeaders(Connection connection, QueryObject queryObject,\r
+ String innerQuery) {\r
List<ComplexSearchResult> results = new ArrayList<ComplexSearchResult>();\r
String typeQuery;\r
if (queryObject.getParameters() == null)\r
typeQuery = String.format("SELECT CAST(COUNT(DISTINCT(ii.ID)) AS BIGINT) %s", innerQuery);\r
else\r
- typeQuery = String.format("SELECT ii.ITEMTYPEID, CAST(COUNT(DISTINCT(ii.ID)) AS BIGINT) %s GROUP BY ii.ITEMTYPEID", innerQuery);\r
+ typeQuery = String.format(\r
+ "SELECT ii.ITEMTYPEID, CAST(COUNT(DISTINCT(ii.ID)) AS BIGINT) %s GROUP BY ii.ITEMTYPEID",\r
+ innerQuery);\r
\r
logger.trace(typeQuery.toString());\r
PreparedStatement st = null;\r
try {\r
StringBuffer sql = new StringBuffer();\r
sql.append("select * from ((");\r
- sql.append("select distinct i.id,i.itemtypeid,i.houseid,i.title,i.description,i.isfolder,i.created,i.modified from item i, media m, mediafile mf");\r
+ sql.append(\r
+ "select distinct i.id,i.itemtypeid,i.houseid,i.title,i.description,i.isfolder,i.created,i.modified from item i, media m, mediafile mf");\r
sql.append(\r
" where ((CONTAINS(i.title, ?) >= 1) OR (CONTAINS(i.description, ?) >= 1) OR (CONTAINS(i.houseId, ?) >= 1)) and m.itemid = i.id and mf.MEDIAID = m.id");\r
sql.append(")UNION(");\r
sql.append(")) order by title");\r
String query = sql.toString();\r
/*\r
- query = "SELECT i.* from item i, media m, mediafile mf WHERE m.ITEMID = i.id AND mf.MEDIAID = m.ID"\r
- + " AND (" + "(CONTAINS(i.TITLE, '" + criteria + "') >= 1) OR (CONTAINS(i.DESCRIPTION, '" + criteria\r
- + "') >= 1)" + " OR (CONTAINS(m.TITLE, '" + criteria + "') >= 1) OR (CONTAINS(m.DESCRIPTION, '"\r
- + criteria + "') >= 1)" + " OR (CONTAINS(mf.HOUSEID, '" + criteria\r
- + "') >= 1)) ORDER BY i.title";\r
- */\r
+ * query =\r
+ * "SELECT i.* from item i, media m, mediafile mf WHERE m.ITEMID = i.id AND mf.MEDIAID = m.ID"\r
+ * + " AND (" + "(CONTAINS(i.TITLE, '" + criteria +\r
+ * "') >= 1) OR (CONTAINS(i.DESCRIPTION, '" + criteria + "') >= 1)" +\r
+ * " OR (CONTAINS(m.TITLE, '" + criteria +\r
+ * "') >= 1) OR (CONTAINS(m.DESCRIPTION, '" + criteria + "') >= 1)" +\r
+ * " OR (CONTAINS(mf.HOUSEID, '" + criteria + "') >= 1)) ORDER BY i.title";\r
+ */\r
// query = "SELECT * FROM ITEM ORDER BY title";\r
\r
st = connection.prepareStatement(query, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);\r
}\r
} else {\r
if (result.getItemCount() > 0) {\r
- throw new Exception("Invalid searchResult 'from' position: " + fromResult + " total records: " + result.getItemCount() + " " + query);\r
+ throw new Exception("Invalid searchResult 'from' position: " + fromResult + " total records: "\r
+ + result.getItemCount() + " " + query);\r
}\r
}\r
} else {\r