diff --git a/entity/Appointment_entity/recordcontainers/jdito/onUpdate.js b/entity/Appointment_entity/recordcontainers/jdito/onUpdate.js
index 6c5162502cac09ceca12e341d241ddec2d6c19e4..0e2bd88989262c1d5c331e2124774b6919ca1d93 100644
--- a/entity/Appointment_entity/recordcontainers/jdito/onUpdate.js
+++ b/entity/Appointment_entity/recordcontainers/jdito/onUpdate.js
@@ -6,7 +6,6 @@ import("system.vars");
 import("system.question");
 import("system.translate");
 import("system.text");
-import("system.swing");
 import("system.datetime");
 import("system.db");
 import("system.result");
diff --git a/process/Calendar_lib/process.js b/process/Calendar_lib/process.js
index 3cdfaf1fda77b38667b3ccafa185831d664cc8eb..72b08e2a247b5264360c4f1bc71d2629862c2af1 100644
--- a/process/Calendar_lib/process.js
+++ b/process/Calendar_lib/process.js
@@ -4,7 +4,6 @@ import("system.neon");
 import("system.calendars");
 import("system.vars");
 import("system.db");
-import("system.swing");
 import("system.eMath");
 import("system.logging");
 import("system.tools");
@@ -54,35 +53,13 @@ function CalendarUtil(){}
  * @param {String} pStatus (optional)               <p>
  *                                                  Status of the appointment. (calendars.STATUS_TENTATIVE, <br>
  *                                                  calendars.STATUS_CONFIRMED, calendars.STATUS_CANCELLED)<br>
