From ec7e471c4e25642cf8f457bc4a9b5c8470f0f87d Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1s=C3=A1ry=20D=C3=A1niel?= Date: Tue, 17 Oct 2017 10:11:54 +0000 Subject: [PATCH] git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C30634 --- server/-configuration/scheduledjobs.json | 7 +++-- .../jobtemplates/delete-nexio-materials.xml | 4 +++ .../steps/DeleteNEXIOMaterialsStep.java | 31 ++++++++----------- .../nexio/NexioClipEventDispatcher.java | 6 ++-- .../remotestore/FtpDirectoryLister.java | 4 ++- 5 files changed, 27 insertions(+), 25 deletions(-) diff --git a/server/-configuration/scheduledjobs.json b/server/-configuration/scheduledjobs.json index 8a436610..0477cf26 100644 --- a/server/-configuration/scheduledjobs.json +++ b/server/-configuration/scheduledjobs.json @@ -57,9 +57,10 @@ "executeimmediate": true, "cronexpression": "0 0 0/1 1/1 * ? *", "parameters": [ - {"name": "port", "value": 21, "type": "java.lang.Integer"}, - {"name": "userName", "value": "dani", "type": "java.lang.String"}, - {"name": "password", "value": "dani", "type": "java.lang.String"} + {"name": "port", "value": 2098, "type": "java.lang.Integer"}, + {"name": "userName", "value": "administrator", "type": "java.lang.String"}, + {"name": "password", "value": "system", "type": "java.lang.String"}, + {"name": "gracePeriodDays", "value": 1, "type": "java.lang.Integer"} ] }, { diff --git a/server/user.jobengine.executors/jobtemplates/delete-nexio-materials.xml b/server/user.jobengine.executors/jobtemplates/delete-nexio-materials.xml index 4b8768c3..d3354868 100644 --- a/server/user.jobengine.executors/jobtemplates/delete-nexio-materials.xml +++ b/server/user.jobengine.executors/jobtemplates/delete-nexio-materials.xml @@ -6,6 +6,7 @@ + @@ -20,6 +21,9 @@ + + + diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/DeleteNEXIOMaterialsStep.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/DeleteNEXIOMaterialsStep.java index ecd2f1ca..515000b8 100644 --- a/server/user.jobengine.executors/src/user/jobengine/server/steps/DeleteNEXIOMaterialsStep.java +++ b/server/user.jobengine.executors/src/user/jobengine/server/steps/DeleteNEXIOMaterialsStep.java @@ -1,8 +1,7 @@ package user.jobengine.server.steps; -import java.util.Date; +import java.util.Calendar; import java.util.List; -import java.util.regex.Pattern; import org.apache.commons.lang.StringUtils; import org.apache.logging.log4j.LogManager; @@ -23,15 +22,11 @@ import user.jobengine.server.IJobEngine; import user.jobengine.server.IJobRuntime; public class DeleteNEXIOMaterialsStep extends JobStep { - private static final String NEXIOCLIPS = "nexioclips"; private static final Logger logger = LogManager.getLogger(); - private static final String MODIFIEDTIMESTAMP = "modifiedtimestamp"; - private static final String EXTAGENCY = "extagency"; + private static final String NEXIOCLIPS = "nexioclips"; + private static final String KILLDATE = "killdate"; private static final String LONGNAMEID = "longnameid"; private StoreUri sourceUri; - private String fileNameRegex = "1$"; - private Date modified = new Date(); - private String agency = ""; private void delete(String name) { RemoteFile remoteFile = null; @@ -47,9 +42,8 @@ public class DeleteNEXIOMaterialsStep extends JobStep { } @StepEntry - public Object[] execute(int port, String userName, String password, IJobEngine jobEngine, IJobRuntime jobRuntime) { + public Object[] execute(int port, String userName, String password, int gracePeriodDays, IJobEngine jobEngine, IJobRuntime jobRuntime) { String nexioHost = System.getProperty("nexio.host"); - nexioHost = "localhost"; if (StringUtils.isBlank(nexioHost)) { logger.error(getMarker(), "A 'nexio.host' rendszer paraméter nem található."); throw new NullPointerException("System is not configured properly, 'jobengine.selenio.address' startup parameter missing."); @@ -60,20 +54,21 @@ public class DeleteNEXIOMaterialsStep extends JobStep { DBCollection collection = db.getCollection(NEXIOCLIPS); //https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html //http://www.vogella.com/tutorials/JavaRegularExpressions/article.html - QueryBuilder queryBuilder = QueryBuilder.start(); - if (StringUtils.isNotBlank(fileNameRegex)) - queryBuilder.and(QueryBuilder.start(LONGNAMEID).regex(Pattern.compile(fileNameRegex)).get()); - if (StringUtils.isNotBlank(agency)) - queryBuilder.and(QueryBuilder.start(EXTAGENCY).all(agency).get()); - if (modified != null) - queryBuilder.and(QueryBuilder.start(MODIFIEDTIMESTAMP).lessThan(modified).get()); + // if (StringUtils.isNotBlank(fileNameRegex)) + // queryBuilder.and(QueryBuilder.start(LONGNAMEID).regex(Pattern.compile(fileNameRegex)).get()); + // if (StringUtils.isNotBlank(agency)) + // queryBuilder.and(QueryBuilder.start(EXTAGENCY).all(agency).get()); + Calendar now = Calendar.getInstance(); + now.add(Calendar.DAY_OF_YEAR, gracePeriodDays * -1); + + QueryBuilder queryBuilder = QueryBuilder.start(KILLDATE).lessThan(now.getTime()); DBCursor cursor = collection.find(queryBuilder.get()); if (!cursor.hasNext()) return null; IItemManager manager = jobEngine.getItemManager(); sourceUri = manager.createStoreUri(RemoteStoreProtocol.FTP, nexioHost); - sourceUri.setPortNumber(21); + sourceUri.setPortNumber(port); sourceUri.setUserName(userName); sourceUri.setPassword(password); diff --git a/server/user.jobengine.osgi.commons/src/user/commons/nexio/NexioClipEventDispatcher.java b/server/user.jobengine.osgi.commons/src/user/commons/nexio/NexioClipEventDispatcher.java index c4ae372d..23205567 100644 --- a/server/user.jobengine.osgi.commons/src/user/commons/nexio/NexioClipEventDispatcher.java +++ b/server/user.jobengine.osgi.commons/src/user/commons/nexio/NexioClipEventDispatcher.java @@ -218,7 +218,7 @@ public class NexioClipEventDispatcher implements ClipEventListener { } try { - jsClip.put(KILLDATE, clip.getKillDate()); + jsClip.put(KILLDATE, clip.getKillDate().getTime()); } catch (Exception e) { // System.out.println(e); } @@ -337,14 +337,14 @@ public class NexioClipEventDispatcher implements ClipEventListener { } /* - + int c = connection.read(buffer, 0, 2); //2 bytes hosszan az idokozben hozzaadott id-k szamossaga if (c < 2) { throw new ProtocolException("c, 2, 2"); } //MSB, LSB - + return nofIds; */ return ret; diff --git a/server/user.jobengine.osgi.commons/src/user/commons/remotestore/FtpDirectoryLister.java b/server/user.jobengine.osgi.commons/src/user/commons/remotestore/FtpDirectoryLister.java index b0d88fda..6b479bcb 100644 --- a/server/user.jobengine.osgi.commons/src/user/commons/remotestore/FtpDirectoryLister.java +++ b/server/user.jobengine.osgi.commons/src/user/commons/remotestore/FtpDirectoryLister.java @@ -101,7 +101,9 @@ public class FtpDirectoryLister implements IDirectoryLister { public void delete(RemoteFile remoteFile) throws Exception { if (remoteFile.getSourceObject() instanceof FTPFile) { FTPFile ftpFile = (FTPFile) remoteFile.getSourceObject(); - ftpClient.deleteFile(ftpFile.getName()); + boolean result = ftpClient.deleteFile(ftpFile.getName()); + if (!result) + throw new Exception(ftpClient.getReplyString()); } } -- 2.54.0