From 9f0f81b73228894c10aec6ded754d66807f84bc6 Mon Sep 17 00:00:00 2001 From: =?utf8?q?D=C3=A9nes=20Horv=C3=A1th?= Date: Thu, 26 Sep 2019 12:18:17 +0000 Subject: [PATCH] typeFilters modification git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C31549 --- server/-configuration/mediacube.json | 61 +++++++++++++- .../src/user/commons/NamedStoreUri.java | 13 +++ .../pages/searchitems.zul | 16 ++-- .../jobengine/zk/model/MediaCubeConfig.java | 20 +++++ .../user/jobengine/zk/model/SearchModel.java | 81 +++++-------------- 5 files changed, 123 insertions(+), 68 deletions(-) create mode 100644 server/user.jobengine.osgi.commons/src/user/commons/NamedStoreUri.java diff --git a/server/-configuration/mediacube.json b/server/-configuration/mediacube.json index d0b8864c..4f38637d 100644 --- a/server/-configuration/mediacube.json +++ b/server/-configuration/mediacube.json @@ -9,10 +9,69 @@ "name": "Hír nyers", "color": "RED100", "icon": "ic_perm_camera_mic_black_18dp.png" + }, + { + "name": "ECHO visszarögzített", + "color": "BROWN100", + "icon": "ic_group_work_black_18dp.png" + }, + { + "name": "Visszarögzített", + "color": "BROWN100", + "icon": "ic_group_work_black_18dp.png" + }, + { + "name": "Egyéb", + "color": "YELLOW200", + "icon": "ic_view_quilt_black_18dp.png" } ], "bottomTypeFilters": [ - + { + "name": "ECHO műsor", + "color": "TEAL200", + "icon": "ic_theaters_black_18dp.png" + }, + { + "name": "Műsor", + "color": "TEAL200", + "icon": "ic_theaters_black_18dp.png" + }, + { + "name": "Műsor nyers", + "color": "TEAL100", + "icon": "ic_invert_colors_black_18dp.png" + }, + { + "name": "ECHO promo", + "color": "INDIGO200", + "icon": "ic_picture_in_picture_black_18dp.png" + }, + { + "name": "Promo", + "color": "INDIGO200", + "icon": "ic_picture_in_picture_black_18dp.png" + }, + { + "name": "Promo nyers", + "color": "INDIGO100", + "icon": "ic_bug_report_black_18dp.png" + }, + { + "name": "ECHO reklám", + "color": "BLUE200", + "icon": "ic_picture_in_picture_alt_black_18dp.png" + }, + { + "name": "Reklám", + "color": "BLUE200", + "icon": "ic_picture_in_picture_alt_black_18dp.png" + }, + { + "name": "Reklám nyers", + "color": "BLUE100", + "icon": "ic_settings_brightness_black_18dp.png" + } ], "authentication": { "authEnabled": true, diff --git a/server/user.jobengine.osgi.commons/src/user/commons/NamedStoreUri.java b/server/user.jobengine.osgi.commons/src/user/commons/NamedStoreUri.java new file mode 100644 index 00000000..b01c7fac --- /dev/null +++ b/server/user.jobengine.osgi.commons/src/user/commons/NamedStoreUri.java @@ -0,0 +1,13 @@ +package user.commons; + +public class NamedStoreUri extends StoreUri { + private String name = null; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/server/user.jobengine.osgi.server/pages/searchitems.zul b/server/user.jobengine.osgi.server/pages/searchitems.zul index f553c7d4..0f4feb46 100644 --- a/server/user.jobengine.osgi.server/pages/searchitems.zul +++ b/server/user.jobengine.osgi.server/pages/searchitems.zul @@ -145,17 +145,17 @@ - - + + - - + + diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/MediaCubeConfig.java b/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/MediaCubeConfig.java index d56b5e7c..c64ec627 100644 --- a/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/MediaCubeConfig.java +++ b/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/MediaCubeConfig.java @@ -1,14 +1,34 @@ package user.jobengine.zk.model; +import java.util.List; + public class MediaCubeConfig { private MediaCubeAuthentication authentication; + private List topTypeFilters; + private List bottomTypeFilters; public MediaCubeAuthentication getAuthentication() { return authentication; } + public List getBottomTypeFilters() { + return bottomTypeFilters; + } + + public List getTopTypeFilters() { + return topTypeFilters; + } + public void setAuthentication(MediaCubeAuthentication authentication) { this.authentication = authentication; } + public void setBottomTypeFilters(List bottomTypeFilters) { + this.bottomTypeFilters = bottomTypeFilters; + } + + public void setTopTypeFilters(List topTypeFilters) { + this.topTypeFilters = topTypeFilters; + } + } diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/SearchModel.java b/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/SearchModel.java index 6734cd63..6af45af2 100644 --- a/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/SearchModel.java +++ b/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/SearchModel.java @@ -61,27 +61,13 @@ import user.jobengine.zk.util.SessionUtil; public class SearchModel extends AsyncBaseModel { - private static final String GENERIC_ORIGINAL = "Generic"; private static final String ARG = "arg"; private static final String MEDIA_ID = "showMediaID"; - private static final String GENERIC = "Egyéb"; - private static final String ECHO_RECORDING = "ECHO visszarögzített"; - private static final String RECORDING = "Visszarögzített"; - private static final String RAW_AD = "Reklám nyers"; - private static final String ECHO_AD = "ECHO reklám"; - private static final String AD = "Reklám"; - private static final String RAW_PROMO = "Promo nyers"; - private static final String ECHO_PROMO = "ECHO promo"; - private static final String PROMO = "Promo"; - private static final String RAW_MATERIAL = "Műsor nyers"; - private static final String ECHO_MATERIAL = "ECHO műsor"; - private static final String MATERIAL = "Műsor"; - private static final String RAW_NEWS_MATERIAL = "Hír nyers"; - private static final String NEWS_MATERIAL = "Hír bejátszó"; private static final Logger logger = LogManager.getLogger(); private static final String PAGES_MEDIAPLAYER = "/pages/mediaplayer.jsp?mediaurl="; - private String[] topTypeFilterNames; - private String[] bottomTypeFilterNames; + private static MediaCubeConfig mediaCubeConfig = SessionUtil.getMediaCubeConfig(); + private List topTypeFilters; + private List bottomTypeFilters; private Map typeFilters; private Map columnHeaders; private String searchValue = null; @@ -124,23 +110,8 @@ public class SearchModel extends AsyncBaseModel { public SearchModel() { this.itemManager = ItemManager.getInstance(); typeFilters = new LinkedHashMap<>(); - addTypeFilter(TypeFilter.as(NEWS_MATERIAL, "RED200", "ic_language_black_18dp.png")); - addTypeFilter(TypeFilter.as(RAW_NEWS_MATERIAL, "RED100", "ic_perm_camera_mic_black_18dp.png")); - addTypeFilter(TypeFilter.as(MATERIAL, "TEAL200", "ic_theaters_black_18dp.png")); - addTypeFilter(TypeFilter.as(ECHO_MATERIAL, "TEAL200", "ic_theaters_black_18dp.png")); - addTypeFilter(TypeFilter.as(RAW_MATERIAL, "TEAL100", "ic_invert_colors_black_18dp.png")); - addTypeFilter(TypeFilter.as(PROMO, "INDIGO200", "ic_picture_in_picture_black_18dp.png")); - addTypeFilter(TypeFilter.as(ECHO_PROMO, "INDIGO200", "ic_picture_in_picture_black_18dp.png")); - addTypeFilter(TypeFilter.as(RAW_PROMO, "INDIGO100", "ic_bug_report_black_18dp.png")); - addTypeFilter(TypeFilter.as(AD, "BLUE200", "ic_picture_in_picture_alt_black_18dp.png")); - addTypeFilter(TypeFilter.as(ECHO_AD, "BLUE200", "ic_picture_in_picture_alt_black_18dp.png")); - addTypeFilter(TypeFilter.as(RAW_AD, "BLUE100", "ic_settings_brightness_black_18dp.png")); - addTypeFilter(TypeFilter.as(RECORDING, "BROWN100", "ic_group_work_black_18dp.png")); - addTypeFilter(TypeFilter.as(ECHO_RECORDING, "BROWN100", "ic_group_work_black_18dp.png")); - addTypeFilter(TypeFilter.as(GENERIC, "YELLOW200", "ic_view_quilt_black_18dp.png")); - addTypeFilter(TypeFilter.as(GENERIC_ORIGINAL, "YELLOW200", "ic_view_quilt_black_18dp.png")); - topTypeFilterNames = new String[] { NEWS_MATERIAL, RAW_NEWS_MATERIAL, ECHO_RECORDING, RECORDING, GENERIC }; - bottomTypeFilterNames = new String[] { ECHO_MATERIAL, MATERIAL, RAW_MATERIAL, ECHO_PROMO, PROMO, RAW_PROMO, ECHO_AD, AD, RAW_AD }; + setTopTypeFilters(mediaCubeConfig.getTopTypeFilters()); + setBottomTypeFilters(mediaCubeConfig.getBottomTypeFilters()); columnHeaders = new LinkedHashMap<>(); columnHeaders.put("ID", "mediahouseid"); @@ -336,8 +307,8 @@ public class SearchModel extends AsyncBaseModel { return allFilterCheckedValidator; } - public String[] getBottomTypeFilterNames() { - return bottomTypeFilterNames; + public List getBottomTypeFilters() { + return bottomTypeFilters; } public boolean getHasLowresMediaFile() { @@ -414,8 +385,8 @@ public class SearchModel extends AsyncBaseModel { return topColorClasses; } - public String[] getTopTypeFilterNames() { - return topTypeFilterNames; + public List getTopTypeFilters() { + return topTypeFilters; } public String getTSMMediaFilePath() throws Exception { @@ -509,12 +480,6 @@ public class SearchModel extends AsyncBaseModel { @Command public void onTcIn(@ContextParam(ContextType.TRIGGER_EVENT) Event event) throws Exception { - ////////////Végén törölni innen!!! - if (selectedObject == null) { - selectedObject = new ArchivedMedia(); - } - ////////////Végén törölni eddig!!! - JSONObject jsObject = (JSONObject) event.getData(); Double doubleVar = 0.0; if (!jsObject.get("meta").equals(0)) { @@ -530,12 +495,6 @@ public class SearchModel extends AsyncBaseModel { @Command public void onTcOut(@ContextParam(ContextType.TRIGGER_EVENT) Event event) throws Exception { - ////////////Végén törölni innen!!! - if (selectedObject == null) { - selectedObject = new ArchivedMedia(); - } - ////////////Végén törölni eddig!!! - JSONObject jsObject = (JSONObject) event.getData(); Double doubleVar = 0.0; if (!jsObject.get("meta").equals(0)) { @@ -586,19 +545,15 @@ public class SearchModel extends AsyncBaseModel { logger.info("Media was selected. Selected media archive:{}", selectedObject.getMedia().getId()); } - @NotifyChange("typeFilters") + @NotifyChange({ "typeFilters", "topTypeFilters", "bottomTypeFilters" }) public void setAllChecked(boolean allChecked) { - ////////////Végén törölni innen!!! - if (allChecked) { - Clients.evalJavaScript("setSource('/img/Mediacube_todo2.mp4')"); - } else { - // Clients.evalJavaScript("setSource('/img/mediacube_logo_v2_50x50.png')"); - Clients.evalJavaScript("setSource()"); - } - ////////////Végén törölni eddig!!! this.allChecked = allChecked; for (String key : typeFilters.keySet()) typeFilters.get(key).setChecked(allChecked); + for (TypeFilter topTypeFilter : topTypeFilters) + topTypeFilter.setChecked(allChecked); + for (TypeFilter bottomTypeFilter : bottomTypeFilters) + bottomTypeFilter.setChecked(allChecked); } public void setAllFilterCheckedValidator(Validator allFilterCheckedValidator) { @@ -625,6 +580,10 @@ public class SearchModel extends AsyncBaseModel { } + public void setBottomTypeFilters(List bottomTypeFilters) { + this.bottomTypeFilters = bottomTypeFilters; + } + private void setColumnOrder() { if (SessionUtil.getUserColumnOrder() != null) { columnOrder = new HashMap<>(); @@ -698,6 +657,10 @@ public class SearchModel extends AsyncBaseModel { } } + public void setTopTypeFilters(List topTypeFilters) { + this.topTypeFilters = topTypeFilters; + } + private void setUserSelectedFilters() { List selectedFilters = SessionUtil.getUserSearchFilter(); if (selectedFilters != null) { -- 2.54.0