git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorvasary.daniel <TFS\vasary.daniel>
Mon, 25 Apr 2022 09:41:05 +0000 (09:41 +0000)
committervasary.daniel <TFS\vasary.daniel>
Mon, 25 Apr 2022 09:41:05 +0000 (09:41 +0000)
server/user.mediacube.gui/pages/jobeditor2.zul
server/user.mediacube.gui/src/user/jobengine/zk/model/JobEditorModel.java
server/user.mediacube.gui/src/user/jobengine/zk/validator/ChangeValidator.java [new file with mode: 0644]

index e49b2333eeefeb4b839a4569909cd6832c082ba2..4d6b703d6ad26e539920f9c5920c2e97e8ceb3f5 100644 (file)
@@ -46,7 +46,7 @@
                                                        <tabpanel>\r
                                                                <borderlayout>\r
                                                                        <north size="50%" splittable="true">\r
-                                                                               <grid visible="@bind(not empty jem.selectedJob)" sizedByContent="false" span="true" vflex="true"\r
+                                                                               <grid visible="@bind(not empty jem.editingJob)" sizedByContent="false" span="true" vflex="true"\r
                                                                                        style="border: none; background: #e3e3e3 !important;" oddRowSclass="listbox-odd-style" \r
                                                                                        sclass="listbox-normal-style"\r
                                                                                        emptyMessage="A részletek megtekintéséhez jelöljön ki egy folyamatot.">\r
                                                                                        <rows>\r
                                                                                                <row>\r
                                                                                                        <label value="Name"/>\r
-                                                                                                       <textbox id="nameTextbox" \r
-                                                                                                               value="@bind(jem.selectedJob.name)" onChange="@command('onNameChanged')" onClick="@command('onNameTextboxClicked')"/>\r
-                                                                                               </row>\r
-                                                                                               <row>\r
-                                                                                                       <label value="Template"/>\r
-                                                                                                       <textbox id="templateNameTextbox" \r
-                                                                                                               value="@bind(jem.selectedJob.template)" onChange="@command('onTemplateNameChanged')"/>\r
-                                                                                               </row>\r
-                                                                                               <row>\r
-                                                                                                       <label value="Active"/>\r
-                                                                                                       <checkbox id="activeCheckbox" \r
-                                                                                                               value="@bind(empty jem.selectedJob.active ? false : jem.selectedJob.active)" onClick="@command('onActiveChanged')"/>\r
-                                                                                               </row>\r
-                                                                                               <row>\r
-                                                                                                       <label value="Execute immediate"/>\r
-                                                                                                       <checkbox id="executeImmediateCheckbox" \r
-                                                                                                               value="@bind(empty jem.selectedJob.executeimmediate ? false : jem.selectedJob.executeimmediate)" onClick="@command('onExecuteImmediateChanged')"/>\r
-                                                                                               </row>\r
-                                                                                               <row>\r
-                                                                                                       <label value="Cron expression"/>\r
-                                                                                                       <textbox id="cronExpressionTextbox" \r
-                                                                                                               value="@bind(jem.selectedJob.cronexpression)" onChange="@command('onCronExpressionChanged')"/>\r
-                                                                                               </row>\r
-                                                                                               <row>\r
-                                                                                                       <label value="Next execution"/>\r
-                                                                                                       <label value="@bind(jem.selectedJob.nextTime)"/>\r
+                                                                                                       <textbox value="@bind(jem.editingJob.name) @validator()" instant="true"/>\r
                                                                                                </row>\r
+<!--                                                                                           <row> -->\r
+<!--                                                                                                   <label value="Template"/> -->\r
+<!--                                                                                                   <textbox id="templateNameTextbox"  -->\r
+<!--                                                                                                           value="@bind(jem.selectedJob.template)" onChange="@command('onTemplateNameChanged')"/> -->\r
+<!--                                                                                           </row> -->\r
+<!--                                                                                           <row> -->\r
+<!--                                                                                                   <label value="Active"/> -->\r
+<!--                                                                                                   <checkbox id="activeCheckbox"  -->\r
+<!--                                                                                                           value="@bind(empty jem.selectedJob.active ? false : jem.selectedJob.active)" onClick="@command('onActiveChanged')"/> -->\r
+<!--                                                                                           </row> -->\r
+<!--                                                                                           <row> -->\r
+<!--                                                                                                   <label value="Execute immediate"/> -->\r
+<!--                                                                                                   <checkbox id="executeImmediateCheckbox"  -->\r
+<!--                                                                                                           value="@bind(empty jem.selectedJob.executeimmediate ? false : jem.selectedJob.executeimmediate)" onClick="@command('onExecuteImmediateChanged')"/> -->\r
+<!--                                                                                           </row> -->\r
+<!--                                                                                           <row> -->\r
+<!--                                                                                                   <label value="Cron expression"/> -->\r
+<!--                                                                                                   <textbox id="cronExpressionTextbox"  -->\r
+<!--                                                                                                           value="@bind(jem.selectedJob.cronexpression)" onChange="@command('onCronExpressionChanged')"/> -->\r
+<!--                                                                                           </row> -->\r
+<!--                                                                                           <row> -->\r
+<!--                                                                                                   <label value="Next execution"/> -->\r
+<!--                                                                                                   <label value="@bind(jem.selectedJob.nextTime)"/> -->\r
+<!--                                                                                           </row> -->\r
                                                                                        </rows>\r
                                                                                </grid>\r
                                                                        </north>\r
                                                                        <center border="none" flex="true">\r
