From b0a37f7637f456b5fb544ba6231ea68fae5dadc9 Mon Sep 17 00:00:00 2001 From: "vasary.daniel" Date: Thu, 9 Sep 2021 15:03:04 +0000 Subject: [PATCH] git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C32329 --- .../user/jobengine/search/MediaFinder.java | 20 +++- .../user.mediacube.gui/js/metadatadetails.js | 34 ++++++ .../user.mediacube.gui/pages/edithistory.zul | 13 +++ .../pages/metadatadetails.zul | 109 +++++++++--------- .../pages/searchitems/results.zul | 6 +- .../zk/model/MetadataDetailsModel.java | 1 + 6 files changed, 121 insertions(+), 62 deletions(-) create mode 100644 server/user.mediacube.gui/js/metadatadetails.js diff --git a/server/user.jobengine.osgi.db/src/user/jobengine/search/MediaFinder.java b/server/user.jobengine.osgi.db/src/user/jobengine/search/MediaFinder.java index 99252c36..a8f27c1d 100644 --- a/server/user.jobengine.osgi.db/src/user/jobengine/search/MediaFinder.java +++ b/server/user.jobengine.osgi.db/src/user/jobengine/search/MediaFinder.java @@ -27,7 +27,8 @@ public class MediaFinder implements IMediaFinder { this.manager = manager; } - private PreparedStatement createStatement(Connection connection, String criteria, SearchOptions options) throws Exception { + private PreparedStatement createStatement(Connection connection, String criteria, SearchOptions options) + throws Exception { String criteriasPattern = getCriteriasRegexPattern(criteria); StringBuilder sql = new StringBuilder(); @@ -38,9 +39,12 @@ public class MediaFinder implements IMediaFinder { sql.append("m.title mediatitle,"); sql.append("m.archived,"); sql.append("m.creation,"); + sql.append("m.created,"); + sql.append("m.modified,"); sql.append("m.length,"); sql.append("m.itemtypeid mediaitemtypeid,"); - sql.append(String.format("HIGHLIGHT(md.description, '', '', '%s') description,", criteriasPattern)); + sql.append(String.format("HIGHLIGHT(md.description, '', '', '%s') description,", + criteriasPattern)); sql.append("it.name mediaitemtypename,"); sql.append("m.houseid mediahouseid,"); sql.append("mf.houseid mediafilehouseid,"); @@ -80,10 +84,10 @@ public class MediaFinder implements IMediaFinder { } if (options.getFrom() != null) - sql.append(String.format(" AND m.archived > '%s'", df.format(options.getFrom()))); + sql.append(String.format(" AND m.creation > '%s'", df.format(options.getFrom()))); if (options.getTo() != null) - sql.append(String.format(" AND m.archived < '%s'", df.format(options.getTo()))); + sql.append(String.format(" AND m.creation < '%s'", df.format(options.getTo()))); if (options.isMissingProxy()) sql.append(" AND vw_mf.mediafilecount=1"); @@ -101,7 +105,8 @@ public class MediaFinder implements IMediaFinder { String query = sql.toString(); logger.info(query); - PreparedStatement st = connection.prepareStatement(query, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE); + PreparedStatement st = connection.prepareStatement(query, ResultSet.TYPE_SCROLL_INSENSITIVE, + ResultSet.CONCUR_UPDATABLE); // Ettol elszall a 11.5-on a kereses // if (criteria != null && criteria.trim().length() > 0) { @@ -160,7 +165,8 @@ public class MediaFinder implements IMediaFinder { } } else { if (result.getItemCount() > 0) { - throw new Exception("Invalid searchResult 'from' position: " + options.getFromResult() + " total records: " + result.getItemCount()); + throw new Exception("Invalid searchResult 'from' position: " + options.getFromResult() + + " total records: " + result.getItemCount()); } } } else { @@ -188,6 +194,8 @@ public class MediaFinder implements IMediaFinder { media.setTitle(rs.getString("mediatitle")); media.setHouseId(rs.getString("mediahouseid")); media.setCreation(rs.getTimestamp("creation")); + media.setCreated(rs.getTimestamp("created")); + media.setModified(rs.getTimestamp("modified")); media.setArchived(rs.getTimestamp("archived")); media.setLength(rs.getLong("length")); media.setMediaFilesCount(rs.getInt("mediafilecount")); diff --git a/server/user.mediacube.gui/js/metadatadetails.js b/server/user.mediacube.gui/js/metadatadetails.js new file mode 100644 index 00000000..67e41a7d --- /dev/null +++ b/server/user.mediacube.gui/js/metadatadetails.js @@ -0,0 +1,34 @@ +if ('webkitSpeechRecognition' in window) { + console.log('speech recognition API supported') +} else { + console.log('speech recognition API not supported') +} + +function updateTC() { + var tcval = zk.$('$tc').getValue()._value; + var tc = framesToSMPTE(tcval); + console.log(tc); + zk.$('$tcf').setValue(tcToStr(tc)); +} + +function tcToStr(tc) { + return tc.h + ":" + tc.m + ":" + tc.s + ":" + tc.f; +} + +function framesToSMPTE(frames) { + + var frameRate = 25; + var reminder = frames; + + var h = Math.floor(reminder / (60 * 60 * frameRate)); + reminder = reminder % (60 * 60 * frameRate); + + var m = Math.floor(reminder / (60 * frameRate)); + reminder = reminder % (60 * frameRate); + + var s = Math.floor(reminder / frameRate); + reminder = reminder % frameRate; + + var f = reminder; + return {h: h, m: m, s: s, f: f}; +} diff --git a/server/user.mediacube.gui/pages/edithistory.zul b/server/user.mediacube.gui/pages/edithistory.zul index eb642e48..c9f80479 100644 --- a/server/user.mediacube.gui/pages/edithistory.zul +++ b/server/user.mediacube.gui/pages/edithistory.zul @@ -1,5 +1,6 @@ +