git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Fri, 9 Feb 2018 10:23:36 +0000 (10:23 +0000)
committerVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Fri, 9 Feb 2018 10:23:36 +0000 (10:23 +0000)
client/Maestro/Program.cs
server/user.jobengine.osgi.server/pages/missingmaterials.zul
server/user.jobengine.osgi.server/src/user/jobengine/zk/model/MissingMaterialsModel.java

index 2d74206da9e5969f1c21774a6aa647fe8947fc82..05efed3491665bf740df8a40a48948671e11513c 100644 (file)
@@ -200,10 +200,13 @@ namespace Maestro {
                     using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, domainName)) {\r
                         while (true) {\r
                             logger.Debug("Trying authenticate user {0}", UserName);\r
-                            bool isValid = pc.ValidateCredentials(UserName, password);\r
-                            if (isValid) {\r
-                                logger.Debug("Authenticated: {0}", UserName);\r
-                                break;\r
+\r
+                            if (!String.IsNullOrEmpty(password)) {\r
+                                bool isValid = pc.ValidateCredentials(UserName, password);\r
+                                if (isValid) {\r
+                                    logger.Debug("Authenticated: {0}", UserName);\r
+                                    break;\r
+                                }\r
                             }\r
 \r
                             if (loginForm == null)\r
index bfc56a340378580aedc8a3999359ca8a2eb90610..d31fdd25ebb8e77df837bda82610a6956acede79 100644 (file)
@@ -7,13 +7,14 @@
        <custom-attributes org.zkoss.zul.listbox.preloadSize="50" />\r
        <div id="scdiv" width="100%" height="100%" apply="org.zkoss.bind.BindComposer"\r
                viewModel="@id('jlm') @init('user.jobengine.zk.model.MissingMaterialsModel')">\r
-               <timer id="timer" delay="500" repeats="true" onTimer="@command('uiTick')" />\r
+               <timer id="timer" delay="100" repeats="true" onTimer="@command('uiTick')" />\r
 \r
                <space bar="false" />\r
 \r
                <div align="left" width="100%">\r
                        <space bar="false" />\r
                        <button label="Importálás" onClick="@command('executeImportJob')" autodisable="self" disabled="@load(jlm.importDisabled)" />\r
+                       <button label="Visszaállítás" onClick="@command('executeRestoreJobs')" autodisable="self" disabled="false" />\r
                </div>\r
 \r
                <div height="100%" width="100%" style="background: #e3e3e3" align="left">\r
                                <caption sclass="boldfont" label="Hiányzó adásanyagok" />\r
                                <listbox id="lbJobList" sizedByContent="false" model="@load(jlm.jobList)" multiple="true" pagingPosition="top" mold="paging" autopaging="true"\r
                                        vflex="true" checkmark="true" onSelect="@command('selectJob')" style="border: none; background: #e3e3e3 !important;" oddRowSclass="listbox-odd-style"\r
-                                       sclass="listbox-normal-style" emptyMessage="Nincs hiányzó anyag.">\r
+                                       sclass="listbox-normal-style" emptyMessage="Nincs hiányzó anyag." selectedItems="@bind(jlm.selectedJobs)">\r
                                        <listhead sizable="true">\r
                                                <listheader label="Adásbakerülés" hflex="min" align="left" sort="auto" />\r
                                                <listheader label="Adásanyag" hflex="min" align="left" sort="auto" />\r
                                                <listheader label="Importálva" hflex="min" align="left" sort="auto" />\r
-                                               <listheader label="Elérhetőség" hflex="min" align="left" sort="auto" />\r
+                                               <listheader label="Elérhetőség" hflex="100%" align="left" sort="auto" />\r
                                        </listhead>\r
 \r
                                        <template name="model">\r
index 25fe604f00b56339f010ee5853fd43d13f6be52e..b8c0d18bae3929b1ecbd7d1b879ff3d27010dd6b 100644 (file)
@@ -3,9 +3,11 @@ package user.jobengine.zk.model;
 import java.util.ArrayList;\r
 import java.util.List;\r
 import java.util.Optional;\r
+import java.util.Set;\r
 \r
 import org.apache.logging.log4j.LogManager;\r
 import org.apache.logging.log4j.Logger;\r
+import org.zkoss.bind.BindUtils;\r
 import org.zkoss.bind.annotation.Command;\r
 import org.zkoss.bind.annotation.Init;\r
 import org.zkoss.zul.ListModelList;\r
@@ -34,6 +36,7 @@ public class MissingMaterialsModel extends AsyncBaseModel implements IJobChanged
        private static final String COLLECTION_NAME = "missing_materials";\r
        private ListModelList<BasicDBObject> jobList = new ListModelList<BasicDBObject>();\r
        private BasicDBObject selectedJob = null;\r
+       private Set<BasicDBObject> selectedJobs;\r
        private IJobEngine jobEngine = null;\r
        private boolean importDisabled;\r
 \r
@@ -51,7 +54,8 @@ public class MissingMaterialsModel extends AsyncBaseModel implements IJobChanged
                                        break;\r
                                }\r
                        }\r
-\r
+                       if (importJob == null)\r
+                               throw new NullPointerException("Nem található az import sablon.");\r
                        ScheduledJob scheduledJob = scheduler.createScheduledJob(importJob);\r
                        scheduledJob.setJobEngine(jobEngine);\r
                        scheduledJob.doJob();\r
@@ -61,6 +65,20 @@ public class MissingMaterialsModel extends AsyncBaseModel implements IJobChanged
                }\r
        }\r
 \r
