<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
<input>\r
<parameter name="targetFileName" />\r
</input>\r
+ <input>\r
+ <parameter name="killDateDays" />\r
+ </input>\r
</inputs>\r
</calljobstep>\r
</commands>\r
\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
});\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
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
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
}\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
\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
\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
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
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
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
\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
@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