From: Vásáry Dániel Date: Thu, 11 Apr 2024 11:45:45 +0000 (+0200) Subject: Config changes X-Git-Url: http://git.useribm.hu/?a=commitdiff_plain;h=815e4205863f11816c56907236cc060f8dc77727;p=mediacube.git Config changes --- diff --git a/server/-product/production/HIRTV/settings/application.yaml b/server/-product/production/HIRTV/settings/application.yaml index e4630077..5cbbead0 100644 --- a/server/-product/production/HIRTV/settings/application.yaml +++ b/server/-product/production/HIRTV/settings/application.yaml @@ -21,7 +21,7 @@ services: ffmpeg: execurable-location: /opt/ffmpeg/ffmpeg mediacube: - proxy-root: /mediacube/data/lowres/www/video + proxy-root: /temp nexio: host: 10.10.1.55 collection-name: nexioclips diff --git a/server/user.jobengine.osgi.services/src/user/jobengine/osgi/rest/ComponentBinder.java b/server/user.jobengine.osgi.services/src/user/jobengine/osgi/rest/ComponentBinder.java index ce6e54f4..fee480df 100644 --- a/server/user.jobengine.osgi.services/src/user/jobengine/osgi/rest/ComponentBinder.java +++ b/server/user.jobengine.osgi.services/src/user/jobengine/osgi/rest/ComponentBinder.java @@ -24,26 +24,30 @@ public class ComponentBinder { private static IConfiguration systemConfig; public static IItemManager getItemManager() { - if (itemManager == null) + if (itemManager == null) { throw new RuntimeException("IItemManager is null"); + } return itemManager; } public static IJobEngine getJobengine() { - if (jobengine == null) + if (jobengine == null) { throw new RuntimeException("IJobEngine is null"); + } return jobengine; } public static INexioAPI getNexioAPI() { - if (nexioAPI == null) + if (nexioAPI == null) { throw new RuntimeException("INexioAPI is null"); + } return nexioAPI; } public static IOctopusAPI getOctopusAPI() { - if (octopusAPI == null) + if (octopusAPI == null) { throw new RuntimeException("IOctopusAPI is null"); + } return octopusAPI; } @@ -52,7 +56,7 @@ public class ComponentBinder { } public synchronized void bindService(Object service) { - //logger.info("Ref {}", service.getClass()); + // logger.info("Ref {}", service.getClass()); if (service instanceof IJobEngine) { jobengine = (IJobEngine) service; @@ -96,10 +100,10 @@ public class ComponentBinder { } logger.info(MarkerManager.getMarker(MEDIACUBE), "A MediaCube server elindult."); - // Marker m = MarkerManager.getMarker("MEDIACUBE_DAILY"); - // for (int i = 0; i < 10; i++) { - // logger.info(m, "Burst teszt " + i); - // } + // Marker m = MarkerManager.getMarker("MEDIACUBE_DAILY"); + // for (int i = 0; i < 10; i++) { + // logger.info(m, "Burst teszt " + i); + // } } public synchronized void unbindService(Object service) { diff --git a/server/user.mediacube.gui/.classpath b/server/user.mediacube.gui/.classpath index 0a6e3a46..619e72b0 100644 --- a/server/user.mediacube.gui/.classpath +++ b/server/user.mediacube.gui/.classpath @@ -1,5 +1,6 @@ + diff --git a/server/user.mediacube.gui/META-INF/MANIFEST.MF b/server/user.mediacube.gui/META-INF/MANIFEST.MF index 9d7555f0..58be0aa8 100644 --- a/server/user.mediacube.gui/META-INF/MANIFEST.MF +++ b/server/user.mediacube.gui/META-INF/MANIFEST.MF @@ -11,9 +11,11 @@ Require-Bundle: user.jobengine.osgi.db;bundle-version="1.0.0", user.commons.zk;bundle-version="1.0.0", org.apache.servicemix.bundles.quartz;bundle-version="2.3.0", user.jobengine.osgi.server -Export-Package: user.jobengine.gui +Export-Package: org.zkoss.theme.userdark, + user.jobengine.gui DynamicImport-Package: * -Bundle-ClassPath: . +Bundle-ClassPath: ., + lib/userdark-1.0.0.jar Bundle-ActivationPolicy: lazy Web-ContextPath: / Bundle-RequiredExecutionEnvironment: JavaSE-1.8 diff --git a/server/user.mediacube.gui/build.properties b/server/user.mediacube.gui/build.properties index d63ad93d..84487e0a 100644 --- a/server/user.mediacube.gui/build.properties +++ b/server/user.mediacube.gui/build.properties @@ -11,5 +11,6 @@ bin.includes = .,\ img/,\ js/,\ resources/,\ - lib/ + lib/,\ + lib/userdark-1.0.0.jar src.includes = .,WEB-INF/,index.zul,pages/,css/,img/,js/,resources/ diff --git a/server/user.mediacube.gui/lib/userdark-1.0.0.jar b/server/user.mediacube.gui/lib/userdark-1.0.0.jar index 956a232a..2cb1b7c6 100644 Binary files a/server/user.mediacube.gui/lib/userdark-1.0.0.jar and b/server/user.mediacube.gui/lib/userdark-1.0.0.jar differ diff --git a/server/user.mediacube.gui/src/user/jobengine/zk/model/GridSearchModel.java b/server/user.mediacube.gui/src/user/jobengine/zk/model/GridSearchModel.java index 3c620e7c..457ba0b2 100644 --- a/server/user.mediacube.gui/src/user/jobengine/zk/model/GridSearchModel.java +++ b/server/user.mediacube.gui/src/user/jobengine/zk/model/GridSearchModel.java @@ -25,7 +25,6 @@ import org.apache.commons.lang.time.DurationFormatUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.zkoss.bind.BindContext; -import org.zkoss.bind.ValidationContext; import org.zkoss.bind.Validator; import org.zkoss.bind.annotation.AfterCompose; import org.zkoss.bind.annotation.BindingParam; @@ -111,7 +110,7 @@ public class GridSearchModel extends AsyncBaseModel { private boolean itemSelected; private int descLength; private Map tags = null; - private List searchTags = new ArrayList(); + private List searchTags = new ArrayList<>(); protected IItemManager itemManager = null; private Map> groupItemDetails = new HashMap<>(); @@ -160,7 +159,7 @@ public class GridSearchModel extends AsyncBaseModel { private Instant startSearch; public GridSearchModel() { - this.itemManager = ItemManager.getInstance(); + itemManager = ItemManager.getInstance(); typeFilters = new LinkedHashMap<>(); MediaCubeConfig mediaCubeConfig = SessionUtil.getMediaCubeConfig(); @@ -174,34 +173,28 @@ public class GridSearchModel extends AsyncBaseModel { columnHeaders.put("Fájlnév", "mediafilehouseid"); columnHeaders.put("Archiválva", "archived"); - allFilterCheckedValidator = new Validator() { - @Override - public void validate(ValidationContext ctx) { - try { + allFilterCheckedValidator = ctx -> { + try { - TypeFilter typeFilter = (TypeFilter) ctx.getProperty().getBase(); - boolean isChecked = (boolean) ctx.getProperty().getValue(); - typeFilter.setChecked(isChecked); - // logger.info("{} {}", label, isChecked); - } catch (Exception e) { + TypeFilter typeFilter = (TypeFilter) ctx.getProperty().getBase(); + boolean isChecked = (boolean) ctx.getProperty().getValue(); + typeFilter.setChecked(isChecked); + // logger.info("{} {}", label, isChecked); + } catch (Exception e) { - } - updateAllChecked(); } + updateAllChecked(); }; - itemSelectedValidator = new Validator() { - @Override - public void validate(ValidationContext ctx) { - try { + itemSelectedValidator = ctx -> { + try { - ArchivedMedia item = (ArchivedMedia) ctx.getValidatorArg(ARG); - boolean select = (boolean) ctx.getProperty().getValue(); - MenuModel model = (MenuModel) SessionUtil.getAttribute(SessionUtil.MENUMODEL); - model.selectArchivedMedia(item, select); - } catch (Exception e) { + ArchivedMedia item = (ArchivedMedia) ctx.getValidatorArg(ARG); + boolean select = (boolean) ctx.getProperty().getValue(); + MenuModel model = (MenuModel) SessionUtil.getAttribute(SessionUtil.MENUMODEL); + model.selectArchivedMedia(item, select); + } catch (Exception e) { - } } }; @@ -212,15 +205,15 @@ public class GridSearchModel extends AsyncBaseModel { } private void addTypeFilters(List filters) { - for (TypeFilter typeFilter : filters) + for (TypeFilter typeFilter : filters) { typeFilters.put(typeFilter.getName(), typeFilter); + } } @AfterCompose public void afterCompose(@ContextParam(ContextType.VIEW) Component view) { // A MediaFileServlet a services/proxy alatt szolgal ki - // Clients.evalJavaScript("setSource('http://localhost:9080/services/proxy/20209535_1-20205617.mp4', - // 'video/mp4')"); + Clients.evalJavaScript("setSource('http://localhost:9080/services/proxy/64.mp4', 'video/mp4')"); Selectors.wireComponents(view, this, false); Selectors.wireEventListeners(view, this); @@ -240,20 +233,23 @@ public class GridSearchModel extends AsyncBaseModel { if (itemsGrid != null) { configureSearchResultGrid(); - if (SessionUtil.getUserPageSize() != 0) + if (SessionUtil.getUserPageSize() != 0) { itemsGrid.setPageSize(SessionUtil.getUserPageSize()); + } setSettingsPageSize(itemsGrid.getPageSize()); } - if (!allChecked) + if (!allChecked) { showSearchTypeWarning(); + } tags = itemManager.getAllTags(); // lekerdezesi hiba - if (tags == null) + if (tags == null) { SessionUtil.showError("A cimkék inicializálása sikertelen."); - else + } else { setSearchTags(); + } } catch (Exception e) { handleSearchError(e); @@ -286,20 +282,24 @@ public class GridSearchModel extends AsyncBaseModel { for (Component child : itemsGrid.getColumns().getChildren()) { Column column = (Column) child; - if (columnOrder != null) - if (column.getLabel().equals(columnOrder.entrySet().iterator().next().getKey())) + if (columnOrder != null) { + if (column.getLabel().equals(columnOrder.entrySet().iterator().next().getKey())) { column.setSortDirection(columnOrder.entrySet().iterator().next().getValue()); - column.addEventListener("onSort", evt -> doSort(evt)); + } + } + column.addEventListener("onSort", this::doSort); } } @Command public void copyMediaIdToClipboard() { - String port = (Executions.getCurrent().getServerPort() == 80) ? "" : (":" + Executions.getCurrent().getServerPort()); + String port = Executions.getCurrent().getServerPort() == 80 ? "" + : ":" + Executions.getCurrent().getServerPort(); String baseURL = Executions.getCurrent().getScheme() + "://" + Executions.getCurrent().getServerName() + port + Executions.getCurrent().getContextPath(); String url = String.format("%s/?%s=%d", baseURL, MEDIA_ID, selectedObject.getMedia().getId()); - String email = String.format("mailto:?subject=Média címe: %s &body=A média itt tekinthető meg: %s", selectedObject.getMedia().getTitle(), url); + String email = String.format("mailto:?subject=Média címe: %s &body=A média itt tekinthető meg: %s", + selectedObject.getMedia().getTitle(), url); Executions.getCurrent().sendRedirect(email); } @@ -316,17 +316,20 @@ public class GridSearchModel extends AsyncBaseModel { parameters.put("successRecipient", SessionUtil.getUserPrincipal().getEmail()); try { - jobEngine.submit(CREATE_LOWRES_TEMPLATE, scheduledJob.getJobName(), parameters, SessionUtil.getUserPrincipal().getDisplayName()); - Messagebox.show("A proxy pótlása elindult, emailben értesíti a rendszer a folyamat végeztével.", "Információ", Messagebox.OK, - Messagebox.INFORMATION); + jobEngine.submit(CREATE_LOWRES_TEMPLATE, scheduledJob.getJobName(), parameters, + SessionUtil.getUserPrincipal().getDisplayName()); + Messagebox.show("A proxy pótlása elindult, emailben értesíti a rendszer a folyamat végeztével.", + "Információ", Messagebox.OK, Messagebox.INFORMATION); } catch (JobEngineException e) { logger.info("Hiba a feladat indításakor", e); - Messagebox.show("Hiba a feladat indításakor. A rendszer üzenete: " + e.getMessage(), "Hiba", Messagebox.OK, Messagebox.ERROR); + Messagebox.show("Hiba a feladat indításakor. A rendszer üzenete: " + e.getMessage(), "Hiba", Messagebox.OK, + Messagebox.ERROR); } } @Command - @NotifyChange({ "searchResult", "groupedSearchResult", "selectedObject", "hasTSMMediaFile", "hasLowresMediaFile", "lowresMediaFilePath" }) + @NotifyChange({ "searchResult", "groupedSearchResult", "selectedObject", "hasTSMMediaFile", "hasLowresMediaFile", + "lowresMediaFilePath" }) public void doSearch() { startSearch = Instant.now(); try { @@ -355,37 +358,44 @@ public class GridSearchModel extends AsyncBaseModel { if (SessionUtil.getUserColumnOrder() != null) { orderBy = columnHeaders.get(columnOrder.entrySet().iterator().next().getKey()); - orderAscending = columnOrder.entrySet().iterator().next().getValue().equals("ascending"); + orderAscending = "ascending".equals(columnOrder.entrySet().iterator().next().getValue()); } - if (searchFilters == null || searchFilters.size() == 0) + if (searchFilters == null || searchFilters.size() == 0) { throw new Exception("Anyag típus kiválasztása kötelező!"); + } List selectedTypeIds = getTypeIDs(searchFilters); - SearchOptions options = SearchOptions.create().setText(searchValue).setTypes(selectedTypeIds).setTags(searchTags).setFrom(searchFrom).setTo(searchTo) - .setMissingProxy(missingProxy).setDescLength(descLength).setOrder(orderBy, orderAscending); + SearchOptions options = SearchOptions.create().setText(searchValue).setTypes(selectedTypeIds) + .setTags(searchTags).setFrom(searchFrom).setTo(searchTo).setMissingProxy(missingProxy) + .setDescLength(descLength).setOrder(orderBy, orderAscending); - if (!options.isValid()) - throw new Exception("Legalább egy keresési opció használata kötelező: 3 karakter, hiányzó proxy, dátum, típus, cimke!"); + if (!options.isValid()) { + throw new Exception( + "Legalább egy keresési opció használata kötelező: 3 karakter, hiányzó proxy, dátum, típus, cimke!"); + } searchResult = new CachedListModel(options, d -> { - SessionUtil.consoleLog(String.format("SQL execution duration %s", DurationFormatUtils.formatDuration(d.toMillis(), "H:mm:ss.S", true))); + SessionUtil.consoleLog(String.format("SQL execution duration %s", + DurationFormatUtils.formatDuration(d.toMillis(), "H:mm:ss.S", true))); }); searchResult.addEventListener(e -> { - if (e.getName().equals(Events.ON_ERROR)) { + if (Events.ON_ERROR.equals(e.getName())) { Exception ex = (Exception) e.getData(); handleSearchError(ex); } }); - if (!allChecked) + if (!allChecked) { showSearchTypeWarning(); + } } private void showSimpleSearchResult() throws Exception { String searchValue = search.getText(); - String script = String.format("resultTable.setData('/services/rest/jobengine/search', {criteria:'%s'});", searchValue); + String script = String.format("resultTable.setData('/services/rest/jobengine/search', {criteria:'%s'});", + searchValue); Clients.evalJavaScript(script); } @@ -409,17 +419,18 @@ public class GridSearchModel extends AsyncBaseModel { @Command public void downloadMedia() { - if (!getHasTSMMediaFile()) + if (!getHasTSMMediaFile()) { return; - // Map arguments = new HashMap(); - // arguments.put(MEDIACUBEMEDIA, this.selectedObject.getMedia()); - // Window window = (Window) - // Executions.createComponents(PAGES_RETRIEVESELECTOR_ZUL, null, - // arguments); - // window.doModal(); + // Map arguments = new HashMap(); + // arguments.put(MEDIACUBEMEDIA, this.selectedObject.getMedia()); + // Window window = (Window) + // Executions.createComponents(PAGES_RETRIEVESELECTOR_ZUL, null, + // arguments); + // window.doModal(); + } MenuModel model = (MenuModel) SessionUtil.getAttribute(SessionUtil.MENUMODEL); - model.selectArchivedMedia(this.selectedObject, true); + model.selectArchivedMedia(selectedObject, true); } void ensureVisible(int pos) { @@ -487,16 +498,17 @@ public class GridSearchModel extends AsyncBaseModel { if (mediaFiles != null) { for (MediaFile mf : mediaFiles) { Store store = mf.getStore(); - if (store == null) + if (store == null) { continue; - // TODO a tartalek nem tud lowres lenni, de a TSM-nek nincs HTTP bejegyzese - // if (store.isLowres()) { - // StoreUri sourceStoreUri = store.getSourceStoreUri(RemoteStoreProtocol.HTTP); - // URL base = new URL(sourceStoreUri.toString()); - // String relative = mf.getRelativePath().replace("\\", "/"); - // ret = new URL(base, relative).toString(); - // break; - // } + // TODO a tartalek nem tud lowres lenni, de a TSM-nek nincs HTTP bejegyzese + // if (store.isLowres()) { + // StoreUri sourceStoreUri = store.getSourceStoreUri(RemoteStoreProtocol.HTTP); + // URL base = new URL(sourceStoreUri.toString()); + // String relative = mf.getRelativePath().replace("\\", "/"); + // ret = new URL(base, relative).toString(); + // break; + // } + } // relative cim a sajat kiszolgalo miatt StoreUri sourceStoreUri = store.getSourceStoreUri(RemoteStoreProtocol.HTTP); @@ -504,9 +516,11 @@ public class GridSearchModel extends AsyncBaseModel { if (sourceStoreUri != null && sourceStoreUri.isStream()) { try { String noProtocolUri = sourceStoreUri.toString(true); - String base = noProtocolUri.startsWith("/") ? noProtocolUri : sourceStoreUri.toString(false); - if (!base.endsWith("/")) + String base = noProtocolUri.startsWith("/") ? noProtocolUri + : sourceStoreUri.toString(false); + if (!base.endsWith("/")) { base += "/"; + } String relative = mf.getRelativePath().replace("\\", "/"); ret = base + relative; @@ -546,10 +560,12 @@ public class GridSearchModel extends AsyncBaseModel { List result = null; for (String label : typeFilters.keySet()) { boolean isChecked = typeFilters.get(label).isChecked(); - if (!isChecked) + if (!isChecked) { continue; - if (result == null) + } + if (result == null) { result = new ArrayList<>(); + } result.add(label); } return result; @@ -573,8 +589,9 @@ public class GridSearchModel extends AsyncBaseModel { List mediaFiles = selectedObject.getMedia().getMediaFiles(); for (MediaFile mf : mediaFiles) { Store store = mf.getStore(); - if (mf.getStore().isSystem()) + if (mf.getStore().isSystem()) { ret = Paths.get(store.getStoreUris().get(0).toString(false), mf.getRelativePath()).toString(); + } } } return ret; @@ -585,16 +602,19 @@ public class GridSearchModel extends AsyncBaseModel { } private List getTypeIDs(List searchFilters) { - if (allChecked) + if (allChecked) { return null; + } List result = null; if (searchFilters != null) { for (String typeName : searchFilters) { ItemType itemType = itemManager.getItemType(typeName); - if (itemType == null) + if (itemType == null) { continue; - if (result == null) + } + if (result == null) { result = new ArrayList<>(); + } result.add(itemType.getId()); } } @@ -602,16 +622,18 @@ public class GridSearchModel extends AsyncBaseModel { } private void handleSearchError(Exception e) { - if (e instanceof NullPointerException) + if (e instanceof NullPointerException) { SessionUtil.showError("Adatbázis lekérdezési hiba: NULL objektum."); - else + } else { SessionUtil.showError("Adatbázis lekérdezési hiba: " + e.getMessage()); + } logger.error(e); } private void highlight(ArchivedMedia am, boolean highlight) { - if (am == null) + if (am == null) { return; + } List components = itemsGrid.getRows().getChildren(); @@ -661,7 +683,8 @@ public class GridSearchModel extends AsyncBaseModel { public void onAfterRenderGrid() { if (startSearch != null) { Instant finishSearch = Instant.now(); - String duration = DurationFormatUtils.formatDuration(Duration.between(startSearch, finishSearch).toMillis(), "H:mm:ss.S", true); + String duration = DurationFormatUtils.formatDuration(Duration.between(startSearch, finishSearch).toMillis(), + "H:mm:ss.S", true); startSearch = null; SessionUtil.consoleLog(String.format("Overall search execution duration %s", duration)); } @@ -713,15 +736,18 @@ public class GridSearchModel extends AsyncBaseModel { // index: e.detail.index JSONObject jsObject = (JSONObject) event.getData(); - if (!jsObject.containsKey(TAGEVT_SOURCE)) + if (!jsObject.containsKey(TAGEVT_SOURCE)) { return; + } String source = String.valueOf(jsObject.get(TAGEVT_SOURCE)); - if (TAGSRC_MEDIA.equals(source)) + if (TAGSRC_MEDIA.equals(source)) { processMediaTagChanged(jsObject); + } - if (TAGSRC_FILTER.equals(source)) + if (TAGSRC_FILTER.equals(source)) { processFilterTagChanged(jsObject); + } logger.info(event); } @@ -740,7 +766,8 @@ public class GridSearchModel extends AsyncBaseModel { doubleVar = (Double) jsObject.get("meta"); } - if (doubleVar.floatValue() >= ((selectedObject.getTcOut() == null) ? 9999999999999999999999.9 : selectedObject.getTcOut())) { + if (doubleVar.floatValue() >= (selectedObject.getTcOut() == null ? 9999999999999999999999.9 + : selectedObject.getTcOut())) { throw new Exception("A kilépés időpontjának későbbinek kell lennie mint a belépés időpontja!"); } else { selectedObject.setTcIn(new Float(doubleVar.floatValue())); @@ -755,7 +782,7 @@ public class GridSearchModel extends AsyncBaseModel { doubleVar = (Double) jsObject.get("meta"); } - if (doubleVar.floatValue() <= ((selectedObject.getTcIn() == null) ? 0.0 : selectedObject.getTcIn())) { + if (doubleVar.floatValue() <= (selectedObject.getTcIn() == null ? 0.0 : selectedObject.getTcIn())) { throw new Exception("A kilépés időpontjának későbbinek kell lennie mint a belépés időpontja!"); } else { selectedObject.setTcOut(new Float(doubleVar.floatValue())); @@ -769,8 +796,9 @@ public class GridSearchModel extends AsyncBaseModel { @Command public void openMetaDataDialog() { - if (metaWindow != null) + if (metaWindow != null) { return; + } // EventListener eventListener = e -> { // EventQueues.lookup("my super queue", EventQueues.APPLICATION, @@ -787,21 +815,25 @@ public class GridSearchModel extends AsyncBaseModel { metaWindow = null; }; - metaWindow = (Window) Executions.createComponents(template, null, ListUtils.asMap("selectedObject", selectedObject, "listener", listener)); + metaWindow = (Window) Executions.createComponents(template, null, + ListUtils.asMap("selectedObject", selectedObject, "listener", listener)); metaWindow.doOverlapped(); metaWindow.addEventListener("onClose", listener); } private void processFilterTagChanged(JSONObject jsObject) { - if (tags == null) + if (tags == null) { return; + } - if (!jsObject.containsKey(TAGEVT_TYPE)) + if (!jsObject.containsKey(TAGEVT_TYPE)) { return; + } String type = String.valueOf(jsObject.get(TAGEVT_TYPE)); - if (!jsObject.containsKey(TAGEVT_TAGTEXT)) + if (!jsObject.containsKey(TAGEVT_TAGTEXT)) { return; + } String tagText = String.valueOf(jsObject.get(TAGEVT_TAGTEXT)); long id = tags.get(tagText); @@ -822,37 +854,43 @@ public class GridSearchModel extends AsyncBaseModel { return; } - if (!jsObject.containsKey(TAGEVT_TYPE)) + if (!jsObject.containsKey(TAGEVT_TYPE)) { return; + } String type = String.valueOf(jsObject.get(TAGEVT_TYPE)); - if (!jsObject.containsKey(TAGEVT_TAGTEXT)) + if (!jsObject.containsKey(TAGEVT_TAGTEXT)) { return; + } String tagText = String.valueOf(jsObject.get(TAGEVT_TAGTEXT)); long id = 0; - if (tags.containsKey(tagText)) + if (tags.containsKey(tagText)) { id = tags.get(tagText); + } List mediaTags = selectedObject.getTags(); switch (type) { case TAGTYPE_ADD: - if (mediaTags.contains(tagText.toLowerCase())) + if (mediaTags.contains(tagText.toLowerCase())) { return; + } if (id == 0) { id = itemManager.addMediaTag(tagText, selectedObject.getMedia().getId()); // frissitjuk az osszes Tagify control whitelist-jet tags.put(tagText, id); setSearchTags(); - } else + } else { itemManager.addMediaTag(id, selectedObject.getMedia().getId()); + } mediaTags.add(tagText); break; case TAGTYPE_REMOVE: mediaTags.remove(tagText.toLowerCase()); if (id == 0) { - Messagebox.show("A cimke már nem található az adatbázisban: " + tagText, "Belső hiba!", Messagebox.OK, Messagebox.EXCLAMATION); + Messagebox.show("A cimke már nem található az adatbázisban: " + tagText, "Belső hiba!", Messagebox.OK, + Messagebox.EXCLAMATION); return; } itemManager.removeMediaTag(id, selectedObject.getMedia().getId()); @@ -874,7 +912,8 @@ public class GridSearchModel extends AsyncBaseModel { @Command @NotifyChange({ "selectedObject", "hasLowresMediaFile", "hasTSMMediaFile", "lowresMediaFilePath" }) - public void select(@BindingParam("selectedObject") ArchivedMedia selectedObject, @ContextParam(ContextType.BIND_CONTEXT) BindContext ctx) { + public void select(@BindingParam("selectedObject") ArchivedMedia selectedObject, + @ContextParam(ContextType.BIND_CONTEXT) BindContext ctx) { Event event = ctx.getTriggerEvent(); // Nem mindig a row a target, ha a kepre kattintunk akkor az image // selectedRowIndex = ((Row) event.getTarget()).getIndex(); @@ -888,12 +927,15 @@ public class GridSearchModel extends AsyncBaseModel { @NotifyChange({ "typeFilters", "topTypeFilters", "bottomTypeFilters" }) public void setAllChecked(boolean allChecked) { this.allChecked = allChecked; - for (String key : typeFilters.keySet()) + for (String key : typeFilters.keySet()) { typeFilters.get(key).setChecked(allChecked); - for (TypeFilter topTypeFilter : topTypeFilters) + } + for (TypeFilter topTypeFilter : topTypeFilters) { topTypeFilter.setChecked(allChecked); - for (TypeFilter bottomTypeFilter : bottomTypeFilters) + } + for (TypeFilter bottomTypeFilter : bottomTypeFilters) { bottomTypeFilter.setChecked(allChecked); + } } public void setAllFilterCheckedValidator(Validator allFilterCheckedValidator) { @@ -907,11 +949,13 @@ public class GridSearchModel extends AsyncBaseModel { for (Component obj : components) { Row row = (Row) obj; List children = row.getChildren(); - if (children.size() < 2) + if (children.size() < 2) { continue; + } Component component = children.get(1); - if (!(component instanceof Checkbox)) + if (!(component instanceof Checkbox)) { continue; + } Checkbox ck = (Checkbox) component; ck.setChecked(allSelected); MenuModel model = (MenuModel) SessionUtil.getAttribute(SessionUtil.MENUMODEL); @@ -1003,18 +1047,21 @@ public class GridSearchModel extends AsyncBaseModel { List mediaTags = null; - if (mediaId > 0) + if (mediaId > 0) { mediaTags = itemManager.getMediaTags(mediaId); + } // inicializaljuk, hogy az addTag event ezeket mar ne akarja meg 1x hozzadni StringBuilder sb = new StringBuilder(); if (mediaTags != null) { for (String tag : mediaTags) { selectedObject.getTags().add(tag.toLowerCase()); - if (tag.contains("'")) + if (tag.contains("'")) { continue; - if (sb.length() > 0) + } + if (sb.length() > 0) { sb.append(","); + } sb.append(String.format("'%s'", tag)); } } @@ -1032,8 +1079,9 @@ public class GridSearchModel extends AsyncBaseModel { @Command public void setPageSize(@BindingParam(TAGEVT_SOURCE) Menuitem source) { - if (source.isChecked()) + if (source.isChecked()) { return; + } int pageSize = Integer.parseInt(source.getValue()); setSettingsPageSize(pageSize); itemsGrid.setPageSize(pageSize); @@ -1059,15 +1107,18 @@ public class GridSearchModel extends AsyncBaseModel { private void setSearchTags() { // JavaScript : addAllTags(['aaa', 'bbb', 'ccc']); - if (tags == null) + if (tags == null) { return; + } StringBuilder sb = new StringBuilder(); for (String tag : tags.keySet()) { - if (tag.contains("'")) + if (tag.contains("'")) { continue; - if (sb.length() > 0) + } + if (sb.length() > 0) { sb.append(","); + } sb.append(String.format("'%s'", StringUtils.escape(tag))); } if (sb.length() > 0) { @@ -1100,11 +1151,12 @@ public class GridSearchModel extends AsyncBaseModel { setMediaTags(mediaId); final String proxyUrl = getLowresMediaFilePath(); registerTask(() -> { - loadProxy(proxyUrl); + // loadProxy(proxyUrl); }); timer.start(); - } else + } else { Clients.evalJavaScript("addMediaTags([]);"); + } } @@ -1113,10 +1165,11 @@ public class GridSearchModel extends AsyncBaseModel { Clients.evalJavaScript("setSource(null, null)"); } else { String srcType = null; - if (video.endsWith(".m3u8")) + if (video.endsWith(".m3u8")) { srcType = "application/x-mpegURL"; - else + } else { srcType = "video/mp4"; + } Clients.evalJavaScript(String.format("setSource('%s', '%s')", video, srcType)); } @@ -1125,14 +1178,16 @@ public class GridSearchModel extends AsyncBaseModel { private void setSettingsPageSize(int pageSize) { List searchSettingItems = searchSettings.getChildren(); for (Component c : searchSettingItems) { - if (!(c instanceof Menuitem)) + if (!(c instanceof Menuitem)) { continue; + } Menuitem menuItem = (Menuitem) c; String value = menuItem.getValue(); - if (String.valueOf(pageSize).equals(value)) + if (String.valueOf(pageSize).equals(value)) { menuItem.setChecked(true); - else + } else { menuItem.setChecked(false); + } } } @@ -1152,15 +1207,17 @@ public class GridSearchModel extends AsyncBaseModel { typeFilters.put(filter, typeFilter); } } - if (typeFilters.size() != selectedFilters.size()) + if (typeFilters.size() != selectedFilters.size()) { allChecked = false; + } } } private void showExternalMediaID() { String mediaId = SessionUtil.getQueryParameter(MEDIA_ID); - if (mediaId == null) + if (mediaId == null) { return; + } try { SearchOptions options = SearchOptions.create().setMediaId(Long.parseLong(mediaId)); searchResult = new InitializedCachedListModel(options); @@ -1172,14 +1229,17 @@ public class GridSearchModel extends AsyncBaseModel { @Command @NotifyChange("itemsGrid") public void showInResults() { - if (selectedObject == null) + if (selectedObject == null) { return; + } int activePageIndex = selectedRowIndex / itemsGrid.getPageSize(); positionToScroll = selectedRowIndex - itemsGrid.getPageSize() * activePageIndex; // preventAfterRender = true; if (activePageIndex != itemsGrid.getActivePage()) { itemsGrid.setActivePage(activePageIndex); - logger.info("Selected media is shown in the results, which can be found on {} page and also it will be highlighted.", activePageIndex + 1); + logger.info( + "Selected media is shown in the results, which can be found on {} page and also it will be highlighted.", + activePageIndex + 1); } else { // TODO for debug purposes // onAfterRenderGrid();