return queryBuilder.getQuery();\r
}\r
\r
- private String buildResultQuery(QueryObject queryObject, String innerQuery, SearchResult csr) {\r
+ private String buildResultQuery(QueryObject queryObject, String innerQuery, ComplexSearchResult csr) {\r
StringBuilder resultQuery = new StringBuilder();\r
Formatter qf = new Formatter(resultQuery, Locale.getDefault());\r
RenderParameter rp = queryObject.getParameters();\r
return resultQuery.toString();\r
}\r
\r
- private List<SearchResult> getResultHeaders(Connection connection, QueryObject queryObject, String innerQuery) {\r
- List<SearchResult> results = new ArrayList<SearchResult>();\r
+ private List<ComplexSearchResult> getResultHeaders(Connection connection, QueryObject queryObject, 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
st = connection.prepareStatement(typeQuery);\r
rs = st.executeQuery();\r
while (rs.next()) {\r
- SearchResult sr = new SearchResult();\r
+ ComplexSearchResult sr = new ComplexSearchResult();\r
if (queryObject.getParameters() == null) {\r
sr.setItemCount(rs.getLong(1));\r
} else {\r
}\r
\r
@SuppressWarnings("unchecked")\r
- public List<SearchResult> search(QueryObject queryObject) {\r
+ public List<ComplexSearchResult> search(QueryObject queryObject) {\r
manager.traceIn();\r
if (queryObject == null || queryObject.getFilters() == null || queryObject.getFilters().size() == 0)\r
throw new IllegalArgumentException("QueryObject not specified.");\r
\r
- List<SearchResult> results = new ArrayList<SearchResult>();\r
+ List<ComplexSearchResult> results = new ArrayList<ComplexSearchResult>();\r
\r
ResultSet rs = null;\r
PreparedStatement st = null;\r
// ItemType-onk�nt t�bbe\r
results = getResultHeaders(connection, queryObject, innerQuery);\r
} else {\r
- SearchResult sr = new SearchResult();\r
+ ComplexSearchResult sr = new ComplexSearchResult();\r
ItemType itemType = (ItemType) manager.get(ItemType.class, queryObject.getActiveItemTypeId());\r
sr.setItemType(itemType);\r
// TODO\r
}\r
\r
if (results.size() != 0) {\r
- SearchResult csr = results.get(0);\r
+ ComplexSearchResult csr = results.get(0);\r
String resultQuery = buildResultQuery(queryObject, innerQuery, csr);\r
st = connection.prepareStatement(resultQuery);\r
\r
return results;\r
}\r
\r
- public SearchResult<Item> search(String criteria, int fromResult, int toResult) {\r
- SearchResult<Item> result = new SearchResult<Item>();\r
+ public ComplexSearchResult<Item> search(String criteria, int fromResult, int toResult) {\r
+ ComplexSearchResult<Item> result = new ComplexSearchResult<Item>();\r
\r
ResultSet rs = null;\r
PreparedStatement st = null;\r
String dbPassword = null;\r
\r
private SignalServer signalServer;\r
+ private boolean useLucene;\r
private IMediaFinder finder;\r
\r
public ItemManager() {\r
// System.getProperty("jobengine.mediafinder.external") == true\r
// System.getProperty("jobengine.mediafinder.external.url")\r
\r
- boolean useLucene = false;\r
try {\r
useLucene = Boolean.parseBoolean(System.getProperty(JOBENGINE_MEDIAFINDER_EXTERNAL));\r
} catch (Exception e) {\r
logger.info("Configuration property {} mising", JOBENGINE_MEDIAFINDER_EXTERNAL);\r
}\r
\r
- if (useLucene) {\r
- finder = new LuceneMediaFinder();\r
- } else {\r
- finder = new MediaFinder(this);\r
- }\r
+ finder = createFinder();\r
}\r
\r
- // public ItemManager(SignalServer signalServer) {\r
- // initializeItemManager(signalServer);\r
- // }\r
-\r
public void activate() {\r
// logger.info("ItemManager activated.");\r
}\r
\r
+ // public ItemManager(SignalServer signalServer) {\r
+ // initializeItemManager(signalServer);\r
+ // }\r
+\r
@Override\r
public void add(IEntityBase entity) {\r
traceIn();\r
return entity;\r
}\r
\r
+ private IMediaFinder createFinder() {\r
+ IMediaFinder finder = null;\r
+ if (useLucene) {\r
+ finder = new LuceneMediaFinder();\r
+ } else {\r
+ finder = new MediaFinder(this);\r
+ }\r
+ return finder;\r
+ }\r
+\r
@Override\r
public Item createItem(String name, String description, String houseId) {\r
return createItem(null, name, description, houseId);\r
int toResult) {\r
traceIn();\r
SearchResult<ArchivedMedia> result = finder.search(criteria, searchFilters, orderBy, orderAscending, fromResult, toResult);\r
+\r
traceOut();\r
return result;\r
}\r