-                                                                               <grid model="@load(jem.selectedJob.parameters)" style="border: none; background: #e3e3e3 !important;"\r
+                                                                               <grid model="@load(jem.editingJob.parameters)" style="border: none; background: #e3e3e3 !important;"\r
                                                                                        oddRowSclass="listbox-odd-style" sclass="listbox-normal-style">\r
                                                                                        <columns sizable="true">\r
                                                                                                <column label="Name" hflex="1"/>\r
index 3fd52809e7d9efe71b50dee572f3862443d2a7a3..ea4312ef04f4140779334144ac17fe821e0bdc26 100644 (file)
@@ -58,8 +58,8 @@ public class JobEditorModel extends BaseModel {
        private Window resultWin;\r
        @Wire("#SaveButton")\r
        private Button saveButton;\r
-       @Wire("#nameTextbox")\r
-       private Textbox nameTextbox;\r
+//     @Wire("#nameTextbox")\r
+//     private Textbox nameTextbox;\r
        @Wire("#templateNameTextbox")\r
        private Textbox templateNameTextbox;\r
        @Wire("#activeCheckbox")\r
@@ -120,8 +120,8 @@ public class JobEditorModel extends BaseModel {
        }\r
 \r
        private void saveData() {\r
-               selectedJob.remove("name");\r
-               selectedJob.append("name", nameTextbox.getValue());\r
+//             selectedJob.remove("name");\r
+//             selectedJob.append("name", nameTextbox.getValue());\r
                selectedJob.remove("template");\r
                selectedJob.append("template", templateNameTextbox.getValue());\r
                selectedJob.remove("active");\r
@@ -132,19 +132,19 @@ public class JobEditorModel extends BaseModel {
                selectedJob.append("cronexpression", cronExpressionTextbox.getValue());\r
        }\r
 \r
-       @Command\r
-       public void onNameChanged() {\r
-               setProcessDataChanged(true);\r
-               selectedJob.remove("name");\r
-               selectedJob.append("name", nameTextbox.getValue());\r
-               saveButton.setDisabled(false);\r
-               logger.info("onNameChanged()");\r
-       }\r
+//     @Command\r
+//     public void onNameChanged() {\r
+//             setProcessDataChanged(true);\r
+//             selectedJob.remove("name");\r
+//             selectedJob.append("name", nameTextbox.getValue());\r
+//             saveButton.setDisabled(false);\r
+//             logger.info("onNameChanged()");\r
+//     }\r
 \r
-       @Command\r
-       public void onNameTextboxClicked() {\r
-               oldSelectedJob = selectedJob.get("name").toString();\r
-       }\r
+//     @Command\r
+//     public void onNameTextboxClicked() {\r
+//             oldSelectedJob = selectedJob.get("name").toString();\r
+//     }\r
 \r
        @Command\r
        public void onTemplateNameChanged() {\r
@@ -286,20 +286,28 @@ public class JobEditorModel extends BaseModel {
        public void setSelectedJob(BasicDBObject selectedJob) {\r
                this.selectedJob = selectedJob;\r
 \r
-               if (selectedJob == null)\r
-                       return;\r
-\r
-               String cronExpression = selectedJob.getString(CRONEXPRESSION);\r
-               if (StringUtils.isBlank(cronExpression))\r
-                       return;\r
+               if (selectedJob == null) {\r
+                       // reset cron next time display\r
+                       // reset editing job\r
+               } else {\r
+                       String cronExpression = selectedJob.getString(CRONEXPRESSION);\r
+                       if (StringUtils.isBlank(cronExpression))\r
+                               return;\r
+\r
+                       try {\r
+                               CronExpression ce = new CronExpression(cronExpression);\r
+                               Date nextTime = ce.getNextValidTimeAfter(new Date());\r
+                               selectedJob.put(NEXT_TIME, nextTime);\r
+                       } catch (ParseException e) {\r
+                               logger.catching(e);\r
+                       }\r
+\r
+                       // update editingJob, create deep copy from selectedJob: a megoldas a\r
+                       // NoSQLUtils-ba keruljon\r
+                       // notify editingJob changed\r
 \r
-               try {\r
-                       CronExpression ce = new CronExpression(cronExpression);\r
-                       Date nextTime = ce.getNextValidTimeAfter(new Date());\r
-                       selectedJob.put(NEXT_TIME, nextTime);\r
-               } catch (ParseException e) {\r
-                       logger.catching(e);\r
                }\r
+\r
        }\r
 \r
        public void setSelectedJobs(ListModelList<BasicDBObject> selectedJobs) {\r
@@ -354,7 +362,7 @@ public class JobEditorModel extends BaseModel {
        private JobTemplate collectProcessTemplateSettings() {\r
                JobTemplate jobTemplate = new JobTemplate();\r
 \r
-               jobTemplate.setName(nameTextbox.getValue());\r
+//             jobTemplate.setName(nameTextbox.getValue());\r
                jobTemplate.setFileName(templateNameTextbox.getValue());\r
 \r
                return jobTemplate;\r
diff --git a/server/user.mediacube.gui/src/user/jobengine/zk/validator/ChangeValidator.java b/server/user.mediacube.gui/src/user/jobengine/zk/validator/ChangeValidator.java
new file mode 100644 (file)
index 0000000..74ebd97
--- /dev/null
@@ -0,0 +1,14 @@
+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