"executeimmediate": true,\r
"cronexpression": "0 0 0/1 1/1 * ? *",\r
"parameters": [ \r
- {"name": "port", "value": 21, "type": "java.lang.Integer"},\r
- {"name": "userName", "value": "dani", "type": "java.lang.String"},\r
- {"name": "password", "value": "dani", "type": "java.lang.String"}\r
+ {"name": "port", "value": 2098, "type": "java.lang.Integer"},\r
+ {"name": "userName", "value": "administrator", "type": "java.lang.String"},\r
+ {"name": "password", "value": "system", "type": "java.lang.String"},\r
+ {"name": "gracePeriodDays", "value": 1, "type": "java.lang.Integer"}\r
]\r
}, \r
{\r
package user.jobengine.server.steps;\r
\r
-import java.util.Date;\r
+import java.util.Calendar;\r
import java.util.List;\r
-import java.util.regex.Pattern;\r
\r
import org.apache.commons.lang.StringUtils;\r
import org.apache.logging.log4j.LogManager;\r
import user.jobengine.server.IJobRuntime;\r
\r
public class DeleteNEXIOMaterialsStep extends JobStep {\r
- private static final String NEXIOCLIPS = "nexioclips";\r
private static final Logger logger = LogManager.getLogger();\r
- private static final String MODIFIEDTIMESTAMP = "modifiedtimestamp";\r
- private static final String EXTAGENCY = "extagency";\r
+ private static final String NEXIOCLIPS = "nexioclips";\r
+ private static final String KILLDATE = "killdate";\r
private static final String LONGNAMEID = "longnameid";\r
private StoreUri sourceUri;\r
- private String fileNameRegex = "1$";\r
- private Date modified = new Date();\r
- private String agency = "";\r
\r
private void delete(String name) {\r
RemoteFile remoteFile = null;\r
}\r
\r
@StepEntry\r
- public Object[] execute(int port, String userName, String password, IJobEngine jobEngine, IJobRuntime jobRuntime) {\r
+ public Object[] execute(int port, String userName, String password, int gracePeriodDays, IJobEngine jobEngine, IJobRuntime jobRuntime) {\r
String nexioHost = System.getProperty("nexio.host");\r
- nexioHost = "localhost";\r
if (StringUtils.isBlank(nexioHost)) {\r
logger.error(getMarker(), "A 'nexio.host' rendszer paraméter nem található.");\r
throw new NullPointerException("System is not configured properly, 'jobengine.selenio.address' startup parameter missing.");\r
DBCollection collection = db.getCollection(NEXIOCLIPS);\r
//https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html\r
//http://www.vogella.com/tutorials/JavaRegularExpressions/article.html\r
- QueryBuilder queryBuilder = QueryBuilder.start();\r
- if (StringUtils.isNotBlank(fileNameRegex))\r
- queryBuilder.and(QueryBuilder.start(LONGNAMEID).regex(Pattern.compile(fileNameRegex)).get());\r
- if (StringUtils.isNotBlank(agency))\r
- queryBuilder.and(QueryBuilder.start(EXTAGENCY).all(agency).get());\r
- if (modified != null)\r
- queryBuilder.and(QueryBuilder.start(MODIFIEDTIMESTAMP).lessThan(modified).get());\r
+ // if (StringUtils.isNotBlank(fileNameRegex))\r
+ // queryBuilder.and(QueryBuilder.start(LONGNAMEID).regex(Pattern.compile(fileNameRegex)).get());\r
+ // if (StringUtils.isNotBlank(agency))\r
+ // queryBuilder.and(QueryBuilder.start(EXTAGENCY).all(agency).get());\r
+ Calendar now = Calendar.getInstance();\r
+ now.add(Calendar.DAY_OF_YEAR, gracePeriodDays * -1);\r
+\r
+ QueryBuilder queryBuilder = QueryBuilder.start(KILLDATE).lessThan(now.getTime());\r
DBCursor cursor = collection.find(queryBuilder.get());\r
if (!cursor.hasNext())\r
return null;\r
\r
IItemManager manager = jobEngine.getItemManager();\r
sourceUri = manager.createStoreUri(RemoteStoreProtocol.FTP, nexioHost);\r
- sourceUri.setPortNumber(21);\r
+ sourceUri.setPortNumber(port);\r
sourceUri.setUserName(userName);\r
sourceUri.setPassword(password);\r
\r