paraméterek, és változók átküldése JS oldalára
authorOmar Sweidan <omar.sweidan@userrendszerhaz.hu>
Fri, 3 Jun 2022 09:15:13 +0000 (11:15 +0200)
committerOmar Sweidan <omar.sweidan@userrendszerhaz.hu>
Fri, 3 Jun 2022 18:36:43 +0000 (20:36 +0200)
server/user.jobengine.osgi.server/src/user/jobengine/server/JobEngineConfiguration.java
server/user.jobengine.osgi.server/src/user/jobengine/server/ast/JSONEncoder.java
server/user.mediacube.gui/js/diagramflowjs.js
server/user.mediacube.gui/js/processVisualizer2.js
server/user.mediacube.gui/pages/jobeditor2.zul
server/user.mediacube.gui/src/user/jobengine/zk/model/JobEditorModel2.java

index 840e97c62f2113ce234418e1dc9d421ba9550974..ec796c13ddbb8c8e139d146e1b862715a847bd26 100644 (file)
@@ -94,7 +94,8 @@ public class JobEngineConfiguration implements IJobEngineConfiguration {
        public IJobStep createJobStep(String stepUnitName) throws Exception {\r
                IJobStep result = null;\r
 \r
-               boolean isGroovyClass = stepUnitName.toLowerCase().endsWith(".java") || stepUnitName.toLowerCase().endsWith(".groovy");\r
+               boolean isGroovyClass = stepUnitName.toLowerCase().endsWith(".java")\r
+                               || stepUnitName.toLowerCase().endsWith(".groovy");\r
                logger.info("Looking for {} step ClassLoader requirement", stepUnitName);\r
 \r
                if (resetStepClassLoader) {\r
@@ -127,7 +128,8 @@ public class JobEngineConfiguration implements IJobEngineConfiguration {
 \r
                if (isGroovyClass) {\r
                        if (dynamicStepsLoader != null)\r
-                               stepClass = (Class<IJobStep>) dynamicStepsLoader.loadClassFromSourceCode(groovyClassLoader, stepUnitName);\r
+                               stepClass = (Class<IJobStep>) dynamicStepsLoader.loadClassFromSourceCode(groovyClassLoader,\r
+                                               stepUnitName);\r
                } else\r
                        stepClass = (Class<IJobStep>) stepsClassLoader.loadClass(stepUnitName);\r
 \r
@@ -273,7 +275,8 @@ public class JobEngineConfiguration implements IJobEngineConfiguration {
                                                int newMaxConcurrent = executor.getMaxConcurrent();\r
                                                if (currentMaxConcurrent != newMaxConcurrent) {\r
                                                        stepExecutor.setMaxConcurrent(newMaxConcurrent);\r
-                                                       logger.info("Executor maxConcurrent changed from {} to {}", currentMaxConcurrent, newMaxConcurrent);\r
+                                                       logger.info("Executor maxConcurrent changed from {} to {}", currentMaxConcurrent,\r
+                                                                       newMaxConcurrent);\r
                                                }\r
                                        }\r
 \r
@@ -319,7 +322,11 @@ public class JobEngineConfiguration implements IJobEngineConfiguration {
                                JobTemplate jobTemplate = loadTemplate(Paths.get(template));\r
                                JSONEncoder jsonEncoder = new JSONEncoder();\r
                                BasicDBObject program = (BasicDBObject) jsonEncoder.visitJobTemplate(jobTemplate, null);\r
-                               j.put("program", program);\r
+                               if (program != null) {\r
+                                       j.put("program", program);\r
+                               } else {\r
+                                       logger.info("program {} is null!");\r
+                               }\r
 \r
                                schedules.add(new SimpleEntry<String, BasicDBObject>(template, j));\r
                        } catch (Exception e) {\r
@@ -400,7 +407,7 @@ public class JobEngineConfiguration implements IJobEngineConfiguration {
                BasicDBObject dbo = new BasicDBObject();\r
                BasicDBList jobList = new BasicDBList();\r
                for (int i = 0; i < schedules.size(); i++) {\r
-                       BasicDBObject temp= new BasicDBObject();\r
+                       BasicDBObject temp = new BasicDBObject();\r
                        if (schedules.get(i).getValue().get("name") != null) {\r
                                temp.append("name", schedules.get(i).getValue().get("name"));\r
                        }\r
@@ -455,12 +462,14 @@ public class JobEngineConfiguration implements IJobEngineConfiguration {
                        if (!Files.isDirectory(templatesPath))\r
                                throw new FileNotFoundException(templatesPath + " is not a directory!");\r
                        if (templateToSave.getFileName() != null) {\r
-                               filePath = templatesPath.toString() + FileSystems.getDefault().getSeparator() + templateToSave.getFileName();\r
+                               filePath = templatesPath.toString() + FileSystems.getDefault().getSeparator()\r
+                                               + templateToSave.getFileName();\r
                                if (Files.isWritable(Paths.get(filePath))) {\r
                                        logger.info("{} is writable", filePath);\r
                                } else {\r
                                        logger.info("{} is not writable", filePath);\r
-                                       DosFileAttributeView dos = Files.getFileAttributeView(Paths.get(filePath), DosFileAttributeView.class);\r
+                                       DosFileAttributeView dos = Files.getFileAttributeView(Paths.get(filePath),\r
+                                                       DosFileAttributeView.class);\r
                                        if (dos != null) {\r
                                                try {\r
                                                        dos.setReadOnly(false);\r
@@ -510,13 +519,15 @@ public class JobEngineConfiguration implements IJobEngineConfiguration {
                String duplicateFileName = null;\r
                try {\r
                        templatesPath = Paths.get(systemConfig.getConfig(DIR_TEMPLATES));\r
-                       duplicateFileName = FilenameUtils.getName(selectedJob.getString("template")).replace(".xml", "").concat("-copy.xml");\r
+                       duplicateFileName = FilenameUtils.getName(selectedJob.getString("template")).replace(".xml", "")\r
+                                       .concat("-copy.xml");\r
                        filePath = templatesPath.toString() + FileSystems.getDefault().getSeparator() + duplicateFileName;\r
                        while (Files.exists(Paths.get(filePath))) {\r
                                duplicateFileName = FilenameUtils.getName(duplicateFileName).replace(".xml", "").concat("-copy.xml");\r
                                filePath = templatesPath.toString() + FileSystems.getDefault().getSeparator() + duplicateFileName;\r
                        }\r
-                       InputStream is = new FileInputStream(templatesPath.toString() + FileSystems.getDefault().getSeparator() + selectedJob.getString("template"));\r
+                       InputStream is = new FileInputStream(templatesPath.toString() + FileSystems.getDefault().getSeparator()\r
+                                       + selectedJob.getString("template"));\r
                        Files.copy(is, Paths.get(filePath));\r
                } catch (FileNotFoundException e) {\r
                        logger.error("File not found: {}", filePath);\r
index 5759ea6fcff1db25c09c1493445b0b1878fe0717..896c5a09a1c6a9db1bd48548c27e36f2dc55a1d5 100644 (file)
@@ -11,10 +11,39 @@ public class JSONEncoder implements Visitor {
                BasicDBObject dbo = (BasicDBObject) o;\r
                BasicDBList nodes = (BasicDBList) dbo.get("nodes");\r
                BasicDBObject newNode = new BasicDBObject();\r
+               BasicDBList inputs = new BasicDBList();\r
+               BasicDBList outputs = null;\r
+               // az inputs és az outputs elemei egyenként vannak hozzáadva, mert csak\r
+               // Stringgé konvertálva tudja a JS oldal feldolgozni\r
+               List<Parameter> inputParameters = command.getInputParameterSequence().getParameters();\r
+               for (int i = 0; i < inputParameters.size(); i++) {\r
+                       BasicDBObject input = new BasicDBObject();\r
+                       Expression expression = ((InputParameter) inputParameters.get(i)).getExpression();\r
+                       input.append("name", expression.getName());\r
+\r
+                       if (expression instanceof ParameterExpression) {\r
+                               input.append("type", "param");\r
+                       } else {\r
+                               input.append("type", "variable");\r
+                       }\r
+                       inputs.add(input);\r
+               }\r
+               if (command.getOutputParameterSequence() != null) {\r
+                       outputs = new BasicDBList();\r
+                       List<Parameter> outputParameters = command.getOutputParameterSequence().getParameters();\r
+                       for (int i = 0; i < outputParameters.size(); i++) {\r
+                               outputs.add(outputParameters.get(i).toString());\r
+                       }\r
+               }\r
+\r
                newNode.append("name", command.getType().replace("Step.java", "")).append("y", 75).append("w", 100)\r
                                .append("h", 100).append("connectors", "connectorsForStep")\r
                                .append("text", command.getType().replace("Step.java", "")).append("fillStyle", "green")\r
-                               .append("figure", "RectangleWithGradient");\r
+                               .append("figure", "RectangleWithGradient").append("inputs", inputs);\r
+               if (outputs != null) {\r
+                       newNode.append("outputs", outputs);\r
+               }\r
+\r
                nodes.add(newNode);\r
 \r
                BasicDBList links = (BasicDBList) dbo.get("links");\r
@@ -38,6 +67,12 @@ public class JSONEncoder implements Visitor {
 \r
        @Override\r
        public Object visitDeclarationSequence(DeclarationSequence declarationSequence, Object o) {\r
+               List<Declaration> declarations = declarationSequence.getDeclarations();\r
+               if (declarations != null) {\r
+                       for (Declaration declaration : declarations) {\r
+                               declaration.visit(this, o);\r
+                       }\r
+               }\r
                return null;\r
        }\r
 \r
@@ -56,7 +91,12 @@ public class JSONEncoder implements Visitor {
                BasicDBObject dbo = new BasicDBObject();\r
                dbo.append("nodes", new BasicDBList());\r
                dbo.append("links", new BasicDBList());\r
+               dbo.append("params", new BasicDBList());\r
+               dbo.append("variables", new BasicDBList());\r
 \r
+               DeclarationSequence ds = jobTemplate.getDeclarationSequence();\r
+               if (ds != null)\r
+                       ds.visit(this, dbo);\r
                CommandSequence cs = jobTemplate.getCommandSequence();\r
                if (cs != null)\r
                        cs.visit(this, dbo);\r
@@ -76,6 +116,12 @@ public class JSONEncoder implements Visitor {
 \r
        @Override\r
        public Object visitParameterDeclaration(ParameterDeclaration parameterDeclaration, Object o) {\r
+               BasicDBObject dbo = (BasicDBObject) o;\r
+               BasicDBList params = (BasicDBList) dbo.get("params");\r
+               BasicDBObject newParameter = new BasicDBObject();\r
+               newParameter.append("name", parameterDeclaration.getName()).append("type", parameterDeclaration.getType());\r
+               params.add(newParameter);\r
+\r
                return null;\r
        }\r
 \r
@@ -91,6 +137,12 @@ public class JSONEncoder implements Visitor {
 \r
        @Override\r
        public Object visitVariableDeclaration(VariableDeclaration variableDeclaration, Object o) {\r
+               BasicDBObject dbo = (BasicDBObject) o;\r
+               BasicDBList variables = (BasicDBList) dbo.get("variables");\r
+               BasicDBObject newVariable = new BasicDBObject();\r
+               newVariable.append("name", variableDeclaration.getName()).append("type", variableDeclaration.getType());\r
+               variables.add(newVariable);\r
+\r
                return null;\r
        }\r
 \r
index 7b534869998beed3661af0695fe75daf2f28cf29..f399d980ff2ecd593baee955c187e219c0486605 100644 (file)
@@ -4,17 +4,28 @@ var model={
     ctx:null,\r
     nodes:[],\r
     links:[],\r
+    params:[],\r
+    variables:[],\r
     myCanvas:null,\r
     rough:false,\r
 \r
-    addNode:function(node){\r
+    addNode: function(node){\r
         this.nodes.push(node);\r
     },\r
-    addLink:function(link){\r
+    \r
+    addLink: function(link){\r
         this.links.push(link);\r
     },\r
+    \r
+    addParam: function(param){\r
+        this.params.push(param);\r
+    },\r
+    \r
+    addVariable: function(variable){\r
+        this.variables.push(variable);\r
+    },\r
 \r
-    clean:function(){\r
+    clean: function(){\r
         this.ctx.beginPath();\r
 \r
         var grd = this.ctx.createLinearGradient(0, this.myCanvas.height, this.myCanvas.width, 0);\r
@@ -27,12 +38,12 @@ var model={
         this.ctx.stroke();\r
     },\r
 \r
-    clear:function(){\r
+    clear: function(){\r
         this.nodes=[];\r
         this.links=[];\r
     },\r
 \r
-    draw:function(){\r
+    draw: function(){\r
         this.clean();\r
         for (let index = 0; index < this.nodes.length; index++) {\r
             this.nodes[index].draw(this.ctx);\r
@@ -45,7 +56,8 @@ var model={
             this.nodes[mouse.selNode].highlight(this.ctx);\r
         }\r
     },\r
-    init:function(canvasName){\r
+    \r
+    init: function(canvasName){\r
         this.myCanvas=document.getElementById(canvasName);\r
         this.myCanvasContainer=document.getElementById(canvasName).parentElement;\r
         this.ctx=this.myCanvas.getContext("2d");\r
@@ -66,7 +78,7 @@ var model={
 \r
     },\r
 \r
-    findNode:function(mouseC){\r
+    findNode: function(mouseC){\r
         var minArea=34435345345344;\r
         var selIndex=null;\r
         for (let index = 0; index < this.nodes.length; index++) {\r
@@ -83,7 +95,7 @@ var model={
         return selIndex;\r
     },\r
 \r
-    copyFrom:function(sourceModel){\r
+    copyFrom: function(sourceModel){\r
         model.nodes=[];\r
         if (sourceModel.nodes){\r
             for (let index = 0; index < sourceModel.nodes.length; index++) {\r
@@ -107,11 +119,12 @@ var model={
         mouse.dragging=null;\r
     },\r
 \r
-    selectNode:function(node){\r
+    selectNode: function(node){\r
         mouse.selNode=node;\r
         model.draw();\r
     },\r
-    connector:function(x,y,mode,title,decoration,options){\r
+    \r
+    connector: function(x, y, mode, title, decoration, options){\r
         this.x=x;\r
         this.y=y;\r
         this.mode=mode;\r
@@ -177,8 +190,8 @@ var model={
                 return false;\r
         };\r
     },\r
-    anchor:function(x,y,cursorClass)\r
-    {\r
+    \r
+    anchor: function(x, y, cursorClass){\r
         this.x=x;\r
         this.y=y;\r
         this.radius=5;\r
@@ -213,8 +226,8 @@ var model={
                 return false;\r
         };\r
     },\r
-    node:function(x,y,w,h,connectors,text,fillStyle,figure,args)\r
-    {\r
+    \r
+    node: function(x, y, w, h, connectors, text, fillStyle, figure, inputs, outputs, args) {\r
         this.textfill=function(ctx) {\r
             var fontSize   =  12;\r
             var lines      =  new Array();\r
@@ -259,6 +272,8 @@ var model={
         this.h=Number(h);\r
         this.data=args;\r
         this.connectors=connectors;\r
+        this.inputs=inputs;\r
+        this.outputs=outputs;\r
         this.anchors=[\r
             new model.anchor(0,0,"nw-resize"),\r
             new model.anchor(.5,0,"n-resize"),\r
@@ -340,7 +355,8 @@ var model={
             });\r
         }\r
     },\r
-    link: function(from,to,anchorIndexFrom,anchorIndexTo,text,mode){\r
+    \r
+    link: function(from, to, anchorIndexFrom, anchorIndexTo, text, mode){\r
         this.directionToVector=function(cursorClass){\r
             switch (cursorClass) {\r
                    case "w-resize":\r
@@ -601,8 +617,18 @@ var model={
             return false;\r
         }\r
     },\r
-    defaultAnchors:function(figure)\r
-    {\r
+    \r
+    param: function(name, type){\r
+       this.name= name;\r
+       this.type= type;\r
+    },\r
+    \r
+    variable: function(name, type){\r
+       this.name= name;\r
+       this.type= type;\r
+    },\r
+    \r
+    defaultAnchors: function(figure) {\r
         var anchors=[];\r
         switch (figure) {\r
         case "Square":\r
@@ -651,7 +677,6 @@ var model={
         }\r
         return anchors;\r
     }\r
-\r
 };\r
 \r
 var mouse={\r
index 925e68ef915c7fd13afb59d7de2889fdda9ae4a6..f1cdac05e86dfc9e1169ff70dbb3aaf1e478d227 100644 (file)
@@ -36,12 +36,12 @@ var inputConnectorDecoration={fillStyle:"red", strokeStyle: "orange", highlightS
 var optionsInput={\r
     dropAllowed:true, \r
     dragAllowed:true, \r
-    radius:7\r
+    radius: 7\r
 };\r
 var optionsOutput={\r
        dropAllowed:true, \r
        dragAllowed:true, \r
-       radius:7\r
+       radius: 7\r
 };\r
 \r
 var connectorsForStep=[\r
@@ -75,27 +75,37 @@ function getPressedKey(e) {
        var arrays= JSON.parse(data);\r
        var nodes= arrays.nodes;\r
        var links= arrays.links;\r
+       var params= arrays.params;\r
+       var variables= arrays.variables;\r
        var xOfNewNode= 30;\r
        \r
        // start node\r
-       model.addNode(new model.node(xOfNewNode, 75, 25, 25, connectorsForStart, "", "black", "Circle"));\r
+       model.addNode(new model.node(xOfNewNode, 75, 25, 25, connectorsForStart, "", "black", "Circle", null, null));\r
        xOfNewNode+= 150;\r
        \r
        for (let i = 0; i < nodes.length; i++) {\r
-               model.addNode(new model.node(xOfNewNode, 75, 100, 100, connectorsForStep, nodes[i].text, "", "RectangleWithGradient"));\r
+               model.addNode(new model.node(xOfNewNode, 75, 100, 100, connectorsForStep, nodes[i].text, "", "RectangleWithGradient", nodes[i].inputs, nodes[i].outputs));\r
                xOfNewNode+= 150;\r
        }\r
        // end node\r
-       model.addNode(new model.node(xOfNewNode, 75, 25, 25, connectorsForEnd, "", "black", "Circle"));\r
+       model.addNode(new model.node(xOfNewNode, 75, 25, 25, connectorsForEnd, "", "black", "Circle", null, null));\r
        \r
        //adding links\r
        model.addLink(new model.link(0, 1, 0, 0, "", "straight"));\r
-       let i = 0;      \r
+       let i = 0;\r
        if(links.length > 0){\r
-               for (; i < links.length; i++) {         \r
+               for (; i < links.length; i++) {\r
                        model.addLink(new model.link(i+1, i+2, 1, 0, "", "straight"));\r
                }\r
        }\r
        model.addLink(new model.link(i, i+1, 1, 0, "", "straight"));\r
        model.draw();\r
+       \r
+       for (let i = 0; i < params.length; i++) {\r
+               model.addParam(new model.param(params[i].name, params[i].type));\r
+       }\r
+       \r
+       for (let i = 0; i < variables.length; i++) {\r
+               model.addVariable(new model.variable(variables[i].name, variables[i].type));\r
+       }\r
 }
\ No newline at end of file
index f355293baebe270859a7dec57bf1d21b030b46ea..7b830eb44d7ffbcfd427703a52c1f91339e31ff3 100644 (file)
@@ -40,7 +40,7 @@
                                                <tabs visible="true">\r
                                                        <tab id="tab0" label="Paraméterek" selected="true" />\r
                                                        <tab id="tab1" label="Részletek" />\r
-<!--                                                   <tab id="tab2" label="Folyamat szerkesztő" /> -->\r
+                                                       <tab id="tab2" label="Folyamat szerkesztő" />\r
                                                </tabs>\r
                                                <tabpanels>\r
                                                        <tabpanel>\r
                                                                <label height="100%" ca:data-syntax-highlight="true" multiline="true" pre="true" \r
                                                                        value="@bind(jem2.editingJob['xml'])" />\r
                                                        </tabpanel>\r
-<!--                                                   <tabpanel> -->\r
-<!--                                                           <include src="/pages/processVisualizer2.zul" /> -->\r
-<!--                                                   </tabpanel> -->\r
+                                                       <tabpanel>\r
+                                                               <include src="/pages/processVisualizer2.zul" />\r
+                                                       </tabpanel>\r
                                                </tabpanels>\r
                                        </tabbox>\r
                                </vlayout>\r
index 826378ddf5495b6a770879f2ee51ee7b5fb18420..7cd433765866417c9cc7335883d2c2bb431fcec9 100644 (file)
@@ -56,7 +56,6 @@ public class JobEditorModel2 extends BaseModel {
        private Button NewParameterButton;\r
        private IJobEngine jobEngine;\r
        private ListModelList<BasicDBObject> jobs = new ListModelList<>();\r
-\r
        private BasicDBObject selectedJob = new BasicDBObject();\r
        private BasicDBObject editingJob = new BasicDBObject();\r
        private ListModelList<BasicDBObject> selectedJobs;\r
@@ -95,10 +94,10 @@ public class JobEditorModel2 extends BaseModel {
        @NotifyChange("editingJob")\r
        public void onNewParameterClicked() {\r
                logger.info("onNewParameterClicked");\r
-               if(editingJob != null) {\r
-                       ((BasicDBList) editingJob.get("parameters")).add(new BasicDBObject()\r
-                                       .append("name", "param".concat(String.valueOf(numberOfNewParams)))\r
-                                       .append("type", dataTypes.get(8)));\r
+               if (editingJob != null) {\r
+                       ((BasicDBList) editingJob.get("parameters"))\r
+                                       .add(new BasicDBObject().append("name", "param".concat(String.valueOf(numberOfNewParams)))\r
+                                                       .append("type", dataTypes.get(8)));\r
                        numberOfNewParams++;\r
                }\r
        }\r
@@ -111,10 +110,10 @@ public class JobEditorModel2 extends BaseModel {
        }\r
 \r
        @Command\r
-       @NotifyChange({"editingJob", "jobs", "selectedJob"})\r
+       @NotifyChange({ "editingJob", "jobs", "selectedJob" })\r
        public void saveData() {\r
                logger.info("saveData");\r
-                               \r
+\r
                try {\r
                        jobEngine.getJobEngineConfiguration().saveSchedulesJson(selectedJob, editingJob);\r
                } catch (Exception e) {\r
@@ -142,18 +141,18 @@ public class JobEditorModel2 extends BaseModel {
        public BasicDBObject getEditingJob() {\r
                return editingJob;\r
        }\r
-       \r
+\r
        @NotifyChange("editingJob")\r
        public void setEditingJob(BasicDBObject editingJob) {\r
                logger.info("setEditingJob");\r
-               this.editingJob= editingJob;\r
-               if(editingJob == null) {\r
+               this.editingJob = editingJob;\r
+               if (editingJob == null) {\r
                        return;\r
                }\r
                updateNextExecutionTime(editingJob);\r
        }\r
 \r
-       @NotifyChange({"editingJob", "selectedJob"})\r
+       @NotifyChange({ "editingJob", "selectedJob" })\r
        public void setSelectedJob(BasicDBObject selectedJob) {\r
                logger.info("setSelectedJob");\r
                if (selectedJob == null) {\r
@@ -162,9 +161,10 @@ public class JobEditorModel2 extends BaseModel {
                        return;\r
                }\r
 \r
-               this.selectedJob= selectedJob;\r
-               this.editingJob= NoSQLUtils.deepCopy(selectedJob);\r
-               BindUtils.postGlobalCommand(null, null, "selectedJobChanged", Collections.singletonMap("selectedJob", selectedJob));\r
+               this.selectedJob = selectedJob;\r
+               this.editingJob = NoSQLUtils.deepCopy(selectedJob);\r
+               BindUtils.postGlobalCommand(null, null, "selectedJobChanged",\r
+                               Collections.singletonMap("selectedJob", selectedJob));\r
        }\r
 \r
        private void updateNextExecutionTime(BasicDBObject selectedJob) {\r
@@ -224,7 +224,7 @@ public class JobEditorModel2 extends BaseModel {
        }\r
 \r
        @Command\r
-       @NotifyChange({"selectedJob", "jobs", "editingJob"})\r
+       @NotifyChange({ "selectedJob", "jobs", "editingJob" })\r
        public void reload() {\r
                try {\r
                        jobEngine.reloadGracefully();\r
@@ -238,40 +238,40 @@ public class JobEditorModel2 extends BaseModel {
        @NotifyChange("jobs")\r
        public void duplicateProcessEntry() {\r
                if (selectedJob != null) {\r
-                       String newTemplateName= jobEngine.getJobEngineConfiguration().duplicateTemplate(selectedJob);\r
+                       String newTemplateName = jobEngine.getJobEngineConfiguration().duplicateTemplate(selectedJob);\r
                        String newProcessName = copyProcessEntry();\r
                        List<BasicDBObject> innerList = jobs.getInnerList();\r
-                       \r
-                       for(int i= 0;i < innerList.size(); i++) {\r
+\r
+                       for (int i = 0; i < innerList.size(); i++) {\r
                                BasicDBObject currentElement = innerList.get(i);\r
-                               \r
-                               if(currentElement.get("name").equals(newProcessName)) {\r
+\r
+                               if (currentElement.get("name").equals(newProcessName)) {\r
                                        currentElement.replace("template", newTemplateName);\r
                                        break;\r
                                }\r
                        }\r
                }\r
        }\r
-       \r
+\r
        @Command\r
        @NotifyChange("jobs")\r
        public String copyProcessEntry() {\r
                logger.info("copyProcessEntry");\r
-               \r
-               String newName= null;\r
+\r
+               String newName = null;\r
                if (selectedJob != null) {\r
                        newName = selectedJob.getString("name").concat("-copy");\r
                        while (jobEngine.getJobEngineConfiguration().scheduleExists(newName)) {\r
                                newName = newName.concat("-copy");\r
                        }\r
-                       BasicDBObject newEntry= NoSQLUtils.deepCopy(selectedJob);\r
+                       BasicDBObject newEntry = NoSQLUtils.deepCopy(selectedJob);\r
                        newEntry.put("name", newName);\r
-       \r
+\r
                        jobEngine.getJobEngineConfiguration().getSchedules()\r
                                        .add(new SimpleEntry<String, BasicDBObject>(newName, newEntry));\r
                        jobs.add(newEntry);\r
                }\r
-               \r
+\r
                return newName;\r
        }\r
 \r
@@ -286,15 +286,15 @@ public class JobEditorModel2 extends BaseModel {
        public void setDataTypes(ArrayList<String> dataTypes) {\r
                this.dataTypes = dataTypes;\r
        }\r
-       \r
+\r
        public void setJobs(ListModelList<BasicDBObject> jobs) {\r
                this.jobs = jobs;\r
        }\r
-       \r
+\r
        public void setSelectedJobs(ListModelList<BasicDBObject> selectedJobs) {\r
                this.selectedJobs = selectedJobs;\r
        }\r
-       \r
+\r
        private void initializeDataTypes() {\r
                dataTypes.add("java.lang.Byte");\r
                dataTypes.add("java.lang.Short");\r