From b92335b45ed432de54070d77b83c19aa11209bde Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1s=C3=A1ry=20D=C3=A1niel?= Date: Tue, 10 Apr 2018 14:43:59 +0000 Subject: [PATCH] git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C31015 --- server/-configuration/scheduledjobs.json | 36 ++++++++ .../config/config.xml | 1 + .../jobtemplates/batch-retrieve-ondemand.xml | 41 +++++++++ .../server/steps/BatchRetrieveForkStep.java | 56 ++++++++++++ .../src/user/commons/nosql/NoSQLUtils.java | 7 ++ .../src/user/jobengine/db/ItemDAOEx.java | 2 +- .../src/user/jobengine/db/Media.java | 2 +- .../META-INF/MANIFEST.MF | 1 + .../css/archivum.css | 2 +- .../ic_remove_shopping_cart_black_18dp.png | Bin 0 -> 221 bytes .../img/ic_search_black_18dp.png | Bin 0 -> 215 bytes .../pages/mediaplayer.jsp | 3 +- .../pages/retrievebatchselector.zul | 27 +++--- .../pages/searchitems.zul | 76 +++++++++++------ .../resources/i3-label_hu.properties | 2 +- .../src/user/jobengine/server/IJobEngine.java | 3 + .../src/user/jobengine/server/JobEngine.java | 19 +++++ .../server/scheduler/SchedulerService.java | 11 ++- .../user/jobengine/zk/model/MenuModel.java | 31 +++++-- .../zk/model/MissingMaterialsModel.java | 20 +---- .../zk/model/RetrieveBatchSelectorModel.java | 80 ++++++++++++------ .../zk/model/RetrieveSelectorModel.java | 20 +++-- .../user/jobengine/zk/model/SearchModel.java | 55 +++++++++--- 23 files changed, 375 insertions(+), 120 deletions(-) create mode 100644 server/user.jobengine.executors/jobtemplates/batch-retrieve-ondemand.xml create mode 100644 server/user.jobengine.executors/src/user/jobengine/server/steps/BatchRetrieveForkStep.java create mode 100644 server/user.jobengine.osgi.server/img/ic_remove_shopping_cart_black_18dp.png create mode 100644 server/user.jobengine.osgi.server/img/ic_search_black_18dp.png diff --git a/server/-configuration/scheduledjobs.json b/server/-configuration/scheduledjobs.json index b2fc4826..bf3faacb 100644 --- a/server/-configuration/scheduledjobs.json +++ b/server/-configuration/scheduledjobs.json @@ -1,4 +1,24 @@ {"joblist":[ + { + "name" : "SYS: batch-retrieve-ondemand", + "template": "batch-retrieve-ondemand.xml", + "parameters": [ + {"name": "trafficOutputPath", "value": "/mnt/ISILON/PLAYOUT_NLE", "type": "java.lang.String"}, + {"name": "octopusOutputPath", "value": "/mnt/ISILON/OCTOPUS", "type": "java.lang.String"}, + {"name": "genericOutputPath", "value": "/mnt/ISILON/ARCHIVE_RESTORE", "type": "java.lang.String"}, + {"name": "killDateDays", "value": 7, "type": "java.lang.Integer"} + ] + }, + { + "name" : "SYS: retrieve-ondemand", + "template": "retrieve-ondemand.xml", + "parameters": [ + {"name": "trafficOutputPath", "value": "/mnt/ISILON/PLAYOUT_NLE", "type": "java.lang.String"}, + {"name": "octopusOutputPath", "value": "/mnt/ISILON/OCTOPUS", "type": "java.lang.String"}, + {"name": "genericOutputPath", "value": "/mnt/ISILON/ARCHIVE_RESTORE", "type": "java.lang.String"}, + {"name": "killDateDays", "value": 7, "type": "java.lang.Integer"} + ] + }, { "active": false, "executeimmediate": false, @@ -206,6 +226,22 @@ "template": "fake.xml", "cronexpression": "0 40 22 * * ?", "parameters": [ {"name": "itemID", "value": 1, "type": "java.lang.Long"} ] + }, + { + "active": false, + "executeimmediate": false, + "name" : "", + "cronexpression": "", + "template": "retrieve-ondemand.xml", + "parameters": [ + {"name": "trafficOutputPath", "value": "/mnt/ISILON/PLAYOUT_NLE", "type": "java.lang.String"}, + {"name": "octopusOutputPath", "value": "/mnt/ISILON/OCTOPUS", "type": "java.lang.String"}, + {"name": "genericOutputPath", "value": "/mnt/ISILON/ARCHIVE_RESTORE", "type": "java.lang.String"}, + {"name": "basket", "type": "java.lang.ArrayList"}, + {"name": "houseId", "type": "java.lang.String"}, + {"name": "successRecipient", "type": "java.lang.String"}, + {"name": "killDateDays", "type": "java.lang.Integer"} + ] } ]} diff --git a/server/user.jobengine.executors/config/config.xml b/server/user.jobengine.executors/config/config.xml index 7331063b..5e56e335 100644 --- a/server/user.jobengine.executors/config/config.xml +++ b/server/user.jobengine.executors/config/config.xml @@ -2,6 +2,7 @@ + diff --git a/server/user.jobengine.executors/jobtemplates/batch-retrieve-ondemand.xml b/server/user.jobengine.executors/jobtemplates/batch-retrieve-ondemand.xml new file mode 100644 index 00000000..14cebcde --- /dev/null +++ b/server/user.jobengine.executors/jobtemplates/batch-retrieve-ondemand.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/BatchRetrieveForkStep.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/BatchRetrieveForkStep.java new file mode 100644 index 00000000..b743b704 --- /dev/null +++ b/server/user.jobengine.executors/src/user/jobengine/server/steps/BatchRetrieveForkStep.java @@ -0,0 +1,56 @@ +package user.jobengine.server.steps; + +import java.util.List; +import java.util.Map; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import user.commons.MediaCubeMarker; +import user.jobengine.db.Media; +import user.jobengine.server.IJobEngine; +import user.jobengine.server.IJobRuntime; +import user.jobengine.server.scheduler.ScheduledJob; + +public class BatchRetrieveForkStep extends JobStep { + private static final Logger logger = LogManager.getLogger(); + private static final String CHILD_TEMPLATE = "retrieve-ondemand.xml"; + private static final String MEDIACUBEMEDIA = "mediaCubeMedia"; + private static final String RECIPIENT = "successRecipient"; + private static final String HOUSEID = "houseId"; + private MediaCubeMarker marker; + + @StepEntry + public Object[] execute(String trafficOutputPath, String octopusOutputPath, String genericOutputPath, List basket, String houseId, String recipient, + int killDateDays, IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception { + marker = (MediaCubeMarker) jobRuntime.getMarker(); + marker.setTo(recipient); + setProgress(10); + if (jobRuntime.forkPrepare()) { + for (Media mediaCubeMedia : basket) { + submit(trafficOutputPath, octopusOutputPath, genericOutputPath, mediaCubeMedia, recipient, houseId, killDateDays, jobEngine, jobRuntime); + } + } + setProgress(50); + jobRuntime.forkWaitComplete(); + setProgress(100); + return null; + } + + public void submit(String trafficOutputPath, String octopusOutputPath, String genericOutputPath, Media mediaCubeMedia, String recipient, String houseId, + int killDateDays, IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception { + try { + ScheduledJob scheduledJob = jobEngine.getScheduledJob(CHILD_TEMPLATE); + Map parameters = scheduledJob.getJobParameters(); + parameters.put(MEDIACUBEMEDIA, mediaCubeMedia); + parameters.put(HOUSEID, houseId); + parameters.put(RECIPIENT, recipient); + IJobRuntime child = jobEngine.submit(jobRuntime, null, CHILD_TEMPLATE, String.format("Visszatöltés %s részére", recipient), parameters); + } catch (Exception e) { + logger.catching(e); + logger.error(marker, "Hiba a kötegelt visszatöltésben. A rendszer üzenete: {}", e.getMessage()); + } + + } + +} diff --git a/server/user.jobengine.osgi.commons/src/user/commons/nosql/NoSQLUtils.java b/server/user.jobengine.osgi.commons/src/user/commons/nosql/NoSQLUtils.java index 4938a66a..a4705e22 100644 --- a/server/user.jobengine.osgi.commons/src/user/commons/nosql/NoSQLUtils.java +++ b/server/user.jobengine.osgi.commons/src/user/commons/nosql/NoSQLUtils.java @@ -27,6 +27,13 @@ public class NoSQLUtils { obj.put(name, current + value); } + public static boolean asBool(BasicDBObject obj, String name) { + boolean result = false; + if (obj != null && obj.containsKey(name)) + result = obj.getBoolean(name); + return result; + } + public static BasicDBList asDBList(BasicDBObject obj, String name) { BasicDBList result = null; if (obj.containsKey(name) && (obj.get(name) instanceof BasicDBList)) diff --git a/server/user.jobengine.osgi.db/src/user/jobengine/db/ItemDAOEx.java b/server/user.jobengine.osgi.db/src/user/jobengine/db/ItemDAOEx.java index 4a248c2e..fe496d04 100644 --- a/server/user.jobengine.osgi.db/src/user/jobengine/db/ItemDAOEx.java +++ b/server/user.jobengine.osgi.db/src/user/jobengine/db/ItemDAOEx.java @@ -480,7 +480,7 @@ public class ItemDAOEx { if (end > content.length() - 1) end = content.length() - 1; - String relevant = content.substring(start, pos) + "" + content.substring(pos, pos + c.length()) + "" + String relevant = content.substring(start, pos) + "" + content.substring(pos, pos + c.length()) + "" + content.substring(pos + c.length(), end); if (start > 0) diff --git a/server/user.jobengine.osgi.db/src/user/jobengine/db/Media.java b/server/user.jobengine.osgi.db/src/user/jobengine/db/Media.java index 696f24ba..3d2fdbc3 100644 --- a/server/user.jobengine.osgi.db/src/user/jobengine/db/Media.java +++ b/server/user.jobengine.osgi.db/src/user/jobengine/db/Media.java @@ -9,7 +9,7 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; import user.commons.TimestampAdapter; /** - * Verzi� Pojo oszt�ly. + * Medi Pojo osztaly. * * @author User * diff --git a/server/user.jobengine.osgi.server/META-INF/MANIFEST.MF b/server/user.jobengine.osgi.server/META-INF/MANIFEST.MF index 51b3e221..1da0b30f 100644 --- a/server/user.jobengine.osgi.server/META-INF/MANIFEST.MF +++ b/server/user.jobengine.osgi.server/META-INF/MANIFEST.MF @@ -27,6 +27,7 @@ Export-Package: user.jobengine.osgi.server, user.jobengine.server.ast, user.jobengine.server.messagequeue, user.jobengine.server.messages, + user.jobengine.server.scheduler, user.jobengine.server.steps DynamicImport-Package: * Bundle-ClassPath: ., diff --git a/server/user.jobengine.osgi.server/css/archivum.css b/server/user.jobengine.osgi.server/css/archivum.css index 695d8905..51cd06c8 100644 --- a/server/user.jobengine.osgi.server/css/archivum.css +++ b/server/user.jobengine.osgi.server/css/archivum.css @@ -154,7 +154,7 @@ body *:not([class*="z-icon-"]) { .listbox-normal-style .z-listitem .z-listcell { border-left: 1px solid gray; - border-bottom: 1px solid blue; + border-bottom: 1px solid gray; } .z-treerow, .z-tree-body{ diff --git a/server/user.jobengine.osgi.server/img/ic_remove_shopping_cart_black_18dp.png b/server/user.jobengine.osgi.server/img/ic_remove_shopping_cart_black_18dp.png new file mode 100644 index 0000000000000000000000000000000000000000..3ba85743e8648928d48d8076583a017bf6c068f1 GIT binary patch literal 221 zcmV<303!d1P)V+1DR7@rO44)ZR5(+m(pwumf17P?GY$;Zd!LSFY00Ix= zGR=S?o`DO_E5>G;FvAa^a5tPk1L9M3Mc+{rbpv^SFfG+*h(lNhWF;_I5uZY)GB5xD XGPh#kDu(pe00000NkvXXu0mjfb~jHw literal 0 HcmV?d00001 diff --git a/server/user.jobengine.osgi.server/img/ic_search_black_18dp.png b/server/user.jobengine.osgi.server/img/ic_search_black_18dp.png new file mode 100644 index 0000000000000000000000000000000000000000..f0d4e97577508554557c9073d1607218a48a9215 GIT binary patch literal 215 zcmV;|04V>7P)E|B| z&Fvg5O@Qdb)zev4+)aswuD