Procházet zdrojové kódy

所有设计器都会在页面中直接显示加载内容或保存数据时出现服务端的错误信息,以方便规则开发人员进行调整

jacky6024 před 8 roky
rodič
revize
5dddee7f18
31 změnil soubory, kde provedl 232 přidání a 91 odebrání
  1. 7 3
      urule-console-js/src/Utils.js
  2. 12 4
      urule-console-js/src/action/action.js
  3. 13 5
      urule-console-js/src/client/action.js
  4. 6 2
      urule-console-js/src/constant/action.js
  5. 6 2
      urule-console-js/src/editor/decisiontable/DecisionTable.js
  6. 12 4
      urule-console-js/src/editor/decisiontree/DecisionTree.js
  7. 18 6
      urule-console-js/src/editor/ul/index.jsx
  8. 6 2
      urule-console-js/src/editor/urule/RuleFactory.js
  9. 6 2
      urule-console-js/src/flow/RuleFlowDesigner.js
  10. 92 44
      urule-console-js/src/frame/action.js
  11. 6 2
      urule-console-js/src/package/action.js
  12. 6 2
      urule-console-js/src/parameter/action.js
  13. 14 6
      urule-console-js/src/permission/action.js
  14. 6 2
      urule-console-js/src/scorecard/index.jsx
  15. 12 4
      urule-console-js/src/variable/action.js
  16. 10 1
      urule-console/src/main/java/com/bstek/urule/console/servlet/URuleServlet.java
  17. 0 0
      urule-console/src/main/resources/urule-asserts/js/actionEditor.bundle.js
  18. 0 0
      urule-console/src/main/resources/urule-asserts/js/clientConfigEditor.bundle.js
  19. 0 0
      urule-console/src/main/resources/urule-asserts/js/constantEditor.bundle.js
  20. 0 0
      urule-console/src/main/resources/urule-asserts/js/decisionTableEditor.bundle.js
  21. 0 0
      urule-console/src/main/resources/urule-asserts/js/decisionTreeEditor.bundle.js
  22. 0 0
      urule-console/src/main/resources/urule-asserts/js/flowDesigner.bundle.js
  23. 0 0
      urule-console/src/main/resources/urule-asserts/js/frame.bundle.js
  24. 0 0
      urule-console/src/main/resources/urule-asserts/js/packageEditor.bundle.js
  25. 0 0
      urule-console/src/main/resources/urule-asserts/js/parameterEditor.bundle.js
  26. 0 0
      urule-console/src/main/resources/urule-asserts/js/permissionConfigEditor.bundle.js
  27. 0 0
      urule-console/src/main/resources/urule-asserts/js/ruleSetEditor.bundle.js
  28. 0 0
      urule-console/src/main/resources/urule-asserts/js/scoreCardTable.bundle.js
  29. 0 0
      urule-console/src/main/resources/urule-asserts/js/scriptDecisionTableEditor.bundle.js
  30. 0 0
      urule-console/src/main/resources/urule-asserts/js/ulEditor.bundle.js
  31. 0 0
      urule-console/src/main/resources/urule-asserts/js/variableEditor.bundle.js

+ 7 - 3
urule-console-js/src/Utils.js

@@ -24,11 +24,15 @@ export function ajaxSave(url,parameters,callback) {
         success:function (result) {
             callback(result);
         },
-        error:function (req) {
-            if(req.status===401){
+        error:function (response) {
+            if(response && response.status===401){
                 bootbox.alert("权限不足,不能进行此操作.");
             }else{
-                bootbox.alert('服务端错误,操作失败!');
+                if(response && response.responseText){
+                    bootbox.alert("<span style='color: red'>服务端错误:"+response.responseText+"</span>");
+                }else{
+                    bootbox.alert("<span style='color: red'>服务端出错</span>");
+                }
             }
         }
     });

+ 12 - 4
urule-console-js/src/action/action.js

@@ -108,8 +108,12 @@ export function loadBeanMethods(beanId){
             success:function(result){
                 dispatch({type:LOADED_BEAN_METHODS,result});
             },
-            error:function(){
-                alert('加载方法失败.');
+            error:function(response){
+                if(response && response.responseText){
+                    bootbox.alert("<span style='color: red'>服务端错误:"+response.responseText+"</span>");
+                }else{
+                    bootbox.alert("<span style='color: red'>服务端出错</span>");
+                }
             }
         });
     }