- * @param {Array{[]} pComps4Refresh (optional)      <p>
- *                                                  The component which will be updated.<br>
  *
  * @return {void}
  */
-CalendarUtil.newTodo = function(pSummary, pDescription, pWithLink, pUser, pAffectedUsers, pStart, pDuration, pCategory, pStatus, pComps4Refresh)
+CalendarUtil.newTodo = function(pSummary, pDescription, pWithLink, pUser, pAffectedUsers, pStart, pDuration, pCategory, pStatus)
 {
     var todo = CalendarUtil.createEntry( calendars.VTODO, pSummary, pDescription, pWithLink, pUser, pAffectedUsers, pStart, pDuration, pCategory, pStatus );
-    var prompts = [];
-    prompts["comp4refresh"] = [];
-
-    if (pComps4Refresh == undefined)
-        pComps4Refresh = ["$comp.Aufgabe", "$comp.tbl_Aufgabe"];
-
-    for (var i = 0; i < pComps4Refresh.length; i++)
-    {
-        if ( vars.exists(pComps4Refresh[i]))    prompts["comp4refresh"].push(pComps4Refresh[i]);
-    }
-    if(vars.getString("$sys.scope") == "vaadin")
-        neon.openCalendarEntry([todo], null, neon.OPERATINGSTATE_NEW, null)
-    else
-    {
-        if (vars.exists("$sys.currentwindow"))
-            prompts["window"] = vars.getString("$sys.currentwindow");
-        if (vars.exists("$sys.currentimage"))
-            prompts["image"] = vars.getString("$sys.currentimage");
-
-        swing.openCalendarEntry([todo], null, false, prompts);
-    }
+    neon.openCalendarEntry([todo], null, neon.OPERATINGSTATE_NEW, null)
 }
 
 
@@ -151,36 +128,13 @@ CalendarUtil.getEffectiveCalendarIdFromUser = function(pUser)
  *                                              <li>calendars.STATUS_CONFIRMED</li>
  *                                              <li>calendars.STATUS_CANCELLED</li>
  *                                              </ul>
- * @param {Array{[]} pComps4Refresh (optional)  <p>
- *                                              The component which will be updated.<br>
- * @param {Array{[]} pWorklistId (optional)     <p>
- *                                              The worklist id.<br>
  * 
  * @return {void}
  */
-CalendarUtil.newEvent = function( pSummary, pDescription, pWithLink, pUser, pAffectedUsers, pStart, pDuration, pCategory, pStatus, pComps4Refresh, pWorklistId)
+CalendarUtil.newEvent = function( pSummary, pDescription, pWithLink, pUser, pAffectedUsers, pStart, pDuration, pCategory, pStatus)
 {
     var event = CalendarUtil.createEntry( calendars.VEVENT, pSummary, pDescription, pWithLink, pUser, pAffectedUsers, pStart, pDuration, pCategory, pStatus );
-
-    var prompts = [];
-    prompts["comp4refresh"] = [];
-    if (pComps4Refresh == undefined)
-        pComps4Refresh = ["$comp.Aufgabe", "$comp.tbl_Termine"];
-    for (let i = 0; i < pComps4Refresh.length; i++)
-    {
-        if ( vars.exists(pComps4Refresh[i]))    prompts["comp4refresh"].push(pComps4Refresh[i]);
-    }
-
-    if(vars.getString("$sys.scope") == "vaadin")
-        neon.openCalendarEntry([event],"", neon.OPERATINGSTATE_NEW, null)
-    else
-    {
-        prompts["window"] = vars.getString("$sys.currentwindow");
-        prompts["image"] = vars.getString("$sys.currentimage");
-        if (pWorklistId != undefined)
-            prompts["worklistId"]   = pWorklistId;
-        swing.openCalendarEntry([event], null, false, prompts);
-    }
+    neon.openCalendarEntry([event],"", neon.OPERATINGSTATE_NEW, null);
 }
 
 
@@ -314,14 +268,7 @@ CalendarUtil.createEntry = function(pSummary, pDescription, pLinks, pOwner, pAff
     
     if (!pDescription)
     {
-        if(vars.getString("$sys.scope") == "vaadin")
-        {
-            pDescription = neon.getImageContent(vars.getString("$sys.currententityname"));
-        }
-        else
-        {
-            pDescription = swing.getImageContent(); //todo: check whether it's necessary or not. #1047482
-        }
+        pDescription = neon.getImageContent(vars.getString("$sys.currententityname"));
     }
     
     if (!pOwner)
diff --git a/process/EwsSyncContact_lib/process.js b/process/EwsSyncContact_lib/process.js
index 262e65e1968986ba4153df1e65c36f0ccf1a0fcc..03311fbcc2895c4fb8d8f8447d0cd7032a6031c6 100644
--- a/process/EwsSyncContact_lib/process.js
+++ b/process/EwsSyncContact_lib/process.js
@@ -3,7 +3,6 @@ import("Communication_lib");
 import("system.project");
 import("system.logging");
 import("system.SQLTYPES");
-import("system.swing");
 import("system.tools");
 import("Util_lib");
 import("system.datetime");
diff --git a/process/Importer_lib/process.js b/process/Importer_lib/process.js
index 98cb4591bf894ae46a7b4a1796cbe5b66b08e525..ab587e7651a6d1e5a95a9067d83bc7376c2001da 100644
--- a/process/Importer_lib/process.js
+++ b/process/Importer_lib/process.js
@@ -4,7 +4,6 @@ import("system.translate");
 import("system.logging");
 import("system.datetime");
 import("system.fileIO");
-import("system.swing");
 import("system.util");
 import("system.text");
 import("ImporterCustomMappingFunctions_lib");
@@ -91,14 +90,14 @@ function Importer(pConfig)
     this.fileInputCharset = "UTF8";
     this.LogLevel = this.LogLevels.Warning;
     this.enableLogBuffer = false;
-    this.InputRecord = new Array();
-    this.OutputRecord = new Object();
+    this.InputRecord = [];
+    this.OutputRecord = {};
     this.ImportUser = "IMPORTER";
-    this.FuncBuffer = new Object();
+    this.FuncBuffer = {};
     this.CompleteUpdate = true;
     this.ErrorLog = "";
     this.DataType = null;
-    this.KeyColumn = new Object();  // contains key info as in KeyColumn["tbl.col"] = "I" | "U" | "I+U"
+    this.KeyColumn = {};  // contains key info as in KeyColumn["tbl.col"] = "I" | "U" | "I+U"
     this.UseAOType = true; //default true, so that AOType will be uses (for legacy systems)
     this.UseUUID = true; //default true, so that util.getNewUUID() is used since this is what you want most time
     this.TableCase = this.Cases.Upper; //default is uppercase
@@ -109,7 +108,8 @@ function Importer(pConfig)
     this.AttributeCache = undefined;
     this.useAttributeCache = false;
     this.attributeCacheLoadedSuccessfully = false;
-    this.loadAttributeCache = function(){
+    this.loadAttributeCache = function()
+    {
         this.writeLog(this.LogLevels.Info, "[LoadAttributeCache]loading Attibute cache");
         try
         {
@@ -217,7 +217,7 @@ function Importer(pConfig)
                     }
                 }
 //                        //jetzt muss geprüft werden ob sich die ATTRIDs unterscheiden, wenn ja bedeutet dass, das ein Attributname mehrfach vergeben wurde
-//                        //dann darf keiner der Daten in den Cache geladen werden, dass würde nur zu fehlerhaften daten führen
+//                        //dann darf keiner der Daten in den Cache geladen werden, dass würde nur zu fehlerhaften dataBatch führen
 //                        var existingAttrid = this.AttributeCache[ attrname ].ATTRID;
 //                        if( existingAttrid != attrid )
 //                        {
@@ -287,7 +287,7 @@ function Importer(pConfig)
             pId: ""
         };
 
-        var daten;
+        var dataBatch;
         var skip;
         var headercount = 0;
         var batchlist = [];
@@ -295,22 +295,37 @@ function Importer(pConfig)
         var importtype = "S";        // F,S or M for "file", "single" or "multi" batch, default to single batch
         batchStart = 0;              // current batch start index
         var logstring = "";          // contains the log file, if not writing to server log
-        var requiredTargets = new Object();   // stores the required target columns
+        var requiredTargets = {};   // stores the required target columns
         // prepare logging stuff
-        if(this.Log != "" && this.Log != undefined && this.Log.split(".")[0] == "$global") vars.set(this.Log, "");
-        if(this.Preview == true) this.LogLevel = this.LogLevels.Preview;
+        if(this.Log != "" && this.Log != undefined && this.Log.split(".")[0] == "$global") 
+        {
+            vars.set(this.Log, "");
+        }
+        if(this.Preview == true) 
+        {
+            this.LogLevel = this.LogLevels.Preview;
+        }
 
         if (this.enableLogBuffer)
+        {
             logBuffer = [];
+        }
         else
+        {
             logBuffer = ["logBuffer is not enabled; you cannot use getLogMessages(...)"];
+        }
         startTime = datetime.date();
         s = datetime.toDate(startTime, translate.text("yyyy-MM-dd HH:mm:ss"), "UTC");
         this.writeLog(this.LogLevels.Minimal, "Started at " + s + " (UTC)");
         logging.log("[IMPORT] Start at " + s + " UTC");
-        if(this.Preview) this.writeLog(this.LogLevels.Info, "======== import running in preview mode ========");
+        if(this.Preview) 
+        {
+            this.writeLog(this.LogLevels.Info, "======== import running in preview mode ========");
+        }
         if (this.useAttributeCache)
+        {
             this.loadAttributeCache();
+        }
         this.writeLog(this.LogLevels.Debug, "Building mapping tables.");
         // get all column type from all tables of the target alias
         this.DataType = this.getDataTypes(this.Config.AliasTo);
@@ -331,8 +346,14 @@ function Importer(pConfig)
 
                 if(this.Config.Mapping[i][1]["Key"] != undefined)  //2009-05-13  TR  changed, because on insertcommand "insert" or "update" there can be no Action
                 {
-                    if(this.KeyColumn[ this.getTableCase(coldata[0]) ] == undefined) this.KeyColumn[ this.getTableCase(coldata[0]) ] = new Object();
-                    if(this.KeyColumn[ this.getTableCase(coldata[0]) ][ this.getColumnCase(coldata[1]) ] == undefined) this.KeyColumn[ this.getTableCase(coldata[0]) ][ this.getColumnCase(coldata[1]) ] = "key";
+                    if(this.KeyColumn[ this.getTableCase(coldata[0]) ] == undefined) 
+                    {
+                        this.KeyColumn[ this.getTableCase(coldata[0]) ] = {};
+                    }
+                    if(this.KeyColumn[ this.getTableCase(coldata[0]) ][ this.getColumnCase(coldata[1]) ] == undefined) 
+                    {
+                        this.KeyColumn[ this.getTableCase(coldata[0]) ][ this.getColumnCase(coldata[1]) ] = "key";
+                    }
 
                     this.setDefaultAction(this.Config.Mapping[i][1]);
 
@@ -343,19 +364,22 @@ function Importer(pConfig)
 
         batchNum = 0;
         headercount = this.Config.HeaderLines;
-        if(headercount == undefined) headercount = 0;
+        if(headercount == undefined) 
+        {
+            headercount = 0;
+        }
         this.writeLog(this.LogLevels.Warning, "Beginning data import.");
         // main loop
-        while(daten = this.getNextBatch(this.Config), daten != null )
+        while(dataBatch = this.getNextBatch(this.Config), dataBatch != null )
         {
             var dataLoopTimeStart = datetime.date();
             this.writeLog(this.LogLevels.Info, "Processing batch #" + batchNum);
 
             // import each row of the current batch
-            for(var bi=0; bi < daten.length; bi++)
+            for(let rowIndex = 0; rowIndex < dataBatch.length; rowIndex++)
             {
                 recordStack.exception = [];
-                recordStack.sourceDataSet = daten[bi];
+                recordStack.sourceDataSet = dataBatch[rowIndex];
                 recordStack.insertData  = {
                     successful: true, 
                     array: []
@@ -366,10 +390,11 @@ function Importer(pConfig)
                 }
 
                 // skip empty data rows
-                if(daten[bi].length == 1 && daten[bi][0] == "")
+                if(dataBatch[rowIndex].length == 1 && dataBatch[rowIndex][0] == "")
                 {
-                    if(this.Debug == true) {
-                        this.writeLog(this.LogLevels.Debug, "Skipping empty row " + bi);
+                    if(this.Debug == true) 
+                    {
+                        this.writeLog(this.LogLevels.Debug, "Skipping empty row " + rowIndex);
                     }
                     continue;
                 }
@@ -378,19 +403,20 @@ function Importer(pConfig)
                 skip = false;
 
                 // skip header rows (usually file import only)
-                if(bi < headercount)
+                if(rowIndex < headercount)
                 {
                     if(this.Preview == true && this.Debug == true)
                     {
-                        this.writeLog(this.LogLevels.Debug, "Skipping header row " + bi);
+                        this.writeLog(this.LogLevels.Debug, "Skipping header row " + rowIndex);
                     }
                     continue;
                 }
                 if (this.Debug)
-                    this.writeLog(this.LogLevels.Debug, "Row " + bi);
-
-                this.InputRecord = daten[bi];       // assign input fields for this record
-                this.OutputRecord = new Object();   // clear output fields for this record
+                {
+                    this.writeLog(this.LogLevels.Debug, "Row " + rowIndex);
+                }
+                this.InputRecord = dataBatch[rowIndex];       // assign input fields for this record
+                this.OutputRecord = {};   // clear output fields for this record
 
                 var mapRecordMapTimeStart = datetime.date();
                 // call mapping functions
@@ -401,7 +427,9 @@ function Importer(pConfig)
                         var fname = this.Config.Mapping[i][0].name;//name is inherited function-property
 
                         if (this.Debug)
+                        {
                             this.writeLog(this.LogLevels.Debug, "Calling mapping function " + fname);
+                        }
                         // call mapping function and time it
                         t = datetime.date();
                         var mapresult = this.Config.Mapping[i][0].call(this, this.Config.Mapping[i][1]);
@@ -437,7 +465,7 @@ function Importer(pConfig)
 
                     var tt = datetime.date();
 
-                    var outdata = new Object();
+                    var outdata = {};
 
                     for(var tbl in this.OutputRecord)  // loop thru all output tables
                     {
@@ -447,7 +475,10 @@ function Importer(pConfig)
                             {
                                 for(var action in this.OutputRecord[tbl][col])
                                 {
-                                    if(outdata[tbl] == undefined) outdata[tbl] = "";
+                                    if(outdata[tbl] == undefined) 
+                                    {
+                                        outdata[tbl] = "";
+                                    }
                                     outdata[tbl] = outdata[tbl] + ";" + action;
 
                                     // check for required data mappings and set skip again, we check this later
@@ -488,7 +519,10 @@ function Importer(pConfig)
 
                             if(t.toLowerCase() != "var")
                             {
-                                if(this.DataType[t] == undefined) this.writeLog(this.LogLevels.Error, "Table " + t + " not exist in database");
+                                if(this.DataType[t] == undefined) 
+                                {
+                                    this.writeLog(this.LogLevels.Error, "Table " + t + " not exist in database");
+                                }
                                 else
                                 {
                                     for(c in this.OutputRecord[t])
@@ -511,7 +545,10 @@ function Importer(pConfig)
                             {
                                 if(t.toLowerCase() != "var")
                                 {
-                                    if(this.DataType[t] == undefined) this.writeLog(this.LogLevels.Error, "Table " + t + " not exist in database");
+                                    if(this.DataType[t] == undefined) 
+                                    {
+                                        this.writeLog(this.LogLevels.Error, "Table " + t + " not exist in database");
+                                    }
                                     else
                                     {
                                         for(c in this.OutputRecord[t])
@@ -532,13 +569,19 @@ function Importer(pConfig)
                                     }
                                 }
 
-                                if(!this.updateData(t, spalten, typen, werte, cond, this.Config.AliasTo)) skip = true;
+                                if(!this.updateData(t, spalten, typen, werte, cond, this.Config.AliasTo)) 
+                                {
+                                    skip = true;
+                                }
                             }
                             else
                             {
                                 if(t.toLowerCase() != "var")
                                 {
-                                    if(this.DataType[t] == undefined) this.writeLog(this.LogLevels.Error, "Table " + t + " not exist in database");
+                                    if(this.DataType[t] == undefined) 
+                                    {
+                                        this.writeLog(this.LogLevels.Error, "Table " + t + " not exist in database");
+                                    }
                                     else
                                     {
                                         for(c in this.OutputRecord[t])
@@ -559,7 +602,10 @@ function Importer(pConfig)
                                     }
                                 }
 
-                                if(!this.insertData(t, spalten, typen, werte, this.Config.AliasTo)) skip = true;
+                                if(!this.insertData(t, spalten, typen, werte, this.Config.AliasTo)) 
+                                {
+                                    skip = true;
+                                }
                             }
                             exectimer["insertUpdateActions"] += (datetime.date() - insertUpdateStart);
                         }
@@ -569,7 +615,10 @@ function Importer(pConfig)
                         {
                             if(t.toLowerCase() != "var")
                             {
-                                if(this.DataType[t] == undefined) this.writeLog(this.LogLevels.Error, "Table " + t + " not exist in database");
+                                if(this.DataType[t] == undefined) 
+                                {
+                                    this.writeLog(this.LogLevels.Error, "Table " + t + " not exist in database");
+                                }
                                 else
                                 {
                                     for(c in this.OutputRecord[t])
@@ -585,7 +634,10 @@ function Importer(pConfig)
                                     }
                                 }
                             }
-                            if(!this.insertData(t, spalten, typen, werte, this.Config.AliasTo)) skip = true;
+                            if(!this.insertData(t, spalten, typen, werte, this.Config.AliasTo)) 
+                            {
+                                skip = true;
+                            }
                         }
 
                         // we do an update?
@@ -593,7 +645,10 @@ function Importer(pConfig)
                         {
                             if(t.toLowerCase() != "var")
                             {
-                                if(this.DataType[t] == undefined) this.writeLog(this.LogLevels.Error, "Table " + t + " not exist in database");
+                                if(this.DataType[t] == undefined) 
+                                {
+                                    this.writeLog(this.LogLevels.Error, "Table " + t + " not exist in database");
+                                }
                                 else
                                 {
                                     for(c in this.OutputRecord[t])
@@ -612,7 +667,10 @@ function Importer(pConfig)
 
                             // create condition by looking for key fields
                             cond = this.generateKeyCondition(t);
-                            if(!this.updateData(t, spalten, typen, werte, cond, this.Config.AliasTo)) skip = true;
+                            if(!this.updateData(t, spalten, typen, werte, cond, this.Config.AliasTo)) 
+                            {
+                                skip = true;
+                            }
                         }
                     }
                     exectimer.outputPerRecordTime += datetime.date() - outputRecordTimeStart;
@@ -621,7 +679,10 @@ function Importer(pConfig)
                 // this is *not* the else-branch for the if above, because we may change the value for "skip"
                 // even it was false when comparing in the "if" above. so we check this here in a separate
                 // if to get all occurrences of skipped import rows.
-                if(skip == true) this.recordCounts.skip++;
+                if(skip == true) 
+                {
+                    this.recordCounts.skip++;
+                }
                 //Now insert/update all Columns
                 if(!skip)
                 {
@@ -668,14 +729,16 @@ function Importer(pConfig)
                         this.recordCounts.skip++;
                         recordStack.exception.push(logging.toLogString(ex["rhinoException"] != undefined ? ex["rhinoException"] : ex, true));
                         
-                        if(this.insertArray.length > 0 && !insertSuccessfull) {
+                        if(this.insertArray.length > 0 && !insertSuccessfull) 
+                        {
                             this.writeLog(this.LogLevels.Info, "Insert array: " + JSON.stringify(this.insertArray, null, " "));
                             recordStack.insertData  = {
                                 successful: false, 
                                 array: this.updateArray
                             };
                         }
-                        if(this.updateArray.length > 0 && !updateSuccessfull) {
+                        if(this.updateArray.length > 0 && !updateSuccessfull) 
+                        {
                             this.writeLog(this.LogLevels.Info, "Update array: " + JSON.stringify(this.updateArray, null, " "));
                             recordStack.updateData  = {
                                 successful: false, 
@@ -693,7 +756,7 @@ function Importer(pConfig)
                 // if a progress callback function has been defined, call it
                 if(this.ProgressCallback != null && typeof(this.ProgressCallback) == "function")
                 {
-                    this.ProgressCallback.call(this, skip, bi, recordStack);
+                    this.ProgressCallback.call(this, skip, rowIndex, recordStack);
                 }
 
                 if(this.MaxRows > 0 && this.recordCounts.total >= this.MaxRows)
@@ -727,7 +790,9 @@ function Importer(pConfig)
     this.showTimings = function(pPrefix)
     {
         if (pPrefix == undefined)
+        {
             pPrefix = "";
+        }
 
         var mappingtotal = 0;
         for(var i=0; i < this.Config.Mapping.length; i++)
@@ -735,7 +800,9 @@ function Importer(pConfig)
             mappingtotal += mappingtimer[i];
         }
         if (stopTime == undefined)
+        {
             this.writeLog(this.LogLevels.Warning, pPrefix + "Total run time till now: " + ((datetime.date() - startTime) / 1000) + " seconds.");
+        }
         else
             this.writeLog(this.LogLevels.Warning, pPrefix + "Total run time: " + ((stopTime - startTime) / 1000) + " seconds.");
 
@@ -756,7 +823,9 @@ function Importer(pConfig)
     this.showCounts = function(pPrefix)
     {
         if (pPrefix == undefined)
+        {
             pPrefix = "";
+        }
 
         this.writeLog(this.LogLevels.Minimal, pPrefix + "Total: " + this.recordCounts.total
                     + ", Skipped: " + this.recordCounts.skip
@@ -766,11 +835,12 @@ function Importer(pConfig)
     }
 
     //		this function yields the next batch of data to import.
-    this.getNextBatch = function(pConfig){
+    this.getNextBatch = function(pConfig)
+    {
         var tt = datetime.date();  // exec timer
         var resultBatch;
         var bs;
-        var daten;
+        var dataBatch;
 
         this.writeLog(this.LogLevels.Debug, "Executing getNextBatch()");
         batchNum++;
@@ -778,7 +848,9 @@ function Importer(pConfig)
         var impmode;
 
         if(pConfig.DataFunction != undefined)
+        {
             impmode = "array";
+        }
         else if(pConfig.DataFile != undefined)
         {
             if(pConfig.DataFile.substr(pConfig.DataFile.length-3, pConfig.DataFile.length) == 'xml') //is the file an xml file? then use xml-mode
@@ -795,9 +867,15 @@ function Importer(pConfig)
         switch(impmode)
         {
             case "xml":
-                if(batchNum > 1) return null;	// we read files in one sweep
+                if(batchNum > 1) 
+                {
+                    return null;	// we read files in one sweep
+                }
 
-                if(this.Debug == true) this.writeLog("Getting input xml " + pConfig.DataFile, false, 3);
+                if(this.Debug == true) 
+                {
+                    this.writeLog("Getting input xml " + pConfig.DataFile, false, 3);
+                }
                 // file import, which is always a single batch operation
                 importtype = "F";
                 var strXML;
@@ -832,19 +910,34 @@ function Importer(pConfig)
                 break;
 
             case "file":
-                if(batchNum > 1) return null;	// we read files in one sweep
-                if(this.Debug == true) this.writeLog("Reading input file " + pConfig.DataFile, false, 3);
+                if(batchNum > 1) 
+                {
+                    return null;	// we read files in one sweep
+                }
+                if(this.Debug == true) 
+                {
+                    this.writeLog("Reading input file " + pConfig.DataFile, false, 3);
+                }
                 // file import, which is always a single batch operation
                 importtype = "F";
 
                 // otherwise, load the file
                 var filestring = this.getFileContent(pConfig.DataFile, util.DATA_TEXT);
                 var rs = pConfig.RowSeparator;
-                if(rs == undefined) rs = "\n";
+                if(rs == undefined) 
+                {
+                    rs = "\n";
+                }
                 var cs = pConfig.ColumnSeparator;
-                if(cs == undefined) cs = ",";
+                if(cs == undefined) 
+                {
+                    cs = ",";
+                }
                 var sd = pConfig.StringDelimiter;
-                if(sd == undefined) sd = "";
+                if(sd == undefined) 
+                {
+                    sd = "";
+                }
 
                 resultBatch = text.parseCSV(filestring, rs, cs, sd);
                 tt = datetime.date() - tt;
@@ -854,7 +947,10 @@ function Importer(pConfig)
 
             case "array":
                 bs = this.BatchSize;
-                if(bs == undefined) bs = 0;
+                if(bs == undefined) 
+                {
+                    bs = 0;
+                }
 
                 resultBatch = this.Config.DataFunction.call(this, batchNum, bs);
                 tt = datetime.date() - tt;
@@ -874,13 +970,15 @@ function Importer(pConfig)
                     if(this.Config.IdQuery == undefined || this.Config.IdColumn == undefined)
                     {
                         //new method for batch-processsing (paging)
-                        daten = db.tablePage(this.Config.DataQuery, this.Config.AliasFrom, batchStart, bs, this.getConfiguredTimeout(Importer.TIMEOUT.QUERY_DATA));
+                        dataBatch = db.tablePage(this.Config.DataQuery, this.Config.AliasFrom, batchStart, bs, this.getConfiguredTimeout(Importer.TIMEOUT.QUERY_DATA));
                         batchStart += bs;
 
                         //this happens when all-records % pBlockSize == 0
                         //we do not want to call the callback-fn
-                        if (daten.length == 0)
-                            daten = null;
+                        if (dataBatch.length == 0)
+                        {
+                            dataBatch = null;
+                        }
                     }
                     else
                     {
@@ -898,12 +996,12 @@ function Importer(pConfig)
 
                             // get data of the next batch
                             var sql = this.Config.DataQuery.replace(/\$\$id/i, idcolumn + " in ('" + batchList.join("','") + "')" );
-                            daten = db.table(sql, this.Config.AliasFrom, db.DB_EOF, this.getConfiguredTimeout(Importer.TIMEOUT.QUERY_DATA));
+                            dataBatch = db.table(sql, this.Config.AliasFrom, db.DB_EOF, this.getConfiguredTimeout(Importer.TIMEOUT.QUERY_DATA));
                         }
                         else
                         {
                             this.idList = undefined;
-                            daten = null;
+                            dataBatch = null;
                         }
                     }
                 }
@@ -911,13 +1009,17 @@ function Importer(pConfig)
                 {
                     // return complete result set
                     if(batchNum > 1)
-                        daten = null;
+                    {
+                        dataBatch = null;
+                    }
                     else
-                        daten = db.table(this.Config.DataQuery, this.Config.AliasFrom, db.DB_EOF, this.getConfiguredTimeout(Importer.TIMEOUT.QUERY_DATA));
+                    {
+                        dataBatch = db.table(this.Config.DataQuery, this.Config.AliasFrom, db.DB_EOF, this.getConfiguredTimeout(Importer.TIMEOUT.QUERY_DATA));
+                    }
                 }
                 tt = datetime.date() - tt;
                 exectimer["getdata"] += tt;
-                return daten;
+                return dataBatch;
                 break;
         }
     }
@@ -1002,17 +1104,10 @@ function Importer(pConfig)
         var resContent;
         var cp;
 
-        if(this.isClientProcess() == true)   // use doClientIntermediate
+        if(this.isClientProcess()) 
         {
-            try
-            {
-                resContent = swing.doClientIntermediate(swing.CLIENTCMD_GETDATA, [pFilename, pDataType, this.fileInputCharset]);
-            }
-            catch(ex)
-            {
-                logging.show(ex)
-                resContent = "";
-            }
+            this.writeLog(this.LogLevels.Warning, "Can't load file '" + pFilename + "' on the client side");
+            resContent = "";
         }
         else   // use fileIO
         {
@@ -1146,9 +1241,9 @@ function Importer(pConfig)
 
                         if (this.CompleteUpdate == false)   // check for changed database values and use only changed columns for update
                         {
-                            var uColumns = new Array();
-                            var uValues = new Array();
-                            var uTypes = new Array();
+                            var uColumns = [];
+                            var uValues = [];
+                            var uTypes = [];
                             var oldValues = db.array(db.ROW, "select " + pColumns.join(", ") + " from " + pTable + " where " + pCondition, pAlias);
                             for (var dsi = 0; dsi < oldValues.length; dsi++)
                             {
@@ -1248,11 +1343,18 @@ function Importer(pConfig)
     {
         if(pObject.Action == undefined)  // set reasonable defaults for Action, if not specified
         {
-            if(this.Config.ImportCommand == "insert") pObject.Action = "I";
-            else
-            if(this.Config.ImportCommand == "update") pObject.Action = "U";
-            else
-            if(this.Config.ImportCommand == "insert+update") pObject.Action = "I+U";
+            if(this.Config.ImportCommand == "insert") 
+            {
+                pObject.Action = "I";
+            }
+            else if(this.Config.ImportCommand == "update") 
+            {
+                pObject.Action = "U";
+            }
+            else if(this.Config.ImportCommand == "insert+update") 
+            {
+                pObject.Action = "I+U";
+            }
         }
     }
 
@@ -1311,7 +1413,10 @@ function Importer(pConfig)
                         {
                             res = undefined;
                         }
-                        if(res == undefined) res = "";  // blank out NULL values
+                        if(res == undefined) 
+                        {
+                            res = "";  // blank out NULL values
+                        }
 
                         //transform ' to \\u0027 which is in eval a \u0027; transform " to \\u0022 which is in eval a \u0022
                         //needed for eval like: "'3'2' != ''"
@@ -1341,7 +1446,7 @@ function Importer(pConfig)
                     }
                 } );
             if(pEvalScript == true)
-                expr = eval(expr);
+                expr = eval(expr); //TODO: remove.
         }
         else
         {
@@ -1354,14 +1459,14 @@ function Importer(pConfig)
     this.getDataTypes = function(pAlias)
     {
         var tables = db.getTables(pAlias);
-        var dataTypes = new Object();
+        var dataTypes = {};
         for(var i=0; i < tables.length; i++)
         {
             if (tables[i] != "trace_xe_action_map" && tables[i] != "trace_xe_event_map")
             {
                 var cols = db.getColumns(tables[i], pAlias);
                 var types = db.getColumnTypes(tables[i], cols, pAlias);//load once for better performance
-                dataTypes[ tables[i] ] = new Object();  // create sub-object to hold columns
+                dataTypes[ tables[i] ] = {};  // create sub-object to hold columns
                 for(var j=0; j < cols.length; j++) dataTypes[tables[i]][cols[j]] = types[j];
             }
         }
@@ -1376,8 +1481,14 @@ function Importer(pConfig)
             var target = pObject.Target.split(".");
             this.setDefaultAction(pObject);
             // make sure we do have an output buffer
-            if(this.OutputRecord[ this.getTableCase(target[0]) ] == undefined) this.OutputRecord[ this.getTableCase(target[0]) ] = new Object();
-            if(this.OutputRecord[ this.getTableCase(target[0]) ][ this.getColumnCase(target[1]) ] == undefined) this.OutputRecord[ this.getTableCase(target[0]) ][ this.getColumnCase(target[1]) ] = new Object();
+            if(this.OutputRecord[ this.getTableCase(target[0]) ] == undefined) 
+            {
+                this.OutputRecord[ this.getTableCase(target[0]) ] = {};
+            }
+            if(this.OutputRecord[ this.getTableCase(target[0]) ][ this.getColumnCase(target[1]) ] == undefined) 
+            {
+                this.OutputRecord[ this.getTableCase(target[0]) ][ this.getColumnCase(target[1]) ] = {};
+            }
             switch(pObject.Action)
             {
                 case "I":
@@ -1406,14 +1517,28 @@ function Importer(pConfig)
         var action;
 
         target = pTarget.split(".");
-        if(pObject != undefined) action = pObject.Action; else action = undefined;
+        if(pObject != undefined) 
+        {
+            action = pObject.Action; 
+        }
+        else 
+        {
+            action = undefined;
+        }
         if(action == undefined)  // set reasonable defaults for Action, if not specified
         {
-            if(this.Config.ImportCommand == "insert") action = "I";
-            else
-            if(this.Config.ImportCommand == "update") action = "U";
-            else
-            if(this.Config.ImportCommand == "insert+update") action = "I+U";
+            if(this.Config.ImportCommand == "insert") 
+            {
+                action = "I";
+            }
+            else if(this.Config.ImportCommand == "update") 
+            {
+                action = "U";
+            }
+            else if(this.Config.ImportCommand == "insert+update") 
+            {
+                action = "I+U";
+            }
         }
         var resAction;
         switch(action)
@@ -1429,7 +1554,10 @@ function Importer(pConfig)
                 if(resAction == undefined || resAction == "") resAction = this.OutputRecord[ this.getTableCase(target[0]) ][ this.getColumnCase(target[1]) ]["I"];
                 break;
         }
-        if(resAction == undefined) resAction = "";   // blank out undefined
+        if(resAction == undefined) 
+        {
+            resAction = "";   // blank out undefined
+        }
         return resAction;
     }
 
@@ -1536,9 +1664,18 @@ function Importer(pConfig)
         if (typeof(pObject.DoIf) == "function")
         {
             var expr;
-            if(pObject.Source != undefined) expr = this.InputRecord[pObject.Source];
-            if(pObject.Value != undefined) expr = this.resolveSymbol(pObject, pObject.Value, pObject.Eval);
-            if(pObject.Map != undefined && pObject.Index) expr = pObject.Map[this.resolveSymbol(pObject, pObect.Index, pObject.Eval)];
+            if(pObject.Source != undefined) 
+            {
+                expr = this.InputRecord[pObject.Source];
+            }
+            if(pObject.Value != undefined) 
+            {
+                expr = this.resolveSymbol(pObject, pObject.Value, pObject.Eval);
+            }
+            if(pObject.Map != undefined && pObject.Index) 
+            {
+                expr = pObject.Map[this.resolveSymbol(pObject, pObect.Index, pObject.Eval)];
+            }
             return pObject.DoIf.call(this, this.InputRecord, expr, pObject);
         }
         
@@ -1664,4 +1801,4 @@ function batchCsvLoad(pCurrentBatchNum, pBatchSize)
     }
     while(dataStr != null);
     return null;
-}
\ No newline at end of file
+}
diff --git a/process/LeadQuickAcquisition_lib/process.js b/process/LeadQuickAcquisition_lib/process.js
index 5b0e3236139a059e623b1c61a59ecc24b5394b02..6cdc7139112bf8204349f5a9e59d6550f41c85b7 100644
--- a/process/LeadQuickAcquisition_lib/process.js
+++ b/process/LeadQuickAcquisition_lib/process.js
@@ -9,7 +9,6 @@ import("system.net");
 import("system.auth");
 import("system.util");
 import("system.fileIO");
-import("system.swing");
 import("system.translate");
 import("KeywordRegistry_basic");
 import("Sql_lib");
diff --git a/process/OfflineClientSync_lib/process.js b/process/OfflineClientSync_lib/process.js
index 29d7c2c558103bde3c529ead0d46d85689587986..bf58ee909e031dcf17d2cff6f74a8433b6a457da 100644
--- a/process/OfflineClientSync_lib/process.js
+++ b/process/OfflineClientSync_lib/process.js
@@ -3,7 +3,6 @@ import("system.vars");
 import("system.fileIO");
 import("system.pack");
 import("system.util");
-import("system.swing");
 import("system.datetime");
 import("system.db");
 import("Sql_lib");
diff --git a/process/Util_lib/process.js b/process/Util_lib/process.js
index d935eba8c47383393000708b178fd6ee026141ac..ada0e3f465462c2959c61f639b5dc3d379cb38e1 100644
--- a/process/Util_lib/process.js
+++ b/process/Util_lib/process.js
@@ -8,7 +8,6 @@ import("system.util");
 import("system.translate");
 import("system.text");
 import("system.vars");
-import("system.swing");
 import("system.question");
 import("system.eMath");
 import("system.datetime");
diff --git a/process/getDocxDocument_serverProcess/process.js b/process/getDocxDocument_serverProcess/process.js
index c56290433052687b29a30d4b7c172a492624ced9..5df148c50463a5b7c21768b73322598f374c45bd 100644
--- a/process/getDocxDocument_serverProcess/process.js
+++ b/process/getDocxDocument_serverProcess/process.js
@@ -1,6 +1,5 @@
 import("system.result");
 import("system.vars");
-import("system.swing");
 import("system.fileIO");
 import("system.util");