Cannot save Preferences in SOI 4.2 Dashboard

Document ID : KB000108045
Last Modified Date : 27/07/2018
Show Technical Document Details
Issue:
In SOI 4.2 Dashboard, click on 'Preferences', make changes like remove columns or add Tabs etc, then hit 'Save', the changes would not save and there is no
error on the dashboard. The same works in earlier versions like SOI 4.0

Following errors may observed in \SOI\SamUI\logs\soiuis-debug.log
ui.loadJSONDataService_jsp._jspService(240)  - org.json.JSONException: Missing value at character 45 of {sid:#344503599627370501#34,type:hour,tz:-5.5}
ui.loadJSONDataService_jsp._jspService(240)  - org.json.JSONException: Missing value at character 45 of {sid:#344503599627370501#34,type:hour,tz:-5.5}
ui.saveUserPreferences_jsp._jspService(198)  - org.json.JSONException: Expected a ':' after a key at character 707 of {"save":{"Cols":[0,1,2,4,5,6,7,8,9]

User-added image
Environment:
SOI 4.2
Resolution:
The problem is with "#34" character and attached "loadJSONDataService.jsp" & "saveUserPreferences.jsp" files have been updated to address this. 

1) You may download attached 2 files

2) Stop "CA SOI User Interface Server" service on UI

3) Copy these 2 .jsp files to "\CA\SOI\SamUI\webapps\sam\ui" folder on the UI server

Note: Please backup original files before replacing

4) Start "CA SOI User Interface Server" service on UI

Now, we will be able to save User Preferences

Note: 
1) Added below lines to "loadJSONDataService.jsp" after Line # 75
        // Added by CA
        String quotes="\"";
        pass=pass.replaceAll("#34",quotes);

2) Added below lines to saveUserPreferences.jsp after Line #52
     // Added by CA
     String quotes="\"";
     passDecode = passDecode.replaceAll(""",quotes);
File Attachments:
UI Preferences.zip