@@ -153,8 +157,12 @@ export function loadMasterData(files) {
             success:function (data) {
                 dispatch({type:LOAD_MASTER_COMPLETED,masterData:data[0]});
             },
-            error:function () {
-                alert("加载数据失败.");
+            error:function (response) {
+                if(response && response.responseText){
+                    bootbox.alert("<span style='color: red'>服务端错误:"+response.responseText+"</span>");
+                }else{
+                    bootbox.alert("<span style='color: red'>服务端出错</span>");
+                }
             }
         });
     }

+ 13 - 5
urule-console-js/src/client/action.js

@@ -13,8 +13,12 @@ export function loadData(project) {
             success:function (data) {
                 dispatch({type:LOADED_DATA,data});
             },
-            error:function () {
-                alert('加载数据失败!');
+            error:function (response) {
+                if(response && response.responseText){
+                    bootbox.alert("<span style='color: red'>服务端错误:"+response.responseText+"</span>");
+                }else{
+                    bootbox.alert("<span style='color: red'>服务端出错</span>");
+                }
             }
         });
     };
@@ -44,11 +48,15 @@ export function save(data,project) {
         success:function () {
             bootbox.alert('保存成功!');
         },
-        error:function (req) {
-            if(req.status===401){
+        error:function (response) {
+            if(response && response.status===401){
                 alert("权限不足,不能进行此操作.");
             }else{
-                alert('服务端错误,操作失败!');
+                if(response && response.responseText){
+                    bootbox.alert("<span style='color: red'>保存失败,服务端错误:"+response.responseText+"</span>");
+                }else{
+                    bootbox.alert("<span style='color: red'>保存失败,服务端出错</span>");
+                }
             }
         }
     });

+ 6 - 2
urule-console-js/src/constant/action.js

@@ -103,8 +103,12 @@ export function loadMasterData(files) {
             success:function (data) {
                 dispatch({type:LOAD_MASTER_COMPLETED,masterData:data[0].categories});
             },
-            error:function () {
-                alert("加载数据失败.");
+            error:function (response) {
+                if(response && response.responseText){
+                    bootbox.alert("<span style='color: red'>服务端错误:"+response.responseText+"</span>");
+                }else{
+                    bootbox.alert("<span style='color: red'>服务端出错</span>");
+                }
             }
         });
     }

+ 6 - 2
urule-console-js/src/editor/decisiontable/DecisionTable.js

@@ -968,8 +968,12 @@ window._setDirty=function(){
 				async:false,
 				type:'POST',
 				data:{files},
-				error:function(req,error){
-					alert("加载文件失败!");
+				error:function(response){
+					if(response && response.responseText){
+						bootbox.alert("<span style='color: red'>加载文件失败:"+response.responseText+"</span>");
+					}else{
+						bootbox.alert("<span style='color: red'>加载文件失败,服务端出错</span>");
+					}
 				},
 				success:function(data){
 					var decisionTable=data[0];

+ 12 - 4
urule-console-js/src/editor/decisiontree/DecisionTree.js

@@ -123,9 +123,13 @@ DecisionTree.prototype.initToolbar=function(){
                     }
                 });
             },
