+++ /dev/null
-package user.jobengine.zk.validator;\r
-\r
-import org.zkoss.bind.ValidationContext;\r
-import org.zkoss.bind.validator.AbstractValidator;\r
-\r
-public class ChangeValidator extends AbstractValidator {\r
-\r
- @Override\r
- public void validate(ValidationContext context) {\r
- // context.getBindContext().\r
-\r
- }\r
-\r
-}\r
--- /dev/null
+package user.jobengine.zk.validator;\r
+\r
+import org.apache.logging.log4j.LogManager;\r
+import org.apache.logging.log4j.Logger;\r
+import org.quartz.CronExpression;\r
+import org.zkoss.bind.ValidationContext;\r
+import org.zkoss.bind.validator.AbstractValidator;\r
+\r
+import com.ibm.nosql.json.api.BasicDBObject;\r
+\r
+import user.jobengine.zk.model.JobEditorModel2;\r
+\r
+public class CronExpressionValidator extends AbstractValidator {\r
+ private static final Logger logger = LogManager.getLogger();\r
+ private JobEditorModel2 jobEditorModel2;\r
+\r
+ public CronExpressionValidator(JobEditorModel2 jobEditorModel2) {\r
+ this.jobEditorModel2 = jobEditorModel2;\r
+ }\r
+\r
+ @Override\r
+ public void validate(ValidationContext context) {\r
+ BasicDBObject uneditedJob = (BasicDBObject) context.getProperty().getBase();\r
+ String newCronExpression = (String) context.getProperties("cronexpression")[0].getValue();\r
+\r
+ if (uneditedJob.getString("cronexpression") != null) {\r
+ if (CronExpression.isValidExpression(newCronExpression)\r
+ && ifCronExpressionChanged(uneditedJob, newCronExpression)) {\r
+ logger.info("{} is a valid CRON expression", newCronExpression);\r
+ uneditedJob.put("cronexpression", newCronExpression);\r
+ jobEditorModel2.setProcessDataChanged(true);\r
+ jobEditorModel2.getSaveButton().setDisabled(false);\r
+ } else {\r
+ logger.info("{} is not a valid CRON expression", newCronExpression);\r
+ }\r
+ } else {\r
+ if (CronExpression.isValidExpression(newCronExpression)) {\r
+ logger.info("{} is a valid CRON expression", newCronExpression);\r
+ uneditedJob.put("cronexpression", newCronExpression);\r
+ jobEditorModel2.setProcessDataChanged(true);\r
+ jobEditorModel2.getSaveButton().setDisabled(false);\r
+ } else {\r
+ logger.info("{} is not a valid CRON expression", newCronExpression);\r
+ }\r
+ }\r
+ }\r
+\r
+ private boolean ifCronExpressionChanged(BasicDBObject uneditedJob, String newCronExpression) {\r
+ return !uneditedJob.getString("cronexpression").equals(newCronExpression);\r
+ }\r
+}\r
--- /dev/null
+package user.jobengine.zk.validator;\r
+\r
+import org.apache.logging.log4j.LogManager;\r
+import org.apache.logging.log4j.Logger;\r
+import org.zkoss.bind.ValidationContext;\r
+import org.zkoss.bind.validator.AbstractValidator;\r
+\r
+import com.ibm.nosql.json.api.BasicDBObject;\r
+\r
+import user.jobengine.zk.model.JobEditorModel2;\r
+\r
+public class NameValidator extends AbstractValidator {\r
+ private static final Logger logger = LogManager.getLogger();\r
+\r
+ private JobEditorModel2 jobEditorModel2;\r
+\r
+ public NameValidator(JobEditorModel2 jobEditorModel2) {\r
+ this.jobEditorModel2 = jobEditorModel2;\r
+ }\r
+\r
+ @Override\r
+ public void validate(ValidationContext context) {\r
+ BasicDBObject uneditedJob = (BasicDBObject) context.getProperty().getBase();\r
+ String originalJobName = uneditedJob.getString("name");\r
+ String originalTemplate = uneditedJob.getString("template");\r
+ jobEditorModel2.setOriginalTemplateName(originalTemplate);\r
+ String newName = (String) context.getProperties("name")[0].getValue();\r
+\r
+ if (originalJobName.equals(newName)) {\r
+ logger.info("{} is not a new name", newName);\r
+ } else {\r
+ logger.info("{} is a new name", newName);\r
+ uneditedJob.put("name", newName);\r
+ if (!jobEditorModel2.isChangedSinceLastSave()) {\r
+ jobEditorModel2.setOriginalJobName(originalJobName);\r
+ }\r
+ jobEditorModel2.setProcessDataChanged(true);\r
+ jobEditorModel2.getSaveButton().setDisabled(false);\r
+ }\r
+ }\r
+}\r
--- /dev/null
+package user.jobengine.zk.validator;\r
+\r
+import org.apache.logging.log4j.LogManager;\r
+import org.apache.logging.log4j.Logger;\r
+import org.zkoss.bind.ValidationContext;\r
+import org.zkoss.bind.validator.AbstractValidator;\r
+\r
+import com.ibm.nosql.json.api.BasicDBObject;\r
+\r
+import user.jobengine.zk.model.JobEditorModel2;\r
+\r
+public class ParameterNameValidator extends AbstractValidator {\r
+ private static final Logger logger = LogManager.getLogger();\r
+\r
+ private JobEditorModel2 jobEditorModel2;\r
+\r
+ public ParameterNameValidator(JobEditorModel2 jobEditorModel2) {\r
+ this.jobEditorModel2 = jobEditorModel2;\r
+ }\r
+\r
+ @Override\r
+ public void validate(ValidationContext context) {\r
+ BasicDBObject uneditedParameter = (BasicDBObject) context.getProperty().getBase();\r
+ String newParameterName = (String) context.getProperties("name")[0].getValue();\r
+\r
+ if (uneditedParameter.getString("name").equals(newParameterName)) {\r
+ logger.info("{} is not a new parameter name", newParameterName);\r
+ jobEditorModel2.setProcessDataChanged(false);\r
+ jobEditorModel2.getSaveButton().setDisabled(true);\r
+ } else {\r
+ logger.info("{} is a new parameter name", newParameterName);\r
+ uneditedParameter.put("name", newParameterName);\r
+ jobEditorModel2.setProcessDataChanged(true);\r
+ jobEditorModel2.setParameterNameChanged(true);\r
+ jobEditorModel2.getSaveButton().setDisabled(false);\r
+ }\r
+ }\r
+}\r
--- /dev/null
+package user.jobengine.zk.validator;\r
+\r
+import org.apache.logging.log4j.LogManager;\r
+import org.apache.logging.log4j.Logger;\r
+import org.zkoss.bind.ValidationContext;\r
+import org.zkoss.bind.validator.AbstractValidator;\r
+\r
+import com.ibm.nosql.json.api.BasicDBObject;\r
+\r
+import user.jobengine.zk.model.JobEditorModel2;\r
+\r
+public class ParameterTypeValidator extends AbstractValidator {\r
+ private static final Logger logger = LogManager.getLogger();\r
+\r
+ private JobEditorModel2 jobEditorModel2;\r
+\r
+ public ParameterTypeValidator(JobEditorModel2 jobEditorModel2) {\r
+ this.jobEditorModel2 = jobEditorModel2;\r
+ }\r
+\r
+ @Override\r
+ public void validate(ValidationContext context) {\r
+ BasicDBObject uneditedParameter = (BasicDBObject) context.getProperty().getBase();\r
+ String newParameterType = (String) context.getProperties("type")[0].getValue();\r
+\r
+ if (uneditedParameter.getString("type").equals(newParameterType)) {\r
+ logger.info("{} is not a new parameter type", newParameterType);\r
+ jobEditorModel2.setProcessDataChanged(false);\r
+ jobEditorModel2.getSaveButton().setDisabled(true);\r
+ } else {\r
+ logger.info("{} is a new parameter type", newParameterType);\r
+ uneditedParameter.put("type", newParameterType);\r
+ jobEditorModel2.setProcessDataChanged(true);\r
+ jobEditorModel2.setParameterTypeChanged(true);\r
+ jobEditorModel2.getSaveButton().setDisabled(false);\r
+ }\r
+ }\r
+}\r
--- /dev/null
+package user.jobengine.zk.validator;\r
+\r
+import org.apache.logging.log4j.LogManager;\r
+import org.apache.logging.log4j.Logger;\r
+import org.zkoss.bind.ValidationContext;\r
+import org.zkoss.bind.validator.AbstractValidator;\r
+\r
+import com.ibm.nosql.json.api.BasicDBObject;\r
+\r
+import user.jobengine.zk.model.JobEditorModel2;\r
+\r
+public class ParameterValueValidator extends AbstractValidator {\r
+ private static final Logger logger = LogManager.getLogger();\r
+\r
+ private JobEditorModel2 jobEditorModel2;\r
+\r
+ public ParameterValueValidator(JobEditorModel2 jobEditorModel2) {\r
+ this.jobEditorModel2 = jobEditorModel2;\r
+ }\r
+\r
+ @Override\r
+ public void validate(ValidationContext context) {\r
+ BasicDBObject uneditedParameter = (BasicDBObject) context.getProperty().getBase();\r
+ String newParameterValue = (String) context.getProperties("value")[0].getValue();\r
+\r
+ if (uneditedParameter.getString("value").equals(newParameterValue)) {\r
+ logger.info("{} is not a new parameter value", newParameterValue);\r
+ jobEditorModel2.setProcessDataChanged(false);\r
+ jobEditorModel2.getSaveButton().setDisabled(true);\r
+ } else {\r
+ logger.info("{} is a new parameter value", newParameterValue);\r
+ uneditedParameter.put("value", newParameterValue);\r
+ jobEditorModel2.setProcessDataChanged(true);\r
+ jobEditorModel2.getSaveButton().setDisabled(false);\r
+ }\r
+ }\r
+}\r
--- /dev/null
+package user.jobengine.zk.validator;\r
+\r
+import org.apache.commons.io.FilenameUtils;\r
+import org.apache.logging.log4j.LogManager;\r
+import org.apache.logging.log4j.Logger;\r
+import org.zkoss.bind.ValidationContext;\r
+import org.zkoss.bind.validator.AbstractValidator;\r
+\r
+import com.ibm.nosql.json.api.BasicDBObject;\r
+\r
+import user.jobengine.zk.model.JobEditorModel2;\r
+\r
+public class TemplateNameValidator extends AbstractValidator {\r
+\r
+ private static final Logger logger = LogManager.getLogger();\r
+\r
+ private JobEditorModel2 jobEditorModel2;\r
+\r
+ public TemplateNameValidator(JobEditorModel2 jobEditorModel2) {\r
+ this.jobEditorModel2 = jobEditorModel2;\r
+ }\r
+\r
+ @Override\r
+ public void validate(ValidationContext context) {\r
+ BasicDBObject uneditedJob = (BasicDBObject) context.getProperty().getBase();\r
+ String originalTemplateName = uneditedJob.getString("template");\r
+ jobEditorModel2.setOriginalTemplateName(originalTemplateName);\r
+ String newTemplateName = (String) context.getProperties("template")[0].getValue();\r
+\r
+ if (FilenameUtils.getExtension(newTemplateName).equals("xml")\r
+ && ifTemplateNameChanged(uneditedJob, newTemplateName)) {\r
+ logger.info("{} is a proper filename", newTemplateName);\r
+ uneditedJob.put("template", newTemplateName);\r
+ jobEditorModel2.setTemplateNameChanged(true);\r
+ jobEditorModel2.setProcessDataChanged(true);\r
+ } else {\r
+ logger.info("{} is not a proper filename", newTemplateName);\r
+ }\r
+ }\r
+\r
+ private boolean ifTemplateNameChanged(BasicDBObject uneditedJob, String newTemplateName) {\r
+ return !uneditedJob.getString("template").equals(newTemplateName);\r
+ }\r
+}\r