git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorDénes Horváth <USER\denes.horvath>
Fri, 6 Sep 2019 13:34:23 +0000 (13:34 +0000)
committerDénes Horváth <USER\denes.horvath>
Fri, 6 Sep 2019 13:34:23 +0000 (13:34 +0000)
server/user.jobengine.executors/jobtemplates/common-copy.xml
server/user.jobengine.executors/src/user/jobengine/server/steps/FileCopyStep.java
server/user.jobengine.osgi.server/src/user/jobengine/zk/model/MaestroJobListModel.java
server/user.jobengine.osgi.server/src/user/jobengine/zk/model/TargetsListModel.java

index caa148172cd26c745472065ed72c2552b96c94e7..210b6462dab500aeada40b6b25df61e3560aa7ae 100644 (file)
@@ -8,6 +8,7 @@
                        <parameter name="targetProtocol" type="java.lang.String"/>\r
                        <parameter name="targetPath" type="java.lang.String"/>\r
                        <parameter name="targetFileName" type="java.lang.String"/>\r
+                       <parameter name="killDateDays" type="java.lang.Integer" />\r
                </parameters>\r
        </declarations>\r
        <commands>\r
@@ -31,6 +32,9 @@
                                <input>\r
                                        <parameter name="targetFileName" />\r
                                </input>\r
+                               <input>\r
+                                       <parameter name="killDateDays" />\r
+                               </input>\r
                        </inputs>\r
                </calljobstep>\r
        </commands>\r
index eefbc31b25d82bdf05075a478a6a5df0cf5571b9..00d5d9b595050026f4d85d09cb71d453dffbe95a 100644 (file)
@@ -56,7 +56,7 @@ public class FileCopyStep extends JobStep {
 \r
        @StepEntry\r
        public Object[] execute(String sourceProtocol, String sourcePath, String sourceFileName, String targetProtocol, String targetPath, String targetFileName,\r
-                       IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception {\r
+                       int killDateDays, IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception {\r
                marker = jobRuntime.getMarker();\r
 \r
                check(sourceProtocol, sourcePath, sourceFileName, targetProtocol, targetPath, targetFileName, jobEngine, jobRuntime);\r
@@ -75,6 +75,9 @@ public class FileCopyStep extends JobStep {
                        });\r
 \r
                        source.transferFrom(target, sourceFileName, targetFileName);\r
+                       if (killDateDays > 0) {\r
+                               EscortFiles.createUNCKillDate(targetPath, sourceFileName, killDateDays, marker);\r
+                       }\r
 \r
                } catch (Exception e) {\r
                        logger.catching(e);\r
index dc7434715c919b9ad5d81333f5ee896cf12a4656..34e54fe745866092033df8ea96857eb691926921 100644 (file)
@@ -17,7 +17,6 @@ import org.zkoss.zul.Window;
 import com.ibm.nosql.json.api.BasicDBObject;\r
 \r
 import user.commons.ListUtils;\r
-import user.commons.remotestore.RemoteStoreProtocol;\r
 import user.jobengine.db.ItemManagerData.SignalType;\r
 import user.jobengine.server.IJobChangedListener;\r
 import user.jobengine.server.IJobEngine;\r
@@ -37,13 +36,6 @@ public class MaestroJobListModel extends AsyncBaseModel implements IJobChangedLi
        private Collection<BasicDBObject> selectedJobs;\r
        private String currentUser = SessionUtil.getUserPrincipal().getAccount();\r
 \r
-       @Command\r
-       public void executeJob() {\r
-               String template = "/pages/jobselector.zul";\r
-               Window window = (Window) Executions.createComponents(template, null, ListUtils.asMap("jobEngine", jobEngine));\r
-               window.doModal();\r
-       }\r
-\r
        public ListModelList<IJobRuntime> getJobList() {\r
                return jobList;\r
        }\r
@@ -74,10 +66,12 @@ public class MaestroJobListModel extends AsyncBaseModel implements IJobChangedLi
        }\r
 \r
        private void initializeList() {\r
+               if (currentUser == null)\r
+                       return;\r
                jobList.clear();\r
                Map<Long, IJobRuntime> jobMap = jobEngine.getJobs();\r
                for (int i = 0; i < jobMap.size(); i++) {\r
-                       if (jobMap.get(i).getOwner() == currentUser) {\r
+                       if (currentUser.equals(jobMap.get(i).getOwner())) {\r
                                jobList.add(i, jobMap.get(i));\r
                        }\r
                }\r
@@ -85,9 +79,11 @@ public class MaestroJobListModel extends AsyncBaseModel implements IJobChangedLi
 \r
        @Override\r
        public void jobChanged(JobChangedEvent event) {\r
+               if (currentUser == null)\r
+                       return;\r
                JobChangedEvent jobEvent = event;\r
                final IJobRuntime job = jobEvent.getJob();\r
-               if (job.getOwner() == currentUser) {\r
+               if (currentUser.equals(job.getOwner())) {\r
                        if (jobEvent.getSignalType().equals(SignalType.CREATE)) {\r
                                registerTask(() -> onJobCreated(job));\r
                                return;\r
@@ -139,28 +135,27 @@ public class MaestroJobListModel extends AsyncBaseModel implements IJobChangedLi
 \r
        @GlobalCommand\r
        @NotifyChange({ "jobList" })\r
-       public void submitJob(@BindingParam("params") Object params) {\r
-               // public void submitJob() {\r
+       public void submitJob(@BindingParam("sourceProtocol") String sourceProtocol, @BindingParam("sourcePath") String sourcePath,\r
+                       @BindingParam("sourceFileName") String sourceFileName, @BindingParam("targetProtocol") String targetProtocol,\r
+                       @BindingParam("targetPath") String targetPath, @BindingParam("killDateDays") Integer killDateDays) {\r
+\r
                ScheduledJob scheduledJob = jobEngine.getScheduledJob(TEMPLATE);\r
                Map<String, Object> parameters = scheduledJob.getJobParameters();\r
-               // Map<String, Object> parameters = new HashMap<>();\r
-               // parameters.putAll(params);\r
-               parameters.put("sourceProtocol", RemoteStoreProtocol.LOCAL.toString());\r
-               parameters.put("sourcePath", "c:/temp");\r
-               parameters.put("sourceFileName", "index.bat");\r
+               parameters.put("sourceProtocol", sourceProtocol);\r
+               parameters.put("sourcePath", sourcePath);\r
+               parameters.put("sourceFileName", sourceFileName);\r
 \r
-               parameters.put("targetProtocol", RemoteStoreProtocol.LOCAL.toString());\r
-               parameters.put("targetPath", "c:/temp1");\r
-               parameters.put("targetFileName", "index.bat");\r
+               parameters.put("targetProtocol", targetProtocol);\r
+               parameters.put("targetPath", targetPath);\r
+               parameters.put("targetFileName", sourceFileName);\r
+               parameters.put("killDateDays", killDateDays);\r
 \r
                try {\r
                        IJobRuntime job;\r
-                       // jobEngine.submit(template, "CopyJob", null, currentUser);\r
-                       job = jobEngine.submit(TEMPLATE, "CopyJob", parameters, currentUser);\r
+                       job = jobEngine.submit(TEMPLATE, "Maestro File Copy", parameters, currentUser);\r
                        jobList.add(job);\r
                } catch (JobEngineException e) {\r
                        logger.info("Hiba a job indításakor", e);\r
                }\r
        }\r
-\r
 }\r
index 9148688004b6b9d837d1126457764cba8213ce3c..4790149405c8c57fbe70ba6f05d001b2637e4770 100644 (file)
@@ -17,7 +17,6 @@ import org.zkoss.zul.ListModelList;
 import user.commons.RemoteFile;\r
 import user.commons.config.JSONConfig;\r
 import user.commons.remotestore.RemoteStoreProtocol;\r
-import user.jobengine.server.IJobEngine;\r
 import user.mediacube.metadata.interfaces.IMetadata;\r
 \r
 public class TargetsListModel {\r
@@ -25,7 +24,6 @@ public class TargetsListModel {
        private MaestroConfig config = null;\r
        private ListModelList<MaestroTarget> targets;\r
        private boolean executeEnabled;\r
-       private IJobEngine jobEngine = null;\r
        Set<RemoteFile> sourceData;\r
        Set<IMetadata> metaData;\r
 \r
@@ -34,14 +32,18 @@ public class TargetsListModel {
                boolean ret = false;\r
                if (sourceData != null && metaData != null) {\r
                        if (!sourceData.isEmpty() && !metaData.isEmpty()) {\r
-                               srcMetaOk = true;\r
+                               if (!sourceData.iterator().next().getIsFolder()) {\r
+                                       srcMetaOk = true;\r
+                               }\r
                        }\r
                }\r
 \r
                // Végén törölni !!! ////////////////////////////////////////\r
                if (sourceData != null) {\r
                        if (!sourceData.isEmpty()) {\r
-                               srcMetaOk = true;\r
+                               if (!sourceData.iterator().next().getIsFolder()) {\r
+                                       srcMetaOk = true;\r
+                               }\r
                        }\r
                }\r
                // Végén törölni !!! ////////////////////////////////////////\r
@@ -59,26 +61,21 @@ public class TargetsListModel {
 \r
        @Command\r
        public void createJob() {\r
-               /*\r
-                * Set<MaestroTarget> selection = targets.getSelection();\r
-                *\r
-                * Map<String, Object> args = new HashMap<>(); args.put("targets",\r
-                * selection);\r
-                */\r
-               // ScheduledJob scheduledJob =\r
-               // jobEngine.getScheduledJob("common-copy.xml");\r
-               // Map<String, Object> parameters = scheduledJob.getJobParameters();\r
                String fileName = sourceData.iterator().next().getName();\r
+               String sourcePath = config.getSourceStoreUri().getUri();\r
                for (int i = 0; i < targets.size(); i++) {\r
-                       Map<String, Object> params = new HashMap<>();\r
-                       params.put("sourceProtocol", RemoteStoreProtocol.LOCAL.toString());\r
-                       params.put("sourcePath", sourceData.iterator().next());\r
-                       params.put("sourceFileName", fileName);\r
-\r
-                       params.put("targetProtocol", RemoteStoreProtocol.LOCAL.toString());\r
-                       params.put("targetPath", targets.get(i).getStoreUri().getUri());\r
-                       params.put("targetFileName", fileName);\r
-                       BindUtils.postGlobalCommand(null, null, "submitJob", params);\r
+                       if (targets.get(i).isSelected()) {\r
+                               Map<String, Object> params = new HashMap<>();\r
+                               params.put("sourceProtocol", RemoteStoreProtocol.LOCAL.toString());\r
+                               params.put("sourcePath", sourcePath);\r
+                               params.put("sourceFileName", fileName);\r
+\r
+                               params.put("targetProtocol", RemoteStoreProtocol.LOCAL.toString());\r
+                               params.put("targetPath", targets.get(i).getStoreUri().getUri());\r
+                               params.put("killDateDays", 0);\r
+                               // params.put("targetFileName", fileName);\r
+                               BindUtils.postGlobalCommand(null, null, "submitJob", params);\r
+                       }\r
                }\r
        }\r
 \r
@@ -106,9 +103,6 @@ public class TargetsListModel {
        @Command\r
        @NotifyChange("executeEnabled")\r
        public void onCheck(@BindingParam("targetName") String targetName, @BindingParam("isChecked") Boolean isChecked) {\r
-               // public void onCheck(@BindingParam("sourcedata") Set<RemoteFile>\r
-               // sourceData, @BindingParam("metadata") Set<IMetadata> metaData) {\r
-               // @ContextParam(ContextType.TRIGGER_EVENT) CheckEvent event,\r
                for (int i = 0; i < targets.size(); i++) {\r
                        if (targets.get(i).getName() == targetName) {\r
                                targets.get(i).setSelected(isChecked.booleanValue());\r