-            error:function(req,error){
+            error:function(response){
                 dialog.dialog("close");
-                URule.alert("保存失败!");
+                if(response && response.responseText){
+                    bootbox.alert("<span style='color: red'>保存失败:"+response.responseText+"</span>");
+                }else{
+                    bootbox.alert("<span style='color: red'>保存失败,服务端出错</span>");
+                }
             },
             success:function(data){
                 cancelDirty();
@@ -141,8 +145,12 @@ DecisionTree.prototype.initToolbar=function(){
             dataType:"json",
             type:'POST',
             url:url,
-            error:function(req,error){
-                URule.alert("加载文件失败!");
+            error:function(response){
+                if(response && response.responseText){
+                    bootbox.alert("<span style='color: red'>加载文件失败:"+response.responseText+"</span>");
+                }else{
+                    bootbox.alert("<span style='color: red'>加载文件失败,服务端出错</span>");
+                }
             },
             success:function(data){
                 var treeData=data[0];

+ 18 - 6
urule-console-js/src/editor/ul/index.jsx

@@ -71,8 +71,12 @@ function buildScriptLintFunction(type){
                     updateLinting(editor,[]);
                 }
             },
-            error:function(){
-                alert('语法检查操作失败!');
+            error:function(response){
+                if(response && response.responseText){
+                    bootbox.alert("<span style='color: red'>语法检查操作失败:"+response.responseText+"</span>");
+                }else{
+                    bootbox.alert("<span style='color: red'>语法检查操作失败,服务端出错</span>");
+                }
             }
         });
     };
@@ -170,8 +174,12 @@ function init(){
         url:url,
         type:"POST",
         data:{file},
-        error:function(req,error){
-            alert("文件加载失败!");
+        error:function(response){
+            if(response && response.responseText){
+                bootbox.alert("<span style='color: red'>文件加载失败:"+response.responseText+"</span>");
+            }else{
+                bootbox.alert("<span style='color: red'>文件加载失败,服务端出错</span>");
+            }
         },
         success:function(data){
             codeMirror.setValue(data);
@@ -202,8 +210,12 @@ function loadResLib(){
         url:url,
         type:"POST",
         data:{content:content},
-        error:function(req,error){
-            alert("资源库加载失败!");
+        error:function(response){
+            if(response && response.responseText){
+                bootbox.alert("<span style='color: red'>资源库加载失败:"+response.responseText+"</span>");
+            }else{
+                bootbox.alert("<span style='color: red'>资源库加载失败,服务端出错</span>");
+            }
         },
         success:function(data){
             codeMirror._library=data;

+ 6 - 2
urule-console-js/src/editor/urule/RuleFactory.js

@@ -209,8 +209,12 @@ import {MsgBox} from 'flowdesigner';
 				url:url,
 				type:'POST',
 				data:{files:file},
-				error:function(req,error){
-					MsgBox.alert("加载文件失败!");
+				error:function(response){
+					if(response && response.responseText){
+						bootbox.alert("<span style='color: red'>加载文件失败,服务端错误:"+response.responseText+"</span>");
+					}else{
+						bootbox.alert("<span style='color: red'>加载文件失败,服务端出错</span>");
+					}
 				},
 				success:function(data){
 					var ruleset=data[0];

+ 6 - 2
urule-console-js/src/flow/RuleFlowDesigner.js

@@ -329,8 +329,12 @@ export default class RuleFlowDesigner extends FlowDesigner{
             url,
             data:{files},
             type:'POST',
-            error:function(req,error){
-                alert("加载文件["+files+"]失败!");
+            error:function(response){
+                if(response && response.responseText){
+                    bootbox.alert("<span style='color: red'>加载库文件失败,服务端错误:"+response.responseText+"</span>");
+                }else{
+                    bootbox.alert("<span style='color: red'>加载库文件失败,服务端出错</span>");
+                }
             },
             success:function(data){
                 callback(data);

+ 92 - 44
urule-console-js/src/frame/action.js

@@ -47,11 +47,15 @@ export function createNewFile(newFileName,fileType,parentNodeData){
                 event.eventEmitter.emit(event.EXPAND_TREE_NODE,parentNodeData);
                 event.eventEmitter.emit(event.CLOSE_CREATE_FILE_DIALOG);
             },
-            error:function (req) {
-                if(req.status===401){
-                    alert("权限不足,不能进行此操作.");
+            error:function (response) {
+                if(response.status===401){
+                    bootbox.alert("权限不足,不能进行此操作.");
                 }else{
-                    alert('服务端错误,操作失败!');
+                    if(response && response.responseText){
+                        bootbox.alert("<span style='color: red'>服务端错误:"+response.responseText+"</span>");
+                    }else{
+                        bootbox.alert("<span style='color: red'>服务端出错</span>");
+                    }
                 }
             }
         });
@@ -72,11 +76,15 @@ export function rename(path, newPath) {
                 event.eventEmitter.emit(event.HIDE_RENAME_DIALOG);
                 componentEvent.eventEmitter.emit(componentEvent.HIDE_LOADING);
             },
-            error:function (req) {
-                if(req.status===401){
-                    alert("权限不足,不能进行此操作.");
+            error:function (response) {
+                if(response.status===401){
+                    bootbox.alert("权限不足,不能进行此操作.");
                 }else{
-                    alert('服务端错误,操作失败!');
+                    if(response && response.responseText){
+                        bootbox.alert("<span style='color: red'>服务端错误:"+response.responseText+"</span>");
+                    }else{
+                        bootbox.alert("<span style='color: red'>服务端出错</span>");
+                    }
                 }
             }
         });
@@ -96,11 +104,15 @@ export function createNewProject(newProjectName,parentNodeData) {
                 event.eventEmitter.emit(event.CLOSE_NEW_PROJECT_DIALOG);
                 componentEvent.eventEmitter.emit(componentEvent.HIDE_LOADING);
             },
-            error:function (req) {
-                if(req.status===401){
-                    alert("权限不足,不能进行此操作.");
+            error:function (response) {
+                if(response.status===401){
+                    bootbox.alert("权限不足,不能进行此操作.");
                 }else{
-                    alert('服务端错误,操作失败!');
+                    if(response && response.responseText){
+                        bootbox.alert("<span style='color: red'>服务端错误:"+response.responseText+"</span>");
+                    }else{
+                        bootbox.alert("<span style='color: red'>服务端出错</span>");
+                    }
                 }
             }
         });
@@ -121,11 +133,15 @@ export function createNewFolder(newFolderName,parentNodeData) {
                 event.eventEmitter.emit(event.CLOSE_CREATE_FOLDER_DIALOG);
                 componentEvent.eventEmitter.emit(componentEvent.HIDE_LOADING);
             },
-            error:function (req) {
-                if(req.status===401){
-                    alert("权限不足,不能进行此操作.");
+            error:function (response) {
+                if(response.status===401){
+                    bootbox.alert("权限不足,不能进行此操作.");
                 }else{
-                    alert('服务端错误,操作失败!');
+                    if(response && response.responseText){
+                        bootbox.alert("<span style='color: red'>服务端错误:"+response.responseText+"</span>");
+                    }else{
+                        bootbox.alert("<span style='color: red'>服务端出错</span>");
+                    }
                 }
             }
         });
@@ -157,12 +173,16 @@ export function fileRename(itemData, newName) {
                 event.eventEmitter.emit(event.CLOSE_UPDATE_PROJECT_DIALOG);
                 componentEvent.eventEmitter.emit(componentEvent.HIDE_LOADING);
             },
-            error:function (req) {
+            error:function (response) {
                 componentEvent.eventEmitter.emit(componentEvent.HIDE_LOADING);
-                if(req.status===401){
-                    alert("权限不足,不能进行此操作.");
+                if(response.status===401){
+                    bootbox.alert("权限不足,不能进行此操作.");
                 }else{
-                    alert('服务端错误,操作失败!');
+                    if(response && response.responseText){
+                        bootbox.alert("<span style='color: red'>服务端错误:"+response.responseText+"</span>");
+                    }else{
+                        bootbox.alert("<span style='color: red'>服务端出错</span>");
+                    }
                 }
             }
         });
@@ -182,12 +202,16 @@ function moveFile(path, newPath , dispatch) {
             event.eventEmitter.emit(event.CLOSE_UPDATE_PROJECT_DIALOG);
             componentEvent.eventEmitter.emit(componentEvent.HIDE_LOADING);
         },
-        error:function (req) {
+        error:function (response) {
             componentEvent.eventEmitter.emit(componentEvent.HIDE_LOADING);
-            if(req.status===401){
-                alert("权限不足,不能进行此操作.");
+            if(response.status===401){
+                bootbox.alert("权限不足,不能进行此操作.");
             }else{
-                alert('服务端错误,操作失败!');
+                if(response && response.responseText){
+                    bootbox.alert("<span style='color: red'>服务端错误:"+response.responseText+"</span>");
+                }else{
+                    bootbox.alert("<span style='color: red'>服务端出错</span>");
+                }
             }
         }
     });
@@ -226,9 +250,13 @@ export function loadData(classify,projectName,types,searchFileName) {
                 dispatch({data:rootFile,type:LOAD_END});
                 componentEvent.eventEmitter.emit(componentEvent.HIDE_LOADING);
             },
-            error:function () {
+            error:function (response) {
                 componentEvent.eventEmitter.emit(componentEvent.HIDE_LOADING);
-                alert("加载数据失败.");
+                if(response && response.responseText){
+                    bootbox.alert("<span style='color: red'>加载数据失败,服务端错误:"+response.responseText+"</span>");
+                }else{
+                    bootbox.alert("<span style='color: red'>加载数据失败,服务端出错</span>");
+                }
             }
         });
     }
@@ -813,8 +841,12 @@ function buildPasteMenuItem() {
                             buildData(rootFile,1);
                             dispatch({data:rootFile,type:LOAD_END});
                         },
-                        error:function () {
-                            alert("服务端出现错误,复制文件操作失败.");
+                        error:function (response) {
+                            if(response && response.responseText){
+                                bootbox.alert("<span style='color: red'>复制文件操作失败,服务端错误:"+response.responseText+"</span>");
+                            }else{
+                                bootbox.alert("<span style='color: red'>复制文件操作失败,服务端出错</span>");
+                            }
                         }
                     });
                 }
@@ -886,11 +918,15 @@ export function saveFileSource(file,content){
         success:function () {
             bootbox.alert('保存成功!');
         },
-        error:function (req) {
-            if(req.status===401){
-                alert("权限不足,不能进行此操作.");
+        error:function (response) {
+            if(response.status===401){
+                bootbox.alert("权限不足,不能进行此操作.");
             }else{
-                alert('服务端错误,操作失败!');
+                if(response && response.responseText){
+                    bootbox.alert("<span style='color: red'>服务端错误:"+response.responseText+"</span>");
+                }else{
+                    bootbox.alert("<span style='color: red'>服务端出错</span>");
+                }
             }
         }
     });
@@ -905,11 +941,15 @@ export function seeFileSource(data) {
         success:function (result) {
             event.eventEmitter.emit(event.OPEN_SOURCE_DIALOG,data.fullPath,result.content);
         },
-        error:function (req) {
-            if(req.status===401){
-                alert("权限不足,不能进行此操作.");
+        error:function (response) {
+            if(response.status===401){
+                bootbox.alert("权限不足,不能进行此操作.");
             }else{
-                alert('服务端错误,操作失败!');
+                if(response && response.responseText){
+                    bootbox.alert("<span style='color: red'>服务端错误:"+response.responseText+"</span>");
+                }else{
+                    bootbox.alert("<span style='color: red'>服务端出错</span>");
+                }
             }
         }
     });
@@ -924,11 +964,15 @@ function seeFileVersions(data) {
         success:function (list) {
             event.eventEmitter.emit(event.OPEN_FILE_VERSION_DIALOG,{list,data});
         },
-        error:function (req) {
-            if(req.status===401){
-                alert("权限不足,不能进行此操作.");
+        error:function (response) {
+            if(response.status===401){
+                bootbox.alert("权限不足,不能进行此操作.");
             }else{
-                alert('服务端错误,操作失败!');
+                if(response && response.responseText){
+                    bootbox.alert("<span style='color: red'>服务端错误:"+response.responseText+"</span>");
+                }else{
+                    bootbox.alert("<span style='color: red'>服务端出错</span>");
+                }
             }
         }
     });
@@ -952,12 +996,16 @@ function fileDelete(item, dispatch,isFolder) {
                 }
                 componentEvent.eventEmitter.emit(componentEvent.HIDE_LOADING);
             },
-            error:function (req) {
+            error:function (response) {
                 componentEvent.eventEmitter.emit(componentEvent.HIDE_LOADING);
-                if(req.status===401){
-                    alert("权限不足,不能进行此操作.");
+                if(response.status===401){
+                    bootbox.alert("权限不足,不能进行此操作.");
                 }else{
-                    alert('服务端错误,操作失败!');
+                    if(response && response.responseText){
+                        bootbox.alert("<span style='color: red'>服务端错误:"+response.responseText+"</span>");
+                    }else{
+                        bootbox.alert("<span style='color: red'>服务端出错</span>");
+                    }
                 }
             }
         });

+ 6 - 2
urule-console-js/src/package/action.js

@@ -176,10 +176,14 @@ export function doTest(files,data,callback){
         success:function(result){
             callback(result);
         },
-        error:function(){
+        error:function(response){
             const ce=window.parent.componentEvent;
             ce.eventEmitter.emit(ce.HIDE_LOADING);
-            alert('仿真测试操作失败!');
+            if(response && response.responseText){
+                bootbox.alert("<span style='color: red'>服务端错误:"+response.responseText+"</span>");
+            }else{
+                bootbox.alert("<span style='color: red'>服务端出错</span>");
+            }
         }
     })
 };

+ 6 - 2
urule-console-js/src/parameter/action.js

@@ -21,8 +21,12 @@ export function loadData(files){
             success:function (data) {
                 dispatch({type:LOAD_DATA_COMPLETED,data:data[0]});
             },
-            error:function () {
-                alert("加载数据失败.");
+            error:function (response) {
+                if(response && response.responseText){
+                    bootbox.alert("<span style='color: red'>加载数据失败,服务端错误:"+response.responseText+"</span>");
+                }else{
+                    bootbox.alert("<span style='color: red'>加载数据失败,服务端出错</span>");
+                }
             }
         });
     }

+ 14 - 6
urule-console-js/src/permission/action.js

@@ -13,8 +13,12 @@ export function loadMasterData() {
             success:function (data) {
                 dispatch({type:MASTER_LOADED,data});
             },
-            error:function () {
-                alert("加载权限信息失败!");
+            error:function (response) {
+                if(response && response.responseText){
+                    bootbox.alert("<span style='color: red'>加载权限信息失败,服务端错误:"+response.responseText+"</span>");
+                }else{
+                    bootbox.alert("<span style='color: red'>加载权限信息失败,服务端出错</span>");
+                }
             }
         });
     }
@@ -57,11 +61,15 @@ export function save(data) {
         success:function () {
             bootbox.alert('保存成功');
         },
-        error:function (req) {
-            if(req.status===401){
-                alert("权限不足,不能进行此操作.");
+        error:function (response) {
+            if(response.status===401){
+                bootbox.alert("权限不足,不能进行此操作.");
             }else{
-                alert('服务端错误,操作失败!');
+                if(response && response.responseText){
+                    bootbox.alert("<span style='color: red'>服务端错误:"+response.responseText+"</span>");
+                }else{
+                    bootbox.alert("<span style='color: red'>服务端出错</span>");
+                }
             }
         }
     });

+ 6 - 2
urule-console-js/src/scorecard/index.jsx

@@ -218,8 +218,12 @@ $(document).ready(function (e) {
                 cancelDirty();
             }
         },
-        error:function () {
-            bootbox.alert("加载数据失败!");
+        error:function (response) {
+            if(response && response.responseText){
+                bootbox.alert("<span style='color: red'>加载数据失败,服务端错误:"+response.responseText+"</span>");
+            }else{
+                bootbox.alert("<span style='color: red'>加载数据失败,服务端出错</span>");
+            }
         }
     });
 });

+ 12 - 4
urule-console-js/src/variable/action.js

@@ -111,8 +111,12 @@ export function generateFields(rowIndex,clazz){
             success:function(result){
                 dispatch({rowIndex,variables:result,type:GENERATED_FIELDS});
             },
-            error:function(){
-                alert("生成字段失败.");
+            error:function(response){
+                if(response && response.responseText){
+                    bootbox.alert("<span style='color: red'>生成字段失败,服务端错误:"+response.responseText+"</span>");
+                }else{
+                    bootbox.alert("<span style='color: red'>生成字段失败,服务端出错</span>");
+                }
             }
         })
     }
@@ -128,8 +132,12 @@ export function loadMasterData(files) {
             success:function (data) {
                 dispatch({type:LOAD_MASTER_COMPLETED,masterData:data[0]});
             },
-            error:function () {
-                alert("加载数据失败.");
+            error:function (response) {
+                if(response && response.responseText){
+                    bootbox.alert("<span style='color: red'>加载数据失败,服务端错误:"+response.responseText+"</span>");
+                }else{
+                    bootbox.alert("<span style='color: red'>加载数据失败,服务端出错</span>");
+                }
             }
         });
     }

+ 10 - 1
urule-console/src/main/java/com/bstek/urule/console/servlet/URuleServlet.java

@@ -27,6 +27,7 @@ import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.apache.commons.lang.StringUtils;
 import org.springframework.web.context.WebApplicationContext;
 import org.springframework.web.context.support.WebApplicationContextUtils;
 
@@ -78,12 +79,20 @@ public class URuleServlet extends HttpServlet{
 			targetHandler.execute(req, resp);
 		}catch(Exception ex){
 			Throwable e=getCause(ex);
+			resp.setCharacterEncoding("UTF-8");
+			PrintWriter pw=resp.getWriter();
 			if(e instanceof NoPermissionException){
 				resp.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
-				PrintWriter pw=resp.getWriter();
 				pw.write("<h1>Permission denied!</h1>");
 				pw.close();
 			}else{
+				resp.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
+				String errorMsg = e.getMessage();
+				if(StringUtils.isBlank(errorMsg)){
+					errorMsg=e.getClass().getName();
+				}
+				pw.write(errorMsg);
+				pw.close();				
 				throw new ServletException(ex);				
 			}
 		}finally{

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
urule-console/src/main/resources/urule-asserts/js/actionEditor.bundle.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
urule-console/src/main/resources/urule-asserts/js/clientConfigEditor.bundle.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
urule-console/src/main/resources/urule-asserts/js/constantEditor.bundle.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
urule-console/src/main/resources/urule-asserts/js/decisionTableEditor.bundle.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
urule-console/src/main/resources/urule-asserts/js/decisionTreeEditor.bundle.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
urule-console/src/main/resources/urule-asserts/js/flowDesigner.bundle.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
urule-console/src/main/resources/urule-asserts/js/frame.bundle.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
urule-console/src/main/resources/urule-asserts/js/packageEditor.bundle.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
urule-console/src/main/resources/urule-asserts/js/parameterEditor.bundle.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
urule-console/src/main/resources/urule-asserts/js/permissionConfigEditor.bundle.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
urule-console/src/main/resources/urule-asserts/js/ruleSetEditor.bundle.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
urule-console/src/main/resources/urule-asserts/js/scoreCardTable.bundle.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
urule-console/src/main/resources/urule-asserts/js/scriptDecisionTableEditor.bundle.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
urule-console/src/main/resources/urule-asserts/js/ulEditor.bundle.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
urule-console/src/main/resources/urule-asserts/js/variableEditor.bundle.js


Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů