keresesi lista sebesseg atmeneti javitasa
authorelgekko <vasary@elgekko.net>
Tue, 10 May 2022 08:41:12 +0000 (10:41 +0200)
committerelgekko <vasary@elgekko.net>
Tue, 10 May 2022 08:41:12 +0000 (10:41 +0200)
server/user.jobengine.osgi.db/src/user/jobengine/db/ItemManager.java
server/user.jobengine.osgi.db/src/user/jobengine/search/MediaFinder.java
server/user.mediacube.gui/src/user/jobengine/zk/model/CachedListModel.java

index e91496784485ee03aad7d080dbda3c0aab71ff9c..b4c0b443c5c2a41a79e9e728c8f2bd78e65793e0 100644 (file)
@@ -510,13 +510,19 @@ public class ItemManager extends MemoryCache implements IItemManager {
 \r
                                if (!consumer.process(rs)) {\r
                                        // ha nem megyunk vegig pool exception a tranzakcio miatt\r
-                                       connection.rollback();\r
+                                       try {\r
+                                               connection.rollback();\r
+                                       } catch (Exception e1) {\r
+                                       }\r
                                        break;\r
                                }\r
 \r
                        }\r
 \r
-                       connection.commit();\r
+                       try {\r
+                               connection.commit();\r
+                       } catch (Exception e1) {\r
+                       }\r
                } catch (Exception e) {\r
                        logger.catching(e);\r
                        try {\r
index fa181e7d07b2e6bfe1664d81ce6743d9f720e582..4662bbc057d34021fba0017c19b20dbd0988c613 100644 (file)
@@ -28,8 +28,7 @@ public class MediaFinder implements IMediaFinder {
                this.manager = manager;\r
        }\r
 \r
-       private PreparedStatement createStatement(Connection connection, String criteria, SearchOptions options)\r
-                       throws Exception {\r
+       private PreparedStatement createStatement(Connection connection, String criteria, SearchOptions options) throws Exception {\r
                String criteriasPattern = getCriteriasRegexPattern(criteria);\r
 \r
                StringBuilder sql = new StringBuilder();\r
@@ -48,8 +47,7 @@ public class MediaFinder implements IMediaFinder {
                        sql.append("m.modified,");\r
                        sql.append("m.length,");\r
                        sql.append("m.itemtypeid mediaitemtypeid,");\r
-                       sql.append(String.format("HIGHLIGHT(md.description, '<span class=''rhl''>', '</span>', '%s') description,",\r
-                                       criteriasPattern));\r
+                       sql.append(String.format("HIGHLIGHT(md.description, '<span class=''rhl''>', '</span>', '%s') description,", criteriasPattern));\r
                        sql.append("it.name mediaitemtypename,");\r
                        sql.append("m.houseid mediahouseid,");\r
                        sql.append("mf.houseid mediafilehouseid,");\r
@@ -117,8 +115,7 @@ public class MediaFinder implements IMediaFinder {
                String query = sql.toString();\r
                logger.info(query);\r
 \r
-               PreparedStatement st = connection.prepareStatement(query, ResultSet.TYPE_FORWARD_ONLY,\r
-                               ResultSet.CONCUR_UPDATABLE);\r
+               PreparedStatement st = connection.prepareStatement(query, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE);\r
 //             PreparedStatement st = connection.prepareStatement(query, ResultSet.TYPE_SCROLL_INSENSITIVE,\r
 //                             ResultSet.CONCUR_READ_ONLY);\r
 \r
@@ -288,118 +285,16 @@ public class MediaFinder implements IMediaFinder {
                manager.traceIn();\r
                SearchResult<ArchivedMedia> result = new SearchResult<>();\r
 \r
-               long numberOfRecords = getNumberOfRecords(options);\r
-               logger.info("Number of records {}", numberOfRecords);\r
+               if (options.getFromResult() == 0) {\r
+                       long numberOfRecords = getNumberOfRecords(options);\r
+                       logger.info("Number of records {}", numberOfRecords);\r
+\r
+                       result.setItemCount(numberOfRecords);\r
+               }\r
 \r
-               result.setItemCount(numberOfRecords);\r
                getSearchResults(result, options);\r
                manager.traceOut();\r
                return result;\r
        }\r
 \r
-       public SearchResult<ArchivedMedia> search_v1(SearchOptions options) {\r
-               SearchResult<ArchivedMedia> result = new SearchResult<>();\r
-\r
-               ResultSet rs = null;\r
-               PreparedStatement st = null;\r
-               DefaultContext context = manager.getDbContext();\r
-               Connection connection = context.getConnection();\r
-               try {\r
-                       int maxRecords = options.getToResult() - options.getFromResult();\r
-\r
-                       st = createStatement(connection, options.getText(), options);\r
-\r
-                       logger.info("Executing query, fetch size is {}, autocommit {}", st.getFetchSize(),\r
-                                       connection.getAutoCommit());\r
-                       rs = st.executeQuery();\r
-                       logger.info("Checking size");\r
-                       rs.last();\r
-                       result.setItemCount(rs.getRow());\r
-                       logger.info("Result size is {}", result.getItemCount());\r
-\r
-                       // set begining position\r
-                       if (options.getFromResult() > -1) {\r
-                               if (options.getFromResult() <= result.getItemCount()) {\r
-                                       if (options.getFromResult() > 1) {\r
-                                               rs.absolute(options.getFromResult() - 1);\r
-                                       } else {\r
-                                               rs.beforeFirst();\r
-                                       }\r
-                               } else {\r
-                                       if (result.getItemCount() > 0) {\r
-                                               throw new Exception("Invalid searchResult 'from' position: " + options.getFromResult()\r
-                                                               + " total records: " + result.getItemCount());\r
-                                       }\r
-                               }\r
-                       } else {\r
-                               rs.beforeFirst();\r
-                       }\r
-\r
-                       List<ArchivedMedia> resultList = null;\r
-                       logger.info("Processing query result, maxRecords {}", maxRecords);\r
-                       while (rs.next() && maxRecords > 0) {\r
-                               ItemType it = new ItemType();\r
-                               it.setId(rs.getLong("mediaitemtypeid"));\r
-                               it.setName(rs.getString("mediaitemtypename"));\r
-\r
-                               Item item = new Item();\r
-                               item.setId(rs.getLong("itemid"));\r
-                               item.setTitle(rs.getString("itemtitle"));\r
-\r
-                               Media media = new Media();\r
-\r
-                               media.setItemId(item.getId());\r
-                               media.setItemType(it);\r
-                               media.setId(rs.getLong("mediaid"));\r
-                               media.setTitle(rs.getString("mediatitle"));\r
-                               media.setHouseId(rs.getString("mediahouseid"));\r
-                               media.setCreation(rs.getTimestamp("creation"));\r
-                               media.setCreated(rs.getTimestamp("created"));\r
-                               media.setModified(rs.getTimestamp("modified"));\r
-                               media.setArchived(rs.getTimestamp("archived"));\r
-                               media.setLength(rs.getLong("length"));\r
-                               media.setMediaFilesCount(rs.getInt("mediafilecount"));\r
-                               media.setMediaFilesName(rs.getString("mediafilehouseid"));\r
-\r
-                               ArchivedMedia am = new ArchivedMedia();\r
-                               am.setMedia(media);\r
-                               am.setItem(item);\r
-\r
-                               if (resultList == null)\r
-                                       resultList = new ArrayList<>();\r
-                               resultList.add(am);\r
-\r
-                               am.setRelevant(rs.getString("description"));\r
-                               // setRelevant(criterias, am, rs.getString("description"));\r
-                               maxRecords--;\r
-                       }\r
-                       logger.info("Query result processed");\r
-                       result.setItems(resultList);\r
-                       connection.commit();\r
-               } catch (Exception e) {\r
-                       try {\r
-                               connection.rollback();\r
-                       } catch (Exception e1) {\r
-                               e1.printStackTrace();\r
-                       }\r
-                       manager.throwError(e);\r
-               } finally {\r
-                       try {\r
-\r
-                               if (rs != null)\r
-                                       rs.close();\r
-                       } catch (Exception e1) {\r
-                       }\r
-                       try {\r
-                               if (st != null)\r
-                                       st.close();\r
-                       } catch (Exception e1) {\r
-                       }\r
-\r
-                       manager.putDbContext(context);\r
-               }\r
-               manager.traceOut();\r
-\r
-               return result;\r
-       }\r
 }\r
index dcb1e72d17a404dcd39911865dfe22f9ef654d9e..dded66f51950bb6b09355a62b7a4544abb1096fc 100644 (file)
@@ -26,7 +26,7 @@ import user.jobengine.search.SearchResult;
 public class CachedListModel extends ListModelList<ArchivedMedia> {\r
        private static final long serialVersionUID = 1L;\r
        private static final Logger logger = LogManager.getLogger();\r
-       private int cacheSize = 50;\r
+       private int cacheSize = 1000;\r
        private HashMap<Integer, ArchivedMedia> cache = new HashMap<Integer, ArchivedMedia>();\r
        private boolean cachedMode = true;\r
 \r