+       @Command\r
+       public void executeRestoreJobs() {\r
+               logger.info(selectedJobs.size());\r
+               registerTask(() -> {\r
+\r
+                       for (BasicDBObject job : selectedJobs) {\r
+                               job.put("Status", "???");\r
+                               BindUtils.postNotifyChange(null, null, job, "*");\r
+                       }\r
+                       //BasicDBObject dbObject = jobList.get(0);\r
+               });\r
+\r
+       }\r
+\r
        public ListModelList<BasicDBObject> getJobList() {\r
                return jobList;\r
        }\r
@@ -69,6 +87,10 @@ public class MissingMaterialsModel extends AsyncBaseModel implements IJobChanged
                return this.selectedJob;\r
        }\r
 \r
+       public Set<BasicDBObject> getSelectedJobs() {\r
+               return selectedJobs;\r
+       }\r
+\r
        @Init\r
        public void init() {\r
                try {\r
@@ -76,7 +98,7 @@ public class MissingMaterialsModel extends AsyncBaseModel implements IJobChanged
                        SessionUtil.addJobChangedListener(this);\r
                        this.jobEngine = JobEngine.getInstance();\r
                        if (jobEngine == null)\r
-                               throw new Exception("Internal error! JobEngine instance unavailable.");\r
+                               throw new Exception("Belső hiba! A JobEngine szolgáltatás elérhetetlen.");\r
                        List<IJobRuntime> jobRuntimes = new ArrayList<>(jobEngine.getJobs().values());\r
                        Optional<IJobRuntime> findFirst = jobRuntimes.stream().filter(j -> isImportJob(j.getTemplate())).findFirst();\r
                        if (findFirst.isPresent())\r
@@ -90,8 +112,9 @@ public class MissingMaterialsModel extends AsyncBaseModel implements IJobChanged
        private void initializeList() {\r
                DB db = NoSQLUtils.getNoSQLDB();\r
                DBCollection collection = db.getCollection(COLLECTION_NAME);\r
-               DBCursor cursor = collection.find().sort(new BasicDBObject("TimeToAir", -1)).limit(1000);\r
-\r
+               DBCursor cursor = collection.find().sort(new BasicDBObject("TimetoAir", -1)).limit(1000);\r
+               if (selectedJobs != null)\r
+                       selectedJobs.clear();\r
                jobList.clear();\r
                while (cursor.hasNext())\r
                        jobList.add((BasicDBObject) cursor.next());\r
@@ -138,4 +161,8 @@ public class MissingMaterialsModel extends AsyncBaseModel implements IJobChanged
                this.selectedJob = selectedJob;\r
        }\r
 \r
+       public void setSelectedJobs(Set<BasicDBObject> selectedJobs) {\r
+               this.selectedJobs = selectedJobs;\r
+       }\r
+\r
 }\r