ソースを参照

删除describe

Zhou Rui 5 年 前
コミット
6093470dec
100 ファイル変更46 行追加13452 行削除
  1. 33 0
      o2server/x_base_core_project/src/main/java/com/x/base/core/container/factory/PersistenceXmlHelper.java
  2. 13 3
      o2server/x_console/src/main/java/com/x/server/console/action/Ddl.java
  3. 0 7130
      o2server/x_query_assemble_designer/src/main/webapp/describe/describe.json
  4. 0 28
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/AbstractFactory.java
  5. 0 33
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/ApplicationServletContextListener.java
  6. 0 335
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/Business.java
  7. 0 85
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/CompareQuery.java
  8. 0 30
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/ThisApplication.java
  9. 0 58
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/factory/NeuralFactory.java
  10. 0 30
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/factory/QueryFactory.java
  11. 0 58
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/factory/RevealFactory.java
  12. 0 58
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/factory/StatFactory.java
  13. 0 47
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/factory/StatementFactory.java
  14. 0 47
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/factory/TableFactory.java
  15. 0 80
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/factory/ViewFactory.java
  16. 0 36
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/ActionApplication.java
  17. 0 10
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/IdJaxrsFilter.java
  18. 0 10
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/InputJaxrsFilter.java
  19. 0 10
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/NeuralJaxrsFilter.java
  20. 0 10
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/OutputJaxrsFilter.java
  21. 0 10
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/QueryJaxrsFilter.java
  22. 0 10
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/RevealJaxrsFilter.java
  23. 0 10
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/StatJaxrsFilter.java
  24. 0 10
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/StatementJaxrsFilter.java
  25. 0 10
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/TableJaxrsFilter.java
  26. 0 10
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/ViewJaxrsFilter.java
  27. 0 30
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/id/ActionGet.java
  28. 0 7
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/id/BaseAction.java
  29. 0 49
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/id/IdAction.java
  30. 0 52
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/input/ActionCompare.java
  31. 0 236
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/input/ActionCover.java
  32. 0 132
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/input/ActionCreate.java
  33. 0 255
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/input/ActionPrepareCover.java
  34. 0 94
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/input/ActionPrepareCreate.java
  35. 0 59
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/input/ActionUpload.java
  36. 0 986
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/input/ActionWrite.java
  37. 0 98
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/input/BaseAction.java
  38. 0 12
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/input/ExceptionEntityExistForCreate.java
  39. 0 13
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/input/ExceptionQueryAccessDenied.java
  40. 0 12
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/input/ExceptionQueryExist.java
  41. 0 12
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/input/ExceptionQueryNotExist.java
  42. 0 12
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/input/ExceptionQueryNotExistForCover.java
  43. 0 122
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/input/InputAction.java
  44. 0 55
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/neural/ActionCreateModel.java
  45. 0 58
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/neural/ActionDeleteModel.java
  46. 0 70
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/neural/ActionGenerate.java
  47. 0 39
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/neural/ActionGetModel.java
  48. 0 49
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/neural/ActionLearn.java
  49. 0 46
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/neural/ActionListModel.java
  50. 0 35
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/neural/ActionResetStatus.java
  51. 0 62
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/neural/ActionStopGenerating.java
  52. 0 62
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/neural/ActionStopLearning.java
  53. 0 60
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/neural/ActionUpdateModel.java
  54. 0 81
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/neural/BaseAction.java
  55. 0 12
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/neural/ExceptionEntryEmpty.java
  56. 0 12
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/neural/ExceptionGenerating.java
  57. 0 12
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/neural/ExceptionLearning.java
  58. 0 216
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/neural/NeuralAction.java
  59. 0 82
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/output/ActionList.java
  60. 0 141
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/output/ActionSelect.java
  61. 0 40
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/output/ActionSelectFile.java
  62. 0 37
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/output/BaseAction.java
  63. 0 12
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/output/ExceptionFlagNotExist.java
  64. 0 13
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/output/ExceptionQueryAccessDenied.java
  65. 0 12
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/output/ExceptionQueryNotExist.java
  66. 0 12
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/output/ExceptionRevealNotExist.java
  67. 0 12
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/output/ExceptionSelectNotExist.java
  68. 0 12
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/output/ExceptionStatNotExist.java
  69. 0 12
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/output/ExceptionViewNotExist.java
  70. 0 87
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/output/OutputAction.java
  71. 0 74
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/ActionCreate.java
  72. 0 107
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/ActionDelete.java
  73. 0 75
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/ActionEdit.java
  74. 0 47
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/ActionGet.java
  75. 0 47
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/ActionIcon.java
  76. 0 104
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/ActionListAll.java
  77. 0 91
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/ActionListQueryCategory.java
  78. 0 100
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/ActionListSummary.java
  79. 0 129
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/ActionListSummaryWithQueryCategory.java
  80. 0 175
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/ActionListWithQueryCategory.java
  81. 0 62
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/ActionSetIcon.java
  82. 0 21
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/BaseAction.java
  83. 0 13
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/ExceptionAccessDenied.java
  84. 0 13
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/ExceptionAliasExist.java
  85. 0 13
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/ExceptionIdExist.java
  86. 0 13
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/ExceptionNameExist.java
  87. 0 13
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/ExceptionQueryAccessDenied.java
  88. 0 12
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/ExceptionQueryNotExist.java
  89. 0 218
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/QueryAction.java
  90. 0 65
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/reveal/ActionCreate.java
  91. 0 44
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/reveal/ActionDelete.java
  92. 0 66
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/reveal/ActionEdit.java
  93. 0 43
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/reveal/ActionGet.java
  94. 0 55
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/reveal/ActionListNext.java
  95. 0 55
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/reveal/ActionListPrev.java
  96. 0 43
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/reveal/ActionListWithQuery.java
  97. 0 37
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/reveal/BaseAction.java
  98. 0 13
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/reveal/ExceptionAccessDenied.java
  99. 0 12
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/reveal/ExceptionAliasExist.java
  100. 0 12
      o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/reveal/ExceptionNameExist.java

+ 33 - 0
o2server/x_base_core_project/src/main/java/com/x/base/core/container/factory/PersistenceXmlHelper.java

@@ -30,6 +30,39 @@ public class PersistenceXmlHelper {
 
 	}
 
+	public static List<String> directWrite(String path, List<String> classNames) throws Exception {
+		try {
+			Document document = DocumentHelper.createDocument();
+			Element persistence = document.addElement("persistence", "http://java.sun.com/xml/ns/persistence");
+			persistence.addAttribute(QName.get("schemaLocation", "xsi", "http://www.w3.org/2001/XMLSchema-instance"),
+					"http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd");
+			persistence.addAttribute("version", "2.0");
+			for (String className : classNames) {
+				Element unit = persistence.addElement("persistence-unit");
+				unit.addAttribute("name", className);
+				unit.addAttribute("transaction-type", "RESOURCE_LOCAL");
+				Element provider = unit.addElement("provider");
+				provider.addText(PersistenceProviderImpl.class.getName());
+				Element mapped_element = unit.addElement("class");
+				mapped_element.addText(className);
+				Element sliceJpaObject_element = unit.addElement("class");
+				sliceJpaObject_element.addText("com.x.base.core.entity.SliceJpaObject");
+				Element jpaObject_element = unit.addElement("class");
+				jpaObject_element.addText("com.x.base.core.entity.JpaObject");
+			}
+			OutputFormat format = OutputFormat.createPrettyPrint();
+			format.setEncoding("UTF-8");
+			File file = new File(path);
+			FileUtils.touch(file);
+			XMLWriter writer = new XMLWriter(new FileWriter(file), format);
+			writer.write(document);
+			writer.close();
+			return classNames;
+		} catch (Exception e) {
+			throw new Exception("registContainerEntity error.className:" + ListTools.toStringJoin(classNames), e);
+		}
+	}
+	
 	public static void writeForDdl(String path) throws Exception {
 		try {
 			Document document = DocumentHelper.createDocument();

+ 13 - 3
o2server/x_console/src/main/java/com/x/server/console/action/Ddl.java

@@ -50,8 +50,11 @@ public class Ddl {
 		if (StringUtils.equalsIgnoreCase(type, "dropDB")) {
 			flag = "dropDB";
 		}
-		if (StringUtils.equalsIgnoreCase(type, "retain")) {
-			flag = "retain";
+		if (StringUtils.equalsIgnoreCase(type, "refresh")) {
+			flag = "refresh";
+		}
+		if (StringUtils.equalsIgnoreCase(type, "add")) {
+			flag = "add";
 		}
 		List<String> containerEntityNames = new ArrayList<>();
 		containerEntityNames.addAll((List<String>) Config.resource(Config.RESOURCE_CONTAINERENTITYNAMES));
@@ -63,13 +66,20 @@ public class Ddl {
 				persistence.getName());
 		EntityManagerImpl em = (EntityManagerImpl) emf.createEntityManager();
 		String[] arguments = new String[4];
+		File file = new File(Config.dir_local_temp_sql(true), flag + ".sql");
 		arguments[0] = "-schemaAction";
 		arguments[1] = flag;
 		arguments[2] = "-sql";
-		arguments[3] = Config.dir_local_temp_sql(true) + "/" + flag + ".sql";
+		arguments[3] = file.getAbsolutePath();
 		Options opts = new Options();
 		final String[] args = opts.setFromCmdLine(arguments);
 		MappingTool.run((JDBCConfiguration) em.getConfiguration(), args, opts, null);
+		em.close();
+		emf.close();
+		if (StringUtils.equalsIgnoreCase(flag, "build") || StringUtils.equalsIgnoreCase(flag, "createDB")
+				|| StringUtils.equalsIgnoreCase(flag, "dropDB")) {
+			logger.print("file : {}.", file.getAbsolutePath());
+		}
 		return true;
 	}
 

+ 0 - 7130
o2server/x_query_assemble_designer/src/main/webapp/describe/describe.json

@@ -1,7130 +0,0 @@
-{
-  "jaxrs": [
-    {
-      "name": "CacheAction",
-      "className": "com.x.base.core.project.jaxrs.cache.CacheAction",
-      "description": "缓存操作",
-      "methods": [
-        {
-          "name": "configFlush",
-          "className": "com.x.base.core.project.jaxrs.cache.ActionConfigFlush",
-          "description": "接收config flush 信号.",
-          "type": "GET",
-          "path": "jaxrs/cache/config/flush",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "value",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "布尔值."
-            }
-          ]
-        },
-        {
-          "name": "receive",
-          "className": "com.x.base.core.project.jaxrs.cache.ActionReceive",
-          "description": "接收Cache刷新信息.",
-          "type": "PUT",
-          "path": "jaxrs/cache",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [
-            {
-              "name": "nodeName",
-              "type": "String",
-              "isCollection": false,
-              "description": "节点名",
-              "isBaseType": true
-            },
-            {
-              "name": "className",
-              "type": "String",
-              "isCollection": false,
-              "description": "类名",
-              "isBaseType": true
-            },
-            {
-              "name": "keys",
-              "type": "List\u003cObject\u003e",
-              "isCollection": true,
-              "description": "关键字",
-              "isBaseType": false
-            }
-          ],
-          "outs": [
-            {
-              "name": "value",
-              "type": "String",
-              "isCollection": false,
-              "description": "字符串值"
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "EchoAction",
-      "className": "com.x.base.core.project.jaxrs.echo.EchoAction",
-      "description": "响应",
-      "methods": [
-        {
-          "name": "get",
-          "className": "com.x.base.core.project.jaxrs.echo.ActionGet",
-          "description": "获取应答.",
-          "type": "GET",
-          "path": "jaxrs/echo",
-          "contentType": "application/json",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "servletContextName",
-              "type": "String",
-              "isCollection": false,
-              "description": "上下文根"
-            },
-            {
-              "name": "serverTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "服务器时间"
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "FireScheduleAction",
-      "className": "com.x.base.core.project.jaxrs.fireschedule.FireScheduleAction",
-      "description": "触发任务",
-      "methods": [
-        {
-          "name": "execute",
-          "className": "com.x.base.core.project.jaxrs.fireschedule.ActionExecute",
-          "description": "接受x_program_center发送过来的运行schedule.",
-          "type": "GET",
-          "path": "jaxrs/fireschedule/classname/{className}",
-          "contentType": "application/json",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "className",
-              "type": "String",
-              "description": "运行类"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "value",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "布尔值."
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "IdAction",
-      "className": "com.x.query.assemble.designer.jaxrs.id.IdAction",
-      "description": "标识",
-      "methods": [
-        {
-          "name": "get",
-          "className": "com.x.query.assemble.designer.jaxrs.id.ActionGet",
-          "description": "创建用于ID值的UUID",
-          "type": "GET",
-          "path": "jaxrs/id/{count}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "count",
-              "type": "Integer",
-              "description": "数量"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "id"
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "InputAction",
-      "className": "com.x.query.assemble.designer.jaxrs.input.InputAction",
-      "description": "导入",
-      "methods": [
-        {
-          "name": "compare",
-          "className": "com.x.query.assemble.designer.jaxrs.input.ActionCompare",
-          "description": "上传对比数据内容.",
-          "type": "PUT",
-          "path": "jaxrs/input/compare",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [
-            {
-              "name": "viewList",
-              "type": "List\u003cWrapView\u003e",
-              "isCollection": true,
-              "description": "视图",
-              "isBaseType": false
-            },
-            {
-              "name": "statList",
-              "type": "List\u003cWrapStat\u003e",
-              "isCollection": true,
-              "description": "统计",
-              "isBaseType": false
-            },
-            {
-              "name": "tableList",
-              "type": "List\u003cWrapTable\u003e",
-              "isCollection": true,
-              "description": "数据表",
-              "isBaseType": false
-            },
-            {
-              "name": "statementList",
-              "type": "List\u003cWrapStatement\u003e",
-              "isCollection": true,
-              "description": "查询配置",
-              "isBaseType": false
-            },
-            {
-              "name": "revealList",
-              "type": "List\u003cWrapReveal\u003e",
-              "isCollection": true,
-              "description": "展现",
-              "isBaseType": false
-            },
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成.",
-              "isBaseType": true
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称.",
-              "isBaseType": true
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "应用别名,如果有必须唯一.",
-              "isBaseType": true
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述.",
-              "isBaseType": true
-            },
-            {
-              "name": "availableIdentityList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的用户.",
-              "isBaseType": true
-            },
-            {
-              "name": "availableUnitList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的组织.",
-              "isBaseType": true
-            },
-            {
-              "name": "icon",
-              "type": "String",
-              "isCollection": false,
-              "description": "icon Base64编码后的文本.",
-              "isBaseType": true
-            },
-            {
-              "name": "iconHue",
-              "type": "String",
-              "isCollection": false,
-              "description": "icon的主色调",
-              "isBaseType": true
-            },
-            {
-              "name": "controllerList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "查询管理者",
-              "isBaseType": true
-            },
-            {
-              "name": "creatorPerson",
-              "type": "String",
-              "isCollection": false,
-              "description": "查询的创建者",
-              "isBaseType": true
-            },
-            {
-              "name": "lastUpdateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "查询的最后修改时间",
-              "isBaseType": true
-            },
-            {
-              "name": "lastUpdatePerson",
-              "type": "String",
-              "isCollection": false,
-              "description": "查询的最后修改者",
-              "isBaseType": true
-            },
-            {
-              "name": "queryCategory",
-              "type": "String",
-              "isCollection": false,
-              "description": "分类",
-              "isBaseType": true
-            },
-            {
-              "name": "distributeFactor",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "分布式存储标识位.",
-              "isBaseType": true
-            },
-            {
-              "name": "createTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "创建时间,自动生成,索引创建在约束中.",
-              "isBaseType": true
-            },
-            {
-              "name": "updateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "修改时间,自动生成,索引创建在约束中.",
-              "isBaseType": true
-            },
-            {
-              "name": "sequence",
-              "type": "String",
-              "isCollection": false,
-              "description": "列表序号,由创建时间以及ID组成.在保存时自动生成,索引创建在约束中.",
-              "isBaseType": true
-            }
-          ],
-          "outs": [
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "导入名称"
-            },
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "导入id"
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "导入别名"
-            },
-            {
-              "name": "exist",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "是否已经存在"
-            },
-            {
-              "name": "existName",
-              "type": "String",
-              "isCollection": false,
-              "description": "已经存在名称"
-            },
-            {
-              "name": "existId",
-              "type": "String",
-              "isCollection": false,
-              "description": "已经存在id"
-            },
-            {
-              "name": "existAlias",
-              "type": "String",
-              "isCollection": false,
-              "description": "已经存在别名"
-            }
-          ]
-        },
-        {
-          "name": "cover",
-          "className": "com.x.query.assemble.designer.jaxrs.input.ActionCover",
-          "description": "覆盖应用.",
-          "type": "PUT",
-          "path": "jaxrs/input/cover",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [
-            {
-              "name": "viewList",
-              "type": "List\u003cWrapView\u003e",
-              "isCollection": true,
-              "description": "视图",
-              "isBaseType": false
-            },
-            {
-              "name": "statList",
-              "type": "List\u003cWrapStat\u003e",
-              "isCollection": true,
-              "description": "统计",
-              "isBaseType": false
-            },
-            {
-              "name": "tableList",
-              "type": "List\u003cWrapTable\u003e",
-              "isCollection": true,
-              "description": "数据表",
-              "isBaseType": false
-            },
-            {
-              "name": "statementList",
-              "type": "List\u003cWrapStatement\u003e",
-              "isCollection": true,
-              "description": "查询配置",
-              "isBaseType": false
-            },
-            {
-              "name": "revealList",
-              "type": "List\u003cWrapReveal\u003e",
-              "isCollection": true,
-              "description": "展现",
-              "isBaseType": false
-            },
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成.",
-              "isBaseType": true
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称.",
-              "isBaseType": true
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "应用别名,如果有必须唯一.",
-              "isBaseType": true
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述.",
-              "isBaseType": true
-            },
-            {
-              "name": "availableIdentityList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的用户.",
-              "isBaseType": true
-            },
-            {
-              "name": "availableUnitList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的组织.",
-              "isBaseType": true
-            },
-            {
-              "name": "icon",
-              "type": "String",
-              "isCollection": false,
-              "description": "icon Base64编码后的文本.",
-              "isBaseType": true
-            },
-            {
-              "name": "iconHue",
-              "type": "String",
-              "isCollection": false,
-              "description": "icon的主色调",
-              "isBaseType": true
-            },
-            {
-              "name": "controllerList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "查询管理者",
-              "isBaseType": true
-            },
-            {
-              "name": "creatorPerson",
-              "type": "String",
-              "isCollection": false,
-              "description": "查询的创建者",
-              "isBaseType": true
-            },
-            {
-              "name": "lastUpdateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "查询的最后修改时间",
-              "isBaseType": true
-            },
-            {
-              "name": "lastUpdatePerson",
-              "type": "String",
-              "isCollection": false,
-              "description": "查询的最后修改者",
-              "isBaseType": true
-            },
-            {
-              "name": "queryCategory",
-              "type": "String",
-              "isCollection": false,
-              "description": "分类",
-              "isBaseType": true
-            },
-            {
-              "name": "distributeFactor",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "分布式存储标识位.",
-              "isBaseType": true
-            },
-            {
-              "name": "createTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "创建时间,自动生成,索引创建在约束中.",
-              "isBaseType": true
-            },
-            {
-              "name": "updateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "修改时间,自动生成,索引创建在约束中.",
-              "isBaseType": true
-            },
-            {
-              "name": "sequence",
-              "type": "String",
-              "isCollection": false,
-              "description": "列表序号,由创建时间以及ID组成.在保存时自动生成,索引创建在约束中.",
-              "isBaseType": true
-            }
-          ],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "id"
-            }
-          ]
-        },
-        {
-          "name": "create",
-          "className": "com.x.query.assemble.designer.jaxrs.input.ActionCreate",
-          "description": "创建应用.",
-          "type": "PUT",
-          "path": "jaxrs/input/create",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [
-            {
-              "name": "viewList",
-              "type": "List\u003cWrapView\u003e",
-              "isCollection": true,
-              "description": "视图",
-              "isBaseType": false
-            },
-            {
-              "name": "statList",
-              "type": "List\u003cWrapStat\u003e",
-              "isCollection": true,
-              "description": "统计",
-              "isBaseType": false
-            },
-            {
-              "name": "tableList",
-              "type": "List\u003cWrapTable\u003e",
-              "isCollection": true,
-              "description": "数据表",
-              "isBaseType": false
-            },
-            {
-              "name": "statementList",
-              "type": "List\u003cWrapStatement\u003e",
-              "isCollection": true,
-              "description": "查询配置",
-              "isBaseType": false
-            },
-            {
-              "name": "revealList",
-              "type": "List\u003cWrapReveal\u003e",
-              "isCollection": true,
-              "description": "展现",
-              "isBaseType": false
-            },
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成.",
-              "isBaseType": true
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称.",
-              "isBaseType": true
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "应用别名,如果有必须唯一.",
-              "isBaseType": true
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述.",
-              "isBaseType": true
-            },
-            {
-              "name": "availableIdentityList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的用户.",
-              "isBaseType": true
-            },
-            {
-              "name": "availableUnitList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的组织.",
-              "isBaseType": true
-            },
-            {
-              "name": "icon",
-              "type": "String",
-              "isCollection": false,
-              "description": "icon Base64编码后的文本.",
-              "isBaseType": true
-            },
-            {
-              "name": "iconHue",
-              "type": "String",
-              "isCollection": false,
-              "description": "icon的主色调",
-              "isBaseType": true
-            },
-            {
-              "name": "controllerList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "查询管理者",
-              "isBaseType": true
-            },
-            {
-              "name": "creatorPerson",
-              "type": "String",
-              "isCollection": false,
-              "description": "查询的创建者",
-              "isBaseType": true
-            },
-            {
-              "name": "lastUpdateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "查询的最后修改时间",
-              "isBaseType": true
-            },
-            {
-              "name": "lastUpdatePerson",
-              "type": "String",
-              "isCollection": false,
-              "description": "查询的最后修改者",
-              "isBaseType": true
-            },
-            {
-              "name": "queryCategory",
-              "type": "String",
-              "isCollection": false,
-              "description": "分类",
-              "isBaseType": true
-            },
-            {
-              "name": "distributeFactor",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "分布式存储标识位.",
-              "isBaseType": true
-            },
-            {
-              "name": "createTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "创建时间,自动生成,索引创建在约束中.",
-              "isBaseType": true
-            },
-            {
-              "name": "updateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "修改时间,自动生成,索引创建在约束中.",
-              "isBaseType": true
-            },
-            {
-              "name": "sequence",
-              "type": "String",
-              "isCollection": false,
-              "description": "列表序号,由创建时间以及ID组成.在保存时自动生成,索引创建在约束中.",
-              "isBaseType": true
-            }
-          ],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "id"
-            }
-          ]
-        },
-        {
-          "name": "prepareCover",
-          "className": "com.x.query.assemble.designer.jaxrs.input.ActionPrepareCover",
-          "description": "准备覆盖应用.",
-          "type": "PUT",
-          "path": "jaxrs/input/prepare/cover",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [
-            {
-              "name": "viewList",
-              "type": "List\u003cWrapView\u003e",
-              "isCollection": true,
-              "description": "视图",
-              "isBaseType": false
-            },
-            {
-              "name": "statList",
-              "type": "List\u003cWrapStat\u003e",
-              "isCollection": true,
-              "description": "统计",
-              "isBaseType": false
-            },
-            {
-              "name": "tableList",
-              "type": "List\u003cWrapTable\u003e",
-              "isCollection": true,
-              "description": "数据表",
-              "isBaseType": false
-            },
-            {
-              "name": "statementList",
-              "type": "List\u003cWrapStatement\u003e",
-              "isCollection": true,
-              "description": "查询配置",
-              "isBaseType": false
-            },
-            {
-              "name": "revealList",
-              "type": "List\u003cWrapReveal\u003e",
-              "isCollection": true,
-              "description": "展现",
-              "isBaseType": false
-            },
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成.",
-              "isBaseType": true
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称.",
-              "isBaseType": true
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "应用别名,如果有必须唯一.",
-              "isBaseType": true
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述.",
-              "isBaseType": true
-            },
-            {
-              "name": "availableIdentityList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的用户.",
-              "isBaseType": true
-            },
-            {
-              "name": "availableUnitList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的组织.",
-              "isBaseType": true
-            },
-            {
-              "name": "icon",
-              "type": "String",
-              "isCollection": false,
-              "description": "icon Base64编码后的文本.",
-              "isBaseType": true
-            },
-            {
-              "name": "iconHue",
-              "type": "String",
-              "isCollection": false,
-              "description": "icon的主色调",
-              "isBaseType": true
-            },
-            {
-              "name": "controllerList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "查询管理者",
-              "isBaseType": true
-            },
-            {
-              "name": "creatorPerson",
-              "type": "String",
-              "isCollection": false,
-              "description": "查询的创建者",
-              "isBaseType": true
-            },
-            {
-              "name": "lastUpdateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "查询的最后修改时间",
-              "isBaseType": true
-            },
-            {
-              "name": "lastUpdatePerson",
-              "type": "String",
-              "isCollection": false,
-              "description": "查询的最后修改者",
-              "isBaseType": true
-            },
-            {
-              "name": "queryCategory",
-              "type": "String",
-              "isCollection": false,
-              "description": "分类",
-              "isBaseType": true
-            },
-            {
-              "name": "distributeFactor",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "分布式存储标识位.",
-              "isBaseType": true
-            },
-            {
-              "name": "createTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "创建时间,自动生成,索引创建在约束中.",
-              "isBaseType": true
-            },
-            {
-              "name": "updateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "修改时间,自动生成,索引创建在约束中.",
-              "isBaseType": true
-            },
-            {
-              "name": "sequence",
-              "type": "String",
-              "isCollection": false,
-              "description": "列表序号,由创建时间以及ID组成.在保存时自动生成,索引创建在约束中.",
-              "isBaseType": true
-            }
-          ],
-          "outs": []
-        },
-        {
-          "name": "prepareCreate",
-          "className": "com.x.query.assemble.designer.jaxrs.input.ActionPrepareCreate",
-          "description": "准备创建应用.",
-          "type": "PUT",
-          "path": "jaxrs/input/prepare/create",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [
-            {
-              "name": "viewList",
-              "type": "List\u003cWrapView\u003e",
-              "isCollection": true,
-              "description": "视图",
-              "isBaseType": false
-            },
-            {
-              "name": "statList",
-              "type": "List\u003cWrapStat\u003e",
-              "isCollection": true,
-              "description": "统计",
-              "isBaseType": false
-            },
-            {
-              "name": "tableList",
-              "type": "List\u003cWrapTable\u003e",
-              "isCollection": true,
-              "description": "数据表",
-              "isBaseType": false
-            },
-            {
-              "name": "statementList",
-              "type": "List\u003cWrapStatement\u003e",
-              "isCollection": true,
-              "description": "查询配置",
-              "isBaseType": false
-            },
-            {
-              "name": "revealList",
-              "type": "List\u003cWrapReveal\u003e",
-              "isCollection": true,
-              "description": "展现",
-              "isBaseType": false
-            },
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成.",
-              "isBaseType": true
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称.",
-              "isBaseType": true
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "应用别名,如果有必须唯一.",
-              "isBaseType": true
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述.",
-              "isBaseType": true
-            },
-            {
-              "name": "availableIdentityList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的用户.",
-              "isBaseType": true
-            },
-            {
-              "name": "availableUnitList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的组织.",
-              "isBaseType": true
-            },
-            {
-              "name": "icon",
-              "type": "String",
-              "isCollection": false,
-              "description": "icon Base64编码后的文本.",
-              "isBaseType": true
-            },
-            {
-              "name": "iconHue",
-              "type": "String",
-              "isCollection": false,
-              "description": "icon的主色调",
-              "isBaseType": true
-            },
-            {
-              "name": "controllerList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "查询管理者",
-              "isBaseType": true
-            },
-            {
-              "name": "creatorPerson",
-              "type": "String",
-              "isCollection": false,
-              "description": "查询的创建者",
-              "isBaseType": true
-            },
-            {
-              "name": "lastUpdateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "查询的最后修改时间",
-              "isBaseType": true
-            },
-            {
-              "name": "lastUpdatePerson",
-              "type": "String",
-              "isCollection": false,
-              "description": "查询的最后修改者",
-              "isBaseType": true
-            },
-            {
-              "name": "queryCategory",
-              "type": "String",
-              "isCollection": false,
-              "description": "分类",
-              "isBaseType": true
-            },
-            {
-              "name": "distributeFactor",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "分布式存储标识位.",
-              "isBaseType": true
-            },
-            {
-              "name": "createTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "创建时间,自动生成,索引创建在约束中.",
-              "isBaseType": true
-            },
-            {
-              "name": "updateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "修改时间,自动生成,索引创建在约束中.",
-              "isBaseType": true
-            },
-            {
-              "name": "sequence",
-              "type": "String",
-              "isCollection": false,
-              "description": "列表序号,由创建时间以及ID组成.在保存时自动生成,索引创建在约束中.",
-              "isBaseType": true
-            }
-          ],
-          "outs": []
-        }
-      ]
-    },
-    {
-      "name": "LoggerAction",
-      "className": "com.x.base.core.project.jaxrs.logger.LoggerAction",
-      "description": "日志操作",
-      "methods": [
-        {
-          "name": "debug",
-          "className": "com.x.base.core.project.jaxrs.logger.ActionDebug",
-          "description": "设置日志级别为DEBUG.",
-          "type": "GET",
-          "path": "jaxrs/logger/debug",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "value",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "布尔值."
-            }
-          ]
-        },
-        {
-          "name": "get",
-          "className": "com.x.base.core.project.jaxrs.logger.ActionGet",
-          "description": "获取当前日志级别.",
-          "type": "GET",
-          "path": "jaxrs/logger",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "value",
-              "type": "String",
-              "isCollection": false,
-              "description": "字符串值"
-            }
-          ]
-        },
-        {
-          "name": "info",
-          "className": "com.x.base.core.project.jaxrs.logger.ActionInfo",
-          "description": "设置日志级别为INFO",
-          "type": "GET",
-          "path": "jaxrs/logger/info",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "value",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "布尔值."
-            }
-          ]
-        },
-        {
-          "name": "trace",
-          "className": "com.x.base.core.project.jaxrs.logger.ActionTrace",
-          "description": "设置日志级别为TRACE.",
-          "type": "GET",
-          "path": "jaxrs/logger/trace",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "value",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "布尔值."
-            }
-          ]
-        },
-        {
-          "name": "warn",
-          "className": "com.x.base.core.project.jaxrs.logger.ActionWarn",
-          "description": "设置日志级别为WARN",
-          "type": "GET",
-          "path": "jaxrs/logger/warn",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "value",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "布尔值."
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "NeuralAction",
-      "className": "com.x.query.assemble.designer.jaxrs.neural.NeuralAction",
-      "description": "神经网络多层感知机",
-      "methods": [
-        {
-          "name": "createModel",
-          "className": "com.x.query.assemble.designer.jaxrs.neural.ActionCreateModel",
-          "description": "创建模型.",
-          "type": "POST",
-          "path": "jaxrs/neural/model",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [
-            {
-              "name": "neuralNetworkType",
-              "type": "String",
-              "isCollection": false,
-              "description": "神经网络类型:mlp.",
-              "isBaseType": true
-            },
-            {
-              "name": "dataType",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据类型:cms,processPlatform",
-              "isBaseType": true
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称",
-              "isBaseType": true
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "说明",
-              "isBaseType": true
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "别名.",
-              "isBaseType": true
-            },
-            {
-              "name": "inValueScriptText",
-              "type": "String",
-              "isCollection": false,
-              "description": "输入值脚本,脚本中的操作对象是inValues,对象类型Set",
-              "isBaseType": true
-            },
-            {
-              "name": "outValueScriptText",
-              "type": "String",
-              "isCollection": false,
-              "description": "输出值脚本,脚本中的操作对象是outValues,对象类型Set",
-              "isBaseType": true
-            },
-            {
-              "name": "attachmentScriptText",
-              "type": "String",
-              "isCollection": false,
-              "description": "附件过滤脚本,脚本中的操作对象是attachments,对象类型List,内容是附件名称,可以删除不要进行分词的附件名.",
-              "isBaseType": true
-            },
-            {
-              "name": "processList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "包含流程.",
-              "isBaseType": true
-            },
-            {
-              "name": "applicationList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "包含应用.",
-              "isBaseType": true
-            },
-            {
-              "name": "analyzeType",
-              "type": "String",
-              "isCollection": false,
-              "description": "分析类型,default,full,customized",
-              "isBaseType": true
-            },
-            {
-              "name": "maxResult",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "最大输出值",
-              "isBaseType": true
-            },
-            {
-              "name": "inValueCount",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "输入数量",
-              "isBaseType": true
-            },
-            {
-              "name": "outValueCount",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "输出数量",
-              "isBaseType": true
-            },
-            {
-              "name": "propertyMap",
-              "type": "LinkedHashMap\u003cString,String\u003e",
-              "isCollection": false,
-              "description": "神经网络参数.",
-              "isBaseType": false
-            }
-          ],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "id"
-            }
-          ]
-        },
-        {
-          "name": "deleteModel",
-          "className": "com.x.query.assemble.designer.jaxrs.neural.ActionDeleteModel",
-          "description": "删除项目.",
-          "type": "DELETE",
-          "path": "jaxrs/neural/model/{modelFlag}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "modelFlag",
-              "type": "String",
-              "description": "模型标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成."
-            },
-            {
-              "name": "neuralNetworkType",
-              "type": "String",
-              "isCollection": false,
-              "description": "神经网络类型:mlp."
-            },
-            {
-              "name": "dataType",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据类型:cms,processPlatform"
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称"
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "说明"
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "别名."
-            },
-            {
-              "name": "inValueScriptText",
-              "type": "String",
-              "isCollection": false,
-              "description": "输入值脚本,脚本中的操作对象是inValues,对象类型Set"
-            },
-            {
-              "name": "outValueScriptText",
-              "type": "String",
-              "isCollection": false,
-              "description": "输出值脚本,脚本中的操作对象是outValues,对象类型Set"
-            },
-            {
-              "name": "attachmentScriptText",
-              "type": "String",
-              "isCollection": false,
-              "description": "附件过滤脚本,脚本中的操作对象是attachments,对象类型List,内容是附件名称,可以删除不要进行分词的附件名."
-            },
-            {
-              "name": "processList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "包含流程."
-            },
-            {
-              "name": "applicationList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "包含应用."
-            },
-            {
-              "name": "analyzeType",
-              "type": "String",
-              "isCollection": false,
-              "description": "分析类型,default,full,customized"
-            },
-            {
-              "name": "maxResult",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "最大输出值"
-            },
-            {
-              "name": "inValueCount",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "输入数量"
-            },
-            {
-              "name": "outValueCount",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "输出数量"
-            },
-            {
-              "name": "propertyMap",
-              "type": "LinkedHashMap\u003cString,String\u003e",
-              "isCollection": false,
-              "description": "神经网络参数."
-            },
-            {
-              "name": "startDate",
-              "type": "Date",
-              "isCollection": false,
-              "description": "开始时间"
-            },
-            {
-              "name": "endDate",
-              "type": "Date",
-              "isCollection": false,
-              "description": "开始时间"
-            },
-            {
-              "name": "entryCount",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "条目数量"
-            },
-            {
-              "name": "effectiveEntryCount",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "有效条目数量"
-            },
-            {
-              "name": "status",
-              "type": "String",
-              "isCollection": false,
-              "description": "状态,generating or learning"
-            },
-            {
-              "name": "nnet",
-              "type": "String",
-              "isCollection": false,
-              "description": "方案二进制代码"
-            },
-            {
-              "name": "intermediateNnet",
-              "type": "String",
-              "isCollection": false,
-              "description": "方案二进制代码"
-            },
-            {
-              "name": "generatingPercent",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "当前条目生成进度"
-            },
-            {
-              "name": "totalError",
-              "type": "Double",
-              "isCollection": false,
-              "description": "学习总错误,当前均方误差"
-            },
-            {
-              "name": "learnEntryCount",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "学习条目数量"
-            },
-            {
-              "name": "validationEntryCount",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "测试条目数量"
-            },
-            {
-              "name": "validationMeanSquareError",
-              "type": "Double",
-              "isCollection": false,
-              "description": "测试结果"
-            },
-            {
-              "name": "createTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "创建时间,自动生成,索引创建在约束中."
-            },
-            {
-              "name": "updateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "修改时间,自动生成,索引创建在约束中."
-            }
-          ]
-        },
-        {
-          "name": "generate",
-          "className": "com.x.query.assemble.designer.jaxrs.neural.ActionGenerate",
-          "description": "创建条目.",
-          "type": "GET",
-          "path": "jaxrs/neural/generate/model/{modelFlag}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "modelFlag",
-              "type": "String",
-              "description": "模型标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "value",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "布尔值."
-            }
-          ]
-        },
-        {
-          "name": "getModel",
-          "className": "com.x.query.assemble.designer.jaxrs.neural.ActionGetModel",
-          "description": "获取模型.",
-          "type": "GET",
-          "path": "jaxrs/neural/model/{modelFlag}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "modelFlag",
-              "type": "String",
-              "description": "模型标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成."
-            },
-            {
-              "name": "neuralNetworkType",
-              "type": "String",
-              "isCollection": false,
-              "description": "神经网络类型:mlp."
-            },
-            {
-              "name": "dataType",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据类型:cms,processPlatform"
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称"
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "说明"
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "别名."
-            },
-            {
-              "name": "inValueScriptText",
-              "type": "String",
-              "isCollection": false,
-              "description": "输入值脚本,脚本中的操作对象是inValues,对象类型Set"
-            },
-            {
-              "name": "outValueScriptText",
-              "type": "String",
-              "isCollection": false,
-              "description": "输出值脚本,脚本中的操作对象是outValues,对象类型Set"
-            },
-            {
-              "name": "attachmentScriptText",
-              "type": "String",
-              "isCollection": false,
-              "description": "附件过滤脚本,脚本中的操作对象是attachments,对象类型List,内容是附件名称,可以删除不要进行分词的附件名."
-            },
-            {
-              "name": "processList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "包含流程."
-            },
-            {
-              "name": "applicationList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "包含应用."
-            },
-            {
-              "name": "analyzeType",
-              "type": "String",
-              "isCollection": false,
-              "description": "分析类型,default,full,customized"
-            },
-            {
-              "name": "maxResult",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "最大输出值"
-            },
-            {
-              "name": "inValueCount",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "输入数量"
-            },
-            {
-              "name": "outValueCount",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "输出数量"
-            },
-            {
-              "name": "propertyMap",
-              "type": "LinkedHashMap\u003cString,String\u003e",
-              "isCollection": false,
-              "description": "神经网络参数."
-            },
-            {
-              "name": "startDate",
-              "type": "Date",
-              "isCollection": false,
-              "description": "开始时间"
-            },
-            {
-              "name": "endDate",
-              "type": "Date",
-              "isCollection": false,
-              "description": "开始时间"
-            },
-            {
-              "name": "entryCount",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "条目数量"
-            },
-            {
-              "name": "effectiveEntryCount",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "有效条目数量"
-            },
-            {
-              "name": "status",
-              "type": "String",
-              "isCollection": false,
-              "description": "状态,generating or learning"
-            },
-            {
-              "name": "generatingPercent",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "当前条目生成进度"
-            },
-            {
-              "name": "totalError",
-              "type": "Double",
-              "isCollection": false,
-              "description": "学习总错误,当前均方误差"
-            },
-            {
-              "name": "learnEntryCount",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "学习条目数量"
-            },
-            {
-              "name": "validationEntryCount",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "测试条目数量"
-            },
-            {
-              "name": "validationMeanSquareError",
-              "type": "Double",
-              "isCollection": false,
-              "description": "测试结果"
-            },
-            {
-              "name": "createTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "创建时间,自动生成,索引创建在约束中."
-            },
-            {
-              "name": "updateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "修改时间,自动生成,索引创建在约束中."
-            }
-          ]
-        },
-        {
-          "name": "learn",
-          "className": "com.x.query.assemble.designer.jaxrs.neural.ActionLearn",
-          "description": "学习.",
-          "type": "GET",
-          "path": "jaxrs/neural/learn/model/{modelFlag}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "modelFlag",
-              "type": "String",
-              "description": "模型标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "value",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "布尔值."
-            }
-          ]
-        },
-        {
-          "name": "listModel",
-          "className": "com.x.query.assemble.designer.jaxrs.neural.ActionListModel",
-          "description": "列示所有模型.",
-          "type": "GET",
-          "path": "jaxrs/neural/list/model",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成."
-            },
-            {
-              "name": "neuralNetworkType",
-              "type": "String",
-              "isCollection": false,
-              "description": "神经网络类型:mlp."
-            },
-            {
-              "name": "dataType",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据类型:cms,processPlatform"
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称"
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "说明"
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "别名."
-            },
-            {
-              "name": "inValueScriptText",
-              "type": "String",
-              "isCollection": false,
-              "description": "输入值脚本,脚本中的操作对象是inValues,对象类型Set"
-            },
-            {
-              "name": "outValueScriptText",
-              "type": "String",
-              "isCollection": false,
-              "description": "输出值脚本,脚本中的操作对象是outValues,对象类型Set"
-            },
-            {
-              "name": "attachmentScriptText",
-              "type": "String",
-              "isCollection": false,
-              "description": "附件过滤脚本,脚本中的操作对象是attachments,对象类型List,内容是附件名称,可以删除不要进行分词的附件名."
-            },
-            {
-              "name": "processList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "包含流程."
-            },
-            {
-              "name": "applicationList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "包含应用."
-            },
-            {
-              "name": "analyzeType",
-              "type": "String",
-              "isCollection": false,
-              "description": "分析类型,default,full,customized"
-            },
-            {
-              "name": "maxResult",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "最大输出值"
-            },
-            {
-              "name": "inValueCount",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "输入数量"
-            },
-            {
-              "name": "outValueCount",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "输出数量"
-            },
-            {
-              "name": "propertyMap",
-              "type": "LinkedHashMap\u003cString,String\u003e",
-              "isCollection": false,
-              "description": "神经网络参数."
-            },
-            {
-              "name": "startDate",
-              "type": "Date",
-              "isCollection": false,
-              "description": "开始时间"
-            },
-            {
-              "name": "endDate",
-              "type": "Date",
-              "isCollection": false,
-              "description": "开始时间"
-            },
-            {
-              "name": "entryCount",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "条目数量"
-            },
-            {
-              "name": "effectiveEntryCount",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "有效条目数量"
-            },
-            {
-              "name": "status",
-              "type": "String",
-              "isCollection": false,
-              "description": "状态,generating or learning"
-            },
-            {
-              "name": "generatingPercent",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "当前条目生成进度"
-            },
-            {
-              "name": "totalError",
-              "type": "Double",
-              "isCollection": false,
-              "description": "学习总错误,当前均方误差"
-            },
-            {
-              "name": "learnEntryCount",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "学习条目数量"
-            },
-            {
-              "name": "validationEntryCount",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "测试条目数量"
-            },
-            {
-              "name": "validationMeanSquareError",
-              "type": "Double",
-              "isCollection": false,
-              "description": "测试结果"
-            },
-            {
-              "name": "createTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "创建时间,自动生成,索引创建在约束中."
-            },
-            {
-              "name": "updateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "修改时间,自动生成,索引创建在约束中."
-            }
-          ]
-        },
-        {
-          "name": "resetStatus",
-          "className": "com.x.query.assemble.designer.jaxrs.neural.ActionResetStatus",
-          "description": "重置状态.",
-          "type": "GET",
-          "path": "jaxrs/neural/model/{modelFlag}/reset/status",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "modelFlag",
-              "type": "String",
-              "description": "模型标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "value",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "布尔值."
-            }
-          ]
-        },
-        {
-          "name": "stopGenerating",
-          "className": "com.x.query.assemble.designer.jaxrs.neural.ActionStopGenerating",
-          "description": "停止创建条目.",
-          "type": "GET",
-          "path": "jaxrs/neural/stop/generating/model/{modelFlag}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "modelFlag",
-              "type": "String",
-              "description": "模型标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "value",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "布尔值."
-            }
-          ]
-        },
-        {
-          "name": "stopLearning",
-          "className": "com.x.query.assemble.designer.jaxrs.neural.ActionStopLearning",
-          "description": "停止学习.",
-          "type": "GET",
-          "path": "jaxrs/neural/stop/learn/model/{modelFlag}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "modelFlag",
-              "type": "String",
-              "description": "模型标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "value",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "布尔值."
-            }
-          ]
-        },
-        {
-          "name": "updateModel",
-          "className": "com.x.query.assemble.designer.jaxrs.neural.ActionUpdateModel",
-          "description": "更新模型.",
-          "type": "PUT",
-          "path": "jaxrs/neural/model/{modelFlag}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "modelFlag",
-              "type": "String",
-              "description": "模型标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [
-            {
-              "name": "neuralNetworkType",
-              "type": "String",
-              "isCollection": false,
-              "description": "神经网络类型:mlp.",
-              "isBaseType": true
-            },
-            {
-              "name": "dataType",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据类型:cms,processPlatform",
-              "isBaseType": true
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称",
-              "isBaseType": true
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "说明",
-              "isBaseType": true
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "别名.",
-              "isBaseType": true
-            },
-            {
-              "name": "inValueScriptText",
-              "type": "String",
-              "isCollection": false,
-              "description": "输入值脚本,脚本中的操作对象是inValues,对象类型Set",
-              "isBaseType": true
-            },
-            {
-              "name": "outValueScriptText",
-              "type": "String",
-              "isCollection": false,
-              "description": "输出值脚本,脚本中的操作对象是outValues,对象类型Set",
-              "isBaseType": true
-            },
-            {
-              "name": "attachmentScriptText",
-              "type": "String",
-              "isCollection": false,
-              "description": "附件过滤脚本,脚本中的操作对象是attachments,对象类型List,内容是附件名称,可以删除不要进行分词的附件名.",
-              "isBaseType": true
-            },
-            {
-              "name": "processList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "包含流程.",
-              "isBaseType": true
-            },
-            {
-              "name": "applicationList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "包含应用.",
-              "isBaseType": true
-            },
-            {
-              "name": "analyzeType",
-              "type": "String",
-              "isCollection": false,
-              "description": "分析类型,default,full,customized",
-              "isBaseType": true
-            },
-            {
-              "name": "maxResult",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "最大输出值",
-              "isBaseType": true
-            },
-            {
-              "name": "inValueCount",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "输入数量",
-              "isBaseType": true
-            },
-            {
-              "name": "outValueCount",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "输出数量",
-              "isBaseType": true
-            },
-            {
-              "name": "propertyMap",
-              "type": "LinkedHashMap\u003cString,String\u003e",
-              "isCollection": false,
-              "description": "神经网络参数.",
-              "isBaseType": false
-            }
-          ],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "id"
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "OutputAction",
-      "className": "com.x.query.assemble.designer.jaxrs.output.OutputAction",
-      "description": "导出",
-      "methods": [
-        {
-          "name": "list",
-          "className": "com.x.query.assemble.designer.jaxrs.output.ActionList",
-          "description": "查看所有应用.",
-          "type": "GET",
-          "path": "jaxrs/output/list",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "viewList",
-              "type": "List\u003cWrapView\u003e",
-              "isCollection": true,
-              "description": "视图"
-            },
-            {
-              "name": "statList",
-              "type": "List\u003cWrapStat\u003e",
-              "isCollection": true,
-              "description": "统计"
-            },
-            {
-              "name": "tableList",
-              "type": "List\u003cWrapTable\u003e",
-              "isCollection": true,
-              "description": "数据表"
-            },
-            {
-              "name": "statementList",
-              "type": "List\u003cWrapStatement\u003e",
-              "isCollection": true,
-              "description": "查询配置"
-            },
-            {
-              "name": "revealList",
-              "type": "List\u003cWrapReveal\u003e",
-              "isCollection": true,
-              "description": "展现"
-            },
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成."
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称."
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "应用别名,如果有必须唯一."
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述."
-            },
-            {
-              "name": "iconHue",
-              "type": "String",
-              "isCollection": false,
-              "description": "icon的主色调"
-            },
-            {
-              "name": "creatorPerson",
-              "type": "String",
-              "isCollection": false,
-              "description": "查询的创建者"
-            },
-            {
-              "name": "lastUpdateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "查询的最后修改时间"
-            },
-            {
-              "name": "lastUpdatePerson",
-              "type": "String",
-              "isCollection": false,
-              "description": "查询的最后修改者"
-            },
-            {
-              "name": "queryCategory",
-              "type": "String",
-              "isCollection": false,
-              "description": "分类"
-            },
-            {
-              "name": "createTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "创建时间,自动生成,索引创建在约束中."
-            },
-            {
-              "name": "updateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "修改时间,自动生成,索引创建在约束中."
-            }
-          ]
-        },
-        {
-          "name": "select",
-          "className": "com.x.query.assemble.designer.jaxrs.output.ActionSelect",
-          "description": "选择查询.",
-          "type": "PUT",
-          "path": "jaxrs/output/{queryFlag}/select",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "queryFlag",
-              "type": "String",
-              "description": "查询标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [
-            {
-              "name": "viewList",
-              "type": "List\u003cWrapView\u003e",
-              "isCollection": true,
-              "description": "视图",
-              "isBaseType": false
-            },
-            {
-              "name": "statList",
-              "type": "List\u003cWrapStat\u003e",
-              "isCollection": true,
-              "description": "统计",
-              "isBaseType": false
-            },
-            {
-              "name": "tableList",
-              "type": "List\u003cWrapTable\u003e",
-              "isCollection": true,
-              "description": "数据表",
-              "isBaseType": false
-            },
-            {
-              "name": "statementList",
-              "type": "List\u003cWrapStatement\u003e",
-              "isCollection": true,
-              "description": "查询配置",
-              "isBaseType": false
-            },
-            {
-              "name": "revealList",
-              "type": "List\u003cWrapReveal\u003e",
-              "isCollection": true,
-              "description": "展现",
-              "isBaseType": false
-            },
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成.",
-              "isBaseType": true
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称.",
-              "isBaseType": true
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "应用别名,如果有必须唯一.",
-              "isBaseType": true
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述.",
-              "isBaseType": true
-            },
-            {
-              "name": "availableIdentityList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的用户.",
-              "isBaseType": true
-            },
-            {
-              "name": "availableUnitList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的组织.",
-              "isBaseType": true
-            },
-            {
-              "name": "icon",
-              "type": "String",
-              "isCollection": false,
-              "description": "icon Base64编码后的文本.",
-              "isBaseType": true
-            },
-            {
-              "name": "iconHue",
-              "type": "String",
-              "isCollection": false,
-              "description": "icon的主色调",
-              "isBaseType": true
-            },
-            {
-              "name": "controllerList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "查询管理者",
-              "isBaseType": true
-            },
-            {
-              "name": "creatorPerson",
-              "type": "String",
-              "isCollection": false,
-              "description": "查询的创建者",
-              "isBaseType": true
-            },
-            {
-              "name": "lastUpdateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "查询的最后修改时间",
-              "isBaseType": true
-            },
-            {
-              "name": "lastUpdatePerson",
-              "type": "String",
-              "isCollection": false,
-              "description": "查询的最后修改者",
-              "isBaseType": true
-            },
-            {
-              "name": "queryCategory",
-              "type": "String",
-              "isCollection": false,
-              "description": "分类",
-              "isBaseType": true
-            },
-            {
-              "name": "distributeFactor",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "分布式存储标识位.",
-              "isBaseType": true
-            },
-            {
-              "name": "createTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "创建时间,自动生成,索引创建在约束中.",
-              "isBaseType": true
-            },
-            {
-              "name": "updateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "修改时间,自动生成,索引创建在约束中.",
-              "isBaseType": true
-            },
-            {
-              "name": "sequence",
-              "type": "String",
-              "isCollection": false,
-              "description": "列表序号,由创建时间以及ID组成.在保存时自动生成,索引创建在约束中.",
-              "isBaseType": true
-            }
-          ],
-          "outs": [
-            {
-              "name": "flag",
-              "type": "String",
-              "isCollection": false,
-              "description": "返回标识"
-            },
-            {
-              "name": "viewList",
-              "type": "List\u003cWrapView\u003e",
-              "isCollection": true,
-              "description": "视图"
-            },
-            {
-              "name": "statList",
-              "type": "List\u003cWrapStat\u003e",
-              "isCollection": true,
-              "description": "统计"
-            },
-            {
-              "name": "tableList",
-              "type": "List\u003cWrapTable\u003e",
-              "isCollection": true,
-              "description": "数据表"
-            },
-            {
-              "name": "statementList",
-              "type": "List\u003cWrapStatement\u003e",
-              "isCollection": true,
-              "description": "查询配置"
-            },
-            {
-              "name": "revealList",
-              "type": "List\u003cWrapReveal\u003e",
-              "isCollection": true,
-              "description": "展现"
-            },
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成."
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称."
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "应用别名,如果有必须唯一."
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述."
-            },
-            {
-              "name": "availableIdentityList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的用户."
-            },
-            {
-              "name": "availableUnitList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的组织."
-            },
-            {
-              "name": "icon",
-              "type": "String",
-              "isCollection": false,
-              "description": "icon Base64编码后的文本."
-            },
-            {
-              "name": "iconHue",
-              "type": "String",
-              "isCollection": false,
-              "description": "icon的主色调"
-            },
-            {
-              "name": "controllerList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "查询管理者"
-            },
-            {
-              "name": "creatorPerson",
-              "type": "String",
-              "isCollection": false,
-              "description": "查询的创建者"
-            },
-            {
-              "name": "lastUpdateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "查询的最后修改时间"
-            },
-            {
-              "name": "lastUpdatePerson",
-              "type": "String",
-              "isCollection": false,
-              "description": "查询的最后修改者"
-            },
-            {
-              "name": "queryCategory",
-              "type": "String",
-              "isCollection": false,
-              "description": "分类"
-            },
-            {
-              "name": "distributeFactor",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "分布式存储标识位."
-            },
-            {
-              "name": "createTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "创建时间,自动生成,索引创建在约束中."
-            },
-            {
-              "name": "updateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "修改时间,自动生成,索引创建在约束中."
-            },
-            {
-              "name": "sequence",
-              "type": "String",
-              "isCollection": false,
-              "description": "列表序号,由创建时间以及ID组成.在保存时自动生成,索引创建在约束中."
-            }
-          ]
-        },
-        {
-          "name": "selectOutput",
-          "className": "com.x.query.assemble.designer.jaxrs.output.ActionSelectFile",
-          "description": "以文件方式导出应用.",
-          "type": "GET",
-          "path": "jaxrs/output/{flag}/select/file",
-          "contentType": "application/json",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "flag",
-              "type": "String",
-              "description": "输出文件标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "contentDisposition",
-              "type": "String",
-              "isCollection": false,
-              "description": "说明"
-            },
-            {
-              "name": "contentType",
-              "type": "String",
-              "isCollection": false,
-              "description": "类型"
-            },
-            {
-              "name": "bytes",
-              "type": "byte[]",
-              "isCollection": false,
-              "description": "字节内容."
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "QueryAction",
-      "className": "com.x.query.assemble.designer.jaxrs.query.QueryAction",
-      "description": "查询",
-      "methods": [
-        {
-          "name": "create",
-          "className": "com.x.query.assemble.designer.jaxrs.query.ActionCreate",
-          "description": "创建查询.",
-          "type": "POST",
-          "path": "jaxrs/query",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成.",
-              "isBaseType": true
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称.",
-              "isBaseType": true
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "应用别名,如果有必须唯一.",
-              "isBaseType": true
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述.",
-              "isBaseType": true
-            },
-            {
-              "name": "availableIdentityList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的用户.",
-              "isBaseType": true
-            },
-            {
-              "name": "availableUnitList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的组织.",
-              "isBaseType": true
-            },
-            {
-              "name": "icon",
-              "type": "String",
-              "isCollection": false,
-              "description": "icon Base64编码后的文本.",
-              "isBaseType": true
-            },
-            {
-              "name": "iconHue",
-              "type": "String",
-              "isCollection": false,
-              "description": "icon的主色调",
-              "isBaseType": true
-            },
-            {
-              "name": "controllerList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "查询管理者",
-              "isBaseType": true
-            },
-            {
-              "name": "queryCategory",
-              "type": "String",
-              "isCollection": false,
-              "description": "分类",
-              "isBaseType": true
-            }
-          ],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "id"
-            }
-          ]
-        },
-        {
-          "name": "delete",
-          "className": "com.x.query.assemble.designer.jaxrs.query.ActionDelete",
-          "description": "删除查询.",
-          "type": "DELETE",
-          "path": "jaxrs/query/{flag}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "flag",
-              "type": "String",
-              "description": "标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "id"
-            }
-          ]
-        },
-        {
-          "name": "edit",
-          "className": "com.x.query.assemble.designer.jaxrs.query.ActionEdit",
-          "description": "更新查询.",
-          "type": "PUT",
-          "path": "jaxrs/query/{flag}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "flag",
-              "type": "String",
-              "description": "标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称.",
-              "isBaseType": true
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "应用别名,如果有必须唯一.",
-              "isBaseType": true
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述.",
-              "isBaseType": true
-            },
-            {
-              "name": "availableIdentityList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的用户.",
-              "isBaseType": true
-            },
-            {
-              "name": "availableUnitList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的组织.",
-              "isBaseType": true
-            },
-            {
-              "name": "icon",
-              "type": "String",
-              "isCollection": false,
-              "description": "icon Base64编码后的文本.",
-              "isBaseType": true
-            },
-            {
-              "name": "iconHue",
-              "type": "String",
-              "isCollection": false,
-              "description": "icon的主色调",
-              "isBaseType": true
-            },
-            {
-              "name": "controllerList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "查询管理者",
-              "isBaseType": true
-            },
-            {
-              "name": "queryCategory",
-              "type": "String",
-              "isCollection": false,
-              "description": "分类",
-              "isBaseType": true
-            }
-          ],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "id"
-            }
-          ]
-        },
-        {
-          "name": "get",
-          "className": "com.x.query.assemble.designer.jaxrs.query.ActionGet",
-          "description": "获取查询内容.",
-          "type": "GET",
-          "path": "jaxrs/query/{flag}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "flag",
-              "type": "String",
-              "description": "标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成."
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称."
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "应用别名,如果有必须唯一."
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述."
-            },
-            {
-              "name": "availableIdentityList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的用户."
-            },
-            {
-              "name": "availableUnitList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的组织."
-            },
-            {
-              "name": "icon",
-              "type": "String",
-              "isCollection": false,
-              "description": "icon Base64编码后的文本."
-            },
-            {
-              "name": "iconHue",
-              "type": "String",
-              "isCollection": false,
-              "description": "icon的主色调"
-            },
-            {
-              "name": "controllerList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "查询管理者"
-            },
-            {
-              "name": "creatorPerson",
-              "type": "String",
-              "isCollection": false,
-              "description": "查询的创建者"
-            },
-            {
-              "name": "lastUpdateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "查询的最后修改时间"
-            },
-            {
-              "name": "lastUpdatePerson",
-              "type": "String",
-              "isCollection": false,
-              "description": "查询的最后修改者"
-            },
-            {
-              "name": "queryCategory",
-              "type": "String",
-              "isCollection": false,
-              "description": "分类"
-            },
-            {
-              "name": "createTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "创建时间,自动生成,索引创建在约束中."
-            },
-            {
-              "name": "updateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "修改时间,自动生成,索引创建在约束中."
-            }
-          ]
-        },
-        {
-          "name": "listAll",
-          "className": "com.x.query.assemble.designer.jaxrs.query.ActionListAll",
-          "description": "获取所有查询内容.",
-          "type": "GET",
-          "path": "jaxrs/query/list/all",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成."
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称."
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "应用别名,如果有必须唯一."
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述."
-            },
-            {
-              "name": "icon",
-              "type": "String",
-              "isCollection": false,
-              "description": "icon Base64编码后的文本."
-            },
-            {
-              "name": "iconHue",
-              "type": "String",
-              "isCollection": false,
-              "description": "icon的主色调"
-            },
-            {
-              "name": "creatorPerson",
-              "type": "String",
-              "isCollection": false,
-              "description": "查询的创建者"
-            },
-            {
-              "name": "lastUpdateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "查询的最后修改时间"
-            },
-            {
-              "name": "lastUpdatePerson",
-              "type": "String",
-              "isCollection": false,
-              "description": "查询的最后修改者"
-            },
-            {
-              "name": "queryCategory",
-              "type": "String",
-              "isCollection": false,
-              "description": "分类"
-            },
-            {
-              "name": "createTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "创建时间,自动生成,索引创建在约束中."
-            },
-            {
-              "name": "updateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "修改时间,自动生成,索引创建在约束中."
-            }
-          ]
-        },
-        {
-          "name": "listQueryCategory",
-          "className": "com.x.query.assemble.designer.jaxrs.query.ActionListQueryCategory",
-          "description": "列示查询年分类,并统计数量.",
-          "type": "GET",
-          "path": "jaxrs/query/querycategory/list",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": []
-        },
-        {
-          "name": "listSummary",
-          "className": "com.x.query.assemble.designer.jaxrs.query.ActionListSummary",
-          "description": "列示所有查询,同时附带视图简要信息和统计简要信息.",
-          "type": "GET",
-          "path": "jaxrs/query/list/summary",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "woViewList",
-              "type": "List\u003cWoView\u003e",
-              "isCollection": true,
-              "description": "视图对象"
-            },
-            {
-              "name": "woStatList",
-              "type": "List\u003cWoStat\u003e",
-              "isCollection": true,
-              "description": "统计对象"
-            },
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成."
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称."
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述."
-            },
-            {
-              "name": "queryCategory",
-              "type": "String",
-              "isCollection": false,
-              "description": "分类"
-            },
-            {
-              "name": "updateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "修改时间,自动生成,索引创建在约束中."
-            }
-          ]
-        },
-        {
-          "name": "listSummaryWithApplicationCategory",
-          "className": "com.x.query.assemble.designer.jaxrs.query.ActionListSummaryWithQueryCategory",
-          "description": "根据查询分类获取查询的简要信息,同时附带视图简要信息和统计简要信息应用分类不为null.",
-          "type": "GET",
-          "path": "jaxrs/query/list/summary/querycategory/{queryCategory}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "queryCategory",
-              "type": "String",
-              "description": "查询分类"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "woViewList",
-              "type": "List\u003cWoView\u003e",
-              "isCollection": true,
-              "description": "视图对象"
-            },
-            {
-              "name": "woStatList",
-              "type": "List\u003cWoStat\u003e",
-              "isCollection": true,
-              "description": "统计对象"
-            },
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成."
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称."
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述."
-            },
-            {
-              "name": "queryCategory",
-              "type": "String",
-              "isCollection": false,
-              "description": "分类"
-            },
-            {
-              "name": "updateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "修改时间,自动生成,索引创建在约束中."
-            }
-          ]
-        },
-        {
-          "name": "listWithQueryCategory",
-          "className": "com.x.query.assemble.designer.jaxrs.query.ActionListWithQueryCategory",
-          "description": "列示指定分类的查询.",
-          "type": "GET",
-          "path": "jaxrs/query/list/querycategory/{queryCategory}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "queryCategory",
-              "type": "String",
-              "description": "查询分类"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成."
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称."
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "应用别名,如果有必须唯一."
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述."
-            },
-            {
-              "name": "createTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "创建时间,自动生成,索引创建在约束中."
-            },
-            {
-              "name": "updateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "修改时间,自动生成,索引创建在约束中."
-            }
-          ]
-        },
-        {
-          "name": "setIcon",
-          "className": "com.x.query.assemble.designer.jaxrs.query.ActionSetIcon",
-          "description": "更新查询图标.",
-          "type": "PUT",
-          "path": "jaxrs/query/{flag}/icon",
-          "contentType": "multipart/form-data",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": true,
-          "pathParameters": [
-            {
-              "name": "flag",
-              "type": "String",
-              "description": "应用标识"
-            }
-          ],
-          "formParameters": [
-            {
-              "name": "file",
-              "type": "File",
-              "description": "头像文件"
-            }
-          ],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "id"
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "RevealAction",
-      "className": "com.x.query.assemble.designer.jaxrs.reveal.RevealAction",
-      "description": "展现",
-      "methods": [
-        {
-          "name": "create",
-          "className": "com.x.query.assemble.designer.jaxrs.reveal.ActionCreate",
-          "description": "创建Reveal.",
-          "type": "POST",
-          "path": "jaxrs/reveal",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成.",
-              "isBaseType": true
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称.",
-              "isBaseType": true
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "别名.",
-              "isBaseType": true
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述.",
-              "isBaseType": true
-            },
-            {
-              "name": "query",
-              "type": "String",
-              "isCollection": false,
-              "description": "所属查询.",
-              "isBaseType": true
-            },
-            {
-              "name": "view",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据查询.",
-              "isBaseType": true
-            },
-            {
-              "name": "stat",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据查询.",
-              "isBaseType": true
-            },
-            {
-              "name": "availableIdentityList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的用户.",
-              "isBaseType": true
-            },
-            {
-              "name": "availableUnitList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的组织.",
-              "isBaseType": true
-            }
-          ],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "id"
-            }
-          ]
-        },
-        {
-          "name": "delete",
-          "className": "com.x.query.assemble.designer.jaxrs.reveal.ActionDelete",
-          "description": "删除Reveal.",
-          "type": "DELETE",
-          "path": "jaxrs/reveal/{id}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "id",
-              "type": "String",
-              "description": ""
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "id"
-            }
-          ]
-        },
-        {
-          "name": "get",
-          "className": "com.x.query.assemble.designer.jaxrs.reveal.ActionGet",
-          "description": "获取Reveal内容.",
-          "type": "GET",
-          "path": "jaxrs/reveal/{id}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "id",
-              "type": "String",
-              "description": ""
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成."
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称."
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "别名."
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述."
-            },
-            {
-              "name": "query",
-              "type": "String",
-              "isCollection": false,
-              "description": "所属查询."
-            },
-            {
-              "name": "view",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据查询."
-            },
-            {
-              "name": "stat",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据查询."
-            },
-            {
-              "name": "availableIdentityList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的用户."
-            },
-            {
-              "name": "availableUnitList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的组织."
-            },
-            {
-              "name": "createTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "创建时间,自动生成,索引创建在约束中."
-            },
-            {
-              "name": "updateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "修改时间,自动生成,索引创建在约束中."
-            }
-          ]
-        },
-        {
-          "name": "listNext",
-          "className": "com.x.query.assemble.designer.jaxrs.reveal.ActionListNext",
-          "description": "列示Reveal对象,下一页.",
-          "type": "GET",
-          "path": "jaxrs/reveal/list/{id}/next/{count}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "id",
-              "type": "String",
-              "description": ""
-            },
-            {
-              "name": "count",
-              "type": "Integer",
-              "description": ""
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "rank",
-              "type": "Long",
-              "isCollection": false,
-              "description": "排序号"
-            },
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成."
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称."
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "别名."
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述."
-            },
-            {
-              "name": "query",
-              "type": "String",
-              "isCollection": false,
-              "description": "所属查询."
-            },
-            {
-              "name": "view",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据查询."
-            },
-            {
-              "name": "stat",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据查询."
-            },
-            {
-              "name": "createTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "创建时间,自动生成,索引创建在约束中."
-            },
-            {
-              "name": "updateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "修改时间,自动生成,索引创建在约束中."
-            }
-          ]
-        },
-        {
-          "name": "listPrev",
-          "className": "com.x.query.assemble.designer.jaxrs.reveal.ActionListPrev",
-          "description": "列示Reveal对象,上一页.",
-          "type": "GET",
-          "path": "jaxrs/reveal/list/{id}/prev/{count}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "id",
-              "type": "String",
-              "description": ""
-            },
-            {
-              "name": "count",
-              "type": "Integer",
-              "description": ""
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "rank",
-              "type": "Long",
-              "isCollection": false,
-              "description": "排序号"
-            },
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成."
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称."
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "别名."
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述."
-            },
-            {
-              "name": "query",
-              "type": "String",
-              "isCollection": false,
-              "description": "所属查询."
-            },
-            {
-              "name": "view",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据查询."
-            },
-            {
-              "name": "stat",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据查询."
-            },
-            {
-              "name": "createTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "创建时间,自动生成,索引创建在约束中."
-            },
-            {
-              "name": "updateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "修改时间,自动生成,索引创建在约束中."
-            }
-          ]
-        },
-        {
-          "name": "listWithQuery",
-          "className": "com.x.query.assemble.designer.jaxrs.reveal.ActionListWithQuery",
-          "description": "根据query列示Reveal对象.",
-          "type": "GET",
-          "path": "jaxrs/reveal/list/query/{flag}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "flag",
-              "type": "String",
-              "description": "查询标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成."
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称."
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "别名."
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述."
-            },
-            {
-              "name": "query",
-              "type": "String",
-              "isCollection": false,
-              "description": "所属查询."
-            },
-            {
-              "name": "view",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据查询."
-            },
-            {
-              "name": "stat",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据查询."
-            },
-            {
-              "name": "availableIdentityList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的用户."
-            },
-            {
-              "name": "availableUnitList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的组织."
-            },
-            {
-              "name": "createTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "创建时间,自动生成,索引创建在约束中."
-            },
-            {
-              "name": "updateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "修改时间,自动生成,索引创建在约束中."
-            }
-          ]
-        },
-        {
-          "name": "update",
-          "className": "com.x.query.assemble.designer.jaxrs.reveal.ActionEdit",
-          "description": "更新Reveal.",
-          "type": "PUT",
-          "path": "jaxrs/reveal/{id}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "id",
-              "type": "String",
-              "description": ""
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称.",
-              "isBaseType": true
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "别名.",
-              "isBaseType": true
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述.",
-              "isBaseType": true
-            },
-            {
-              "name": "query",
-              "type": "String",
-              "isCollection": false,
-              "description": "所属查询.",
-              "isBaseType": true
-            },
-            {
-              "name": "view",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据查询.",
-              "isBaseType": true
-            },
-            {
-              "name": "stat",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据查询.",
-              "isBaseType": true
-            },
-            {
-              "name": "availableIdentityList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的用户.",
-              "isBaseType": true
-            },
-            {
-              "name": "availableUnitList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的组织.",
-              "isBaseType": true
-            }
-          ],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "id"
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "StatAction",
-      "className": "com.x.query.assemble.designer.jaxrs.stat.StatAction",
-      "description": "统计",
-      "methods": [
-        {
-          "name": "create",
-          "className": "com.x.query.assemble.designer.jaxrs.stat.ActionCreate",
-          "description": "创建Stat.",
-          "type": "POST",
-          "path": "jaxrs/stat",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成.",
-              "isBaseType": true
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称.",
-              "isBaseType": true
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "别名.",
-              "isBaseType": true
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述.",
-              "isBaseType": true
-            },
-            {
-              "name": "query",
-              "type": "String",
-              "isCollection": false,
-              "description": "所属查询.",
-              "isBaseType": true
-            },
-            {
-              "name": "view",
-              "type": "String",
-              "isCollection": false,
-              "description": "绑定的视图.",
-              "isBaseType": true
-            },
-            {
-              "name": "data",
-              "type": "String",
-              "isCollection": false,
-              "description": "访问方案.",
-              "isBaseType": true
-            },
-            {
-              "name": "availableIdentityList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的用户.",
-              "isBaseType": true
-            },
-            {
-              "name": "availableUnitList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的组织.",
-              "isBaseType": true
-            }
-          ],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "id"
-            }
-          ]
-        },
-        {
-          "name": "delete",
-          "className": "com.x.query.assemble.designer.jaxrs.stat.ActionDelete",
-          "description": "删除Stat.",
-          "type": "DELETE",
-          "path": "jaxrs/stat/{id}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "id",
-              "type": "String",
-              "description": "标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "id"
-            }
-          ]
-        },
-        {
-          "name": "get",
-          "className": "com.x.query.assemble.designer.jaxrs.stat.ActionGet",
-          "description": "获取Stat内容.",
-          "type": "GET",
-          "path": "jaxrs/stat/{id}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "id",
-              "type": "String",
-              "description": "标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成."
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称."
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "别名."
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述."
-            },
-            {
-              "name": "query",
-              "type": "String",
-              "isCollection": false,
-              "description": "所属查询."
-            },
-            {
-              "name": "view",
-              "type": "String",
-              "isCollection": false,
-              "description": "绑定的视图."
-            },
-            {
-              "name": "data",
-              "type": "String",
-              "isCollection": false,
-              "description": "访问方案."
-            },
-            {
-              "name": "availableIdentityList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的用户."
-            },
-            {
-              "name": "availableUnitList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的组织."
-            },
-            {
-              "name": "createTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "创建时间,自动生成,索引创建在约束中."
-            },
-            {
-              "name": "updateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "修改时间,自动生成,索引创建在约束中."
-            }
-          ]
-        },
-        {
-          "name": "listNext",
-          "className": "com.x.query.assemble.designer.jaxrs.stat.ActionListNext",
-          "description": "列示Stat对象,下一页.",
-          "type": "GET",
-          "path": "jaxrs/stat/list/{id}/next/{count}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "id",
-              "type": "String",
-              "description": "标识"
-            },
-            {
-              "name": "count",
-              "type": "Integer",
-              "description": "数量"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "rank",
-              "type": "Long",
-              "isCollection": false,
-              "description": "排序号"
-            },
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成."
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称."
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "别名."
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述."
-            },
-            {
-              "name": "query",
-              "type": "String",
-              "isCollection": false,
-              "description": "所属查询."
-            },
-            {
-              "name": "view",
-              "type": "String",
-              "isCollection": false,
-              "description": "绑定的视图."
-            },
-            {
-              "name": "createTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "创建时间,自动生成,索引创建在约束中."
-            },
-            {
-              "name": "updateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "修改时间,自动生成,索引创建在约束中."
-            }
-          ]
-        },
-        {
-          "name": "listPrev",
-          "className": "com.x.query.assemble.designer.jaxrs.stat.ActionListPrev",
-          "description": "列示Stat对象,上一页.",
-          "type": "GET",
-          "path": "jaxrs/stat/list/{id}/prev/{count}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "id",
-              "type": "String",
-              "description": "标识"
-            },
-            {
-              "name": "count",
-              "type": "Integer",
-              "description": "数量"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "rank",
-              "type": "Long",
-              "isCollection": false,
-              "description": "排序号"
-            },
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成."
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称."
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "别名."
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述."
-            },
-            {
-              "name": "query",
-              "type": "String",
-              "isCollection": false,
-              "description": "所属查询."
-            },
-            {
-              "name": "view",
-              "type": "String",
-              "isCollection": false,
-              "description": "绑定的视图."
-            },
-            {
-              "name": "createTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "创建时间,自动生成,索引创建在约束中."
-            },
-            {
-              "name": "updateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "修改时间,自动生成,索引创建在约束中."
-            }
-          ]
-        },
-        {
-          "name": "listWithQuery",
-          "className": "com.x.query.assemble.designer.jaxrs.stat.ActionListWithQuery",
-          "description": "根据query列示stat对象.",
-          "type": "GET",
-          "path": "jaxrs/stat/list/query/{flag}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "flag",
-              "type": "String",
-              "description": "查询标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成."
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称."
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "别名."
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述."
-            },
-            {
-              "name": "query",
-              "type": "String",
-              "isCollection": false,
-              "description": "所属查询."
-            },
-            {
-              "name": "view",
-              "type": "String",
-              "isCollection": false,
-              "description": "绑定的视图."
-            },
-            {
-              "name": "data",
-              "type": "String",
-              "isCollection": false,
-              "description": "访问方案."
-            },
-            {
-              "name": "availableIdentityList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的用户."
-            },
-            {
-              "name": "availableUnitList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的组织."
-            },
-            {
-              "name": "createTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "创建时间,自动生成,索引创建在约束中."
-            },
-            {
-              "name": "updateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "修改时间,自动生成,索引创建在约束中."
-            }
-          ]
-        },
-        {
-          "name": "simulate",
-          "className": "com.x.query.assemble.designer.jaxrs.stat.ActionSimulate",
-          "description": "模拟执行stat",
-          "type": "PUT",
-          "path": "jaxrs/stat/{id}/simulate",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "id",
-              "type": "String",
-              "description": "视图标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [
-            {
-              "name": "person",
-              "type": "String",
-              "isCollection": false,
-              "description": "当前用户",
-              "isBaseType": true
-            },
-            {
-              "name": "unitList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "组织",
-              "isBaseType": true
-            },
-            {
-              "name": "groupList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "群组",
-              "isBaseType": true
-            },
-            {
-              "name": "roleList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "角色",
-              "isBaseType": true
-            },
-            {
-              "name": "unitAllList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "所有群组",
-              "isBaseType": true
-            },
-            {
-              "name": "identityList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "身份",
-              "isBaseType": true
-            },
-            {
-              "name": "filterList",
-              "type": "List\u003cFilterEntry\u003e",
-              "isCollection": true,
-              "description": "过滤",
-              "isBaseType": false
-            },
-            {
-              "name": "parameter",
-              "type": "Map\u003cString,String\u003e",
-              "isCollection": false,
-              "description": "参数",
-              "isBaseType": false
-            },
-            {
-              "name": "count",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "数量",
-              "isBaseType": true
-            },
-            {
-              "name": "bundleList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "限定结果集",
-              "isBaseType": true
-            }
-          ],
-          "outs": []
-        },
-        {
-          "name": "update",
-          "className": "com.x.query.assemble.designer.jaxrs.stat.ActionEdit",
-          "description": "更新Stat.",
-          "type": "PUT",
-          "path": "jaxrs/stat/{id}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "id",
-              "type": "String",
-              "description": "标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称.",
-              "isBaseType": true
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "别名.",
-              "isBaseType": true
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述.",
-              "isBaseType": true
-            },
-            {
-              "name": "query",
-              "type": "String",
-              "isCollection": false,
-              "description": "所属查询.",
-              "isBaseType": true
-            },
-            {
-              "name": "view",
-              "type": "String",
-              "isCollection": false,
-              "description": "绑定的视图.",
-              "isBaseType": true
-            },
-            {
-              "name": "data",
-              "type": "String",
-              "isCollection": false,
-              "description": "访问方案.",
-              "isBaseType": true
-            },
-            {
-              "name": "availableIdentityList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的用户.",
-              "isBaseType": true
-            },
-            {
-              "name": "availableUnitList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的组织.",
-              "isBaseType": true
-            }
-          ],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "id"
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "StatementAction",
-      "className": "com.x.query.assemble.designer.jaxrs.statement.StatementAction",
-      "description": "语句",
-      "methods": [
-        {
-          "name": "create",
-          "className": "com.x.query.assemble.designer.jaxrs.statement.ActionCreate",
-          "description": "创建语句.",
-          "type": "POST",
-          "path": "jaxrs/statement",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "语句名称.",
-              "isBaseType": true
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "别名.",
-              "isBaseType": true
-            },
-            {
-              "name": "format",
-              "type": "String",
-              "isCollection": false,
-              "description": "格式,jpql或者script.",
-              "isBaseType": true
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述.",
-              "isBaseType": true
-            },
-            {
-              "name": "query",
-              "type": "String",
-              "isCollection": false,
-              "description": "所属查询.",
-              "isBaseType": true
-            },
-            {
-              "name": "type",
-              "type": "String",
-              "isCollection": false,
-              "description": "语句类型,insert,delete,update,select",
-              "isBaseType": true
-            },
-            {
-              "name": "executePersonList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "可执行的用户.",
-              "isBaseType": true
-            },
-            {
-              "name": "executeUnitList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "可以访问的组织.",
-              "isBaseType": true
-            },
-            {
-              "name": "data",
-              "type": "String",
-              "isCollection": false,
-              "description": "jpql语句.",
-              "isBaseType": true
-            },
-            {
-              "name": "scriptText",
-              "type": "String",
-              "isCollection": false,
-              "description": "类型为script的执行脚本.",
-              "isBaseType": true
-            },
-            {
-              "name": "table",
-              "type": "String",
-              "isCollection": false,
-              "description": "执行的表",
-              "isBaseType": true
-            },
-            {
-              "name": "entityClassName",
-              "type": "String",
-              "isCollection": false,
-              "description": "custom,official时使用的类名.",
-              "isBaseType": true
-            },
-            {
-              "name": "entityCategory",
-              "type": "String",
-              "isCollection": false,
-              "description": "表类型,official,dynamic,custom",
-              "isBaseType": true
-            }
-          ],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "id"
-            }
-          ]
-        },
-        {
-          "name": "delete",
-          "className": "com.x.query.assemble.designer.jaxrs.statement.ActionDelete",
-          "description": "删除语句.",
-          "type": "DELETE",
-          "path": "jaxrs/statement/{flag}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "flag",
-              "type": "String",
-              "description": "标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "id"
-            }
-          ]
-        },
-        {
-          "name": "execute",
-          "className": "com.x.query.assemble.designer.jaxrs.statement.ActionExecute",
-          "description": "执行语句.",
-          "type": "POST",
-          "path": "jaxrs/statement/{flag}/execute/page/{page}/size/{size}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": true,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "flag",
-              "type": "String",
-              "description": "标识"
-            },
-            {
-              "name": "page",
-              "type": "Integer",
-              "description": "页码"
-            },
-            {
-              "name": "size",
-              "type": "Integer",
-              "description": "每页数量"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": []
-        },
-        {
-          "name": "get",
-          "className": "com.x.query.assemble.designer.jaxrs.statement.ActionGet",
-          "description": "根据标识获取语句.",
-          "type": "GET",
-          "path": "jaxrs/statement/{flag}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "flag",
-              "type": "String",
-              "description": "标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成."
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "语句名称."
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "别名."
-            },
-            {
-              "name": "format",
-              "type": "String",
-              "isCollection": false,
-              "description": "格式,jpql或者script."
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述."
-            },
-            {
-              "name": "query",
-              "type": "String",
-              "isCollection": false,
-              "description": "所属查询."
-            },
-            {
-              "name": "type",
-              "type": "String",
-              "isCollection": false,
-              "description": "语句类型,insert,delete,update,select"
-            },
-            {
-              "name": "executePersonList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "可执行的用户."
-            },
-            {
-              "name": "executeUnitList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "可以访问的组织."
-            },
-            {
-              "name": "data",
-              "type": "String",
-              "isCollection": false,
-              "description": "jpql语句."
-            },
-            {
-              "name": "scriptText",
-              "type": "String",
-              "isCollection": false,
-              "description": "类型为script的执行脚本."
-            },
-            {
-              "name": "creatorPerson",
-              "type": "String",
-              "isCollection": false,
-              "description": "创建者"
-            },
-            {
-              "name": "lastUpdateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "最后修改时间"
-            },
-            {
-              "name": "lastUpdatePerson",
-              "type": "String",
-              "isCollection": false,
-              "description": "最后修改者"
-            },
-            {
-              "name": "table",
-              "type": "String",
-              "isCollection": false,
-              "description": "执行的表"
-            },
-            {
-              "name": "entityClassName",
-              "type": "String",
-              "isCollection": false,
-              "description": "custom,official时使用的类名."
-            },
-            {
-              "name": "entityCategory",
-              "type": "String",
-              "isCollection": false,
-              "description": "表类型,official,dynamic,custom"
-            },
-            {
-              "name": "createTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "创建时间,自动生成,索引创建在约束中."
-            },
-            {
-              "name": "updateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "修改时间,自动生成,索引创建在约束中."
-            }
-          ]
-        },
-        {
-          "name": "listWithQuery",
-          "className": "com.x.query.assemble.designer.jaxrs.statement.ActionListWithQuery",
-          "description": "根据query列示statement对象.",
-          "type": "GET",
-          "path": "jaxrs/statement/list/query/{flag}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "flag",
-              "type": "String",
-              "description": "查询标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成."
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "语句名称."
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "别名."
-            },
-            {
-              "name": "format",
-              "type": "String",
-              "isCollection": false,
-              "description": "格式,jpql或者script."
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述."
-            },
-            {
-              "name": "query",
-              "type": "String",
-              "isCollection": false,
-              "description": "所属查询."
-            },
-            {
-              "name": "type",
-              "type": "String",
-              "isCollection": false,
-              "description": "语句类型,insert,delete,update,select"
-            },
-            {
-              "name": "creatorPerson",
-              "type": "String",
-              "isCollection": false,
-              "description": "创建者"
-            },
-            {
-              "name": "lastUpdateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "最后修改时间"
-            },
-            {
-              "name": "lastUpdatePerson",
-              "type": "String",
-              "isCollection": false,
-              "description": "最后修改者"
-            },
-            {
-              "name": "table",
-              "type": "String",
-              "isCollection": false,
-              "description": "执行的表"
-            },
-            {
-              "name": "entityClassName",
-              "type": "String",
-              "isCollection": false,
-              "description": "custom,official时使用的类名."
-            },
-            {
-              "name": "entityCategory",
-              "type": "String",
-              "isCollection": false,
-              "description": "表类型,official,dynamic,custom"
-            },
-            {
-              "name": "createTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "创建时间,自动生成,索引创建在约束中."
-            },
-            {
-              "name": "updateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "修改时间,自动生成,索引创建在约束中."
-            }
-          ]
-        },
-        {
-          "name": "update",
-          "className": "com.x.query.assemble.designer.jaxrs.statement.ActionEdit",
-          "description": "更新语句.",
-          "type": "PUT",
-          "path": "jaxrs/statement/{flag}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "flag",
-              "type": "String",
-              "description": "标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "语句名称.",
-              "isBaseType": true
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "别名.",
-              "isBaseType": true
-            },
-            {
-              "name": "format",
-              "type": "String",
-              "isCollection": false,
-              "description": "格式,jpql或者script.",
-              "isBaseType": true
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述.",
-              "isBaseType": true
-            },
-            {
-              "name": "query",
-              "type": "String",
-              "isCollection": false,
-              "description": "所属查询.",
-              "isBaseType": true
-            },
-            {
-              "name": "type",
-              "type": "String",
-              "isCollection": false,
-              "description": "语句类型,insert,delete,update,select",
-              "isBaseType": true
-            },
-            {
-              "name": "executePersonList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "可执行的用户.",
-              "isBaseType": true
-            },
-            {
-              "name": "executeUnitList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "可以访问的组织.",
-              "isBaseType": true
-            },
-            {
-              "name": "data",
-              "type": "String",
-              "isCollection": false,
-              "description": "jpql语句.",
-              "isBaseType": true
-            },
-            {
-              "name": "scriptText",
-              "type": "String",
-              "isCollection": false,
-              "description": "类型为script的执行脚本.",
-              "isBaseType": true
-            },
-            {
-              "name": "table",
-              "type": "String",
-              "isCollection": false,
-              "description": "执行的表",
-              "isBaseType": true
-            },
-            {
-              "name": "entityClassName",
-              "type": "String",
-              "isCollection": false,
-              "description": "custom,official时使用的类名.",
-              "isBaseType": true
-            },
-            {
-              "name": "entityCategory",
-              "type": "String",
-              "isCollection": false,
-              "description": "表类型,official,dynamic,custom",
-              "isBaseType": true
-            }
-          ],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "id"
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "SysResourceAction",
-      "className": "com.x.base.core.project.jaxrs.sysresource.SysResourceAction",
-      "description": "系统资源",
-      "methods": [
-        {
-          "name": "listResource",
-          "className": "com.x.base.core.project.jaxrs.sysresource.ActionListResource",
-          "description": "获取静态资源信息.",
-          "type": "GET",
-          "path": "jaxrs/sysresource/filePath/{filePath}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "filePath",
-              "type": "String",
-              "description": "查找路径(根路径:(0))"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": []
-        },
-        {
-          "name": "uploadResource",
-          "className": "com.x.base.core.project.jaxrs.sysresource.ActionUploadResource",
-          "description": "上传静态资源(仅上传到当前服务器)",
-          "type": "POST",
-          "path": "jaxrs/sysresource/upload/resource/as/new/{asNew}",
-          "contentType": "multipart/form-data",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": true,
-          "pathParameters": [
-            {
-              "name": "asNew",
-              "type": "Boolean",
-              "description": "覆盖类型:true删除原文件然后上传,false覆盖原文件"
-            }
-          ],
-          "formParameters": [
-            {
-              "name": "file",
-              "type": "File",
-              "description": "上传文件"
-            },
-            {
-              "name": "fileName",
-              "type": "String",
-              "description": "附件名称"
-            },
-            {
-              "name": "filePath",
-              "type": "String",
-              "description": "附件存放目录(可以为空)"
-            }
-          ],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "value",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "布尔值."
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "TableAction",
-      "className": "com.x.query.assemble.designer.jaxrs.table.TableAction",
-      "description": "表",
-      "methods": [
-        {
-          "name": "buildAll",
-          "className": "com.x.query.assemble.designer.jaxrs.table.ActionBuildAll",
-          "description": "编译表对象生成实体类进行数据库建表,执行后需要重新启动.",
-          "type": "GET",
-          "path": "jaxrs/table/build/all",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "value",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "布尔值."
-            }
-          ]
-        },
-        {
-          "name": "create",
-          "className": "com.x.query.assemble.designer.jaxrs.table.ActionCreate",
-          "description": "创建表.",
-          "type": "POST",
-          "path": "jaxrs/table",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [
-            {
-              "name": "query",
-              "type": "String",
-              "isCollection": false,
-              "description": "所属查询.",
-              "isBaseType": true
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "表名,最大64个字符.",
-              "isBaseType": true
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "别名.",
-              "isBaseType": true
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述.",
-              "isBaseType": true
-            },
-            {
-              "name": "readPersonList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "可以访问数据的用户.",
-              "isBaseType": true
-            },
-            {
-              "name": "readUnitList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "可以访问数据的组织.",
-              "isBaseType": true
-            },
-            {
-              "name": "editPersonList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "可以修改数据的用户.",
-              "isBaseType": true
-            },
-            {
-              "name": "editUnitList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "可以修改数据的组织.",
-              "isBaseType": true
-            },
-            {
-              "name": "draftData",
-              "type": "String",
-              "isCollection": false,
-              "description": "草稿表结构方案.",
-              "isBaseType": true
-            },
-            {
-              "name": "buildSuccess",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "是否编译成功.",
-              "isBaseType": true
-            }
-          ],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "id"
-            }
-          ]
-        },
-        {
-          "name": "delete",
-          "className": "com.x.query.assemble.designer.jaxrs.table.ActionDelete",
-          "description": "删除表,同时会级联删除语句.",
-          "type": "DELETE",
-          "path": "jaxrs/table/{flag}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "flag",
-              "type": "String",
-              "description": "标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "id"
-            }
-          ]
-        },
-        {
-          "name": "execute",
-          "className": "com.x.query.assemble.designer.jaxrs.table.ActionExecute",
-          "description": "执行语句.",
-          "type": "POST",
-          "path": "jaxrs/table/{flag}/execute",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "flag",
-              "type": "String",
-              "description": "标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [
-            {
-              "name": "type",
-              "type": "String",
-              "isCollection": false,
-              "description": "类型",
-              "isBaseType": true
-            },
-            {
-              "name": "data",
-              "type": "String",
-              "isCollection": false,
-              "description": "jpql语句.",
-              "isBaseType": true
-            },
-            {
-              "name": "maxResults",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "返回最大结果集.",
-              "isBaseType": true
-            },
-            {
-              "name": "firstResult",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "返回结果开始于.",
-              "isBaseType": true
-            }
-          ],
-          "outs": []
-        },
-        {
-          "name": "exportRow",
-          "className": "com.x.query.assemble.designer.jaxrs.table.ActionRowExport",
-          "description": "导出行对象。",
-          "type": "GET",
-          "path": "jaxrs/table/export/{tableFlag}/count/{count}",
-          "contentType": "application/json",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "tableFlag",
-              "type": "String",
-              "description": "表标识"
-            },
-            {
-              "name": "count",
-              "type": "Integer",
-              "description": "数量(最大2000)"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "contentDisposition",
-              "type": "String",
-              "isCollection": false,
-              "description": "说明"
-            },
-            {
-              "name": "contentType",
-              "type": "String",
-              "isCollection": false,
-              "description": "类型"
-            },
-            {
-              "name": "bytes",
-              "type": "byte[]",
-              "isCollection": false,
-              "description": "字节内容."
-            }
-          ]
-        },
-        {
-          "name": "get",
-          "className": "com.x.query.assemble.designer.jaxrs.table.ActionGet",
-          "description": "根据标识获取表.",
-          "type": "GET",
-          "path": "jaxrs/table/{flag}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "flag",
-              "type": "String",
-              "description": "标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成."
-            },
-            {
-              "name": "query",
-              "type": "String",
-              "isCollection": false,
-              "description": "所属查询."
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "表名,最大64个字符."
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "别名."
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述."
-            },
-            {
-              "name": "readPersonList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "可以访问数据的用户."
-            },
-            {
-              "name": "readUnitList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "可以访问数据的组织."
-            },
-            {
-              "name": "editPersonList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "可以修改数据的用户."
-            },
-            {
-              "name": "editUnitList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "可以修改数据的组织."
-            },
-            {
-              "name": "creatorPerson",
-              "type": "String",
-              "isCollection": false,
-              "description": "表的创建者"
-            },
-            {
-              "name": "lastUpdateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "表的最后修改时间"
-            },
-            {
-              "name": "lastUpdatePerson",
-              "type": "String",
-              "isCollection": false,
-              "description": "表的最后修改者"
-            },
-            {
-              "name": "data",
-              "type": "String",
-              "isCollection": false,
-              "description": "表结构方案."
-            },
-            {
-              "name": "draftData",
-              "type": "String",
-              "isCollection": false,
-              "description": "草稿表结构方案."
-            },
-            {
-              "name": "status",
-              "type": "String",
-              "isCollection": false,
-              "description": "状态"
-            },
-            {
-              "name": "buildSuccess",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "是否编译成功."
-            },
-            {
-              "name": "createTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "创建时间,自动生成,索引创建在约束中."
-            },
-            {
-              "name": "updateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "修改时间,自动生成,索引创建在约束中."
-            }
-          ]
-        },
-        {
-          "name": "listRowNext",
-          "className": "com.x.query.assemble.designer.jaxrs.table.ActionListRowNext",
-          "description": "列示表中的行对象,下一页.",
-          "type": "GET",
-          "path": "jaxrs/table/list/{tableFlag}/row/{id}/next/{count}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "tableFlag",
-              "type": "String",
-              "description": "表标识"
-            },
-            {
-              "name": "id",
-              "type": "String",
-              "description": "标识"
-            },
-            {
-              "name": "count",
-              "type": "Integer",
-              "description": "数量"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": []
-        },
-        {
-          "name": "listRowPrev",
-          "className": "com.x.query.assemble.designer.jaxrs.table.ActionListRowPrev",
-          "description": "列示表中的行对象,上一页.",
-          "type": "GET",
-          "path": "jaxrs/table/list/{tableFlag}/row/{id}/prev/{count}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "tableFlag",
-              "type": "String",
-              "description": "表标识"
-            },
-            {
-              "name": "id",
-              "type": "String",
-              "description": "标识"
-            },
-            {
-              "name": "count",
-              "type": "Integer",
-              "description": "数量"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": []
-        },
-        {
-          "name": "listRowSelectWhere",
-          "className": "com.x.query.assemble.designer.jaxrs.table.ActionListRowSelectWhere",
-          "description": "通过where 获取表中的数据,格式为jpql语法,o.name\u003d\u0027zhangsan\u0027",
-          "type": "GET",
-          "path": "jaxrs/table/list/{tableFlag}/row/select/where/{where}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "tableFlag",
-              "type": "String",
-              "description": "表标识"
-            },
-            {
-              "name": "where",
-              "type": "String",
-              "description": "where语句"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": []
-        },
-        {
-          "name": "listWithQuery",
-          "className": "com.x.query.assemble.designer.jaxrs.table.ActionListWithQuery",
-          "description": "根据query列示table对象.",
-          "type": "GET",
-          "path": "jaxrs/table/list/query/{flag}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "flag",
-              "type": "String",
-              "description": "查询标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成."
-            },
-            {
-              "name": "query",
-              "type": "String",
-              "isCollection": false,
-              "description": "所属查询."
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "表名,最大64个字符."
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "别名."
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述."
-            },
-            {
-              "name": "creatorPerson",
-              "type": "String",
-              "isCollection": false,
-              "description": "表的创建者"
-            },
-            {
-              "name": "lastUpdateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "表的最后修改时间"
-            },
-            {
-              "name": "lastUpdatePerson",
-              "type": "String",
-              "isCollection": false,
-              "description": "表的最后修改者"
-            },
-            {
-              "name": "status",
-              "type": "String",
-              "isCollection": false,
-              "description": "状态"
-            },
-            {
-              "name": "buildSuccess",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "是否编译成功."
-            },
-            {
-              "name": "createTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "创建时间,自动生成,索引创建在约束中."
-            },
-            {
-              "name": "updateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "修改时间,自动生成,索引创建在约束中."
-            }
-          ]
-        },
-        {
-          "name": "rowCountWhere",
-          "className": "com.x.query.assemble.designer.jaxrs.table.ActionRowCountWhere",
-          "description": "通过where 统计数量",
-          "type": "GET",
-          "path": "jaxrs/table/{tableFlag}/row/count/where/{where}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "tableFlag",
-              "type": "String",
-              "description": "表标识"
-            },
-            {
-              "name": "where",
-              "type": "String",
-              "description": "where语句"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "value",
-              "type": "Long",
-              "isCollection": false,
-              "description": "长整型值"
-            }
-          ]
-        },
-        {
-          "name": "rowDelete",
-          "className": "com.x.query.assemble.designer.jaxrs.table.ActionRowDelete",
-          "description": "更新指定表中指定行数据.",
-          "type": "DELETE",
-          "path": "jaxrs/table/{tableFlag}/row/{id}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "tableFlag",
-              "type": "String",
-              "description": "表标识"
-            },
-            {
-              "name": "id",
-              "type": "String",
-              "description": "行标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "value",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "布尔值."
-            }
-          ]
-        },
-        {
-          "name": "rowDeleteAll",
-          "className": "com.x.query.assemble.designer.jaxrs.table.ActionRowDeleteAll",
-          "description": "更新指定表中指定行数据.",
-          "type": "DELETE",
-          "path": "jaxrs/table/{tableFlag}/row/delete/all",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "tableFlag",
-              "type": "String",
-              "description": "表标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "value",
-              "type": "Long",
-              "isCollection": false,
-              "description": "长整型值"
-            }
-          ]
-        },
-        {
-          "name": "rowGet",
-          "className": "com.x.query.assemble.designer.jaxrs.table.ActionRowGet",
-          "description": "获取表中某一行数据",
-          "type": "GET",
-          "path": "jaxrs/table/{tableFlag}/row/{id}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "tableFlag",
-              "type": "String",
-              "description": "表标识"
-            },
-            {
-              "name": "id",
-              "type": "String",
-              "description": "行标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": []
-        },
-        {
-          "name": "rowInsert",
-          "className": "com.x.query.assemble.designer.jaxrs.table.ActionRowInsert",
-          "description": "指定表中插入数据.",
-          "type": "POST",
-          "path": "jaxrs/table/{tableFlag}/row",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": true,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "tableFlag",
-              "type": "String",
-              "description": "表标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "valueList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "字符串多值."
-            }
-          ]
-        },
-        {
-          "name": "rowSave",
-          "className": "com.x.query.assemble.designer.jaxrs.table.ActionRowSave",
-          "description": "指定表中批量保存或更新数据.",
-          "type": "POST",
-          "path": "jaxrs/table/{tableFlag}/row/save",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": true,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "tableFlag",
-              "type": "String",
-              "description": "表标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "valueList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "字符串多值."
-            }
-          ]
-        },
-        {
-          "name": "rowUpdate",
-          "className": "com.x.query.assemble.designer.jaxrs.table.ActionRowUpdate",
-          "description": "更新指定表中指定行数据.",
-          "type": "PUT",
-          "path": "jaxrs/table/{tableFlag}/row/{id}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": true,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "tableFlag",
-              "type": "String",
-              "description": "表标识"
-            },
-            {
-              "name": "id",
-              "type": "String",
-              "description": "行标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "value",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "布尔值."
-            }
-          ]
-        },
-        {
-          "name": "statusBuild",
-          "className": "com.x.query.assemble.designer.jaxrs.table.ActionStatusBuild",
-          "description": "标识表状态为编译.",
-          "type": "GET",
-          "path": "jaxrs/table/{flag}/status/build",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "flag",
-              "type": "String",
-              "description": "标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "id"
-            }
-          ]
-        },
-        {
-          "name": "statusDraft",
-          "className": "com.x.query.assemble.designer.jaxrs.table.ActionStatusDraft",
-          "description": "标识表状态为草稿.",
-          "type": "GET",
-          "path": "jaxrs/table/{flag}/status/draft",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "flag",
-              "type": "String",
-              "description": "标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "id"
-            }
-          ]
-        },
-        {
-          "name": "update",
-          "className": "com.x.query.assemble.designer.jaxrs.table.ActionEdit",
-          "description": "更新表.",
-          "type": "PUT",
-          "path": "jaxrs/table/{flag}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "flag",
-              "type": "String",
-              "description": "标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [
-            {
-              "name": "query",
-              "type": "String",
-              "isCollection": false,
-              "description": "所属查询.",
-              "isBaseType": true
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "表名,最大64个字符.",
-              "isBaseType": true
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "别名.",
-              "isBaseType": true
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述.",
-              "isBaseType": true
-            },
-            {
-              "name": "readPersonList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "可以访问数据的用户.",
-              "isBaseType": true
-            },
-            {
-              "name": "readUnitList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "可以访问数据的组织.",
-              "isBaseType": true
-            },
-            {
-              "name": "editPersonList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "可以修改数据的用户.",
-              "isBaseType": true
-            },
-            {
-              "name": "editUnitList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "可以修改数据的组织.",
-              "isBaseType": true
-            },
-            {
-              "name": "draftData",
-              "type": "String",
-              "isCollection": false,
-              "description": "草稿表结构方案.",
-              "isBaseType": true
-            },
-            {
-              "name": "buildSuccess",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "是否编译成功.",
-              "isBaseType": true
-            }
-          ],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "id"
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "ViewAction",
-      "className": "com.x.query.assemble.designer.jaxrs.view.ViewAction",
-      "description": "视图",
-      "methods": [
-        {
-          "name": "bundle",
-          "className": "com.x.query.assemble.designer.jaxrs.view.ActionBundle",
-          "description": "模拟执行view,输出所有bundle值",
-          "type": "PUT",
-          "path": "jaxrs/view/{id}/bundle",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "id",
-              "type": "String",
-              "description": "视图标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [
-            {
-              "name": "filterList",
-              "type": "List\u003cFilterEntry\u003e",
-              "isCollection": true,
-              "description": "过滤",
-              "isBaseType": false
-            },
-            {
-              "name": "parameter",
-              "type": "Map\u003cString,String\u003e",
-              "isCollection": false,
-              "description": "参数",
-              "isBaseType": false
-            },
-            {
-              "name": "count",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "数量",
-              "isBaseType": true
-            }
-          ],
-          "outs": [
-            {
-              "name": "valueList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "字符串多值."
-            }
-          ]
-        },
-        {
-          "name": "create",
-          "className": "com.x.query.assemble.designer.jaxrs.view.ActionCreate",
-          "description": "创建View.",
-          "type": "POST",
-          "path": "jaxrs/view",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成.",
-              "isBaseType": true
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称.",
-              "isBaseType": true
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "别名.",
-              "isBaseType": true
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述.",
-              "isBaseType": true
-            },
-            {
-              "name": "query",
-              "type": "String",
-              "isCollection": false,
-              "description": "所属查询.",
-              "isBaseType": true
-            },
-            {
-              "name": "enableCache",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "是否对结果进行缓存.",
-              "isBaseType": true
-            },
-            {
-              "name": "layout",
-              "type": "String",
-              "isCollection": false,
-              "description": "显示布局.",
-              "isBaseType": true
-            },
-            {
-              "name": "data",
-              "type": "String",
-              "isCollection": false,
-              "description": "访问方案.",
-              "isBaseType": true
-            },
-            {
-              "name": "afterGridScriptText",
-              "type": "String",
-              "isCollection": false,
-              "description": "gird生成后运行脚本.",
-              "isBaseType": true
-            },
-            {
-              "name": "afterGroupGridScriptText",
-              "type": "String",
-              "isCollection": false,
-              "description": "gropuGird生成后运行脚本.",
-              "isBaseType": true
-            },
-            {
-              "name": "afterCalculateGridScriptText",
-              "type": "String",
-              "isCollection": false,
-              "description": "calculateGrid生成后运行脚本.",
-              "isBaseType": true
-            },
-            {
-              "name": "code",
-              "type": "String",
-              "isCollection": false,
-              "description": "前台运行脚本.",
-              "isBaseType": true
-            },
-            {
-              "name": "display",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "是否前端可见.",
-              "isBaseType": true
-            },
-            {
-              "name": "type",
-              "type": "String",
-              "isCollection": false,
-              "description": "类型.",
-              "isBaseType": true
-            },
-            {
-              "name": "cacheAccess",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "是否缓存访问内容.",
-              "isBaseType": true
-            },
-            {
-              "name": "availableIdentityList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的用户.",
-              "isBaseType": true
-            },
-            {
-              "name": "availableUnitList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的组织.",
-              "isBaseType": true
-            },
-            {
-              "name": "count",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "最大返回数量.",
-              "isBaseType": true
-            },
-            {
-              "name": "pageSize",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "分页单页数量.",
-              "isBaseType": true
-            },
-            {
-              "name": "toolbar",
-              "type": "String",
-              "isCollection": false,
-              "description": "工具条.",
-              "isBaseType": true
-            }
-          ],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "id"
-            }
-          ]
-        },
-        {
-          "name": "delete",
-          "className": "com.x.query.assemble.designer.jaxrs.view.ActionDelete",
-          "description": "删除View.",
-          "type": "DELETE",
-          "path": "jaxrs/view/{id}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "id",
-              "type": "String",
-              "description": "标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "id"
-            }
-          ]
-        },
-        {
-          "name": "get",
-          "className": "com.x.query.assemble.designer.jaxrs.view.ActionGet",
-          "description": "获取View内容.",
-          "type": "GET",
-          "path": "jaxrs/view/{id}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "id",
-              "type": "String",
-              "description": "标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成."
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称."
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "别名."
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述."
-            },
-            {
-              "name": "query",
-              "type": "String",
-              "isCollection": false,
-              "description": "所属查询."
-            },
-            {
-              "name": "enableCache",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "是否对结果进行缓存."
-            },
-            {
-              "name": "layout",
-              "type": "String",
-              "isCollection": false,
-              "description": "显示布局."
-            },
-            {
-              "name": "data",
-              "type": "String",
-              "isCollection": false,
-              "description": "访问方案."
-            },
-            {
-              "name": "afterGridScriptText",
-              "type": "String",
-              "isCollection": false,
-              "description": "gird生成后运行脚本."
-            },
-            {
-              "name": "afterGroupGridScriptText",
-              "type": "String",
-              "isCollection": false,
-              "description": "gropuGird生成后运行脚本."
-            },
-            {
-              "name": "afterCalculateGridScriptText",
-              "type": "String",
-              "isCollection": false,
-              "description": "calculateGrid生成后运行脚本."
-            },
-            {
-              "name": "code",
-              "type": "String",
-              "isCollection": false,
-              "description": "前台运行脚本."
-            },
-            {
-              "name": "display",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "是否前端可见."
-            },
-            {
-              "name": "type",
-              "type": "String",
-              "isCollection": false,
-              "description": "类型."
-            },
-            {
-              "name": "cacheAccess",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "是否缓存访问内容."
-            },
-            {
-              "name": "availableIdentityList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的用户."
-            },
-            {
-              "name": "availableUnitList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的组织."
-            },
-            {
-              "name": "count",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "最大返回数量."
-            },
-            {
-              "name": "pageSize",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "分页单页数量."
-            },
-            {
-              "name": "toolbar",
-              "type": "String",
-              "isCollection": false,
-              "description": "工具条."
-            },
-            {
-              "name": "createTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "创建时间,自动生成,索引创建在约束中."
-            },
-            {
-              "name": "updateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "修改时间,自动生成,索引创建在约束中."
-            }
-          ]
-        },
-        {
-          "name": "listNext",
-          "className": "com.x.query.assemble.designer.jaxrs.view.ActionListNext",
-          "description": "列示View对象,下一页.",
-          "type": "GET",
-          "path": "jaxrs/view/list/{id}/next/{count}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "id",
-              "type": "String",
-              "description": "标识"
-            },
-            {
-              "name": "count",
-              "type": "Integer",
-              "description": "数量"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "rank",
-              "type": "Long",
-              "isCollection": false,
-              "description": "排序号"
-            },
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成."
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称."
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "别名."
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述."
-            },
-            {
-              "name": "query",
-              "type": "String",
-              "isCollection": false,
-              "description": "所属查询."
-            },
-            {
-              "name": "enableCache",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "是否对结果进行缓存."
-            },
-            {
-              "name": "display",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "是否前端可见."
-            },
-            {
-              "name": "type",
-              "type": "String",
-              "isCollection": false,
-              "description": "类型."
-            },
-            {
-              "name": "cacheAccess",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "是否缓存访问内容."
-            },
-            {
-              "name": "count",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "最大返回数量."
-            },
-            {
-              "name": "pageSize",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "分页单页数量."
-            },
-            {
-              "name": "createTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "创建时间,自动生成,索引创建在约束中."
-            },
-            {
-              "name": "updateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "修改时间,自动生成,索引创建在约束中."
-            }
-          ]
-        },
-        {
-          "name": "listPrev",
-          "className": "com.x.query.assemble.designer.jaxrs.view.ActionListPrev",
-          "description": "列示View对象,上一页.",
-          "type": "GET",
-          "path": "jaxrs/view/list/{id}/prev/{count}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "id",
-              "type": "String",
-              "description": "标识"
-            },
-            {
-              "name": "count",
-              "type": "Integer",
-              "description": "数量"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "rank",
-              "type": "Long",
-              "isCollection": false,
-              "description": "排序号"
-            },
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成."
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称."
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "别名."
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述."
-            },
-            {
-              "name": "query",
-              "type": "String",
-              "isCollection": false,
-              "description": "所属查询."
-            },
-            {
-              "name": "enableCache",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "是否对结果进行缓存."
-            },
-            {
-              "name": "display",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "是否前端可见."
-            },
-            {
-              "name": "type",
-              "type": "String",
-              "isCollection": false,
-              "description": "类型."
-            },
-            {
-              "name": "cacheAccess",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "是否缓存访问内容."
-            },
-            {
-              "name": "count",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "最大返回数量."
-            },
-            {
-              "name": "pageSize",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "分页单页数量."
-            },
-            {
-              "name": "createTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "创建时间,自动生成,索引创建在约束中."
-            },
-            {
-              "name": "updateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "修改时间,自动生成,索引创建在约束中."
-            }
-          ]
-        },
-        {
-          "name": "listWithQuery",
-          "className": "com.x.query.assemble.designer.jaxrs.view.ActionListWithQuery",
-          "description": "根据query列示view对象.",
-          "type": "GET",
-          "path": "jaxrs/view/list/query/{flag}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "flag",
-              "type": "String",
-              "description": "查询标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "数据库主键,自动生成."
-            },
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称."
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "别名."
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述."
-            },
-            {
-              "name": "query",
-              "type": "String",
-              "isCollection": false,
-              "description": "所属查询."
-            },
-            {
-              "name": "enableCache",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "是否对结果进行缓存."
-            },
-            {
-              "name": "layout",
-              "type": "String",
-              "isCollection": false,
-              "description": "显示布局."
-            },
-            {
-              "name": "data",
-              "type": "String",
-              "isCollection": false,
-              "description": "访问方案."
-            },
-            {
-              "name": "afterGridScriptText",
-              "type": "String",
-              "isCollection": false,
-              "description": "gird生成后运行脚本."
-            },
-            {
-              "name": "afterGroupGridScriptText",
-              "type": "String",
-              "isCollection": false,
-              "description": "gropuGird生成后运行脚本."
-            },
-            {
-              "name": "afterCalculateGridScriptText",
-              "type": "String",
-              "isCollection": false,
-              "description": "calculateGrid生成后运行脚本."
-            },
-            {
-              "name": "code",
-              "type": "String",
-              "isCollection": false,
-              "description": "前台运行脚本."
-            },
-            {
-              "name": "display",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "是否前端可见."
-            },
-            {
-              "name": "type",
-              "type": "String",
-              "isCollection": false,
-              "description": "类型."
-            },
-            {
-              "name": "cacheAccess",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "是否缓存访问内容."
-            },
-            {
-              "name": "availableIdentityList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的用户."
-            },
-            {
-              "name": "availableUnitList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的组织."
-            },
-            {
-              "name": "count",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "最大返回数量."
-            },
-            {
-              "name": "pageSize",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "分页单页数量."
-            },
-            {
-              "name": "toolbar",
-              "type": "String",
-              "isCollection": false,
-              "description": "工具条."
-            },
-            {
-              "name": "createTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "创建时间,自动生成,索引创建在约束中."
-            },
-            {
-              "name": "updateTime",
-              "type": "Date",
-              "isCollection": false,
-              "description": "修改时间,自动生成,索引创建在约束中."
-            }
-          ]
-        },
-        {
-          "name": "simulate",
-          "className": "com.x.query.assemble.designer.jaxrs.view.ActionSimulate",
-          "description": "模拟执行view",
-          "type": "PUT",
-          "path": "jaxrs/view/{id}/simulate",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "id",
-              "type": "String",
-              "description": "视图标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [
-            {
-              "name": "filterList",
-              "type": "List\u003cFilterEntry\u003e",
-              "isCollection": true,
-              "description": "过滤",
-              "isBaseType": false
-            },
-            {
-              "name": "parameter",
-              "type": "Map\u003cString,String\u003e",
-              "isCollection": false,
-              "description": "参数",
-              "isBaseType": false
-            },
-            {
-              "name": "count",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "数量",
-              "isBaseType": true
-            },
-            {
-              "name": "bundleList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "限定结果集",
-              "isBaseType": true
-            }
-          ],
-          "outs": []
-        },
-        {
-          "name": "update",
-          "className": "com.x.query.assemble.designer.jaxrs.view.ActionEdit",
-          "description": "更新View.",
-          "type": "PUT",
-          "path": "jaxrs/view/{id}",
-          "contentType": "application/json",
-          "resultContentType": "application/json; charset\u003dUTF-8",
-          "useJsonElementParameter": false,
-          "useStringParameter": false,
-          "pathParameters": [
-            {
-              "name": "id",
-              "type": "String",
-              "description": "标识"
-            }
-          ],
-          "formParameters": [],
-          "queryParameters": [],
-          "ins": [
-            {
-              "name": "name",
-              "type": "String",
-              "isCollection": false,
-              "description": "名称.",
-              "isBaseType": true
-            },
-            {
-              "name": "alias",
-              "type": "String",
-              "isCollection": false,
-              "description": "别名.",
-              "isBaseType": true
-            },
-            {
-              "name": "description",
-              "type": "String",
-              "isCollection": false,
-              "description": "描述.",
-              "isBaseType": true
-            },
-            {
-              "name": "query",
-              "type": "String",
-              "isCollection": false,
-              "description": "所属查询.",
-              "isBaseType": true
-            },
-            {
-              "name": "enableCache",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "是否对结果进行缓存.",
-              "isBaseType": true
-            },
-            {
-              "name": "layout",
-              "type": "String",
-              "isCollection": false,
-              "description": "显示布局.",
-              "isBaseType": true
-            },
-            {
-              "name": "data",
-              "type": "String",
-              "isCollection": false,
-              "description": "访问方案.",
-              "isBaseType": true
-            },
-            {
-              "name": "afterGridScriptText",
-              "type": "String",
-              "isCollection": false,
-              "description": "gird生成后运行脚本.",
-              "isBaseType": true
-            },
-            {
-              "name": "afterGroupGridScriptText",
-              "type": "String",
-              "isCollection": false,
-              "description": "gropuGird生成后运行脚本.",
-              "isBaseType": true
-            },
-            {
-              "name": "afterCalculateGridScriptText",
-              "type": "String",
-              "isCollection": false,
-              "description": "calculateGrid生成后运行脚本.",
-              "isBaseType": true
-            },
-            {
-              "name": "code",
-              "type": "String",
-              "isCollection": false,
-              "description": "前台运行脚本.",
-              "isBaseType": true
-            },
-            {
-              "name": "display",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "是否前端可见.",
-              "isBaseType": true
-            },
-            {
-              "name": "type",
-              "type": "String",
-              "isCollection": false,
-              "description": "类型.",
-              "isBaseType": true
-            },
-            {
-              "name": "cacheAccess",
-              "type": "Boolean",
-              "isCollection": false,
-              "description": "是否缓存访问内容.",
-              "isBaseType": true
-            },
-            {
-              "name": "availableIdentityList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的用户.",
-              "isBaseType": true
-            },
-            {
-              "name": "availableUnitList",
-              "type": "List\u003cString\u003e",
-              "isCollection": true,
-              "description": "允许使用的组织.",
-              "isBaseType": true
-            },
-            {
-              "name": "count",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "最大返回数量.",
-              "isBaseType": true
-            },
-            {
-              "name": "pageSize",
-              "type": "Integer",
-              "isCollection": false,
-              "description": "分页单页数量.",
-              "isBaseType": true
-            },
-            {
-              "name": "toolbar",
-              "type": "String",
-              "isCollection": false,
-              "description": "工具条.",
-              "isBaseType": true
-            }
-          ],
-          "outs": [
-            {
-              "name": "id",
-              "type": "String",
-              "isCollection": false,
-              "description": "id"
-            }
-          ]
-        }
-      ]
-    }
-  ]
-}

+ 0 - 28
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/AbstractFactory.java

@@ -1,28 +0,0 @@
-package com.x.query.assemble.designer;
-
-import com.x.base.core.container.EntityManagerContainer;
-
-public abstract class AbstractFactory {
-
-	private Business business;
-
-	public AbstractFactory(Business business) throws Exception {
-		try {
-			if (null == business) {
-				throw new Exception("business can not be null.");
-			}
-			this.business = business;
-		} catch (Exception e) {
-			throw new Exception("can not instantiating factory.");
-		}
-	}
-
-	public EntityManagerContainer entityManagerContainer() throws Exception {
-		return this.business.entityManagerContainer();
-	}
-
-	public Business business() throws Exception {
-		return this.business;
-	}
-
-}

+ 0 - 33
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/ApplicationServletContextListener.java

@@ -1,33 +0,0 @@
-package com.x.query.assemble.designer;
-
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
-import javax.servlet.annotation.WebListener;
-
-import com.x.base.core.project.Context;
-
-@WebListener
-public class ApplicationServletContextListener implements ServletContextListener {
-
-	@Override
-	public void contextInitialized(ServletContextEvent servletContextEvent) {
-		try {
-			ThisApplication.context = Context.concrete(servletContextEvent);
-			ThisApplication.init();
-			ThisApplication.context().regist();
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	}
-
-	@Override
-	public void contextDestroyed(ServletContextEvent servletContextEvent) {
-		try {
-			ThisApplication.destroy();
-			ThisApplication.context.destrory(servletContextEvent);
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	}
-
-}

+ 0 - 335
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/Business.java

@@ -1,335 +0,0 @@
-package com.x.query.assemble.designer;
-
-import java.io.File;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.EnumSet;
-import java.util.List;
-
-import javax.tools.Diagnostic;
-import javax.tools.DiagnosticCollector;
-import javax.tools.JavaCompiler;
-import javax.tools.JavaFileObject;
-import javax.tools.StandardJavaFileManager;
-import javax.tools.StandardLocation;
-import javax.tools.ToolProvider;
-
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.io.IOUtils;
-import org.apache.commons.io.filefilter.DirectoryFileFilter;
-import org.apache.commons.io.filefilter.FileFilterUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.lang3.SystemUtils;
-
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.PersistenceXmlHelper;
-import com.x.base.core.entity.dynamic.DynamicEntity;
-import com.x.base.core.entity.dynamic.DynamicEntityBuilder;
-import com.x.base.core.project.config.Config;
-import com.x.base.core.project.gson.XGsonBuilder;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.logger.Logger;
-import com.x.base.core.project.logger.LoggerFactory;
-import com.x.base.core.project.organization.OrganizationDefinition;
-import com.x.base.core.project.tools.DefaultCharset;
-import com.x.base.core.project.tools.JarTools;
-import com.x.base.core.project.tools.ListTools;
-import com.x.base.core.project.tools.StringTools;
-import com.x.organization.core.express.Organization;
-import com.x.query.assemble.designer.factory.QueryFactory;
-import com.x.query.assemble.designer.factory.RevealFactory;
-import com.x.query.assemble.designer.factory.StatFactory;
-import com.x.query.assemble.designer.factory.StatementFactory;
-import com.x.query.assemble.designer.factory.TableFactory;
-import com.x.query.assemble.designer.factory.ViewFactory;
-import com.x.query.assemble.designer.jaxrs.table.ExceptionCompileError;
-import com.x.query.core.entity.Query;
-import com.x.query.core.entity.schema.Enhance;
-import com.x.query.core.entity.schema.Statement;
-import com.x.query.core.entity.schema.Table;
-
-public class Business {
-
-	private static Logger logger = LoggerFactory.getLogger(Business.class);
-
-	private static final String DOT_JAR = ".jar";
-
-	private EntityManagerContainer emc;
-
-	public Business(EntityManagerContainer emc) throws Exception {
-		this.emc = emc;
-	}
-
-	public EntityManagerContainer entityManagerContainer() {
-		return this.emc;
-	}
-
-	private Organization organization;
-
-	public Organization organization() throws Exception {
-		if (null == this.organization) {
-			this.organization = new Organization(ThisApplication.context());
-		}
-		return organization;
-	}
-
-	private QueryFactory query;
-
-	public QueryFactory query() throws Exception {
-		if (null == this.query) {
-			this.query = new QueryFactory(this);
-		}
-		return query;
-	}
-
-	private ViewFactory view;
-
-	public ViewFactory view() throws Exception {
-		if (null == this.view) {
-			this.view = new ViewFactory(this);
-		}
-		return view;
-	}
-
-	private TableFactory table;
-
-	public TableFactory table() throws Exception {
-		if (null == this.table) {
-			this.table = new TableFactory(this);
-		}
-		return table;
-	}
-
-	private StatementFactory statement;
-
-	public StatementFactory statement() throws Exception {
-		if (null == this.statement) {
-			this.statement = new StatementFactory(this);
-		}
-		return statement;
-	}
-
-	private StatFactory stat;
-
-	public StatFactory stat() throws Exception {
-		if (null == this.stat) {
-			this.stat = new StatFactory(this);
-		}
-		return stat;
-	}
-
-	private RevealFactory reveal;
-
-	public RevealFactory reveal() throws Exception {
-		if (null == this.reveal) {
-			this.reveal = new RevealFactory(this);
-		}
-		return reveal;
-	}
-
-	public boolean controllable(EffectivePerson effectivePerson) throws Exception {
-		boolean result = false;
-		if (effectivePerson.isManager() || (this.organization().person().hasRole(effectivePerson,
-				OrganizationDefinition.Manager, OrganizationDefinition.QueryManager))) {
-			result = true;
-		}
-		return result;
-	}
-
-	public boolean editable(EffectivePerson effectivePerson, Query o) throws Exception {
-		boolean result = false;
-		if (effectivePerson.isManager() || (this.organization().person().hasRole(effectivePerson,
-				OrganizationDefinition.Manager, OrganizationDefinition.QueryManager))) {
-			result = true;
-		}
-		if (!result && (null != o)) {
-			if (effectivePerson.isPerson(o.getControllerList()) || effectivePerson.isPerson(o.getCreatorPerson())) {
-				result = true;
-			}
-		}
-		return result;
-	}
-
-	public boolean editable(EffectivePerson effectivePerson, Table o) throws Exception {
-		boolean result = false;
-		if (effectivePerson.isManager() || (this.organization().person().hasRole(effectivePerson,
-				OrganizationDefinition.Manager, OrganizationDefinition.QueryManager))) {
-			result = true;
-		}
-		if (!result && (null != o)) {
-			if (ListTools.isEmpty(o.getEditPersonList()) && ListTools.isEmpty(o.getEditUnitList())) {
-				result = true;
-				if (!result) {
-					if (effectivePerson.isPerson(o.getEditPersonList())) {
-						result = true;
-					}
-					if (!result && ListTools.isNotEmpty(o.getEditUnitList())) {
-						List<String> units = this.organization().unit()
-								.listWithPerson(effectivePerson.getDistinguishedName());
-						if (ListTools.containsAny(units, o.getEditUnitList())) {
-							result = true;
-						}
-					}
-				}
-			}
-		}
-		return result;
-	}
-
-	public boolean executable(EffectivePerson effectivePerson, Statement o) throws Exception {
-		boolean result = false;
-		if (null != o) {
-			if (ListTools.isEmpty(o.getExecutePersonList()) && ListTools.isEmpty(o.getExecuteUnitList())) {
-				result = true;
-			}
-			if (!result) {
-				if (effectivePerson.isManager()
-						|| (this.organization().person().hasRole(effectivePerson, OrganizationDefinition.Manager,
-								OrganizationDefinition.QueryManager))
-						|| effectivePerson.isPerson(o.getExecutePersonList())) {
-					result = true;
-				}
-				if ((!result) && ListTools.isNotEmpty(o.getExecuteUnitList())) {
-					List<String> units = this.organization().unit()
-							.listWithPerson(effectivePerson.getDistinguishedName());
-					if (ListTools.containsAny(units, o.getExecuteUnitList())) {
-						result = true;
-					}
-				}
-			}
-		}
-		return result;
-	}
-
-	public boolean buildAllTable() throws Exception {
-		boolean result = false;
-		File dir = new File(Config.dir_local_temp_dynamic(true), StringTools.uniqueToken());
-		FileUtils.forceMkdir(dir);
-		File src = new File(dir, "src");
-		FileUtils.forceMkdir(src);
-		File target = new File(dir, "target");
-		FileUtils.forceMkdir(target);
-		File resources = new File(dir, "resources");
-		FileUtils.forceMkdir(resources);
-		List<Table> tables = emc.listEqual(Table.class, Table.status_FIELDNAME, Table.STATUS_build);
-		/* 产生用于创建persistence.xml */
-		List<String> classNames = new ArrayList<>();
-		for (Table table : tables) {
-			try {
-				emc.beginTransaction(Table.class);
-				if (StringUtils.isNotEmpty(table.getData())) {
-					DynamicEntity dynamicEntity = XGsonBuilder.instance().fromJson(table.getData(),
-							DynamicEntity.class);
-					dynamicEntity.setName(table.getName());
-					DynamicEntityBuilder builder = new DynamicEntityBuilder(dynamicEntity, src);
-					builder.build();
-					classNames.add(dynamicEntity.className());
-				}
-				table.setBuildSuccess(true);
-				emc.commit();
-			} catch (Exception e) {
-				logger.error(e);
-			}
-		}
-
-		if (!classNames.isEmpty()) {
-
-			PersistenceXmlHelper.directWrite(new File(resources, "META-INF/persistence.xml").getAbsolutePath(),
-					classNames);
-
-			List<File> classPath = new ArrayList<>();
-			classPath.addAll(FileUtils.listFiles(Config.dir_commons_ext(), FileFilterUtils.suffixFileFilter(DOT_JAR),
-					DirectoryFileFilter.INSTANCE));
-			classPath.addAll(FileUtils.listFiles(Config.dir_store_jars(), FileFilterUtils.suffixFileFilter(DOT_JAR),
-					DirectoryFileFilter.INSTANCE));
-
-			JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
-			StandardJavaFileManager fileManager = compiler.getStandardFileManager(null, null,
-					DefaultCharset.charset_utf_8);
-
-			fileManager.setLocation(StandardLocation.CLASS_OUTPUT, Arrays.asList(target));
-			fileManager.setLocation(StandardLocation.SOURCE_PATH, Arrays.asList(src, resources));
-			fileManager.setLocation(StandardLocation.CLASS_PATH, classPath);
-
-			Iterable<JavaFileObject> res = fileManager.list(StandardLocation.SOURCE_PATH, DynamicEntity.CLASS_PACKAGE,
-					EnumSet.of(JavaFileObject.Kind.SOURCE), true);
-
-			DiagnosticCollector<JavaFileObject> diagnostics = new DiagnosticCollector<JavaFileObject>();
-
-			StringWriter out = new StringWriter();
-
-			if (!compiler.getTask(out, fileManager, diagnostics, null, null, res).call()) {
-				for (Diagnostic<? extends JavaFileObject> diagnostic : diagnostics.getDiagnostics()) {
-					out.append("Error on line " + diagnostic.getLineNumber() + " in " + diagnostic).append('\n');
-				}
-				throw new ExceptionCompileError(out.toString());
-			}
-
-			result = true;
-
-			fileManager.close();
-
-			this.enhance(target, resources);
-
-			File jar = new File(Config.dir_dynamic_jars(true), DynamicEntity.JAR_NAME + DOT_JAR);
-
-			JarTools.jar(target, jar);
-		}
-		return result;
-	}
-
-	private void enhance(File target, File resources) throws Exception {
-
-		File commandJavaFile = null;
-		if (SystemUtils.IS_OS_AIX) {
-			commandJavaFile = new File(Config.dir_jvm_aix(), "bin/java");
-		} else if (SystemUtils.IS_OS_LINUX) {
-			if (Config.dir_jvm_neokylin_loongson().exists()) {
-				commandJavaFile = new File(Config.dir_jvm_neokylin_loongson(), "bin/java");
-			} else {
-				commandJavaFile = new File(Config.dir_jvm_linux(), "bin/java");
-			}
-		} else if (SystemUtils.IS_OS_MAC) {
-			commandJavaFile = new File(Config.dir_jvm_macos(), "bin/java");
-		} else {
-			commandJavaFile = new File(Config.dir_jvm_windows(), "bin/java.exe");
-		}
-
-		List<String> paths = new ArrayList<>();
-
-		paths.add(Config.dir_store_jars().getAbsolutePath() + File.separator + "*");
-		paths.add(Config.dir_commons_ext().getAbsolutePath() + File.separator + "*");
-		paths.add(target.getAbsolutePath());
-		paths.add(resources.getAbsolutePath());
-
-		String command = commandJavaFile.getAbsolutePath() + " -classpath \""
-				+ StringUtils.join(paths, File.pathSeparator) + "\" " + Enhance.class.getName() + " \""
-				+ target.getAbsolutePath() + "\"";
-
-		logger.debug("enhance command:{}.", command);
-
-		ProcessBuilder processBuilder = new ProcessBuilder();
-
-		if (SystemUtils.IS_OS_AIX) {
-			processBuilder.command("sh", "-c", command);
-		} else if (SystemUtils.IS_OS_LINUX) {
-			processBuilder.command("sh", "-c", command);
-		} else if (SystemUtils.IS_OS_MAC) {
-			processBuilder.command("sh", "-c", command);
-		} else {
-			processBuilder.command("cmd", "/c", command);
-		}
-
-		Process process = processBuilder.start();
-
-		// process.waitFor();
-
-		String resp = IOUtils.toString(process.getErrorStream(), DefaultCharset.charset_utf_8);
-
-		process.destroy();
-
-		logger.info("enhance result:{}.", resp);
-
-	}
-}

+ 0 - 85
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/CompareQuery.java

@@ -1,85 +0,0 @@
-package com.x.query.assemble.designer;
-
-import com.x.base.core.project.annotation.FieldDescribe;
-import com.x.base.core.project.gson.GsonPropertyObject;
-
-public class CompareQuery extends GsonPropertyObject {
-
-	@FieldDescribe("导入名称")
-	private String name;
-
-	@FieldDescribe("导入id")
-	private String id;
-
-	@FieldDescribe("导入别名")
-	private String alias;
-
-	@FieldDescribe("是否已经存在")
-	private Boolean exist;
-
-	@FieldDescribe("已经存在名称")
-	private String existName;
-
-	@FieldDescribe("已经存在id")
-	private String existId;
-
-	@FieldDescribe("已经存在别名")
-	private String existAlias;
-
-	public String getName() {
-		return name;
-	}
-
-	public void setName(String name) {
-		this.name = name;
-	}
-
-	public String getId() {
-		return id;
-	}
-
-	public void setId(String id) {
-		this.id = id;
-	}
-
-	public String getAlias() {
-		return alias;
-	}
-
-	public void setAlias(String alias) {
-		this.alias = alias;
-	}
-
-	public Boolean getExist() {
-		return exist;
-	}
-
-	public void setExist(Boolean exist) {
-		this.exist = exist;
-	}
-
-	public String getExistName() {
-		return existName;
-	}
-
-	public void setExistName(String existName) {
-		this.existName = existName;
-	}
-
-	public String getExistId() {
-		return existId;
-	}
-
-	public void setExistId(String existId) {
-		this.existId = existId;
-	}
-
-	public String getExistAlias() {
-		return existAlias;
-	}
-
-	public void setExistAlias(String existAlias) {
-		this.existAlias = existAlias;
-	}
-
-}

+ 0 - 30
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/ThisApplication.java

@@ -1,30 +0,0 @@
-package com.x.query.assemble.designer;
-
-import com.x.base.core.project.Context;
-import com.x.base.core.project.config.Config;
-import com.x.base.core.project.logger.LoggerFactory;
-
-public class ThisApplication {
-
-	protected static Context context;
-
-	public static Context context() {
-		return context;
-	}
-
-	public static void init() {
-		try {
-			LoggerFactory.setLevel(Config.logLevel().x_query_assemble_designer());
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	}
-
-	public static void destroy() {
-		try {
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	}
-
-}

+ 0 - 58
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/factory/NeuralFactory.java

@@ -1,58 +0,0 @@
-package com.x.query.assemble.designer.factory;
-
-import java.util.Comparator;
-import java.util.List;
-import java.util.stream.Collectors;
-
-import javax.persistence.EntityManager;
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
-
-import com.x.base.core.project.tools.StringTools;
-import com.x.query.assemble.designer.AbstractFactory;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.Stat;
-import com.x.query.core.entity.Stat_;
-
-public class NeuralFactory extends AbstractFactory {
-
-	public NeuralFactory(Business business) throws Exception {
-		super(business);
-	}
-
-	public <T extends Stat> List<T> sort(List<T> list) {
-		if (null == list) {
-			return null;
-		}
-		list = list.stream()
-				.sorted(Comparator.comparing(Stat::getAlias, StringTools.emptyLastComparator())
-						.thenComparing(Comparator.comparing(Stat::getName, StringTools.emptyLastComparator())))
-				.collect(Collectors.toList());
-		return list;
-	}
-
-	public List<String> listWithQuery(String queryId) throws Exception {
-		EntityManager em = this.entityManagerContainer().get(Stat.class);
-		CriteriaBuilder cb = em.getCriteriaBuilder();
-		CriteriaQuery<String> cq = cb.createQuery(String.class);
-		Root<Stat> root = cq.from(Stat.class);
-		Predicate p = cb.equal(root.get(Stat_.query), queryId);
-		cq.select(root.get(Stat_.id)).where(p);
-		List<String> os = em.createQuery(cq).getResultList();
-		return os;
-	}
-
-	public List<Stat> listWithQueryObject(String queryId) throws Exception {
-		EntityManager em = this.entityManagerContainer().get(Stat.class);
-		CriteriaBuilder cb = em.getCriteriaBuilder();
-		CriteriaQuery<Stat> cq = cb.createQuery(Stat.class);
-		Root<Stat> root = cq.from(Stat.class);
-		Predicate p = cb.equal(root.get(Stat_.query), queryId);
-		cq.select(root).where(p);
-		List<Stat> os = em.createQuery(cq).getResultList();
-		return os;
-	}
-
-}

+ 0 - 30
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/factory/QueryFactory.java

@@ -1,30 +0,0 @@
-package com.x.query.assemble.designer.factory;
-
-import java.util.Comparator;
-import java.util.List;
-import java.util.stream.Collectors;
-
-import com.x.base.core.project.tools.StringTools;
-import com.x.query.assemble.designer.AbstractFactory;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.Query;
-
-public class QueryFactory extends AbstractFactory {
-
-	public QueryFactory(Business business) throws Exception {
-		super(business);
-	}
-
-	public <T extends Query> List<T> sort(List<T> list) {
-		if (null == list) {
-			return null;
-		}
-		list = list.stream()
-				.sorted(Comparator.comparing(Query::getAlias, StringTools.emptyLastComparator())
-						.thenComparing(Comparator.comparing(Query::getName, StringTools.emptyLastComparator())))
-				.collect(Collectors.toList());
-		return list;
-
-	}
-
-}

+ 0 - 58
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/factory/RevealFactory.java

@@ -1,58 +0,0 @@
-package com.x.query.assemble.designer.factory;
-
-import java.util.Comparator;
-import java.util.List;
-import java.util.stream.Collectors;
-
-import javax.persistence.EntityManager;
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
-
-import com.x.base.core.project.tools.StringTools;
-import com.x.query.assemble.designer.AbstractFactory;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.Reveal;
-import com.x.query.core.entity.Reveal_;
-
-public class RevealFactory extends AbstractFactory {
-
-	public RevealFactory(Business business) throws Exception {
-		super(business);
-	}
-
-	public <T extends Reveal> List<T> sort(List<T> list) {
-		if (null == list) {
-			return null;
-		}
-		list = list.stream()
-				.sorted(Comparator.comparing(Reveal::getAlias, StringTools.emptyLastComparator())
-						.thenComparing(Comparator.comparing(Reveal::getName, StringTools.emptyLastComparator())))
-				.collect(Collectors.toList());
-		return list;
-	}
-
-	public List<String> listWithQuery(String queryId) throws Exception {
-		EntityManager em = this.entityManagerContainer().get(Reveal.class);
-		CriteriaBuilder cb = em.getCriteriaBuilder();
-		CriteriaQuery<String> cq = cb.createQuery(String.class);
-		Root<Reveal> root = cq.from(Reveal.class);
-		Predicate p = cb.equal(root.get(Reveal_.query), queryId);
-		cq.select(root.get(Reveal_.id)).where(p);
-		List<String> os = em.createQuery(cq).getResultList();
-		return os;
-	}
-
-	public List<Reveal> listWithQueryObject(String queryId) throws Exception {
-		EntityManager em = this.entityManagerContainer().get(Reveal.class);
-		CriteriaBuilder cb = em.getCriteriaBuilder();
-		CriteriaQuery<Reveal> cq = cb.createQuery(Reveal.class);
-		Root<Reveal> root = cq.from(Reveal.class);
-		Predicate p = cb.equal(root.get(Reveal_.query), queryId);
-		cq.select(root).where(p);
-		List<Reveal> os = em.createQuery(cq).getResultList();
-		return os;
-	}
-
-}

+ 0 - 58
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/factory/StatFactory.java

@@ -1,58 +0,0 @@
-package com.x.query.assemble.designer.factory;
-
-import java.util.Comparator;
-import java.util.List;
-import java.util.stream.Collectors;
-
-import javax.persistence.EntityManager;
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
-
-import com.x.base.core.project.tools.StringTools;
-import com.x.query.assemble.designer.AbstractFactory;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.Stat;
-import com.x.query.core.entity.Stat_;
-
-public class StatFactory extends AbstractFactory {
-
-	public StatFactory(Business business) throws Exception {
-		super(business);
-	}
-
-	public <T extends Stat> List<T> sort(List<T> list) {
-		if (null == list) {
-			return null;
-		}
-		list = list.stream()
-				.sorted(Comparator.comparing(Stat::getAlias, StringTools.emptyLastComparator())
-						.thenComparing(Comparator.comparing(Stat::getName, StringTools.emptyLastComparator())))
-				.collect(Collectors.toList());
-		return list;
-	}
-
-	public List<String> listWithQuery(String queryId) throws Exception {
-		EntityManager em = this.entityManagerContainer().get(Stat.class);
-		CriteriaBuilder cb = em.getCriteriaBuilder();
-		CriteriaQuery<String> cq = cb.createQuery(String.class);
-		Root<Stat> root = cq.from(Stat.class);
-		Predicate p = cb.equal(root.get(Stat_.query), queryId);
-		cq.select(root.get(Stat_.id)).where(p);
-		List<String> os = em.createQuery(cq).getResultList();
-		return os;
-	}
-
-	public List<Stat> listWithQueryObject(String queryId) throws Exception {
-		EntityManager em = this.entityManagerContainer().get(Stat.class);
-		CriteriaBuilder cb = em.getCriteriaBuilder();
-		CriteriaQuery<Stat> cq = cb.createQuery(Stat.class);
-		Root<Stat> root = cq.from(Stat.class);
-		Predicate p = cb.equal(root.get(Stat_.query), queryId);
-		cq.select(root).where(p);
-		List<Stat> os = em.createQuery(cq).getResultList();
-		return os;
-	}
-
-}

+ 0 - 47
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/factory/StatementFactory.java

@@ -1,47 +0,0 @@
-package com.x.query.assemble.designer.factory;
-
-import java.util.Comparator;
-import java.util.List;
-import java.util.stream.Collectors;
-
-import com.x.base.core.project.tools.StringTools;
-import com.x.query.assemble.designer.AbstractFactory;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.schema.Statement;
-import com.x.query.core.entity.schema.Statement_;
-
-import javax.persistence.EntityManager;
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
-
-public class StatementFactory extends AbstractFactory {
-
-	public StatementFactory(Business business) throws Exception {
-		super(business);
-	}
-
-	public <T extends Statement> List<T> sort(List<T> list) {
-		if (null == list) {
-			return null;
-		}
-		list = list.stream()
-				.sorted(Comparator.comparing(Statement::getAlias, StringTools.emptyLastComparator())
-						.thenComparing(Comparator.comparing(Statement::getName, StringTools.emptyLastComparator())))
-				.collect(Collectors.toList());
-		return list;
-	}
-
-	public List<Statement> listWithQueryObject(String queryId) throws Exception {
-		EntityManager em = this.entityManagerContainer().get(Statement.class);
-		CriteriaBuilder cb = em.getCriteriaBuilder();
-		CriteriaQuery<Statement> cq = cb.createQuery(Statement.class);
-		Root<Statement> root = cq.from(Statement.class);
-		Predicate p = cb.equal(root.get(Statement_.query), queryId);
-		cq.select(root).where(p);
-		List<Statement> os = em.createQuery(cq).getResultList();
-		return os;
-	}
-
-}

+ 0 - 47
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/factory/TableFactory.java

@@ -1,47 +0,0 @@
-package com.x.query.assemble.designer.factory;
-
-import java.util.Comparator;
-import java.util.List;
-import java.util.stream.Collectors;
-
-import com.x.base.core.project.tools.StringTools;
-import com.x.query.assemble.designer.AbstractFactory;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.schema.Table;
-import com.x.query.core.entity.schema.Table_;
-
-import javax.persistence.EntityManager;
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
-
-public class TableFactory extends AbstractFactory {
-
-	public TableFactory(Business business) throws Exception {
-		super(business);
-	}
-
-	public <T extends Table> List<T> sort(List<T> list) {
-		if (null == list) {
-			return null;
-		}
-		list = list.stream()
-				.sorted(Comparator.comparing(Table::getAlias, StringTools.emptyLastComparator())
-						.thenComparing(Comparator.comparing(Table::getName, StringTools.emptyLastComparator())))
-				.collect(Collectors.toList());
-		return list;
-	}
-
-	public List<Table> listWithQueryObject(String queryId) throws Exception {
-		EntityManager em = this.entityManagerContainer().get(Table.class);
-		CriteriaBuilder cb = em.getCriteriaBuilder();
-		CriteriaQuery<Table> cq = cb.createQuery(Table.class);
-		Root<Table> root = cq.from(Table.class);
-		Predicate p = cb.equal(root.get(Table_.query), queryId);
-		cq.select(root).where(p);
-		List<Table> os = em.createQuery(cq).getResultList();
-		return os;
-	}
-
-}

+ 0 - 80
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/factory/ViewFactory.java

@@ -1,80 +0,0 @@
-package com.x.query.assemble.designer.factory;
-
-import java.util.Comparator;
-import java.util.List;
-import java.util.stream.Collectors;
-
-import javax.persistence.EntityManager;
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
-
-import org.apache.commons.lang3.StringUtils;
-
-import com.x.base.core.project.tools.StringTools;
-import com.x.query.assemble.designer.AbstractFactory;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.Query;
-import com.x.query.core.entity.View;
-import com.x.query.core.entity.View_;
-
-public class ViewFactory extends AbstractFactory {
-
-	public ViewFactory(Business business) throws Exception {
-		super(business);
-	}
-
-	public <T extends View> List<T> sort(List<T> list) {
-		if (null == list) {
-			return null;
-		}
-		list = list.stream()
-				.sorted(Comparator.comparing(View::getAlias, StringTools.emptyLastComparator())
-						.thenComparing(Comparator.comparing(View::getName, StringTools.emptyLastComparator())))
-				.collect(Collectors.toList());
-		return list;
-	}
-
-	public List<String> listWithQuery(String queryId) throws Exception {
-		EntityManager em = this.entityManagerContainer().get(View.class);
-		CriteriaBuilder cb = em.getCriteriaBuilder();
-		CriteriaQuery<String> cq = cb.createQuery(String.class);
-		Root<View> root = cq.from(View.class);
-		Predicate p = cb.equal(root.get(View_.query), queryId);
-		cq.select(root.get(View_.id)).where(p);
-		List<String> os = em.createQuery(cq).getResultList();
-		return os;
-	}
-
-	public List<View> listWithQueryObject(String queryId) throws Exception {
-		EntityManager em = this.entityManagerContainer().get(View.class);
-		CriteriaBuilder cb = em.getCriteriaBuilder();
-		CriteriaQuery<View> cq = cb.createQuery(View.class);
-		Root<View> root = cq.from(View.class);
-		Predicate p = cb.equal(root.get(View_.query), queryId);
-		cq.select(root).where(p);
-		List<View> os = em.createQuery(cq).getResultList();
-		return os;
-	}
-
-	public View getWithQueryObject(String flag, Query query) throws Exception {
-		if (StringUtils.isEmpty(flag)) {
-			return null;
-		}
-		EntityManager em = this.entityManagerContainer().get(View.class);
-		CriteriaBuilder cb = em.getCriteriaBuilder();
-		CriteriaQuery<View> cq = cb.createQuery(View.class);
-		Root<View> root = cq.from(View.class);
-		Predicate p = cb.equal(root.get(View_.query), query.getId());
-		p = cb.and(p, cb.or(cb.equal(root.get(View_.name), flag), cb.equal(root.get(View_.id), flag),
-				cb.equal(root.get(View_.alias), flag)));
-		List<View> os = em.createQuery(cq.select(root).where(p)).setMaxResults(1).getResultList();
-		if (os.isEmpty()) {
-			return null;
-		} else {
-			return os.get(0);
-		}
-
-	}
-}

+ 0 - 36
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/ActionApplication.java

@@ -1,36 +0,0 @@
-package com.x.query.assemble.designer.jaxrs;
-
-import java.util.Set;
-
-import javax.ws.rs.ApplicationPath;
-
-import com.x.base.core.project.jaxrs.AbstractActionApplication;
-import com.x.query.assemble.designer.jaxrs.id.IdAction;
-import com.x.query.assemble.designer.jaxrs.input.InputAction;
-import com.x.query.assemble.designer.jaxrs.neural.NeuralAction;
-import com.x.query.assemble.designer.jaxrs.output.OutputAction;
-import com.x.query.assemble.designer.jaxrs.query.QueryAction;
-import com.x.query.assemble.designer.jaxrs.reveal.RevealAction;
-import com.x.query.assemble.designer.jaxrs.stat.StatAction;
-import com.x.query.assemble.designer.jaxrs.statement.StatementAction;
-import com.x.query.assemble.designer.jaxrs.table.TableAction;
-import com.x.query.assemble.designer.jaxrs.view.ViewAction;
-
-@ApplicationPath("jaxrs")
-public class ActionApplication extends AbstractActionApplication {
-
-	public Set<Class<?>> getClasses() {
-		classes.add(QueryAction.class);
-		classes.add(ViewAction.class);
-		classes.add(StatAction.class);
-		classes.add(RevealAction.class);
-		classes.add(IdAction.class);
-		classes.add(NeuralAction.class);
-		classes.add(OutputAction.class);
-		classes.add(InputAction.class);
-		classes.add(TableAction.class);
-		classes.add(StatementAction.class);
-		return classes;
-	}
-
-}

+ 0 - 10
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/IdJaxrsFilter.java

@@ -1,10 +0,0 @@
-package com.x.query.assemble.designer.jaxrs;
-
-import javax.servlet.annotation.WebFilter;
-
-import com.x.base.core.project.jaxrs.CipherManagerUserJaxrsFilter;
-
-@WebFilter(urlPatterns = "/jaxrs/id/*", asyncSupported = true)
-public class IdJaxrsFilter extends CipherManagerUserJaxrsFilter {
-
-}

+ 0 - 10
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/InputJaxrsFilter.java

@@ -1,10 +0,0 @@
-package com.x.query.assemble.designer.jaxrs;
-
-import javax.servlet.annotation.WebFilter;
-
-import com.x.base.core.project.jaxrs.CipherManagerUserJaxrsFilter;
-
-@WebFilter(urlPatterns = "/jaxrs/input/*", asyncSupported = true)
-public class InputJaxrsFilter extends CipherManagerUserJaxrsFilter {
-
-}

+ 0 - 10
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/NeuralJaxrsFilter.java

@@ -1,10 +0,0 @@
-package com.x.query.assemble.designer.jaxrs;
-
-import javax.servlet.annotation.WebFilter;
-
-import com.x.base.core.project.jaxrs.AnonymousCipherManagerUserJaxrsFilter;
-
-@WebFilter(urlPatterns = "/jaxrs/neural/*", asyncSupported = true)
-public class NeuralJaxrsFilter extends AnonymousCipherManagerUserJaxrsFilter {
-
-}

+ 0 - 10
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/OutputJaxrsFilter.java

@@ -1,10 +0,0 @@
-package com.x.query.assemble.designer.jaxrs;
-
-import javax.servlet.annotation.WebFilter;
-
-import com.x.base.core.project.jaxrs.CipherManagerUserJaxrsFilter;
-
-@WebFilter(urlPatterns = "/jaxrs/output/*", asyncSupported = true)
-public class OutputJaxrsFilter extends CipherManagerUserJaxrsFilter {
-
-}

+ 0 - 10
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/QueryJaxrsFilter.java

@@ -1,10 +0,0 @@
-package com.x.query.assemble.designer.jaxrs;
-
-import javax.servlet.annotation.WebFilter;
-
-import com.x.base.core.project.jaxrs.AnonymousCipherManagerUserJaxrsFilter;
-
-@WebFilter(urlPatterns = "/jaxrs/query/*", asyncSupported = true)
-public class QueryJaxrsFilter extends AnonymousCipherManagerUserJaxrsFilter {
-
-}

+ 0 - 10
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/RevealJaxrsFilter.java

@@ -1,10 +0,0 @@
-package com.x.query.assemble.designer.jaxrs;
-
-import javax.servlet.annotation.WebFilter;
-
-import com.x.base.core.project.jaxrs.AnonymousCipherManagerUserJaxrsFilter;
-
-@WebFilter(urlPatterns = "/jaxrs/reveal/*", asyncSupported = true)
-public class RevealJaxrsFilter extends AnonymousCipherManagerUserJaxrsFilter {
-
-}

+ 0 - 10
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/StatJaxrsFilter.java

@@ -1,10 +0,0 @@
-package com.x.query.assemble.designer.jaxrs;
-
-import javax.servlet.annotation.WebFilter;
-
-import com.x.base.core.project.jaxrs.AnonymousCipherManagerUserJaxrsFilter;
-
-@WebFilter(urlPatterns = "/jaxrs/stat/*", asyncSupported = true)
-public class StatJaxrsFilter extends AnonymousCipherManagerUserJaxrsFilter {
-
-}

+ 0 - 10
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/StatementJaxrsFilter.java

@@ -1,10 +0,0 @@
-package com.x.query.assemble.designer.jaxrs;
-
-import javax.servlet.annotation.WebFilter;
-
-import com.x.base.core.project.jaxrs.AnonymousCipherManagerUserJaxrsFilter;
-
-@WebFilter(urlPatterns = "/jaxrs/statement/*", asyncSupported = true)
-public class StatementJaxrsFilter extends AnonymousCipherManagerUserJaxrsFilter {
-
-}

+ 0 - 10
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/TableJaxrsFilter.java

@@ -1,10 +0,0 @@
-package com.x.query.assemble.designer.jaxrs;
-
-import javax.servlet.annotation.WebFilter;
-
-import com.x.base.core.project.jaxrs.AnonymousCipherManagerUserJaxrsFilter;
-
-@WebFilter(urlPatterns = "/jaxrs/table/*", asyncSupported = true)
-public class TableJaxrsFilter extends AnonymousCipherManagerUserJaxrsFilter {
-
-}

+ 0 - 10
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/ViewJaxrsFilter.java

@@ -1,10 +0,0 @@
-package com.x.query.assemble.designer.jaxrs;
-
-import javax.servlet.annotation.WebFilter;
-
-import com.x.base.core.project.jaxrs.AnonymousCipherManagerUserJaxrsFilter;
-
-@WebFilter(urlPatterns = "/jaxrs/view/*", asyncSupported = true)
-public class ViewJaxrsFilter extends AnonymousCipherManagerUserJaxrsFilter {
-
-}

+ 0 - 30
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/id/ActionGet.java

@@ -1,30 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.id;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.x.base.core.entity.JpaObject;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.jaxrs.WoId;
-
-class ActionGet extends BaseAction {
-
-	ActionResult<List<Wo>> execute(Integer count) throws Exception {
-		ActionResult<List<Wo>> result = new ActionResult<>();
-		List<Wo> wos = new ArrayList<>();
-		if (count > 0 && count < 200) {
-			for (int i = 0; i < count; i++) {
-				Wo wo = new Wo();
-				wo.setId(JpaObject.createId());
-				wos.add(wo);
-			}
-		}
-		result.setData(wos);
-		return result;
-	}
-
-	public static class Wo extends WoId {
-
-	}
-
-}

+ 0 - 7
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/id/BaseAction.java

@@ -1,7 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.id;
-
-import com.x.base.core.project.jaxrs.StandardJaxrsAction;
-
-abstract class BaseAction extends StandardJaxrsAction {
-
-}

+ 0 - 49
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/id/IdAction.java

@@ -1,49 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.id;
-
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-
-import com.x.base.core.project.annotation.JaxrsDescribe;
-import com.x.base.core.project.annotation.JaxrsMethodDescribe;
-import com.x.base.core.project.annotation.JaxrsParameterDescribe;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.http.HttpMediaType;
-import com.x.base.core.project.jaxrs.ResponseFactory;
-import com.x.base.core.project.logger.Logger;
-import com.x.base.core.project.logger.LoggerFactory;
-
-@Path("id")
-@JaxrsDescribe("标识")
-public class IdAction extends BaseAction {
-
-	private static Logger logger = LoggerFactory.getLogger(IdAction.class);
-
-	@JaxrsMethodDescribe(value = "创建用于ID值的UUID", action = ActionGet.class)
-	@GET
-	@Path("{count}")
-	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
-	@Consumes(MediaType.APPLICATION_JSON)
-	public void get(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
-			@JaxrsParameterDescribe("数量") @PathParam("count") Integer count) {
-		ActionResult<List<ActionGet.Wo>> result = new ActionResult<>();
-		EffectivePerson effectivePerson = this.effectivePerson(request);
-		try {
-			result = new ActionGet().execute(count);
-		} catch (Exception e) {
-			logger.error(e, effectivePerson, request, null);
-			result.error(e);
-		}
-		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
-	}
-}

+ 0 - 52
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/input/ActionCompare.java

@@ -1,52 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.input;
-
-import com.google.gson.JsonElement;
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.logger.Logger;
-import com.x.base.core.project.logger.LoggerFactory;
-import com.x.query.assemble.designer.Business;
-import com.x.query.assemble.designer.CompareQuery;
-import com.x.query.core.entity.Query;
-import com.x.query.core.entity.wrap.WrapQuery;
-
-class ActionCompare extends BaseAction {
-
-	private static Logger logger = LoggerFactory.getLogger(ActionCompare.class);
-
-	ActionResult<Wo> execute(EffectivePerson effectivePerson, JsonElement jsonElement) throws Exception {
-		logger.debug(effectivePerson, "receive:{}.", jsonElement);
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			Business business = new Business(emc);
-			ActionResult<Wo> result = new ActionResult<>();
-			Wi wi = this.convertToWrapIn(jsonElement, Wi.class);
-			Query exist = this.getQuery(business, wi.getId(), wi.getName(), wi.getAlias());
-			Wo wo = new Wo();
-			wo.setId(wi.getId());
-			wo.setName(wi.getName());
-			wo.setAlias(wi.getAlias());
-			wo.setExist(false);
-			if (null != exist) {
-				wo.setExist(true);
-				wo.setExistName(exist.getName());
-				wo.setExistAlias(exist.getAlias());
-				wo.setExistId(exist.getId());
-			}
-			result.setData(wo);
-			return result;
-		}
-	}
-
-	public static class Wi extends WrapQuery {
-
-		private static final long serialVersionUID = -4612391443319365035L;
-
-	}
-
-	public static class Wo extends CompareQuery {
-
-	}
-
-}

+ 0 - 236
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/input/ActionCover.java

@@ -1,236 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.input;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.persistence.EntityManager;
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
-
-import com.x.base.core.project.cache.ApplicationCache;
-import com.x.query.core.entity.schema.Statement;
-import com.x.query.core.entity.schema.Table;
-import com.x.query.core.entity.wrap.*;
-import org.apache.commons.collections4.ListUtils;
-import org.apache.commons.lang3.StringUtils;
-
-import com.google.gson.JsonElement;
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.entity.JpaObject;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.jaxrs.WoId;
-import com.x.base.core.project.logger.Logger;
-import com.x.base.core.project.logger.LoggerFactory;
-import com.x.base.core.project.tools.StringTools;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.Query;
-import com.x.query.core.entity.Reveal;
-import com.x.query.core.entity.Stat;
-import com.x.query.core.entity.View;
-
-class ActionCover extends BaseAction {
-
-	private static Logger logger = LoggerFactory.getLogger(ActionCover.class);
-
-	ActionResult<Wo> execute(EffectivePerson effectivePerson, JsonElement jsonElement) throws Exception {
-		logger.debug(effectivePerson, "jsonElement:{}.", jsonElement);
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			ActionResult<Wo> result = new ActionResult<>();
-			Wo wo = new Wo();
-			Wi wi = this.convertToWrapIn(jsonElement, Wi.class);
-			Business business = new Business(emc);
-			Query query = business.entityManagerContainer().find(wi.getId(), Query.class);
-			if (null == query) {
-				throw new ExceptionQueryNotExist(wi.getId());
-			}
-			if (!business.editable(effectivePerson, query)) {
-				throw new ExceptionQueryAccessDenied(effectivePerson.getName(), query.getName(), query.getId());
-			}
-			this.cover(business, wi, query);
-			wo.setId(query.getId());
-			result.setData(wo);
-			return result;
-		}
-	}
-
-	private void cover(Business business, Wi wi, Query query) throws Exception {
-		List<JpaObject> persistObjects = new ArrayList<>();
-		for (WrapView _o : wi.getViewList()) {
-			View obj = business.entityManagerContainer().find(_o.getId(), View.class);
-			if (null != obj) {
-				WrapView.inCopier.copy(_o, obj);
-			} else {
-				obj = WrapView.inCopier.copy(_o);
-				persistObjects.add(obj);
-			}
-			if (StringUtils.isNotEmpty(obj.getAlias())) {
-				obj.setAlias(this.idleAliasWithQuery(business, query.getId(), obj.getAlias(), View.class, obj.getId()));
-			}
-			if (StringUtils.isNotEmpty(obj.getName())) {
-				obj.setName(this.idleNameWithQuery(business, query.getId(), obj.getName(), View.class, obj.getId()));
-			}
-			obj.setQuery(query.getId());
-		}
-		for (WrapStat _o : wi.getStatList()) {
-			Stat obj = business.entityManagerContainer().find(_o.getId(), Stat.class);
-			if (null != obj) {
-				WrapStat.inCopier.copy(_o, obj);
-			} else {
-				obj = WrapStat.inCopier.copy(_o);
-				persistObjects.add(obj);
-			}
-			if (StringUtils.isNotEmpty(obj.getAlias())) {
-				obj.setAlias(this.idleAliasWithQuery(business, query.getId(), obj.getAlias(), Stat.class, obj.getId()));
-			}
-			if (StringUtils.isNotEmpty(obj.getName())) {
-				obj.setName(this.idleNameWithQuery(business, query.getId(), obj.getName(), Stat.class, obj.getId()));
-			}
-			obj.setQuery(query.getId());
-		}
-		for (WrapReveal _o : wi.getRevealList()) {
-			Reveal obj = business.entityManagerContainer().find(_o.getId(), Reveal.class);
-			if (null != obj) {
-				WrapReveal.inCopier.copy(_o, obj);
-			} else {
-				obj = WrapReveal.inCopier.copy(_o);
-				persistObjects.add(obj);
-			}
-			if (StringUtils.isNotEmpty(obj.getAlias())) {
-				obj.setAlias(
-						this.idleAliasWithQuery(business, query.getId(), obj.getAlias(), Reveal.class, obj.getId()));
-			}
-			if (StringUtils.isNotEmpty(obj.getName())) {
-				obj.setName(this.idleNameWithQuery(business, query.getId(), obj.getName(), Reveal.class, obj.getId()));
-			}
-			obj.setQuery(query.getId());
-		}
-		for (WrapTable _o : wi.getTableList()) {
-			Table obj = business.entityManagerContainer().find(_o.getId(), Table.class);
-			if (null != obj) {
-				WrapTable.inCopier.copy(_o, obj);
-			} else {
-				obj = WrapTable.inCopier.copy(_o);
-				persistObjects.add(obj);
-			}
-			if (StringUtils.isNotEmpty(obj.getAlias())) {
-				obj.setAlias(
-						this.idleAliasWithQuery(business, query.getId(), obj.getAlias(), Table.class, obj.getId()));
-			}
-			if (StringUtils.isNotEmpty(obj.getName())) {
-				obj.setName(this.idleNameWithQuery(business, query.getId(), obj.getName(), Table.class, obj.getId()));
-			}
-			obj.setQuery(query.getId());
-		}
-		for (WrapStatement _o : wi.getStatementList()) {
-			Statement obj = business.entityManagerContainer().find(_o.getId(), Statement.class);
-			if (null != obj) {
-				WrapStatement.inCopier.copy(_o, obj);
-			} else {
-				obj = WrapStatement.inCopier.copy(_o);
-				persistObjects.add(obj);
-			}
-			if (StringUtils.isNotEmpty(obj.getAlias())) {
-				obj.setAlias(
-						this.idleAliasWithQuery(business, query.getId(), obj.getAlias(), Statement.class, obj.getId()));
-			}
-			if (StringUtils.isNotEmpty(obj.getName())) {
-				obj.setName(this.idleNameWithQuery(business, query.getId(), obj.getName(), Statement.class, obj.getId()));
-			}
-			obj.setQuery(query.getId());
-		}
-		business.entityManagerContainer().beginTransaction(Query.class);
-		business.entityManagerContainer().beginTransaction(View.class);
-		business.entityManagerContainer().beginTransaction(Stat.class);
-		business.entityManagerContainer().beginTransaction(Reveal.class);
-		business.entityManagerContainer().beginTransaction(Table.class);
-		business.entityManagerContainer().beginTransaction(Statement.class);
-		for (JpaObject o : persistObjects) {
-			business.entityManagerContainer().persist(o);
-		}
-		business.entityManagerContainer().commit();
-		if(!wi.getTableList().isEmpty()){
-			ApplicationCache.notify(Table.class);
-			ApplicationCache.notify(Statement.class);
-
-			business.buildAllTable();
-		}else if(!wi.getStatementList().isEmpty()){
-			ApplicationCache.notify(Statement.class);
-		}
-		if(!wi.getViewList().isEmpty()){
-			ApplicationCache.notify(View.class);
-		}
-		if(!wi.getStatList().isEmpty()){
-			ApplicationCache.notify(Stat.class);
-		}
-		if(!wi.getRevealList().isEmpty()){
-			ApplicationCache.notify(Reveal.class);
-		}
-	}
-
-	private <T extends JpaObject> String idleNameWithQuery(Business business, String queryId, String name, Class<T> cls,
-			String excludeId) throws Exception {
-		if (StringUtils.isEmpty(name)) {
-			return "";
-		}
-		List<String> list = new ArrayList<>();
-		list.add(name);
-		for (int i = 1; i < 99; i++) {
-			list.add(name + String.format("%02d", i));
-		}
-		list.add(StringTools.uniqueToken());
-		EntityManager em = business.entityManagerContainer().get(cls);
-		CriteriaBuilder cb = em.getCriteriaBuilder();
-		CriteriaQuery<String> cq = cb.createQuery(String.class);
-		Root<T> root = cq.from(cls);
-		Predicate p = root.get("name").in(list);
-		p = cb.and(p, cb.equal(root.get("query"), queryId));
-		if (StringUtils.isNotEmpty(excludeId)) {
-			p = cb.and(p, cb.notEqual(root.get(JpaObject.id_FIELDNAME), excludeId));
-		}
-		cq.select(root.get("name")).where(p);
-		List<String> os = em.createQuery(cq).getResultList();
-		list = ListUtils.subtract(list, os);
-		return list.get(0);
-	}
-
-	private <T extends JpaObject> String idleAliasWithQuery(Business business, String queryId, String alias,
-			Class<T> cls, String excludeId) throws Exception {
-		if (StringUtils.isEmpty(alias)) {
-			return "";
-		}
-		List<String> list = new ArrayList<>();
-		list.add(alias);
-		for (int i = 1; i < 99; i++) {
-			list.add(alias + String.format("%02d", i));
-		}
-		list.add(StringTools.uniqueToken());
-		EntityManager em = business.entityManagerContainer().get(cls);
-		CriteriaBuilder cb = em.getCriteriaBuilder();
-		CriteriaQuery<String> cq = cb.createQuery(String.class);
-		Root<T> root = cq.from(cls);
-		Predicate p = root.get("alias").in(list);
-		p = cb.and(p, cb.equal(root.get("query"), queryId));
-		if (StringUtils.isNotEmpty(excludeId)) {
-			p = cb.and(p, cb.notEqual(root.get(JpaObject.id_FIELDNAME), excludeId));
-		}
-		cq.select(root.get("alias")).where(p);
-		List<String> os = em.createQuery(cq).getResultList();
-		list = ListUtils.subtract(list, os);
-		return list.get(0);
-	}
-
-	public static class Wi extends WrapQuery {
-
-		private static final long serialVersionUID = -4612391443319365035L;
-
-	}
-
-	public static class Wo extends WoId {
-
-	}
-
-}

+ 0 - 132
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/input/ActionCreate.java

@@ -1,132 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.input;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.google.gson.JsonElement;
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.entity.JpaObject;
-import com.x.base.core.project.cache.ApplicationCache;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.jaxrs.WoId;
-import com.x.base.core.project.logger.Logger;
-import com.x.base.core.project.logger.LoggerFactory;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.Query;
-import com.x.query.core.entity.Reveal;
-import com.x.query.core.entity.Stat;
-import com.x.query.core.entity.View;
-import com.x.query.core.entity.schema.Statement;
-import com.x.query.core.entity.schema.Table;
-import com.x.query.core.entity.wrap.*;
-
-class ActionCreate extends BaseAction {
-
-	private static Logger logger = LoggerFactory.getLogger(ActionCreate.class);
-
-	ActionResult<Wo> execute(EffectivePerson effectivePerson, JsonElement jsonElement) throws Exception {
-		logger.debug(effectivePerson, "jsonElement:{}.", jsonElement);
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			ActionResult<Wo> result = new ActionResult<>();
-			Wo wo = new Wo();
-			Wi wi = this.convertToWrapIn(jsonElement, Wi.class);
-			Business business = new Business(emc);
-			if (!business.controllable(effectivePerson)) {
-				throw new ExceptionQueryAccessDenied(effectivePerson.getName(), wi.getName(), wi.getId());
-			}
-			Query query = this.create(business, wi);
-			wo.setId(query.getId());
-			result.setData(wo);
-			return result;
-		}
-	}
-
-	private Query create(Business business, Wi wi) throws Exception {
-		List<JpaObject> persistObjects = new ArrayList<>();
-		Query query = business.entityManagerContainer().find(wi.getId(), Query.class);
-		if (null != query) {
-			throw new ExceptionQueryExist(wi.getId());
-		}
-		query = WrapQuery.inCopier.copy(wi);
-		query.setName(this.idleQueryName(business, query.getName(), query.getId()));
-		query.setAlias(this.idleQueryAlias(business, query.getAlias(), query.getId()));
-		persistObjects.add(query);
-		for (WrapView _o : wi.getViewList()) {
-			View obj = business.entityManagerContainer().find(_o.getId(), View.class);
-			if (null != obj) {
-				throw new ExceptionEntityExistForCreate(_o.getId(), View.class);
-			}
-			obj = WrapView.inCopier.copy(_o);
-			obj.setQuery(query.getId());
-			persistObjects.add(obj);
-		}
-		for (WrapStat _o : wi.getStatList()) {
-			Stat obj = business.entityManagerContainer().find(_o.getId(), Stat.class);
-			if (null != obj) {
-				throw new ExceptionEntityExistForCreate(_o.getId(), Stat.class);
-			}
-			obj = WrapStat.inCopier.copy(_o);
-			obj.setQuery(query.getId());
-			persistObjects.add(obj);
-		}
-		for (WrapTable _o : wi.getTableList()) {
-			Table obj = business.entityManagerContainer().find(_o.getId(), Table.class);
-			if (null != obj) {
-				throw new ExceptionEntityExistForCreate(_o.getId(), Table.class);
-			}
-			obj = WrapTable.inCopier.copy(_o);
-			obj.setQuery(query.getId());
-			persistObjects.add(obj);
-		}
-		for (WrapStatement _o : wi.getStatementList()) {
-			Statement obj = business.entityManagerContainer().find(_o.getId(), Statement.class);
-			if (null != obj) {
-				throw new ExceptionEntityExistForCreate(_o.getId(), Statement.class);
-			}
-			obj = WrapStatement.inCopier.copy(_o);
-			obj.setQuery(query.getId());
-			persistObjects.add(obj);
-		}
-		for (WrapReveal _o : wi.getRevealList()) {
-			Reveal obj = business.entityManagerContainer().find(_o.getId(), Reveal.class);
-			if (null != obj) {
-				throw new ExceptionEntityExistForCreate(_o.getId(), Reveal.class);
-			}
-			obj = WrapReveal.inCopier.copy(_o);
-			obj.setQuery(query.getId());
-			persistObjects.add(obj);
-		}
-		business.entityManagerContainer().beginTransaction(Query.class);
-		business.entityManagerContainer().beginTransaction(View.class);
-		business.entityManagerContainer().beginTransaction(Stat.class);
-		business.entityManagerContainer().beginTransaction(Reveal.class);
-		business.entityManagerContainer().beginTransaction(Table.class);
-		business.entityManagerContainer().beginTransaction(Statement.class);
-		for (JpaObject o : persistObjects) {
-			business.entityManagerContainer().persist(o);
-		}
-		business.entityManagerContainer().commit();
-		if(!wi.getTableList().isEmpty()){
-			ApplicationCache.notify(Table.class);
-			ApplicationCache.notify(Statement.class);
-
-			business.buildAllTable();
-		}else if(!wi.getStatementList().isEmpty()){
-			ApplicationCache.notify(Statement.class);
-		}
-		return query;
-	}
-
-	public static class Wi extends WrapQuery {
-
-		private static final long serialVersionUID = -4612391443319365035L;
-
-	}
-
-	public static class Wo extends WoId {
-
-	}
-
-}

+ 0 - 255
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/input/ActionPrepareCover.java

@@ -1,255 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.input;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.persistence.EntityManager;
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
-
-import com.x.query.core.entity.schema.Statement;
-import com.x.query.core.entity.schema.Table;
-import com.x.query.core.entity.wrap.*;
-import org.apache.commons.beanutils.BeanUtils;
-import org.apache.commons.collections4.ListUtils;
-import org.apache.commons.lang3.StringUtils;
-
-import com.google.gson.JsonElement;
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.entity.JpaObject;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.jaxrs.WrapPair;
-import com.x.base.core.project.logger.Logger;
-import com.x.base.core.project.logger.LoggerFactory;
-import com.x.base.core.project.tools.ListTools;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.Query;
-import com.x.query.core.entity.Reveal;
-import com.x.query.core.entity.Stat;
-import com.x.query.core.entity.View;
-
-class ActionPrepareCover extends BaseAction {
-
-	private static Logger logger = LoggerFactory.getLogger(ActionPrepareCover.class);
-
-	ActionResult<List<Wo>> execute(EffectivePerson effectivePerson, JsonElement jsonElement) throws Exception {
-		logger.debug(effectivePerson, "jsonElement:{}.", jsonElement);
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			ActionResult<List<Wo>> result = new ActionResult<>();
-			Wi wi = this.convertToWrapIn(jsonElement, Wi.class);
-			Business business = new Business(emc);
-			List<Wo> wos = this.adjustForCover(business, wi);
-			result.setData(wos);
-			return result;
-		}
-	}
-
-	private List<Wo> adjustForCover(Business business, Wi wi) throws Exception {
-		List<Wo> wos = new ArrayList<>();
-		Query exist = this.getQuery(business, wi.getId(), wi.getName(), wi.getAlias());
-		if (null == exist) {
-			throw new ExceptionQueryNotExistForCover(wi.getId(), wi.getName(), wi.getAlias());
-		}
-		if (!StringUtils.equals(wi.getId(), exist.getId())) {
-			wos.add(new Wo(wi.getId(), exist.getId()));
-		}
-		for (MatchElement<WrapView, View> m : this.match(business, wi.getViewList(),
-				ListUtils.union(this.listWithIds(business, wi.getViewList(), View.class),
-						business.view().listWithQueryObject(exist.getId())))) {
-			if ((null != m.getW()) && (null != m.getT())) {
-				if (!StringUtils.equals(m.getW().getId(), m.getT().getId())) {
-					if (StringUtils.equals(m.getW().getQuery(), m.getT().getQuery())) {
-						wos.add(new Wo(m.getW().getId(), m.getT().getId()));
-					} else {
-						wos.add(new Wo(m.getW().getId(), JpaObject.createId()));
-					}
-				}
-			}
-		}
-		for (MatchElement<WrapStat, Stat> m : this.match(business, wi.getStatList(),
-				ListUtils.union(this.listWithIds(business, wi.getStatList(), Stat.class),
-						business.stat().listWithQueryObject(exist.getId())))) {
-			if ((null != m.getW()) && (null != m.getT())) {
-				if (!StringUtils.equals(m.getW().getId(), m.getT().getId())) {
-					if (StringUtils.equals(m.getW().getQuery(), m.getT().getQuery())) {
-						wos.add(new Wo(m.getW().getId(), m.getT().getId()));
-					} else {
-						wos.add(new Wo(m.getW().getId(), JpaObject.createId()));
-					}
-				}
-			}
-		}
-		for (MatchElement<WrapReveal, Reveal> m : this.match(business, wi.getRevealList(),
-				ListUtils.union(this.listWithIds(business, wi.getRevealList(), Reveal.class),
-						business.reveal().listWithQueryObject(exist.getId())))) {
-			if ((null != m.getW()) && (null != m.getT())) {
-				if (!StringUtils.equals(m.getW().getId(), m.getT().getId())) {
-					if (StringUtils.equals(m.getW().getQuery(), m.getT().getQuery())) {
-						wos.add(new Wo(m.getW().getId(), m.getT().getId()));
-					} else {
-						wos.add(new Wo(m.getW().getId(), JpaObject.createId()));
-					}
-				}
-			}
-		}
-		for (MatchElement<WrapTable, Table> m : this.match(business, wi.getTableList(),
-				ListUtils.union(this.listWithIds(business, wi.getTableList(), Table.class),
-						business.table().listWithQueryObject(exist.getId())))) {
-			if ((null != m.getW()) && (null != m.getT())) {
-				if (!StringUtils.equals(m.getW().getId(), m.getT().getId())) {
-					if (StringUtils.equals(m.getW().getQuery(), m.getT().getQuery())) {
-						wos.add(new Wo(m.getW().getId(), m.getT().getId()));
-					} else {
-						wos.add(new Wo(m.getW().getId(), JpaObject.createId()));
-					}
-				}
-			}
-		}
-		for (MatchElement<WrapStatement, Statement> m : this.match(business, wi.getStatementList(),
-				ListUtils.union(this.listWithIds(business, wi.getStatementList(), Statement.class),
-						business.statement().listWithQueryObject(exist.getId())))) {
-			if ((null != m.getW()) && (null != m.getT())) {
-				if (!StringUtils.equals(m.getW().getId(), m.getT().getId())) {
-					if (StringUtils.equals(m.getW().getQuery(), m.getT().getQuery())) {
-						wos.add(new Wo(m.getW().getId(), m.getT().getId()));
-					} else {
-						wos.add(new Wo(m.getW().getId(), JpaObject.createId()));
-					}
-				}
-			}
-		}
-		return wos;
-	}
-
-	private <W extends JpaObject, T extends JpaObject> List<T> listWithIds(Business business, List<W> list,
-			Class<T> cls) throws Exception {
-		EntityManager em = business.entityManagerContainer().get(cls);
-		CriteriaBuilder cb = em.getCriteriaBuilder();
-		CriteriaQuery<T> cq = cb.createQuery(cls);
-		Root<T> root = cq.from(cls);
-		Predicate p = root.get(JpaObject.id_FIELDNAME)
-				.in(ListTools.extractField(list, JpaObject.id_FIELDNAME, String.class, true, true));
-		cq.select(root).where(p);
-		List<T> os = em.createQuery(cq).getResultList();
-		return os;
-	}
-
-	private <W extends JpaObject, T extends JpaObject> List<MatchElement<W, T>> match(Business business, List<W> ws,
-			List<T> ts) throws Exception {
-		List<MatchElement<W, T>> list = new ArrayList<>();
-		List<W> findWs = new ArrayList<>();
-		List<T> findTs = new ArrayList<>();
-		loop: for (W w : ListTools.nullToEmpty(ws)) {
-			if (!findWs.contains(w)) {
-				for (T t : ListTools.nullToEmpty(ts)) {
-					if (!findTs.contains(t)) {
-						if (StringUtils.equals(w.getId(), t.getId())) {
-							MatchElement<W, T> m = new MatchElement<>();
-							m.setW(w);
-							m.setT(t);
-							list.add(m);
-							findWs.add(w);
-							findTs.add(t);
-							continue loop;
-						}
-					}
-				}
-			}
-		}
-		loop: for (W w : ListTools.nullToEmpty(ws)) {
-			if (!findWs.contains(w)) {
-				for (T t : ListTools.nullToEmpty(ts)) {
-					if (!findTs.contains(t)) {
-						if (StringUtils.isNotEmpty(BeanUtils.getProperty(w, "name")) && StringUtils
-								.equals(BeanUtils.getProperty(w, "name"), BeanUtils.getProperty(t, "name"))) {
-							MatchElement<W, T> m = new MatchElement<>();
-							m.setW(w);
-							m.setT(t);
-							list.add(m);
-							findWs.add(w);
-							findTs.add(t);
-							continue loop;
-						}
-					}
-				}
-			}
-		}
-		loop: for (W w : ListTools.nullToEmpty(ws)) {
-			if (!findWs.contains(w)) {
-				for (T t : ListTools.nullToEmpty(ts)) {
-					if (!findTs.contains(t)) {
-						if (StringUtils.isNotEmpty(BeanUtils.getProperty(w, "alias")) && StringUtils
-								.equals(BeanUtils.getProperty(w, "alias"), BeanUtils.getProperty(t, "alias"))) {
-							MatchElement<W, T> m = new MatchElement<>();
-							m.setW(w);
-							m.setT(t);
-							list.add(m);
-							findWs.add(w);
-							findTs.add(t);
-							continue loop;
-						}
-					}
-				}
-			}
-		}
-		for (W w : ListTools.nullToEmpty(ws)) {
-			if (!findWs.contains(w)) {
-				MatchElement<W, T> m = new MatchElement<>();
-				m.setW(w);
-				m.setT(null);
-				list.add(m);
-			}
-		}
-		for (T t : ListTools.nullToEmpty(ts)) {
-			if (!findTs.contains(t)) {
-				MatchElement<W, T> m = new MatchElement<>();
-				m.setW(null);
-				m.setT(t);
-				list.add(m);
-			}
-		}
-		return list;
-	}
-
-	public static class MatchElement<W, T> {
-		private W w;
-		private T t;
-
-		public W getW() {
-			return w;
-		}
-
-		public void setW(W w) {
-			this.w = w;
-		}
-
-		public T getT() {
-			return t;
-		}
-
-		public void setT(T t) {
-			this.t = t;
-		}
-
-	}
-
-	public static class Wi extends WrapQuery {
-
-		private static final long serialVersionUID = -4612391443319365035L;
-
-	}
-
-	public static class Wo extends WrapPair {
-
-		public Wo(String value, String replaceValue) {
-			this.setFirst(value);
-			this.setSecond(replaceValue);
-		}
-
-	}
-
-}

+ 0 - 94
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/input/ActionPrepareCreate.java

@@ -1,94 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.input;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.google.gson.JsonElement;
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.entity.JpaObject;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.jaxrs.WrapPair;
-import com.x.base.core.project.logger.Logger;
-import com.x.base.core.project.logger.LoggerFactory;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.Query;
-import com.x.query.core.entity.Reveal;
-import com.x.query.core.entity.Stat;
-import com.x.query.core.entity.View;
-import com.x.query.core.entity.schema.Statement;
-import com.x.query.core.entity.schema.Table;
-import com.x.query.core.entity.wrap.*;
-
-class ActionPrepareCreate extends BaseAction {
-
-	private static Logger logger = LoggerFactory.getLogger(ActionPrepareCreate.class);
-
-	ActionResult<List<Wo>> execute(EffectivePerson effectivePerson, JsonElement jsonElement) throws Exception {
-		logger.debug(effectivePerson, "jsonElement:{}.", jsonElement);
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			ActionResult<List<Wo>> result = new ActionResult<>();
-			Wi wi = this.convertToWrapIn(jsonElement, Wi.class);
-			Business business = new Business(emc);
-			List<Wo> wos = this.adjustForCreate(business, wi);
-			result.setData(wos);
-
-			return result;
-		}
-	}
-
-	private List<Wo> adjustForCreate(Business business, Wi wi) throws Exception {
-		List<Wo> wos = new ArrayList<>();
-		Query exist = business.entityManagerContainer().find(wi.getId(), Query.class);
-		if (null != exist) {
-			wos.add(new Wo(wi.getId(), JpaObject.createId()));
-		}
-		for (WrapView wrap : wi.getViewList()) {
-			View _o = business.entityManagerContainer().find(wrap.getId(), View.class);
-			if (null != _o) {
-				wos.add(new Wo(wrap.getId(), JpaObject.createId()));
-			}
-		}
-		for (WrapStat wrap : wi.getStatList()) {
-			Stat _o = business.entityManagerContainer().find(wrap.getId(), Stat.class);
-			if (null != _o) {
-				wos.add(new Wo(wrap.getId(), JpaObject.createId()));
-			}
-		}
-		for (WrapReveal wrap : wi.getRevealList()) {
-			Reveal _o = business.entityManagerContainer().find(wrap.getId(), Reveal.class);
-			if (null != _o) {
-				wos.add(new Wo(wrap.getId(), JpaObject.createId()));
-			}
-		}
-		for (WrapTable wrap : wi.getTableList()) {
-			Table _o = business.entityManagerContainer().find(wrap.getId(), Table.class);
-			if (null != _o) {
-				wos.add(new Wo(wrap.getId(), JpaObject.createId()));
-			}
-		}
-		for (WrapStatement wrap : wi.getStatementList()) {
-			Statement _o = business.entityManagerContainer().find(wrap.getId(), Statement.class);
-			if (null != _o) {
-				wos.add(new Wo(wrap.getId(), JpaObject.createId()));
-			}
-		}
-		return wos;
-	}
-
-	public static class Wi extends WrapQuery {
-
-		private static final long serialVersionUID = -4612391443319365035L;
-
-	}
-
-	public static class Wo extends WrapPair {
-		public Wo(String value, String replaceValue) {
-			this.setFirst(value);
-			this.setSecond(replaceValue);
-		}
-
-	}
-
-}

+ 0 - 59
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/input/ActionUpload.java

@@ -1,59 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.input;
-//package com.x.processplatform.assemble.designer.jaxrs.input;
-//
-//import org.apache.commons.lang3.StringUtils;
-//import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
-//
-//import com.x.base.core.container.EntityManagerContainer;
-//import com.x.base.core.container.factory.EntityManagerContainerFactory;
-//import com.x.base.core.project.gson.XGsonBuilder;
-//import com.x.base.core.project.http.ActionResult;
-//import com.x.base.core.project.http.EffectivePerson;
-//import com.x.base.core.project.logger.Logger;
-//import com.x.base.core.project.logger.LoggerFactory;
-//import com.x.base.core.project.tools.DefaultCharset;
-//import com.x.base.core.project.tools.StringTools;
-//import com.x.processplatform.assemble.designer.Business;
-//import com.x.processplatform.assemble.designer.CompareWoApplication;
-//import com.x.processplatform.assemble.designer.WrapApplication;
-//import com.x.processplatform.core.entity.element.Application;
-//
-//import net.sf.ehcache.Element;
-//
-//class ActionUpload extends BaseAction {
-//
-//	private static Logger logger = LoggerFactory.getLogger(ActionUpload.class);
-//
-//	ActionResult<Wo> execute(EffectivePerson effectivePerson, byte[] bytes, FormDataContentDisposition disposition)
-//			throws Exception {
-//		logger.debug(effectivePerson, "name: {}.", disposition.getName());
-//		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-//			if (!StringUtils.endsWithIgnoreCase(disposition.getFileName(), ".xapp")) {
-//				throw new ExceptionFileIncorrect(disposition.getFileName());
-//			}
-//			Business business = new Business(emc);
-//			ActionResult<Wo> result = new ActionResult<>();
-//			String json = new String(bytes, DefaultCharset.charset);
-//			WrapApplication wrapApplication = XGsonBuilder.instance().fromJson(json, WrapApplication.class);
-//			Application exist = this.getApplication(business, wrapApplication.getId(), wrapApplication.getName(),
-//					wrapApplication.getAlias());
-//			Wo wo = new Wo();
-//			wo.setId(wrapApplication.getId());
-//			wo.setName(wrapApplication.getName());
-//			wo.setAlias(wrapApplication.getAlias());
-//			wo.setExist(false);
-//			if (null != exist) {
-//				wo.setExist(true);
-//				wo.setExistName(exist.getName());
-//				wo.setExistAlias(exist.getAlias());
-//				wo.setExistId(exist.getId());
-//			}
-//			result.setData(wo);
-//			return result;
-//		}
-//	}
-//
-//	public static class Wo extends CompareWoApplication {
-//	}
-//
-//}

+ 0 - 986
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/input/ActionWrite.java

@@ -1,986 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.input;
-//package com.x.processplatform.assemble.designer.jaxrs.input;
-//
-//import java.util.ArrayList;
-//import java.util.List;
-//import java.util.Objects;
-//
-//import javax.persistence.EntityManager;
-//import javax.persistence.criteria.CriteriaBuilder;
-//import javax.persistence.criteria.CriteriaQuery;
-//import javax.persistence.criteria.Predicate;
-//import javax.persistence.criteria.Root;
-//
-//import org.apache.commons.beanutils.BeanUtils;
-//import org.apache.commons.collections4.ListUtils;
-//import org.apache.commons.lang3.StringUtils;
-//
-//import com.google.gson.JsonElement;
-//import com.x.base.core.container.EntityManagerContainer;
-//import com.x.base.core.container.factory.EntityManagerContainerFactory;
-//import com.x.base.core.entity.JpaObject;
-//import com.x.base.core.entity.item.ItemConverter;
-//import com.x.base.core.project.annotation.FieldDescribe;
-//import com.x.base.core.project.bean.WrapCopier;
-//import com.x.base.core.project.gson.GsonPropertyObject;
-//import com.x.base.core.project.http.ActionResult;
-//import com.x.base.core.project.http.EffectivePerson;
-//import com.x.base.core.project.jaxrs.WoId;
-//import com.x.base.core.project.logger.Logger;
-//import com.x.base.core.project.logger.LoggerFactory;
-//import com.x.base.core.project.tools.ListTools;
-//import com.x.base.core.project.tools.StringTools;
-//import com.x.processplatform.assemble.designer.Business;
-//import com.x.processplatform.assemble.designer.WrapAgent;
-//import com.x.processplatform.assemble.designer.WrapApplication;
-//import com.x.processplatform.assemble.designer.WrapApplicationDict;
-//import com.x.processplatform.assemble.designer.WrapBegin;
-//import com.x.processplatform.assemble.designer.WrapCancel;
-//import com.x.processplatform.assemble.designer.WrapChoice;
-//import com.x.processplatform.assemble.designer.WrapDelay;
-//import com.x.processplatform.assemble.designer.WrapEmbed;
-//import com.x.processplatform.assemble.designer.WrapEnd;
-//import com.x.processplatform.assemble.designer.WrapForm;
-//import com.x.processplatform.assemble.designer.WrapInvoke;
-//import com.x.processplatform.assemble.designer.WrapManual;
-//import com.x.processplatform.assemble.designer.WrapMerge;
-//import com.x.processplatform.assemble.designer.WrapMessage;
-//import com.x.processplatform.assemble.designer.WrapParallel;
-//import com.x.processplatform.assemble.designer.WrapProcess;
-//import com.x.processplatform.assemble.designer.WrapRoute;
-//import com.x.processplatform.assemble.designer.WrapScript;
-//import com.x.processplatform.assemble.designer.WrapService;
-//import com.x.processplatform.assemble.designer.WrapSplit;
-//import com.x.processplatform.core.entity.element.Agent;
-//import com.x.processplatform.core.entity.element.Application;
-//import com.x.processplatform.core.entity.element.ApplicationDict;
-//import com.x.processplatform.core.entity.element.ApplicationDictItem;
-//import com.x.processplatform.core.entity.element.ApplicationDictItem_;
-//import com.x.processplatform.core.entity.element.ApplicationDictLobItem;
-//import com.x.processplatform.core.entity.element.Begin;
-//import com.x.processplatform.core.entity.element.Cancel;
-//import com.x.processplatform.core.entity.element.Choice;
-//import com.x.processplatform.core.entity.element.Delay;
-//import com.x.processplatform.core.entity.element.Embed;
-//import com.x.processplatform.core.entity.element.End;
-//import com.x.processplatform.core.entity.element.Form;
-//import com.x.processplatform.core.entity.element.Invoke;
-//import com.x.processplatform.core.entity.element.Manual;
-//import com.x.processplatform.core.entity.element.Merge;
-//import com.x.processplatform.core.entity.element.Message;
-//import com.x.processplatform.core.entity.element.Parallel;
-//import com.x.processplatform.core.entity.element.Process;
-//import com.x.processplatform.core.entity.element.Route;
-//import com.x.processplatform.core.entity.element.Script;
-//import com.x.processplatform.core.entity.element.Service;
-//import com.x.processplatform.core.entity.element.Split;
-//
-//import net.sf.ehcache.Element;
-//
-//class ActionWrite extends BaseAction {
-//
-//	private static Logger logger = LoggerFactory.getLogger(ActionWrite.class);
-//
-//	ActionResult<Wo> execute(EffectivePerson effectivePerson, JsonElement jsonElement) throws Exception {
-//		logger.debug(effectivePerson, "jsonElement:{}.", jsonElement);
-//		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-//			ActionResult<Wo> result = new ActionResult<>();
-//			Wo wo = new Wo();
-//			Wi wi = this.convertToWrapIn(jsonElement, Wi.class);
-//			String flag = wi.getFlag();
-//			if (StringUtils.isEmpty(flag)) {
-//				throw new ExceptionFlagEmpty();
-//			}
-//			Business business = new Business(emc);
-//			Element element = this.inputCache.get(flag);
-//			if (null == element) {
-//				throw new ExceptionFlagNotExist(flag);
-//			}
-//			WrapApplication wrapApplication = (WrapApplication) element.getObjectValue();
-//			emc.beginTransaction(Application.class);
-//			emc.beginTransaction(Script.class);
-//			emc.beginTransaction(Form.class);
-//			emc.beginTransaction(ApplicationDict.class);
-//			emc.beginTransaction(ApplicationDictItem.class);
-//			emc.beginTransaction(ApplicationDictLobItem.class);
-//			emc.beginTransaction(Process.class);
-//			emc.beginTransaction(Agent.class);
-//			emc.beginTransaction(Begin.class);
-//			emc.beginTransaction(Cancel.class);
-//			emc.beginTransaction(Choice.class);
-//			emc.beginTransaction(Delay.class);
-//			emc.beginTransaction(Embed.class);
-//			emc.beginTransaction(End.class);
-//			emc.beginTransaction(Invoke.class);
-//			emc.beginTransaction(Manual.class);
-//			emc.beginTransaction(Merge.class);
-//			emc.beginTransaction(Message.class);
-//			emc.beginTransaction(Parallel.class);
-//			emc.beginTransaction(Service.class);
-//			emc.beginTransaction(Split.class);
-//			emc.beginTransaction(Route.class);
-//			if (Objects.equals(Method.create, wi.getMethod()) || Objects.equals(Method.cover, wi.getMethod())) {
-//				switch (wi.getMethod()) {
-//				case create:
-//					this.adjustForCreate(business, wrapApplication);
-//					this.create(business, wrapApplication);
-//					wo.setId(wrapApplication.getId());
-//					break;
-//				case cover:
-//					this.adjustForCover(business, wrapApplication);
-//					this.cover(business, wrapApplication);
-//					wo.setId(wrapApplication.getId());
-//					break;
-//				default:
-//					break;
-//				}
-//			}
-//			emc.commit();
-//			result.setData(wo);
-//			return result;
-//		}
-//	}
-//
-//	private void adjustForCover(Business business, WrapApplication wrapApplication) throws Exception {
-//		Application exist = business.entityManagerContainer().find(wrapApplication.getId(), Application.class);
-//		if (null == exist) {
-//			throw new ExceptionApplicationNotExist(wrapApplication.getId());
-//		}
-//		if (!StringUtils.equals(wrapApplication.getId(), exist.getId())) {
-//			wrapApplication.changeId(wrapApplication.getId(), exist.getId());
-//			wrapApplication
-//					.setName(this.idleName(business, wrapApplication.getName(), Application.class, exist.getId()));
-//			wrapApplication
-//					.setAlias(this.idleAlias(business, wrapApplication.getAlias(), Application.class, exist.getId()));
-//		}
-//		for (CompareElement c : this.compare(business, wrapApplication.getFormList(),
-//				business.form().listObjectWithApplication(exist.getId()))) {
-//			if ((null != c.getW()) && (null != c.getT())) {
-//				if (!StringUtils.equals(c.getW().getId(), c.getT().getId())) {
-//					wrapApplication.changeId(c.getW().getId(), c.getT().getId());
-//					BeanUtils.setProperty(c.getW(), "name", this.idleNameWithApplication(business, exist.getId(),
-//							BeanUtils.getProperty(c.getW(), "name"), c.getT().getClass(), c.getT().getId()));
-//					BeanUtils.setProperty(c.getW(), "alias", this.idleAliasWithApplication(business, exist.getId(),
-//							BeanUtils.getProperty(c.getW(), "alias"), c.getT().getClass(), c.getT().getId()));
-//				}
-//			}
-//		}
-//		for (CompareElement c : this.compare(business, wrapApplication.getScriptList(),
-//				business.script().listObjectWithApplication(exist.getId()))) {
-//			if ((null != c.getW()) && (null != c.getT())) {
-//				if (!StringUtils.equals(c.getW().getId(), c.getT().getId())) {
-//					wrapApplication.changeId(c.getW().getId(), c.getT().getId());
-//					BeanUtils.setProperty(c.getW(), "name", this.idleNameWithApplication(business, exist.getId(),
-//							BeanUtils.getProperty(c.getW(), "name"), c.getT().getClass(), c.getT().getId()));
-//					BeanUtils.setProperty(c.getW(), "alias", this.idleAliasWithApplication(business, exist.getId(),
-//							BeanUtils.getProperty(c.getW(), "alias"), c.getT().getClass(), c.getT().getId()));
-//				}
-//			}
-//		}
-//		for (CompareElement c : this.compare(business, wrapApplication.getProcessList(),
-//				business.process().listObjectWithApplication(exist.getId()))) {
-//			if ((null != c.getW()) && (null != c.getT())) {
-//				WrapProcess wrapProcess = (WrapProcess) c.getW();
-//				Process process = (Process) c.getT();
-//				if (!StringUtils.equals(wrapProcess.getId(), process.getId())) {
-//					wrapApplication.changeId(wrapProcess.getId(), process.getId());
-//					wrapProcess.setName(this.idleNameWithApplication(business, exist.getId(), wrapProcess.getName(),
-//							Process.class, process.getId()));
-//					wrapProcess.setAlias(this.idleAliasWithApplication(business, exist.getId(), wrapProcess.getName(),
-//							Process.class, process.getId()));
-//				}
-//				for (CompareElement ce : this.compare(business, wrapProcess.getAgentList(),
-//						business.agent().listObjectWithProcess(process.getId()))) {
-//					if (!StringUtils.equals(ce.getW().getId(), ce.getT().getId())) {
-//						wrapApplication.changeId(ce.getW().getId(), ce.getT().getId());
-//					}
-//				}
-//				for (CompareElement ce : this.compare(business,
-//						ListTools.trim(ListTools.toList(wrapProcess.getBegin()), true, true),
-//						ListTools.trim(ListTools.toList(business.begin().getObjectWithProcess(process.getId())), true,
-//								true))) {
-//					if (!StringUtils.equals(ce.getW().getId(), ce.getT().getId())) {
-//						wrapApplication.changeId(ce.getW().getId(), ce.getT().getId());
-//					}
-//				}
-//				for (CompareElement ce : this.compare(business, wrapProcess.getCancelList(),
-//						business.cancel().listObjectWithProcess(process.getId()))) {
-//					if (!StringUtils.equals(ce.getW().getId(), ce.getT().getId())) {
-//						wrapApplication.changeId(ce.getW().getId(), ce.getT().getId());
-//					}
-//				}
-//				for (CompareElement ce : this.compare(business, wrapProcess.getChoiceList(),
-//						business.choice().listObjectWithProcess(process.getId()))) {
-//					if (!StringUtils.equals(ce.getW().getId(), ce.getT().getId())) {
-//						wrapApplication.changeId(ce.getW().getId(), ce.getT().getId());
-//					}
-//				}
-//				for (CompareElement ce : this.compare(business, wrapProcess.getDelayList(),
-//						business.delay().listObjectWithProcess(process.getId()))) {
-//					if (!StringUtils.equals(ce.getW().getId(), ce.getT().getId())) {
-//						wrapApplication.changeId(ce.getW().getId(), ce.getT().getId());
-//					}
-//				}
-//				for (CompareElement ce : this.compare(business, wrapProcess.getEmbedList(),
-//						business.embed().listObjectWithProcess(process.getId()))) {
-//					if (!StringUtils.equals(ce.getW().getId(), ce.getT().getId())) {
-//						wrapApplication.changeId(ce.getW().getId(), ce.getT().getId());
-//					}
-//				}
-//				for (CompareElement ce : this.compare(business, wrapProcess.getEndList(),
-//						business.end().listObjectWithProcess(process.getId()))) {
-//					if (!StringUtils.equals(ce.getW().getId(), ce.getT().getId())) {
-//						wrapApplication.changeId(ce.getW().getId(), ce.getT().getId());
-//					}
-//				}
-//				for (CompareElement ce : this.compare(business, wrapProcess.getInvokeList(),
-//						business.invoke().listObjectWithProcess(process.getId()))) {
-//					if (!StringUtils.equals(ce.getW().getId(), ce.getT().getId())) {
-//						wrapApplication.changeId(ce.getW().getId(), ce.getT().getId());
-//					}
-//				}
-//				for (CompareElement ce : this.compare(business, wrapProcess.getManualList(),
-//						business.manual().listObjectWithProcess(process.getId()))) {
-//					if (!StringUtils.equals(ce.getW().getId(), ce.getT().getId())) {
-//						wrapApplication.changeId(ce.getW().getId(), ce.getT().getId());
-//					}
-//				}
-//				for (CompareElement ce : this.compare(business, wrapProcess.getMergeList(),
-//						business.merge().listObjectWithProcess(process.getId()))) {
-//					if (!StringUtils.equals(ce.getW().getId(), ce.getT().getId())) {
-//						wrapApplication.changeId(ce.getW().getId(), ce.getT().getId());
-//					}
-//				}
-//				for (CompareElement ce : this.compare(business, wrapProcess.getMessageList(),
-//						business.message().listObjectWithProcess(process.getId()))) {
-//					if (!StringUtils.equals(ce.getW().getId(), ce.getT().getId())) {
-//						wrapApplication.changeId(ce.getW().getId(), ce.getT().getId());
-//					}
-//				}
-//				for (CompareElement ce : this.compare(business, wrapProcess.getParallelList(),
-//						business.parallel().listObjectWithProcess(process.getId()))) {
-//					if (!StringUtils.equals(ce.getW().getId(), ce.getT().getId())) {
-//						wrapApplication.changeId(ce.getW().getId(), ce.getT().getId());
-//					}
-//				}
-//				for (CompareElement ce : this.compare(business, wrapProcess.getServiceList(),
-//						business.service().listObjectWithProcess(process.getId()))) {
-//					if (!StringUtils.equals(ce.getW().getId(), ce.getT().getId())) {
-//						wrapApplication.changeId(ce.getW().getId(), ce.getT().getId());
-//					}
-//				}
-//				for (CompareElement ce : this.compare(business, wrapProcess.getSplitList(),
-//						business.split().listObjectWithProcess(process.getId()))) {
-//					if (!StringUtils.equals(ce.getW().getId(), ce.getT().getId())) {
-//						wrapApplication.changeId(ce.getW().getId(), ce.getT().getId());
-//					}
-//				}
-//				for (CompareElement ce : this.compare(business, wrapProcess.getRouteList(),
-//						business.route().listObjectWithProcess(process.getId()))) {
-//					if (!StringUtils.equals(ce.getW().getId(), ce.getT().getId())) {
-//						wrapApplication.changeId(ce.getW().getId(), ce.getT().getId());
-//					}
-//				}
-//			}
-//		}
-//
-//		for (CompareElement c : this.compare(business, wrapApplication.getApplicationDictList(),
-//				business.applicationDict().listObjectWithApplication(exist.getId()))) {
-//			if ((null != c.getW()) && (null != c.getT())) {
-//				if (!StringUtils.equals(c.getW().getId(), c.getT().getId())) {
-//					wrapApplication.changeId(c.getW().getId(), c.getT().getId());
-//					BeanUtils.setProperty(c.getW(), "name", this.idleNameWithApplication(business, exist.getId(),
-//							BeanUtils.getProperty(c.getW(), "name"), c.getT().getClass(), c.getT().getId()));
-//					BeanUtils.setProperty(c.getW(), "alias", this.idleAliasWithApplication(business, exist.getId(),
-//							BeanUtils.getProperty(c.getW(), "alias"), c.getT().getClass(), c.getT().getId()));
-//				}
-//			}
-//		}
-//		wrapApplication.consistentApplication();
-//	}
-//
-//	private void cover(Business business, WrapApplication wrapApplication) throws Exception {
-//		Application application = business.entityManagerContainer().find(wrapApplication.getId(), Application.class);
-//		List<JpaObject> persistObjects = new ArrayList<>();
-//		List<JpaObject> removeObjects = new ArrayList<>();
-//		if (null == application) {
-//			throw new ExceptionApplicationNotExist(wrapApplication.getId());
-//		}
-//		WrapApplication.copier.copy(wrapApplication, application);
-//		List<String> ids = new ArrayList<>();
-//		/** form清除 */
-//		ids = ListTools.extractProperty(wrapApplication.getFormList(), JpaObject.id_FIELDNAME, String.class, true,
-//				true);
-//		for (Form o : this.listObjectWithApplication(business, application, Form.class)) {
-//			if (!ListTools.contains(ids, o.getId())) {
-//				removeObjects.add(o);
-//			}
-//		}
-//		/** script清除 */
-//		ids = ListTools.extractProperty(wrapApplication.getScriptList(), JpaObject.id_FIELDNAME, String.class, true,
-//				true);
-//		for (Script o : this.listObjectWithApplication(business, application, Script.class)) {
-//			if (!ListTools.contains(ids, o.getId())) {
-//				removeObjects.add(o);
-//			}
-//		}
-//		/** applicationDict清除 */
-//		ids = ListTools.extractProperty(wrapApplication.getApplicationDictList(), JpaObject.id_FIELDNAME, String.class,
-//				true, true);
-//		for (ApplicationDict o : this.listObjectWithApplication(business, application, ApplicationDict.class)) {
-//			if (!ListTools.contains(ids, o.getId())) {
-//				removeObjects.add(o);
-//				EntityManager em = business.entityManagerContainer().get(ApplicationDictItem.class);
-//				CriteriaBuilder cb = em.getCriteriaBuilder();
-//				CriteriaQuery<ApplicationDictItem> cq = cb.createQuery(ApplicationDictItem.class);
-//				Root<ApplicationDictItem> root = cq.from(ApplicationDictItem.class);
-//				Predicate p = cb.equal(root.get(ApplicationDictItem_.applicationDict), o.getId());
-//				cq.select(root).where(p);
-//				List<ApplicationDictItem> os = em.createQuery(cq).getResultList();
-//				for (ApplicationDictItem item : os) {
-//					if (item.isLobItem()) {
-//						/** 删除关联的lob */
-//						ApplicationDictLobItem lob = business.entityManagerContainer().find(item.getLobItem(),
-//								ApplicationDictLobItem.class);
-//						if (null != lob) {
-//							removeObjects.add(lob);
-//						}
-//					}
-//					removeObjects.add(item);
-//				}
-//			}
-//		}
-//		/** process清除 */
-//		ids = ListTools.extractProperty(wrapApplication.getProcessList(), JpaObject.id_FIELDNAME, String.class, true,
-//				true);
-//		for (Process o : this.listObjectWithApplication(business, application, Process.class)) {
-//			if (!ListTools.contains(ids, o.getId())) {
-//				removeObjects.add(o);
-//				removeObjects.addAll(business.agent().listObjectWithProcess(o.getId()));
-//				removeObjects.add(business.begin().getObjectWithProcess(o.getId()));
-//				removeObjects.addAll(business.cancel().listObjectWithProcess(o.getId()));
-//				removeObjects.addAll(business.choice().listObjectWithProcess(o.getId()));
-//				removeObjects.addAll(business.delay().listObjectWithProcess(o.getId()));
-//				removeObjects.addAll(business.embed().listObjectWithProcess(o.getId()));
-//				removeObjects.addAll(business.end().listObjectWithProcess(o.getId()));
-//				removeObjects.addAll(business.invoke().listObjectWithProcess(o.getId()));
-//				removeObjects.addAll(business.manual().listObjectWithProcess(o.getId()));
-//				removeObjects.addAll(business.merge().listObjectWithProcess(o.getId()));
-//				removeObjects.addAll(business.message().listObjectWithProcess(o.getId()));
-//				removeObjects.addAll(business.parallel().listObjectWithProcess(o.getId()));
-//				removeObjects.addAll(business.service().listObjectWithProcess(o.getId()));
-//				removeObjects.addAll(business.split().listObjectWithProcess(o.getId()));
-//				removeObjects.addAll(business.route().listObjectWithProcess(o.getId()));
-//			} else {
-//				for (WrapProcess wrapProcess : wrapApplication.getProcessList()) {
-//					if (StringUtils.equals(wrapProcess.getId(), o.getId())) {
-//						List<String> processElementIds = new ArrayList<>();
-//						processElementIds = ListTools.extractProperty(wrapProcess.getAgentList(),
-//								JpaObject.id_FIELDNAME, String.class, true, true);
-//						for (Agent el : business.agent().listObjectWithProcess(o.getId())) {
-//							if (!processElementIds.contains(el.getId())) {
-//								removeObjects.add(el);
-//							}
-//						}
-//						processElementIds = ListTools.extractProperty(
-//								ListTools.trim(null, true, true, wrapProcess.getBegin()), JpaObject.id_FIELDNAME,
-//								String.class, true, true);
-//						for (Begin el : ListTools.trim(null, true, true,
-//								business.begin().getObjectWithProcess(o.getId()))) {
-//							if (!processElementIds.contains(el.getId())) {
-//								removeObjects.add(el);
-//							}
-//						}
-//						processElementIds = ListTools.extractProperty(wrapProcess.getCancelList(),
-//								JpaObject.id_FIELDNAME, String.class, true, true);
-//						for (Cancel el : business.cancel().listObjectWithProcess(o.getId())) {
-//							if (!processElementIds.contains(el.getId())) {
-//								removeObjects.add(el);
-//							}
-//						}
-//						processElementIds = ListTools.extractProperty(wrapProcess.getChoiceList(),
-//								JpaObject.id_FIELDNAME, String.class, true, true);
-//						for (Choice el : business.choice().listObjectWithProcess(o.getId())) {
-//							if (!processElementIds.contains(el.getId())) {
-//								removeObjects.add(el);
-//							}
-//						}
-//						processElementIds = ListTools.extractProperty(wrapProcess.getDelayList(),
-//								JpaObject.id_FIELDNAME, String.class, true, true);
-//						for (Delay el : business.delay().listObjectWithProcess(o.getId())) {
-//							if (!processElementIds.contains(el.getId())) {
-//								removeObjects.add(el);
-//							}
-//						}
-//						processElementIds = ListTools.extractProperty(wrapProcess.getEmbedList(),
-//								JpaObject.id_FIELDNAME, String.class, true, true);
-//						for (Embed el : business.embed().listObjectWithProcess(o.getId())) {
-//							if (!processElementIds.contains(el.getId())) {
-//								removeObjects.add(el);
-//							}
-//						}
-//						processElementIds = ListTools.extractProperty(wrapProcess.getEndList(), JpaObject.id_FIELDNAME,
-//								String.class, true, true);
-//						for (End el : business.end().listObjectWithProcess(o.getId())) {
-//							if (!processElementIds.contains(el.getId())) {
-//								removeObjects.add(el);
-//							}
-//						}
-//						processElementIds = ListTools.extractProperty(wrapProcess.getInvokeList(),
-//								JpaObject.id_FIELDNAME, String.class, true, true);
-//						for (Invoke el : business.invoke().listObjectWithProcess(o.getId())) {
-//							if (!processElementIds.contains(el.getId())) {
-//								removeObjects.add(el);
-//							}
-//						}
-//						processElementIds = ListTools.extractProperty(wrapProcess.getManualList(),
-//								JpaObject.id_FIELDNAME, String.class, true, true);
-//						for (Manual el : business.manual().listObjectWithProcess(o.getId())) {
-//							if (!processElementIds.contains(el.getId())) {
-//								removeObjects.add(el);
-//							}
-//						}
-//						processElementIds = ListTools.extractProperty(wrapProcess.getMergeList(),
-//								JpaObject.id_FIELDNAME, String.class, true, true);
-//						for (Merge el : business.merge().listObjectWithProcess(o.getId())) {
-//							if (!processElementIds.contains(el.getId())) {
-//								removeObjects.add(el);
-//							}
-//						}
-//						processElementIds = ListTools.extractProperty(wrapProcess.getMessageList(),
-//								JpaObject.id_FIELDNAME, String.class, true, true);
-//						for (Message el : business.message().listObjectWithProcess(o.getId())) {
-//							if (!processElementIds.contains(el.getId())) {
-//								removeObjects.add(el);
-//							}
-//						}
-//						processElementIds = ListTools.extractProperty(wrapProcess.getParallelList(),
-//								JpaObject.id_FIELDNAME, String.class, true, true);
-//						for (Parallel el : business.parallel().listObjectWithProcess(o.getId())) {
-//							if (!processElementIds.contains(el.getId())) {
-//								removeObjects.add(el);
-//							}
-//						}
-//						processElementIds = ListTools.extractProperty(wrapProcess.getServiceList(),
-//								JpaObject.id_FIELDNAME, String.class, true, true);
-//						for (Service el : business.service().listObjectWithProcess(o.getId())) {
-//							if (!processElementIds.contains(el.getId())) {
-//								removeObjects.add(el);
-//							}
-//						}
-//						processElementIds = ListTools.extractProperty(wrapProcess.getSplitList(),
-//								JpaObject.id_FIELDNAME, String.class, true, true);
-//						for (Split el : business.split().listObjectWithProcess(o.getId())) {
-//							if (!processElementIds.contains(el.getId())) {
-//								removeObjects.add(el);
-//							}
-//						}
-//						processElementIds = ListTools.extractProperty(wrapProcess.getRouteList(),
-//								JpaObject.id_FIELDNAME, String.class, true, true);
-//						for (Route el : business.route().listObjectWithProcess(o.getId())) {
-//							if (!processElementIds.contains(el.getId())) {
-//								removeObjects.add(el);
-//							}
-//						}
-//					}
-//				}
-//			}
-//		}
-//		/** form生成 */
-//		for (WrapForm w : wrapApplication.getFormList()) {
-//			Form o = business.entityManagerContainer().find(w.getId(), Form.class);
-//			if (null != o) {
-//				WrapForm.copier.copy(w, o);
-//			} else {
-//				persistObjects.add(WrapForm.copier.copy(w));
-//			}
-//		}
-//		/** script生成 */
-//		for (WrapScript w : wrapApplication.getScriptList()) {
-//			Script o = business.entityManagerContainer().find(w.getId(), Script.class);
-//			if (null != o) {
-//				WrapScript.copier.copy(w, o);
-//			} else {
-//				persistObjects.add(WrapScript.copier.copy(w));
-//			}
-//		}
-//		/** applicationDict生成 */
-//		for (WrapApplicationDict w : wrapApplication.getApplicationDictList()) {
-//			ApplicationDict o = business.entityManagerContainer().find(w.getId(), ApplicationDict.class);
-//			ItemConverter<ApplicationDictItem> converter = new ItemConverter<>(ApplicationDictItem.class);
-//			List<ApplicationDictItem> items = converter.disassemble(w.getData());
-//			if (null != o) {
-//				WrapApplicationDict.copier.copy(w, o);
-//				for (ApplicationDictItem item : this.listApplicationDictItem(business, o)) {
-//					removeObjects.add(item);
-//				}
-//			} else {
-//				o = WrapApplicationDict.copier.copy(w);
-//				persistObjects.add(o);
-//			}
-//			for (ApplicationDictItem item : items) {
-//				item.setApplicationDict(o.getId());
-//				/** 将数据字典和数据存放在同一个分区 */
-//				item.setDistributeFactor(w.getDistributeFactor());
-//				item.setApplication(w.getApplication());
-//				if (item.isLobItem()) {
-//					/** 同步创建lob */
-//					ApplicationDictLobItem lob = new ApplicationDictLobItem();
-//					lob.setDistributeFactor(item.getDistributeFactor());
-//					lob.setData(item.getStringLobValue());
-//					item.setLobItem(lob.getId());
-//					persistObjects.add(lob);
-//				}
-//				persistObjects.add(item);
-//			}
-//		}
-//		/** process生成 */
-//		for (WrapProcess w : wrapApplication.getProcessList()) {
-//			Process o = business.entityManagerContainer().find(w.getId(), Process.class);
-//			if (null != o) {
-//				WrapProcess.copier.copy(w, o);
-//			} else {
-//				o = WrapProcess.copier.copy(w);
-//			}
-//			this.coverProcessElement(business, WrapAgent.copier, w.getAgentList(), Agent.class, persistObjects);
-//			this.coverProcessElement(business, WrapBegin.copier, w.getBegin(), Begin.class, persistObjects);
-//			this.coverProcessElement(business, WrapCancel.copier, w.getCancelList(), Cancel.class, persistObjects);
-//			this.coverProcessElement(business, WrapChoice.copier, w.getChoiceList(), Choice.class, persistObjects);
-//			this.coverProcessElement(business, WrapDelay.copier, w.getDelayList(), Delay.class, persistObjects);
-//			this.coverProcessElement(business, WrapEmbed.copier, w.getEmbedList(), Embed.class, persistObjects);
-//			this.coverProcessElement(business, WrapEnd.copier, w.getEndList(), End.class, persistObjects);
-//			this.coverProcessElement(business, WrapInvoke.copier, w.getInvokeList(), Invoke.class, persistObjects);
-//			this.coverProcessElement(business, WrapManual.copier, w.getManualList(), Manual.class, persistObjects);
-//			this.coverProcessElement(business, WrapMerge.copier, w.getMergeList(), Merge.class, persistObjects);
-//			this.coverProcessElement(business, WrapMessage.copier, w.getMessageList(), Message.class, persistObjects);
-//			this.coverProcessElement(business, WrapParallel.copier, w.getParallelList(), Parallel.class,
-//					persistObjects);
-//			this.coverProcessElement(business, WrapService.copier, w.getServiceList(), Service.class, persistObjects);
-//			this.coverProcessElement(business, WrapSplit.copier, w.getSplitList(), Split.class, persistObjects);
-//			this.coverProcessElement(business, WrapRoute.copier, w.getRouteList(), Route.class, persistObjects);
-//			for (JpaObject obj : removeObjects) {
-//				business.entityManagerContainer().remove(obj);
-//			}
-//			for (JpaObject obj : persistObjects) {
-//				business.entityManagerContainer().persist(obj);
-//			}
-//		}
-//	}
-//
-//	private <T extends JpaObject, W extends JpaObject> void coverProcessElement(Business business,
-//			WrapCopier<W, T> copier, List<W> list, Class<T> cls, List<JpaObject> persistObjects) throws Exception {
-//		for (W w : list) {
-//			this.coverProcessElement(business, copier, w, cls, persistObjects);
-//		}
-//	}
-//
-//	private <T extends JpaObject, W extends JpaObject> void coverProcessElement(Business business,
-//			WrapCopier<W, T> copier, W w, Class<T> cls, List<JpaObject> persistObjects) throws Exception {
-//		T t = business.entityManagerContainer().find(w.getId(), cls);
-//		if (null != t) {
-//			copier.copy(w, t);
-//		} else {
-//			persistObjects.add(copier.copy(w));
-//		}
-//	}
-//
-//	private void adjustForCreate(Business business, WrapApplication wrapApplication) throws Exception {
-//		String newApplicationId = this.idleId(business, wrapApplication.getId(), Application.class);
-//		if (!StringUtils.equals(newApplicationId, wrapApplication.getId())) {
-//			wrapApplication.changeId(wrapApplication.getId(), newApplicationId);
-//		}
-//		wrapApplication.setName(this.idleName(business, wrapApplication.getName(), Application.class, null));
-//		wrapApplication.setAlias(this.idleAlias(business, wrapApplication.getAlias(), Application.class, null));
-//		for (WrapProcess wrapProcess : ListTools.nullToEmpty(wrapApplication.getProcessList())) {
-//			String newId = this.idleId(business, wrapProcess.getId(), Process.class);
-//			if (!StringUtils.equals(newId, wrapProcess.getId())) {
-//				wrapApplication.changeId(wrapProcess.getId(), newId);
-//			}
-//			wrapProcess.setName(this.idleNameWithApplication(business, wrapApplication.getId(), wrapProcess.getName(),
-//					Process.class, null));
-//			wrapProcess.setAlias(this.idleAliasWithApplication(business, wrapApplication.getId(),
-//					wrapProcess.getAlias(), Process.class, null));
-//			this.adjustProcessElementForCreate(business, wrapApplication, wrapProcess, wrapProcess.getAgentList(),
-//					Agent.class);
-//			this.adjustProcessElementForCreate(business, wrapApplication, wrapProcess, wrapProcess.getBegin(),
-//					Begin.class);
-//			this.adjustProcessElementForCreate(business, wrapApplication, wrapProcess, wrapProcess.getCancelList(),
-//					Cancel.class);
-//			this.adjustProcessElementForCreate(business, wrapApplication, wrapProcess, wrapProcess.getChoiceList(),
-//					Choice.class);
-//			this.adjustProcessElementForCreate(business, wrapApplication, wrapProcess, wrapProcess.getDelayList(),
-//					Delay.class);
-//			this.adjustProcessElementForCreate(business, wrapApplication, wrapProcess, wrapProcess.getEmbedList(),
-//					Embed.class);
-//			this.adjustProcessElementForCreate(business, wrapApplication, wrapProcess, wrapProcess.getEndList(),
-//					End.class);
-//			this.adjustProcessElementForCreate(business, wrapApplication, wrapProcess, wrapProcess.getInvokeList(),
-//					Invoke.class);
-//			this.adjustProcessElementForCreate(business, wrapApplication, wrapProcess, wrapProcess.getManualList(),
-//					Manual.class);
-//			this.adjustProcessElementForCreate(business, wrapApplication, wrapProcess, wrapProcess.getMergeList(),
-//					Merge.class);
-//			this.adjustProcessElementForCreate(business, wrapApplication, wrapProcess, wrapProcess.getMessageList(),
-//					Message.class);
-//			this.adjustProcessElementForCreate(business, wrapApplication, wrapProcess, wrapProcess.getParallelList(),
-//					Parallel.class);
-//			this.adjustProcessElementForCreate(business, wrapApplication, wrapProcess, wrapProcess.getServiceList(),
-//					Service.class);
-//			this.adjustProcessElementForCreate(business, wrapApplication, wrapProcess, wrapProcess.getSplitList(),
-//					Split.class);
-//			this.adjustProcessElementForCreate(business, wrapApplication, wrapProcess, wrapProcess.getRouteList(),
-//					Route.class);
-//		}
-//		for (WrapForm wrapForm : ListTools.nullToEmpty(wrapApplication.getFormList())) {
-//			String newId = this.idleId(business, wrapForm.getId(), Form.class);
-//			if (!StringUtils.equals(newId, wrapForm.getId())) {
-//				wrapApplication.changeId(wrapForm.getId(), newId);
-//			}
-//			wrapForm.setName(this.idleNameWithApplication(business, wrapApplication.getId(), wrapForm.getName(),
-//					Form.class, null));
-//			wrapForm.setAlias(this.idleAliasWithApplication(business, wrapApplication.getId(), wrapForm.getAlias(),
-//					Form.class, null));
-//		}
-//		for (WrapScript wrapScript : ListTools.nullToEmpty(wrapApplication.getScriptList())) {
-//			String newId = this.idleId(business, wrapScript.getId(), Script.class);
-//			if (!StringUtils.equals(newId, wrapScript.getId())) {
-//				wrapApplication.changeId(wrapScript.getId(), newId);
-//			}
-//			wrapScript.setName(this.idleNameWithApplication(business, wrapApplication.getId(), wrapScript.getName(),
-//					Script.class, null));
-//			wrapScript.setAlias(this.idleAliasWithApplication(business, wrapApplication.getId(), wrapScript.getAlias(),
-//					Script.class, null));
-//		}
-//		for (WrapApplicationDict wrapApplicationDict : ListTools
-//				.nullToEmpty(wrapApplication.getApplicationDictList())) {
-//			String newId = this.idleId(business, wrapApplicationDict.getId(), ApplicationDict.class);
-//			if (!StringUtils.equals(newId, wrapApplicationDict.getId())) {
-//				wrapApplication.changeId(wrapApplicationDict.getId(), newId);
-//			}
-//			wrapApplicationDict.setName(this.idleNameWithApplication(business, wrapApplication.getId(),
-//					wrapApplicationDict.getName(), ApplicationDict.class, null));
-//			wrapApplicationDict.setAlias(this.idleAliasWithApplication(business, wrapApplication.getId(),
-//					wrapApplicationDict.getAlias(), ApplicationDict.class, null));
-//		}
-//		wrapApplication.consistentApplication();
-//	}
-//
-//	private <T extends JpaObject, W extends JpaObject> void adjustProcessElementForCreate(Business business,
-//			WrapApplication wrapApplication, WrapProcess wrapProcess, List<W> list, Class<T> cls) throws Exception {
-//		for (W w : ListTools.nullToEmpty(list)) {
-//			this.adjustProcessElementForCreate(business, wrapApplication, wrapProcess, w, cls);
-//		}
-//	}
-//
-//	private <T extends JpaObject, W extends JpaObject> void adjustProcessElementForCreate(Business business,
-//			WrapApplication wrapApplication, WrapProcess wrapProcess, W w, Class<T> cls) throws Exception {
-//		if (null != w) {
-//			String newId = this.idleId(business, w.getId(), cls);
-//			if (!StringUtils.equals(newId, w.getId())) {
-//				wrapApplication.changeId(w.getId(), newId);
-//			}
-//		}
-//	}
-//
-//	private void create(Business business, WrapApplication wrapApplication) throws Exception {
-//		Application exist = business.entityManagerContainer().find(wrapApplication.getId(), Application.class);
-//		if (null != exist) {
-//			throw new ExceptionApplicationExist(wrapApplication.getId());
-//		}
-//		List<JpaObject> persistObjects = new ArrayList<>();
-//		persistObjects.add(WrapApplication.copier.copy(wrapApplication));
-//		for (WrapForm wrapForm : wrapApplication.getFormList()) {
-//			persistObjects.add(WrapForm.copier.copy(wrapForm));
-//		}
-//		for (WrapScript wrapScript : wrapApplication.getScriptList()) {
-//			persistObjects.add(WrapScript.copier.copy(wrapScript));
-//		}
-//		for (WrapApplicationDict wrapApplicationDict : wrapApplication.getApplicationDictList()) {
-//			ApplicationDict applicationDict = WrapApplicationDict.copier.copy(wrapApplicationDict);
-//			persistObjects.add(applicationDict);
-//			ItemConverter<ApplicationDictItem> converter = new ItemConverter<>(ApplicationDictItem.class);
-//			List<ApplicationDictItem> list = converter.disassemble(wrapApplicationDict.getData());
-//			for (ApplicationDictItem o : list) {
-//				o.setApplicationDict(applicationDict.getId());
-//				/** 将数据字典和数据存放在同一个分区 */
-//				o.setDistributeFactor(applicationDict.getDistributeFactor());
-//				o.setApplication(applicationDict.getApplication());
-//				if (o.isLobItem()) {
-//					/** 同步创建lob */
-//					ApplicationDictLobItem lob = new ApplicationDictLobItem();
-//					lob.setDistributeFactor(o.getDistributeFactor());
-//					lob.setData(o.getStringLobValue());
-//					o.setLobItem(lob.getId());
-//					persistObjects.add(lob);
-//				}
-//				persistObjects.add(o);
-//			}
-//		}
-//		for (WrapProcess wrapProcess : wrapApplication.getProcessList()) {
-//			Process process = WrapProcess.copier.copy(wrapProcess);
-//			persistObjects.add(process);
-//			for (WrapAgent w : ListTools.nullToEmpty(wrapProcess.getAgentList())) {
-//				persistObjects.add(WrapAgent.copier.copy(w));
-//			}
-//			for (WrapBegin w : ListTools.trim(null, true, true, wrapProcess.getBegin())) {
-//				persistObjects.add(WrapBegin.copier.copy(w));
-//			}
-//			for (WrapCancel w : ListTools.nullToEmpty(wrapProcess.getCancelList())) {
-//				persistObjects.add(WrapCancel.copier.copy(w));
-//			}
-//			for (WrapChoice w : ListTools.nullToEmpty(wrapProcess.getChoiceList())) {
-//				persistObjects.add(WrapChoice.copier.copy(w));
-//			}
-//			for (WrapDelay w : ListTools.nullToEmpty(wrapProcess.getDelayList())) {
-//				persistObjects.add(WrapDelay.copier.copy(w));
-//			}
-//			for (WrapEmbed w : ListTools.nullToEmpty(wrapProcess.getEmbedList())) {
-//				persistObjects.add(WrapEmbed.copier.copy(w));
-//			}
-//			for (WrapEnd w : ListTools.nullToEmpty(wrapProcess.getEndList())) {
-//				persistObjects.add(WrapEnd.copier.copy(w));
-//			}
-//			for (WrapInvoke w : ListTools.nullToEmpty(wrapProcess.getInvokeList())) {
-//				persistObjects.add(WrapInvoke.copier.copy(w));
-//			}
-//			for (WrapManual w : ListTools.nullToEmpty(wrapProcess.getManualList())) {
-//				persistObjects.add(WrapManual.copier.copy(w));
-//			}
-//			for (WrapMerge w : ListTools.nullToEmpty(wrapProcess.getMergeList())) {
-//				persistObjects.add(WrapMerge.copier.copy(w));
-//			}
-//			for (WrapMessage w : ListTools.nullToEmpty(wrapProcess.getMessageList())) {
-//				persistObjects.add(WrapMessage.copier.copy(w));
-//			}
-//			for (WrapParallel w : ListTools.nullToEmpty(wrapProcess.getParallelList())) {
-//				persistObjects.add(WrapParallel.copier.copy(w));
-//			}
-//			for (WrapService w : ListTools.nullToEmpty(wrapProcess.getServiceList())) {
-//				persistObjects.add(WrapService.copier.copy(w));
-//			}
-//			for (WrapSplit w : ListTools.nullToEmpty(wrapProcess.getSplitList())) {
-//				persistObjects.add(WrapSplit.copier.copy(w));
-//			}
-//			for (WrapRoute w : ListTools.nullToEmpty(wrapProcess.getRouteList())) {
-//				persistObjects.add(WrapRoute.copier.copy(w));
-//			}
-//		}
-//		for (JpaObject o : persistObjects) {
-//			business.entityManagerContainer().persist(o);
-//		}
-//	}
-//
-//	private <T extends JpaObject> String idleNameWithApplication(Business business, String applicationId, String name,
-//			Class<T> cls, String excludeId) throws Exception {
-//		if (StringUtils.isEmpty(name)) {
-//			return "";
-//		}
-//		List<String> list = new ArrayList<>();
-//		list.add(name);
-//		for (int i = 0; i < 99; i++) {
-//			list.add(name + String.format("%02d", i));
-//		}
-//		list.add(StringTools.uniqueToken());
-//		EntityManager em = business.entityManagerContainer().get(cls);
-//		CriteriaBuilder cb = em.getCriteriaBuilder();
-//		CriteriaQuery<String> cq = cb.createQuery(String.class);
-//		Root<T> root = cq.from(cls);
-//		Predicate p = root.get("name").in(list);
-//		p = cb.and(p, cb.equal(root.get("application"), applicationId));
-//		if (StringUtils.isNotEmpty(excludeId)) {
-//			p = cb.and(p, cb.notEqual(root.get(JpaObject.id_FIELDNAME), excludeId));
-//		}
-//		cq.select(root.get("name")).where(p);
-//		List<String> os = em.createQuery(cq).getResultList();
-//		list = ListUtils.subtract(list, os);
-//		return list.get(0);
-//	}
-//
-//	private <T extends JpaObject> String idleAliasWithApplication(Business business, String applicationId, String alias,
-//			Class<T> cls, String excludeId) throws Exception {
-//		if (StringUtils.isEmpty(alias)) {
-//			return "";
-//		}
-//		List<String> list = new ArrayList<>();
-//		list.add(alias);
-//		for (int i = 0; i < 99; i++) {
-//			list.add(alias + String.format("%02d", i));
-//		}
-//		list.add(StringTools.uniqueToken());
-//		EntityManager em = business.entityManagerContainer().get(cls);
-//		CriteriaBuilder cb = em.getCriteriaBuilder();
-//		CriteriaQuery<String> cq = cb.createQuery(String.class);
-//		Root<T> root = cq.from(cls);
-//		Predicate p = root.get("alias").in(list);
-//		p = cb.and(p, cb.equal(root.get("application"), applicationId));
-//		if (StringUtils.isNotEmpty(excludeId)) {
-//			p = cb.and(p, cb.notEqual(root.get(JpaObject.id_FIELDNAME), excludeId));
-//		}
-//		cq.select(root.get("alias")).where(p);
-//		List<String> os = em.createQuery(cq).getResultList();
-//		list = ListUtils.subtract(list, os);
-//		return list.get(0);
-//	}
-//
-//	private <T extends JpaObject> List<T> listObjectWithApplication(Business business, Application application,
-//			Class<T> cls) throws Exception {
-//		EntityManager em = business.entityManagerContainer().get(cls);
-//		CriteriaBuilder cb = em.getCriteriaBuilder();
-//		CriteriaQuery<T> cq = cb.createQuery(cls);
-//		Root<T> root = cq.from(cls);
-//		Predicate p = cb.equal(root.get("application"), application.getId());
-//		cq.select(root).where(p);
-//		List<T> os = em.createQuery(cq).getResultList();
-//		return os;
-//	}
-//
-//	private <T extends JpaObject> String idleId(Business business, String id, Class<T> cls) throws Exception {
-//		T t = business.entityManagerContainer().find(id, cls);
-//		if (null == t) {
-//			return id;
-//		} else {
-//			return JpaObject.createId();
-//		}
-//	}
-//
-//	private List<ApplicationDictItem> listApplicationDictItem(Business business, ApplicationDict applicationDict)
-//			throws Exception {
-//		EntityManager em = business.entityManagerContainer().get(ApplicationDictItem.class);
-//		CriteriaBuilder cb = em.getCriteriaBuilder();
-//		CriteriaQuery<ApplicationDictItem> cq = cb.createQuery(ApplicationDictItem.class);
-//		Root<ApplicationDictItem> root = cq.from(ApplicationDictItem.class);
-//		Predicate p = cb.equal(root.get(ApplicationDictItem_.applicationDict), applicationDict.getId());
-//		cq.select(root).where(p);
-//		return em.createQuery(cq).getResultList();
-//	}
-//
-//	private <W extends JpaObject, T extends JpaObject> List<CompareElement> compare(Business business, List<W> ws,
-//			List<T> ts) throws Exception {
-//		List<CompareElement> list = new ArrayList<>();
-//		List<W> findWs = new ArrayList<>();
-//		List<T> findTs = new ArrayList<>();
-//		loop: for (W w : ListTools.nullToEmpty(ws)) {
-//			if (!findWs.contains(w)) {
-//				for (T t : ListTools.nullToEmpty(ts)) {
-//					if (!findTs.contains(t)) {
-//						if (StringUtils.equals(w.getId(), t.getId())) {
-//							CompareElement c = new CompareElement();
-//							c.setW(w);
-//							c.setT(t);
-//							list.add(c);
-//							findWs.add(w);
-//							findTs.add(t);
-//							continue loop;
-//						}
-//					}
-//				}
-//			}
-//		}
-//		loop: for (W w : ListTools.nullToEmpty(ws)) {
-//			if (!findWs.contains(w)) {
-//				for (T t : ListTools.nullToEmpty(ts)) {
-//					if (!findTs.contains(t)) {
-//						if (StringUtils.isNotEmpty(BeanUtils.getProperty(w, "name")) && StringUtils
-//								.equals(BeanUtils.getProperty(w, "name"), BeanUtils.getProperty(t, "name"))) {
-//							CompareElement c = new CompareElement();
-//							c.setW(w);
-//							c.setT(t);
-//							list.add(c);
-//							findWs.add(w);
-//							findTs.add(t);
-//							continue loop;
-//						}
-//					}
-//				}
-//			}
-//		}
-//		loop: for (W w : ListTools.nullToEmpty(ws)) {
-//			if (!findWs.contains(w)) {
-//				for (T t : ListTools.nullToEmpty(ts)) {
-//					if (!findTs.contains(t)) {
-//						if (StringUtils.isNotEmpty(BeanUtils.getProperty(w, "alias")) && StringUtils
-//								.equals(BeanUtils.getProperty(w, "alias"), BeanUtils.getProperty(t, "alias"))) {
-//							CompareElement c = new CompareElement();
-//							c.setW(w);
-//							c.setT(t);
-//							list.add(c);
-//							findWs.add(w);
-//							findTs.add(t);
-//							continue loop;
-//						}
-//					}
-//				}
-//			}
-//		}
-//		for (W w : ListTools.nullToEmpty(ws)) {
-//			if (!findWs.contains(w)) {
-//				CompareElement c = new CompareElement();
-//				c.setW(w);
-//				c.setT(null);
-//				list.add(c);
-//			}
-//		}
-//		for (T t : ListTools.nullToEmpty(ts)) {
-//			if (!findTs.contains(t)) {
-//				CompareElement c = new CompareElement();
-//				c.setW(null);
-//				c.setT(t);
-//				list.add(c);
-//			}
-//		}
-//		return list;
-//	}
-//
-//	public static class CompareElement {
-//		private JpaObject w;
-//		private JpaObject t;
-//
-//		public JpaObject getW() {
-//			return w;
-//		}
-//
-//		public void setW(JpaObject w) {
-//			this.w = w;
-//		}
-//
-//		public JpaObject getT() {
-//			return t;
-//		}
-//
-//		public void setT(JpaObject t) {
-//			this.t = t;
-//		}
-//
-//	}
-//
-//	public static class Wo extends WoId {
-//
-//	}
-//
-//	public static class Wi extends GsonPropertyObject {
-//
-//		@FieldDescribe("标识")
-//		private String flag;
-//
-//		@FieldDescribe("方式")
-//		private Method method = Method.ignore;
-//
-//		public String getFlag() {
-//			return flag;
-//		}
-//
-//		public void setFlag(String flag) {
-//			this.flag = flag;
-//		}
-//
-//		public Method getMethod() {
-//			return method;
-//		}
-//
-//		public void setMethod(Method method) {
-//			this.method = method;
-//		}
-//
-//	}
-//
-//}

+ 0 - 98
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/input/BaseAction.java

@@ -1,98 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.input;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.persistence.EntityManager;
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
-
-import org.apache.commons.collections4.ListUtils;
-import org.apache.commons.lang3.StringUtils;
-
-import com.x.base.core.entity.JpaObject;
-import com.x.base.core.project.cache.ApplicationCache;
-import com.x.base.core.project.jaxrs.StandardJaxrsAction;
-import com.x.base.core.project.tools.StringTools;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.Query;
-import com.x.query.core.entity.Query_;
-
-import net.sf.ehcache.Ehcache;
-
-abstract class BaseAction extends StandardJaxrsAction {
-
-	protected Ehcache inputCache = ApplicationCache.instance().getCache(BaseAction.class.getName(), 100,
-			ApplicationCache.MINUTES_20, ApplicationCache.MINUTES_20);
-
-	public enum Method {
-		cover, create, ignore;
-	}
-
-	protected Query getQuery(Business business, String id, String name, String alias) throws Exception {
-		Query o = null;
-		if (StringUtils.isNotEmpty(id)) {
-			o = business.entityManagerContainer().flag(id, Query.class );
-		}
-		if (null == o && StringUtils.isNotEmpty(name)) {
-			o = business.entityManagerContainer().flag(name, Query.class );
-		}
-		if (null == o && StringUtils.isNotEmpty(alias)) {
-			o = business.entityManagerContainer().flag(alias, Query.class );
-		}
-		return o;
-	}
-
-	protected <T extends JpaObject> String idleQueryName(Business business, String name, String excludeId)
-			throws Exception {
-		if (StringUtils.isEmpty(name)) {
-			return "";
-		}
-		List<String> list = new ArrayList<>();
-		list.add(name);
-		for (int i = 1; i < 99; i++) {
-			list.add(name + String.format("%02d", i));
-		}
-		list.add(StringTools.uniqueToken());
-		EntityManager em = business.entityManagerContainer().get(Query.class);
-		CriteriaBuilder cb = em.getCriteriaBuilder();
-		CriteriaQuery<String> cq = cb.createQuery(String.class);
-		Root<Query> root = cq.from(Query.class);
-		Predicate p = root.get(Query_.name).in(list);
-		if (StringUtils.isNotEmpty(excludeId)) {
-			p = cb.and(p, cb.notEqual(root.get(JpaObject.id_FIELDNAME), excludeId));
-		}
-		cq.select(root.get(Query_.name)).where(p);
-		List<String> os = em.createQuery(cq).getResultList();
-		list = ListUtils.subtract(list, os);
-		return list.get(0);
-	}
-
-	protected <T extends JpaObject> String idleQueryAlias(Business business, String alias, String excludeId)
-			throws Exception {
-		if (StringUtils.isEmpty(alias)) {
-			return "";
-		}
-		List<String> list = new ArrayList<>();
-		list.add(alias);
-		for (int i = 1; i < 99; i++) {
-			list.add(alias + String.format("%02d", i));
-		}
-		list.add(StringTools.uniqueToken());
-		EntityManager em = business.entityManagerContainer().get(Query.class);
-		CriteriaBuilder cb = em.getCriteriaBuilder();
-		CriteriaQuery<String> cq = cb.createQuery(String.class);
-		Root<Query> root = cq.from(Query.class);
-		Predicate p = root.get(Query_.alias).in(list);
-		if (StringUtils.isNotEmpty(excludeId)) {
-			p = cb.and(p, cb.notEqual(root.get(JpaObject.id_FIELDNAME), excludeId));
-		}
-		cq.select(root.get(Query_.alias)).where(p);
-		List<String> os = em.createQuery(cq).getResultList();
-		list = ListUtils.subtract(list, os);
-		return list.get(0);
-	}
-
-}

+ 0 - 12
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/input/ExceptionEntityExistForCreate.java

@@ -1,12 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.input;
-
-import com.x.base.core.project.exception.PromptException;
-
-class ExceptionEntityExistForCreate extends PromptException {
-
-	private static final long serialVersionUID = -9089355008820123519L;
-
-	ExceptionEntityExistForCreate(String id, Class<?> cls) {
-		super("新建实体冲突, id:{}, class:{}.", id, cls.getName());
-	}
-}

+ 0 - 13
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/input/ExceptionQueryAccessDenied.java

@@ -1,13 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.input;
-
-import com.x.base.core.project.exception.PromptException;
-
-class ExceptionQueryAccessDenied extends PromptException {
-
-	private static final long serialVersionUID = -5515077418025884395L;
-
-	ExceptionQueryAccessDenied(String person, String name, String id) {
-		super("用户:{} 访问应用 name: {} id: {}, 权限不足.", person, name, id);
-	}
-
-}

+ 0 - 12
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/input/ExceptionQueryExist.java

@@ -1,12 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.input;
-
-import com.x.base.core.project.exception.PromptException;
-
-class ExceptionQueryExist extends PromptException {
-
-	private static final long serialVersionUID = -9089355008820123519L;
-
-	ExceptionQueryExist(String flag) {
-		super("应用: {} 已存在.", flag);
-	}
-}

+ 0 - 12
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/input/ExceptionQueryNotExist.java

@@ -1,12 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.input;
-
-import com.x.base.core.project.exception.PromptException;
-
-class ExceptionQueryNotExist extends PromptException {
-
-	private static final long serialVersionUID = -9089355008820123519L;
-
-	ExceptionQueryNotExist(String flag) {
-		super("查询: {} 不存在.", flag);
-	}
-}

+ 0 - 12
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/input/ExceptionQueryNotExistForCover.java

@@ -1,12 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.input;
-
-import com.x.base.core.project.exception.PromptException;
-
-class ExceptionQueryNotExistForCover extends PromptException {
-
-	private static final long serialVersionUID = -9089355008820123519L;
-
-	ExceptionQueryNotExistForCover(String id, String name, String alias) {
-		super("无法查找到用于覆盖的应用, id:{}, name:{}, alias:{}.", id, name, alias);
-	}
-}

+ 0 - 122
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/input/InputAction.java

@@ -1,122 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.input;
-
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-
-import com.google.gson.JsonElement;
-import com.x.base.core.project.annotation.JaxrsDescribe;
-import com.x.base.core.project.annotation.JaxrsMethodDescribe;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.http.HttpMediaType;
-import com.x.base.core.project.jaxrs.ResponseFactory;
-import com.x.base.core.project.jaxrs.StandardJaxrsAction;
-import com.x.base.core.project.logger.Logger;
-import com.x.base.core.project.logger.LoggerFactory;
-
-@Path("input")
-@JaxrsDescribe("导入")
-public class InputAction extends StandardJaxrsAction {
-
-	private static Logger logger = LoggerFactory.getLogger(InputAction.class);
-
-	@JaxrsMethodDescribe(value = "上传对比数据内容.", action = ActionCompare.class)
-	@PUT
-	@Path("compare")
-	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
-	@Consumes(MediaType.APPLICATION_JSON)
-	public void compare(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
-			JsonElement jsonElement) {
-		ActionResult<ActionCompare.Wo> result = new ActionResult<>();
-		EffectivePerson effectivePerson = this.effectivePerson(request);
-		try {
-			result = new ActionCompare().execute(effectivePerson, jsonElement);
-		} catch (Exception e) {
-			logger.error(e, effectivePerson, request, jsonElement);
-			result.error(e);
-		}
-		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
-	}
-
-	@JaxrsMethodDescribe(value = "准备覆盖应用.", action = ActionPrepareCover.class)
-	@PUT
-	@Path("prepare/cover")
-	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
-	@Consumes(MediaType.APPLICATION_JSON)
-	public void prepareCover(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
-			JsonElement jsonElement) {
-		ActionResult<List<ActionPrepareCover.Wo>> result = new ActionResult<>();
-		EffectivePerson effectivePerson = this.effectivePerson(request);
-		try {
-			result = new ActionPrepareCover().execute(effectivePerson, jsonElement);
-		} catch (Exception e) {
-			logger.error(e, effectivePerson, request, jsonElement);
-			result.error(e);
-		}
-		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
-	}
-
-	@JaxrsMethodDescribe(value = "覆盖应用.", action = ActionCover.class)
-	@PUT
-	@Path("cover")
-	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
-	@Consumes(MediaType.APPLICATION_JSON)
-	public void cover(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
-			JsonElement jsonElement) {
-		ActionResult<ActionCover.Wo> result = new ActionResult<>();
-		EffectivePerson effectivePerson = this.effectivePerson(request);
-		try {
-			result = new ActionCover().execute(effectivePerson, jsonElement);
-		} catch (Exception e) {
-			logger.error(e, effectivePerson, request, jsonElement);
-			result.error(e);
-		}
-		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
-	}
-
-	@JaxrsMethodDescribe(value = "准备创建应用.", action = ActionPrepareCreate.class)
-	@PUT
-	@Path("prepare/create")
-	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
-	@Consumes(MediaType.APPLICATION_JSON)
-	public void prepareCreate(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
-			JsonElement jsonElement) {
-		ActionResult<List<ActionPrepareCreate.Wo>> result = new ActionResult<>();
-		EffectivePerson effectivePerson = this.effectivePerson(request);
-		try {
-			result = new ActionPrepareCreate().execute(effectivePerson, jsonElement);
-		} catch (Exception e) {
-			logger.error(e, effectivePerson, request, jsonElement);
-			result.error(e);
-		}
-		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
-	}
-
-	@JaxrsMethodDescribe(value = "创建应用.", action = ActionCreate.class)
-	@PUT
-	@Path("create")
-	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
-	@Consumes(MediaType.APPLICATION_JSON)
-	public void create(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
-			JsonElement jsonElement) {
-		ActionResult<ActionCreate.Wo> result = new ActionResult<>();
-		EffectivePerson effectivePerson = this.effectivePerson(request);
-		try {
-			result = new ActionCreate().execute(effectivePerson, jsonElement);
-		} catch (Exception e) {
-			logger.error(e, effectivePerson, request, jsonElement);
-			result.error(e);
-		}
-		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
-	}
-
-}

+ 0 - 55
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/neural/ActionCreateModel.java

@@ -1,55 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.neural;
-
-import com.google.gson.JsonElement;
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.entity.JpaObject;
-import com.x.base.core.entity.annotation.CheckPersistType;
-import com.x.base.core.project.bean.WrapCopier;
-import com.x.base.core.project.bean.WrapCopierFactory;
-import com.x.base.core.project.cache.ApplicationCache;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.jaxrs.WoId;
-import com.x.base.core.project.tools.ListTools;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.neural.Model;
-
-class ActionCreateModel extends BaseAction {
-	ActionResult<Wo> execute(EffectivePerson effectivePerson, JsonElement jsonElement) throws Exception {
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			ActionResult<Wo> result = new ActionResult<>();
-			Wi wi = this.convertToWrapIn(jsonElement, Wi.class);
-			Business business = new Business(emc);
-			emc.beginTransaction(Model.class);
-			Model model = Wi.copier.copy(wi);
-			emc.persist(model, CheckPersistType.all);
-			emc.commit();
-			ApplicationCache.notify(Model.class);
-			Wo wo = new Wo();
-			wo.setId(model.getId());
-			result.setData(wo);
-			return result;
-		}
-	}
-
-	public static class Wo extends WoId {
-
-	}
-
-	public static class Wi extends Model {
-
-		private static final long serialVersionUID = -5237741099036357033L;
-
-		static WrapCopier<Wi, Model> copier = WrapCopierFactory.wi(Wi.class, Model.class,
-				ListTools.toList(Model.neuralNetworkType_FIELDNAME, Model.dataType_FIELDNAME, Model.name_FIELDNAME,
-						Model.description_FIELDNAME, Model.alias_FIELDNAME, Model.inValueScriptText_FIELDNAME,
-						Model.outValueScriptText_FIELDNAME, Model.attachmentScriptText_FIELDNAME,
-						Model.processList_FIELDNAME, Model.applicationList_FIELDNAME, Model.inValueCount_FIELDNAME,
-						Model.outValueCount_FIELDNAME, Model.maxResult_FIELDNAME, Model.propertyMap_FIELDNAME,
-						Model.analyzeType_FIELDNAME),
-				JpaObject.FieldsUnmodifyExcludeId);
-
-	}
-
-}

+ 0 - 58
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/neural/ActionDeleteModel.java

@@ -1,58 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.neural;
-
-import org.apache.commons.lang3.StringUtils;
-
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.entity.JpaObject;
-import com.x.base.core.entity.annotation.CheckRemoveType;
-import com.x.base.core.project.bean.WrapCopier;
-import com.x.base.core.project.bean.WrapCopierFactory;
-import com.x.base.core.project.cache.ApplicationCache;
-import com.x.base.core.project.exception.ExceptionEntityNotExist;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.neural.Model;
-
-class ActionDeleteModel extends BaseAction {
-	ActionResult<Wo> execute(EffectivePerson effectivePerson, String modelFlag) throws Exception {
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			ActionResult<Wo> result = new ActionResult<>();
-			Business business = new Business(emc);
-			Model model = emc.flag(modelFlag, Model.class);
-			if (null == model) {
-				throw new ExceptionEntityNotExist(modelFlag, Model.class);
-			}
-			if (StringUtils.equals(Model.STATUS_GENERATING, model.getStatus())) {
-				throw new ExceptionGenerating(model.getName());
-			}
-			if (StringUtils.equals(Model.STATUS_LEARNING, model.getStatus())) {
-				throw new ExceptionLearning(model.getName());
-			}
-			this.cleanOutValue(business, model);
-			this.cleanInValue(business, model);
-			this.cleanInText(business, model);
-			this.cleanOutText(business, model);
-			this.cleanEntry(business, model);
-			emc.beginTransaction(Model.class);
-			emc.remove(model, CheckRemoveType.all);
-			emc.commit();
-			ApplicationCache.notify(Model.class);
-			Wo wo = new Wo();
-			wo.setId(model.getId());
-			result.setData(wo);
-			return result;
-		}
-	}
-
-	public static class Wo extends Model {
-
-		private static final long serialVersionUID = -6541538280679110474L;
-
-		static WrapCopier<Model, Wo> copier = WrapCopierFactory.wo(Model.class, Wo.class, null,
-				JpaObject.FieldsInvisible);
-
-	}
-
-}

+ 0 - 70
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/neural/ActionGenerate.java

@@ -1,70 +0,0 @@
-/** ***** BEGIN LICENSE BLOCK *****
- * |------------------------------------------------------------------------------|
- * | O2OA 活力办公 创意无限    o2.js                                                 |
- * |------------------------------------------------------------------------------|
- * | Distributed under the AGPL license:                                          |
- * |------------------------------------------------------------------------------|
- * | Copyright © 2018, o2oa.net, o2server.io O2 Team                              |
- * | All rights reserved.                                                         |
- * |------------------------------------------------------------------------------|
- *
- *  This file is part of O2OA.
- *
- *  O2OA is free software: you can redistribute it and/or modify
- *  it under the terms of the GNU Affero General Public License as published by
- *  the Free Software Foundation, either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  O2OA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU Affero General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <https://www.gnu.org/licenses/>.
- *
- * ***** END LICENSE BLOCK ******/
-package com.x.query.assemble.designer.jaxrs.neural;
-
-import org.apache.commons.lang3.StringUtils;
-
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.project.Applications;
-import com.x.base.core.project.x_query_service_processing;
-import com.x.base.core.project.exception.ExceptionEntityNotExist;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.jaxrs.WrapBoolean;
-import com.x.query.assemble.designer.ThisApplication;
-import com.x.query.core.entity.neural.Model;
-
-class ActionGenerate extends BaseAction {
-
-	ActionResult<Wo> execute(EffectivePerson effectivePerson, String modelFlag) throws Exception {
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			ActionResult<Wo> result = new ActionResult<>();
-			Wo wo = new Wo();
-			Model model = emc.flag(modelFlag, Model.class);
-			if (null == model) {
-				throw new ExceptionEntityNotExist(modelFlag, Model.class);
-			}
-			if (StringUtils.equals(Model.STATUS_GENERATING, model.getStatus())) {
-				throw new ExceptionGenerating(model.getName());
-			}
-			if (StringUtils.equals(Model.STATUS_LEARNING, model.getStatus())) {
-				throw new ExceptionLearning(model.getName());
-			}
-			ThisApplication.context().applications().getQuery(x_query_service_processing.class,
-					Applications.joinQueryUri("neural", "generate", "model", model.getId()));
-			wo.setValue(true);
-			result.setData(wo);
-			return result;
-		}
-	}
-
-	public static class Wo extends WrapBoolean {
-
-	}
-
-}

+ 0 - 39
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/neural/ActionGetModel.java

@@ -1,39 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.neural;
-
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.entity.JpaObject;
-import com.x.base.core.project.bean.WrapCopier;
-import com.x.base.core.project.bean.WrapCopierFactory;
-import com.x.base.core.project.exception.ExceptionEntityNotExist;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.tools.ListTools;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.neural.Model;
-
-class ActionGetModel extends BaseAction {
-	ActionResult<Wo> execute(EffectivePerson effectivePerson, String modelFlag) throws Exception {
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			ActionResult<Wo> result = new ActionResult<>();
-			Business business = new Business(emc);
-			Model model = emc.flag(modelFlag, Model.class);
-			if (null == model) {
-				throw new ExceptionEntityNotExist(modelFlag, Model.class);
-			}
-			Wo wo = Wo.copier.copy(model);
-			result.setData(wo);
-			return result;
-		}
-	}
-
-	public static class Wo extends Model {
-
-		private static final long serialVersionUID = -6541538280679110474L;
-
-		static WrapCopier<Model, Wo> copier = WrapCopierFactory.wo(Model.class, Wo.class, null,
-				ListTools.toList(JpaObject.FieldsInvisible, Model.nnet_FIELDNAME, Model.intermediateNnet_FIELDNAME));
-
-	}
-
-}

+ 0 - 49
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/neural/ActionLearn.java

@@ -1,49 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.neural;
-
-import org.apache.commons.lang3.StringUtils;
-
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.project.Applications;
-import com.x.base.core.project.x_query_service_processing;
-import com.x.base.core.project.exception.ExceptionEntityNotExist;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.jaxrs.WrapBoolean;
-import com.x.query.assemble.designer.Business;
-import com.x.query.assemble.designer.ThisApplication;
-import com.x.query.core.entity.neural.Entry;
-import com.x.query.core.entity.neural.Model;
-
-class ActionLearn extends BaseAction {
-	ActionResult<Wo> execute(EffectivePerson effectivePerson, String modelFlag) throws Exception {
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			ActionResult<Wo> result = new ActionResult<>();
-			Business business = new Business(emc);
-			Wo wo = new Wo();
-			Model model = emc.flag(modelFlag, Model.class);
-			if (null == model) {
-				throw new ExceptionEntityNotExist(modelFlag, Model.class);
-			}
-			if (emc.countEqual(Entry.class, Entry.model_FIELDNAME, model.getId()) == 0) {
-				throw new ExceptionEntryEmpty(model.getName());
-			}
-			if (StringUtils.equals(Model.STATUS_GENERATING, model.getStatus())) {
-				throw new ExceptionGenerating(model.getName());
-			}
-			if (StringUtils.equals(Model.STATUS_LEARNING, model.getStatus())) {
-				throw new ExceptionLearning(model.getName());
-			}
-			ThisApplication.context().applications().getQuery(x_query_service_processing.class,
-					Applications.joinQueryUri("neural", "learn", "model", model.getId()));
-			wo.setValue(true);
-			result.setData(wo);
-			return result;
-		}
-	}
-
-	public static class Wo extends WrapBoolean {
-
-	}
-
-}

+ 0 - 46
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/neural/ActionListModel.java

@@ -1,46 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.neural;
-
-import java.util.List;
-
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.entity.JpaObject;
-import com.x.base.core.project.bean.WrapCopier;
-import com.x.base.core.project.bean.WrapCopierFactory;
-import com.x.base.core.project.exception.ExceptionAccessDenied;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.logger.Logger;
-import com.x.base.core.project.logger.LoggerFactory;
-import com.x.base.core.project.organization.OrganizationDefinition;
-import com.x.base.core.project.tools.ListTools;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.neural.Model;
-
-class ActionListModel extends BaseAction {
-
-	private static Logger logger = LoggerFactory.getLogger(ActionListModel.class);
-
-	ActionResult<List<Wo>> execute(EffectivePerson effectivePerson) throws Exception {
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			ActionResult<List<Wo>> result = new ActionResult<>();
-			Business business = new Business(emc);
-			if ((!effectivePerson.isManager()) && (!business.organization().person().hasRole(effectivePerson,
-					OrganizationDefinition.Manager, OrganizationDefinition.QueryManager))) {
-				throw new ExceptionAccessDenied(effectivePerson);
-			}
-			List<Model> os = emc.listAll(Model.class);
-			result.setData(Wo.copier.copy(os));
-			return result;
-		}
-	}
-
-	public static class Wo extends Model {
-
-		private static final long serialVersionUID = -6541538280679110474L;
-
-		static WrapCopier<Model, Wo> copier = WrapCopierFactory.wo(Model.class, Wo.class, null,
-				ListTools.toList(JpaObject.FieldsInvisible, Model.nnet_FIELDNAME, Model.intermediateNnet_FIELDNAME));
-	}
-
-}

+ 0 - 35
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/neural/ActionResetStatus.java

@@ -1,35 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.neural;
-
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.project.exception.ExceptionEntityNotExist;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.jaxrs.WrapBoolean;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.neural.Model;
-
-class ActionResetStatus extends BaseAction {
-	ActionResult<Wo> execute(EffectivePerson effectivePerson, String modelFlag) throws Exception {
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			ActionResult<Wo> result = new ActionResult<>();
-			Business business = new Business(emc);
-			Model model = emc.flag(modelFlag, Model.class);
-			if (null == model) {
-				throw new ExceptionEntityNotExist(modelFlag, Model.class);
-			}
-			emc.beginTransaction(Model.class);
-			model.setStatus("");
-			emc.commit();
-			Wo wo = new Wo();
-			wo.setValue(true);
-			result.setData(wo);
-			return result;
-		}
-	}
-
-	public static class Wo extends WrapBoolean {
-
-	}
-
-}

+ 0 - 62
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/neural/ActionStopGenerating.java

@@ -1,62 +0,0 @@
-/** ***** BEGIN LICENSE BLOCK *****
- * |------------------------------------------------------------------------------|
- * | O2OA 活力办公 创意无限    o2.js                                                 |
- * |------------------------------------------------------------------------------|
- * | Distributed under the AGPL license:                                          |
- * |------------------------------------------------------------------------------|
- * | Copyright © 2018, o2oa.net, o2server.io O2 Team                              |
- * | All rights reserved.                                                         |
- * |------------------------------------------------------------------------------|
- *
- *  This file is part of O2OA.
- *
- *  O2OA is free software: you can redistribute it and/or modify
- *  it under the terms of the GNU Affero General Public License as published by
- *  the Free Software Foundation, either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  O2OA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU Affero General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <https://www.gnu.org/licenses/>.
- *
- * ***** END LICENSE BLOCK ******/
-package com.x.query.assemble.designer.jaxrs.neural;
-
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.project.Applications;
-import com.x.base.core.project.x_query_service_processing;
-import com.x.base.core.project.exception.ExceptionEntityNotExist;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.jaxrs.WrapBoolean;
-import com.x.query.assemble.designer.ThisApplication;
-import com.x.query.core.entity.neural.Model;
-
-class ActionStopGenerating extends BaseAction {
-
-	ActionResult<Wo> execute(EffectivePerson effectivePerson, String modelFlag) throws Exception {
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			ActionResult<Wo> result = new ActionResult<>();
-			Wo wo = new Wo();
-			Model model = emc.flag(modelFlag, Model.class);
-			if (null == model) {
-				throw new ExceptionEntityNotExist(modelFlag, Model.class);
-			}
-			ThisApplication.context().applications().getQuery(x_query_service_processing.class,
-					Applications.joinQueryUri("neural", "stop", "generating", "model", model.getId()));
-			wo.setValue(true);
-			result.setData(wo);
-			return result;
-		}
-	}
-
-	public static class Wo extends WrapBoolean {
-
-	}
-
-}

+ 0 - 62
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/neural/ActionStopLearning.java

@@ -1,62 +0,0 @@
-/** ***** BEGIN LICENSE BLOCK *****
- * |------------------------------------------------------------------------------|
- * | O2OA 活力办公 创意无限    o2.js                                                 |
- * |------------------------------------------------------------------------------|
- * | Distributed under the AGPL license:                                          |
- * |------------------------------------------------------------------------------|
- * | Copyright © 2018, o2oa.net, o2server.io O2 Team                              |
- * | All rights reserved.                                                         |
- * |------------------------------------------------------------------------------|
- *
- *  This file is part of O2OA.
- *
- *  O2OA is free software: you can redistribute it and/or modify
- *  it under the terms of the GNU Affero General Public License as published by
- *  the Free Software Foundation, either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  O2OA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU Affero General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <https://www.gnu.org/licenses/>.
- *
- * ***** END LICENSE BLOCK ******/
-package com.x.query.assemble.designer.jaxrs.neural;
-
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.project.Applications;
-import com.x.base.core.project.x_query_service_processing;
-import com.x.base.core.project.exception.ExceptionEntityNotExist;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.jaxrs.WrapBoolean;
-import com.x.query.assemble.designer.ThisApplication;
-import com.x.query.core.entity.neural.Model;
-
-class ActionStopLearning extends BaseAction {
-
-	ActionResult<Wo> execute(EffectivePerson effectivePerson, String modelFlag) throws Exception {
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			ActionResult<Wo> result = new ActionResult<>();
-			Wo wo = new Wo();
-			Model model = emc.flag(modelFlag, Model.class);
-			if (null == model) {
-				throw new ExceptionEntityNotExist(modelFlag, Model.class);
-			}
-			ThisApplication.context().applications().getQuery(x_query_service_processing.class,
-					Applications.joinQueryUri("neural", "stop", "learning", "model", model.getId()));
-			wo.setValue(true);
-			result.setData(wo);
-			return result;
-		}
-	}
-
-	public static class Wo extends WrapBoolean {
-
-	}
-
-}

+ 0 - 60
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/neural/ActionUpdateModel.java

@@ -1,60 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.neural;
-
-import com.google.gson.JsonElement;
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.entity.JpaObject;
-import com.x.base.core.entity.annotation.CheckPersistType;
-import com.x.base.core.project.bean.WrapCopier;
-import com.x.base.core.project.bean.WrapCopierFactory;
-import com.x.base.core.project.cache.ApplicationCache;
-import com.x.base.core.project.exception.ExceptionEntityNotExist;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.jaxrs.WoId;
-import com.x.base.core.project.tools.ListTools;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.neural.Model;
-
-class ActionUpdateModel extends BaseAction {
-	ActionResult<Wo> execute(EffectivePerson effectivePerson, String modelFlag, JsonElement jsonElement)
-			throws Exception {
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			ActionResult<Wo> result = new ActionResult<>();
-			Model model = emc.flag(modelFlag, Model.class);
-			if (null == model) {
-				throw new ExceptionEntityNotExist(modelFlag, Model.class);
-			}
-			Wi wi = this.convertToWrapIn(jsonElement, Wi.class);
-			Business business = new Business(emc);
-			emc.beginTransaction(Model.class);
-			Wi.copier.copy(wi, model);
-			emc.check(model, CheckPersistType.all);
-			emc.commit();
-			ApplicationCache.notify(Model.class);
-			Wo wo = new Wo();
-			wo.setId(model.getId());
-			result.setData(wo);
-			return result;
-		}
-	}
-
-	public static class Wo extends WoId {
-
-	}
-
-	public static class Wi extends Model {
-
-		private static final long serialVersionUID = -5237741099036357033L;
-
-		static WrapCopier<Wi, Model> copier = WrapCopierFactory.wi(Wi.class, Model.class,
-				ListTools.toList(Model.neuralNetworkType_FIELDNAME, Model.dataType_FIELDNAME, Model.name_FIELDNAME,
-						Model.description_FIELDNAME, Model.alias_FIELDNAME, Model.inValueScriptText_FIELDNAME,
-						Model.outValueScriptText_FIELDNAME, Model.attachmentScriptText_FIELDNAME,
-						Model.processList_FIELDNAME, Model.applicationList_FIELDNAME, Model.inValueCount_FIELDNAME,
-						Model.outValueCount_FIELDNAME, Model.maxResult_FIELDNAME, Model.propertyMap_FIELDNAME,
-						Model.analyzeType_FIELDNAME),
-				JpaObject.FieldsUnmodify);
-	}
-
-}

+ 0 - 81
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/neural/BaseAction.java

@@ -1,81 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.neural;
-
-import java.util.List;
-
-import com.x.base.core.project.jaxrs.StandardJaxrsAction;
-import com.x.base.core.project.logger.Logger;
-import com.x.base.core.project.logger.LoggerFactory;
-import com.x.base.core.project.tools.ListTools;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.neural.Entry;
-import com.x.query.core.entity.neural.InText;
-import com.x.query.core.entity.neural.InValue;
-import com.x.query.core.entity.neural.Model;
-import com.x.query.core.entity.neural.OutText;
-import com.x.query.core.entity.neural.OutValue;
-
-abstract class BaseAction extends StandardJaxrsAction {
-
-	private static Logger logger = LoggerFactory.getLogger(BaseAction.class);
-
-	protected Long cleanOutValue(Business business, Model project) throws Exception {
-		List<String> ids = business.entityManagerContainer().idsEqual(OutValue.class, OutValue.model_FIELDNAME,
-				project.getId());
-		Long count = 0L;
-		for (List<String> os : ListTools.batch(ids, 2000)) {
-			business.entityManagerContainer().beginTransaction(OutValue.class);
-			count = count + business.entityManagerContainer().delete(OutValue.class, os);
-			business.entityManagerContainer().commit();
-		}
-		return count;
-	}
-
-	protected Long cleanInValue(Business business, Model project) throws Exception {
-		List<String> ids = business.entityManagerContainer().idsEqual(InValue.class, InValue.model_FIELDNAME,
-				project.getId());
-		Long count = 0L;
-		for (List<String> os : ListTools.batch(ids, 2000)) {
-			business.entityManagerContainer().beginTransaction(InValue.class);
-			count = count + business.entityManagerContainer().delete(InValue.class, os);
-			business.entityManagerContainer().commit();
-		}
-		return count;
-	}
-
-	protected Long cleanInText(Business business, Model project) throws Exception {
-		List<String> ids = business.entityManagerContainer().idsEqual(InText.class, InText.model_FIELDNAME,
-				project.getId());
-		Long count = 0L;
-		for (List<String> os : ListTools.batch(ids, 2000)) {
-			business.entityManagerContainer().beginTransaction(InText.class);
-			count = count + business.entityManagerContainer().delete(InText.class, os);
-			business.entityManagerContainer().commit();
-		}
-		return count;
-	}
-
-	protected Long cleanOutText(Business business, Model project) throws Exception {
-		List<String> ids = business.entityManagerContainer().idsEqual(OutText.class, OutText.model_FIELDNAME,
-				project.getId());
-		Long count = 0L;
-		for (List<String> os : ListTools.batch(ids, 2000)) {
-			business.entityManagerContainer().beginTransaction(OutText.class);
-			count = count + business.entityManagerContainer().delete(OutText.class, os);
-			business.entityManagerContainer().commit();
-		}
-		return count;
-	}
-
-	protected Long cleanEntry(Business business, Model project) throws Exception {
-		List<String> ids = business.entityManagerContainer().idsEqual(Entry.class, Entry.model_FIELDNAME,
-				project.getId());
-		Long count = 0L;
-		for (List<String> os : ListTools.batch(ids, 2000)) {
-			business.entityManagerContainer().beginTransaction(Entry.class);
-			count = count + business.entityManagerContainer().delete(Entry.class, os);
-			business.entityManagerContainer().commit();
-		}
-		return count;
-	}
-
-}

+ 0 - 12
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/neural/ExceptionEntryEmpty.java

@@ -1,12 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.neural;
-
-import com.x.base.core.project.exception.PromptException;
-
-class ExceptionEntryEmpty extends PromptException {
-
-	private static final long serialVersionUID = -9089355008820123519L;
-
-	ExceptionEntryEmpty(String model) {
-		super("神经网络多层感知机({})项目训练数据集为空.", model);
-	}
-}

+ 0 - 12
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/neural/ExceptionGenerating.java

@@ -1,12 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.neural;
-
-import com.x.base.core.project.exception.PromptException;
-
-class ExceptionGenerating extends PromptException {
-
-	private static final long serialVersionUID = -9089355008820123519L;
-
-	ExceptionGenerating(String model) {
-		super("神经网络多层感知机({})项目正在生成中.", model);
-	}
-}

+ 0 - 12
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/neural/ExceptionLearning.java

@@ -1,12 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.neural;
-
-import com.x.base.core.project.exception.PromptException;
-
-class ExceptionLearning extends PromptException {
-
-	private static final long serialVersionUID = -9089355008820123519L;
-
-	ExceptionLearning(String model) {
-		super("神经网络多层感知机({})项目正在学习中.", model);
-	}
-}

+ 0 - 216
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/neural/NeuralAction.java

@@ -1,216 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.neural;
-
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-
-import com.google.gson.JsonElement;
-import com.x.base.core.project.annotation.JaxrsDescribe;
-import com.x.base.core.project.annotation.JaxrsMethodDescribe;
-import com.x.base.core.project.annotation.JaxrsParameterDescribe;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.http.HttpMediaType;
-import com.x.base.core.project.jaxrs.ResponseFactory;
-import com.x.base.core.project.jaxrs.StandardJaxrsAction;
-import com.x.base.core.project.logger.Logger;
-import com.x.base.core.project.logger.LoggerFactory;
-
-@Path("neural")
-@JaxrsDescribe("神经网络多层感知机")
-public class NeuralAction extends StandardJaxrsAction {
-
-	private static Logger logger = LoggerFactory.getLogger(NeuralAction.class);
-
-	@JaxrsMethodDescribe(value = "列示所有模型.", action = ActionListModel.class)
-	@GET
-	@Path("list/model")
-	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
-	@Consumes(MediaType.APPLICATION_JSON)
-	public void listModel(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request) {
-		ActionResult<List<ActionListModel.Wo>> result = new ActionResult<>();
-		EffectivePerson effectivePerson = this.effectivePerson(request);
-		try {
-			result = new ActionListModel().execute(effectivePerson);
-		} catch (Exception e) {
-			logger.error(e, effectivePerson, request, null);
-			result.error(e);
-		}
-		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
-	}
-
-	@JaxrsMethodDescribe(value = "创建模型.", action = ActionCreateModel.class)
-	@POST
-	@Path("model")
-	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
-	@Consumes(MediaType.APPLICATION_JSON)
-	public void createModel(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
-			JsonElement jsonElement) {
-		ActionResult<ActionCreateModel.Wo> result = new ActionResult<>();
-		EffectivePerson effectivePerson = this.effectivePerson(request);
-		try {
-			result = new ActionCreateModel().execute(effectivePerson, jsonElement);
-		} catch (Exception e) {
-			logger.error(e, effectivePerson, request, jsonElement);
-			result.error(e);
-		}
-		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
-	}
-
-	@JaxrsMethodDescribe(value = "更新模型.", action = ActionUpdateModel.class)
-	@PUT
-	@Path("model/{modelFlag}")
-	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
-	@Consumes(MediaType.APPLICATION_JSON)
-	public void updateModel(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
-			@JaxrsParameterDescribe("模型标识") @PathParam("modelFlag") String modelFlag, JsonElement jsonElement) {
-		ActionResult<ActionUpdateModel.Wo> result = new ActionResult<>();
-		EffectivePerson effectivePerson = this.effectivePerson(request);
-		try {
-			result = new ActionUpdateModel().execute(effectivePerson, modelFlag, jsonElement);
-		} catch (Exception e) {
-			logger.error(e, effectivePerson, request, jsonElement);
-			result.error(e);
-		}
-		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
-	}
-
-	@JaxrsMethodDescribe(value = "获取模型.", action = ActionGetModel.class)
-	@GET
-	@Path("model/{modelFlag}")
-	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
-	@Consumes(MediaType.APPLICATION_JSON)
-	public void getModel(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
-			@JaxrsParameterDescribe("模型标识") @PathParam("modelFlag") String modelFlag) {
-		ActionResult<ActionGetModel.Wo> result = new ActionResult<>();
-		EffectivePerson effectivePerson = this.effectivePerson(request);
-		try {
-			result = new ActionGetModel().execute(effectivePerson, modelFlag);
-		} catch (Exception e) {
-			logger.error(e, effectivePerson, request, null);
-			result.error(e);
-		}
-		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
-	}
-
-	@JaxrsMethodDescribe(value = "删除项目.", action = ActionDeleteModel.class)
-	@DELETE
-	@Path("model/{modelFlag}")
-	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
-	@Consumes(MediaType.APPLICATION_JSON)
-	public void deleteModel(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
-			@JaxrsParameterDescribe("模型标识") @PathParam("modelFlag") String modelFlag) {
-		ActionResult<ActionDeleteModel.Wo> result = new ActionResult<>();
-		EffectivePerson effectivePerson = this.effectivePerson(request);
-		try {
-			result = new ActionDeleteModel().execute(effectivePerson, modelFlag);
-		} catch (Exception e) {
-			logger.error(e, effectivePerson, request, null);
-			result.error(e);
-		}
-		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
-	}
-
-	@JaxrsMethodDescribe(value = "创建条目.", action = ActionGenerate.class)
-	@GET
-	@Path("generate/model/{modelFlag}")
-	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
-	@Consumes(MediaType.APPLICATION_JSON)
-	public void generate(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
-			@JaxrsParameterDescribe("模型标识") @PathParam("modelFlag") String modelFlag) {
-		ActionResult<ActionGenerate.Wo> result = new ActionResult<>();
-		EffectivePerson effectivePerson = this.effectivePerson(request);
-		try {
-			result = new ActionGenerate().execute(effectivePerson, modelFlag);
-		} catch (Exception e) {
-			logger.error(e, effectivePerson, request, null);
-			result.error(e);
-		}
-		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
-	}
-
-	@JaxrsMethodDescribe(value = "停止创建条目.", action = ActionStopGenerating.class)
-	@GET
-	@Path("stop/generating/model/{modelFlag}")
-	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
-	@Consumes(MediaType.APPLICATION_JSON)
-	public void stopGenerating(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
-			@JaxrsParameterDescribe("模型标识") @PathParam("modelFlag") String modelFlag) {
-		ActionResult<ActionStopGenerating.Wo> result = new ActionResult<>();
-		EffectivePerson effectivePerson = this.effectivePerson(request);
-		try {
-			result = new ActionStopGenerating().execute(effectivePerson, modelFlag);
-		} catch (Exception e) {
-			logger.error(e, effectivePerson, request, null);
-			result.error(e);
-		}
-		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
-	}
-
-	@JaxrsMethodDescribe(value = "学习.", action = ActionLearn.class)
-	@GET
-	@Path("learn/model/{modelFlag}")
-	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
-	@Consumes(MediaType.APPLICATION_JSON)
-	public void learn(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
-			@JaxrsParameterDescribe("模型标识") @PathParam("modelFlag") String modelFlag) {
-		ActionResult<ActionLearn.Wo> result = new ActionResult<>();
-		EffectivePerson effectivePerson = this.effectivePerson(request);
-		try {
-			result = new ActionLearn().execute(effectivePerson, modelFlag);
-		} catch (Exception e) {
-			logger.error(e, effectivePerson, request, null);
-			result.error(e);
-		}
-		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
-	}
-
-	@JaxrsMethodDescribe(value = "停止学习.", action = ActionStopLearning.class)
-	@GET
-	@Path("stop/learn/model/{modelFlag}")
-	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
-	@Consumes(MediaType.APPLICATION_JSON)
-	public void stopLearning(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
-			@JaxrsParameterDescribe("模型标识") @PathParam("modelFlag") String modelFlag) {
-		ActionResult<ActionStopLearning.Wo> result = new ActionResult<>();
-		EffectivePerson effectivePerson = this.effectivePerson(request);
-		try {
-			result = new ActionStopLearning().execute(effectivePerson, modelFlag);
-		} catch (Exception e) {
-			logger.error(e, effectivePerson, request, null);
-			result.error(e);
-		}
-		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
-	}
-
-	@JaxrsMethodDescribe(value = "重置状态.", action = ActionResetStatus.class)
-	@GET
-	@Path("model/{modelFlag}/reset/status")
-	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
-	@Consumes(MediaType.APPLICATION_JSON)
-	public void resetStatus(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
-			@JaxrsParameterDescribe("模型标识") @PathParam("modelFlag") String modelFlag) {
-		ActionResult<ActionResetStatus.Wo> result = new ActionResult<>();
-		EffectivePerson effectivePerson = this.effectivePerson(request);
-		try {
-			result = new ActionResetStatus().execute(effectivePerson, modelFlag);
-		} catch (Exception e) {
-			logger.error(e, effectivePerson, request, null);
-			result.error(e);
-		}
-		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
-	}
-
-}

+ 0 - 82
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/output/ActionList.java

@@ -1,82 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.output;
-
-import java.util.Comparator;
-import java.util.List;
-import java.util.stream.Collectors;
-
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.entity.JpaObject;
-import com.x.base.core.project.bean.WrapCopier;
-import com.x.base.core.project.bean.WrapCopierFactory;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.tools.ListTools;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.Query;
-import com.x.query.core.entity.Reveal;
-import com.x.query.core.entity.Stat;
-import com.x.query.core.entity.View;
-import com.x.query.core.entity.schema.Statement;
-import com.x.query.core.entity.schema.Table;
-import com.x.query.core.entity.wrap.*;
-
-class ActionList extends BaseAction {
-
-	ActionResult<List<Wo>> execute(EffectivePerson effectivePerson) throws Exception {
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			ActionResult<List<Wo>> result = new ActionResult<>();
-			Business business = new Business(emc);
-
-			List<Wo> wos = emc.fetchAll(Query.class, Wo.copier);
-
-			List<WrapView> viewList = emc.fetchAll(View.class, viewCopier);
-
-			List<WrapStat> statList = emc.fetchAll(Stat.class, statCopier);
-
-			List<WrapReveal> revealList = emc.fetchAll(Reveal.class, revealCopier);
-
-			List<WrapTable> tableList = emc.fetchAll(Table.class, tableCopier);
-
-			List<WrapStatement> statementList = emc.fetchAll(Statement.class, statementCopier);
-
-			ListTools.groupStick(wos, viewList, "id", "query", "viewList");
-			ListTools.groupStick(wos, statList, "id", "query", "statList");
-			ListTools.groupStick(wos, revealList, "id", "query", "revealList");
-			ListTools.groupStick(wos, tableList, "id", "query", "tableList");
-			ListTools.groupStick(wos, statementList, "id", "query", "statementList");
-
-			wos = wos.stream()
-					.sorted(Comparator.comparing(Wo::getAlias, Comparator.nullsLast(String::compareTo))
-							.thenComparing(Wo::getName, Comparator.nullsLast(String::compareTo)))
-					.collect(Collectors.toList());
-			result.setData(wos);
-			return result;
-		}
-	}
-
-	public static WrapCopier<View, WrapView> viewCopier = WrapCopierFactory.wo(View.class, WrapView.class,
-			JpaObject.singularAttributeField(View.class, true, true), null);
-
-	public static WrapCopier<Stat, WrapStat> statCopier = WrapCopierFactory.wo(Stat.class, WrapStat.class,
-			JpaObject.singularAttributeField(Stat.class, true, true), null);
-
-	public static WrapCopier<Reveal, WrapReveal> revealCopier = WrapCopierFactory.wo(Reveal.class, WrapReveal.class,
-			JpaObject.singularAttributeField(Reveal.class, true, true), null);
-
-	public static WrapCopier<Table, WrapTable> tableCopier = WrapCopierFactory.wo(Table.class, WrapTable.class,
-			JpaObject.singularAttributeField(Table.class, true, true), null);
-
-	public static WrapCopier<Statement, WrapStatement> statementCopier = WrapCopierFactory.wo(Statement.class, WrapStatement.class,
-			JpaObject.singularAttributeField(Statement.class, true, true), null);
-
-	public static class Wo extends WrapQuery {
-
-		private static final long serialVersionUID = 474265667658465123L;
-
-		public static WrapCopier<Query, Wo> copier = WrapCopierFactory.wo(Query.class, Wo.class,
-				JpaObject.singularAttributeField(Query.class, true, true), null);
-
-	}
-
-}

+ 0 - 141
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/output/ActionSelect.java

@@ -1,141 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.output;
-
-import com.google.gson.JsonElement;
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.project.annotation.FieldDescribe;
-import com.x.base.core.project.gson.XGsonBuilder;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.tools.StringTools;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.Query;
-import com.x.query.core.entity.Reveal;
-import com.x.query.core.entity.Stat;
-import com.x.query.core.entity.View;
-import com.x.query.core.entity.schema.Statement;
-import com.x.query.core.entity.schema.Table;
-import com.x.query.core.entity.wrap.*;
-
-import net.sf.ehcache.Element;
-
-class ActionSelect extends BaseAction {
-
-	ActionResult<Wo> execute(EffectivePerson effectivePerson, String queryFlag, JsonElement jsonElement)
-			throws Exception {
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			ActionResult<Wo> result = new ActionResult<>();
-			Wi wi = this.convertToWrapIn(jsonElement, Wi.class);
-			Business business = new Business(emc);
-			Query query = emc.flag(queryFlag, Query.class );
-			if (null == query) {
-				throw new ExceptionQueryNotExist(queryFlag);
-			}
-			if (!business.editable(effectivePerson, query)) {
-				throw new ExceptionQueryAccessDenied(effectivePerson.getDistinguishedName(), query.getName());
-			}
-			WrapQuery wrapQuery = this.get(business, query, wi);
-			CacheObject cacheObject = new CacheObject();
-			cacheObject.setName(query.getName());
-			cacheObject.setQuery(wrapQuery);
-			String flag = StringTools.uniqueToken();
-			this.cache.put(new Element(flag, cacheObject));
-			Wo wo = XGsonBuilder.convert(wrapQuery, Wo.class);
-			wo.setFlag(flag);
-			result.setData(wo);
-			return result;
-		}
-	}
-
-	private WrapQuery get(Business business, Query query, Wi wi) throws Exception {
-		WrapQuery wo = WrapQuery.outCopier.copy(query);
-		wo.setViewList(WrapView.outCopier.copy(business.entityManagerContainer().list(View.class, wi.listViewId())));
-		wo.setStatList(WrapStat.outCopier.copy(business.entityManagerContainer().list(Stat.class, wi.listStatId())));
-		wo.setRevealList(
-				WrapReveal.outCopier.copy(business.entityManagerContainer().list(Reveal.class, wi.listRevealId())));
-		wo.setTableList(WrapTable.outCopier.copy(business.entityManagerContainer().list(Table.class, wi.listTableId())));
-		wo.setStatementList(WrapStatement.outCopier.copy(business.entityManagerContainer().list(Statement.class, wi.listStatementId())));
-		return wo;
-	}
-
-	// private List<WrapView> listView(Business business, Query query, Wi wi) throws
-	// Exception {
-	// List<WrapView> wos = new ArrayList<>();
-	// for (WrapView wrap : wi.getViewList()) {
-	// View o = business.entityManagerContainer().find(wrap.getId(), View.class);
-	// if (null == o) {
-	// throw new ExceptionViewNotExist(wrap.getId());
-	// }
-	// wos.add(WrapView.outCopier.copy(o));
-	// }
-	//
-	// // List<String> ids = business.view().listWithQuery(query.getId());
-	// // if (!StringUtils.equals("*", wi.getViewList().get(0))) {
-	// // ids = ListUtils.intersection(ids, wi.getViewList());
-	// // }
-	// // for (String id : ListTools.trim(ids, true, true)) {
-	// // View o = business.entityManagerContainer().find(id, View.class);
-	// // if (null == o) {
-	// // throw new ExceptionViewNotExist(id);
-	// // }
-	// // wos.add(WrapView.outCopier.copy(o));
-	// // }
-	// return wos;
-	// }
-	//
-	// private List<WrapStat> listStat(Business business, Query query, Wi wi) throws
-	// Exception {
-	// List<WrapStat> wos = new ArrayList<>();
-	// for (String id : ListTools.trim(ids, true, true)) {
-	// Stat o = business.entityManagerContainer().find(id, Stat.class);
-	// if (null == o) {
-	// throw new ExceptionStatNotExist(id);
-	// }
-	// wos.add(WrapStat.outCopier.copy(o));
-	// }
-	// return wos;
-	// }
-	//
-	// private List<WrapReveal> listReveal(Business business, Query query, Wi wi)
-	// throws Exception {
-	// List<WrapReveal> wos = new ArrayList<>();
-	// if (ListTools.isEmpty(wi.getRevealList())) {
-	// return wos;
-	// }
-	// List<String> ids = business.reveal().listWithQuery(query.getId());
-	// if (!StringUtils.equals("*", wi.getRevealList().get(0))) {
-	// ids = ListUtils.intersection(ids, wi.getRevealList());
-	// }
-	// for (String id : ListTools.trim(ids, true, true)) {
-	// Reveal o = business.entityManagerContainer().find(id, Reveal.class);
-	// if (null == o) {
-	// throw new ExceptionRevealNotExist(id);
-	// }
-	// wos.add(WrapReveal.outCopier.copy(o));
-	// }
-	// return wos;
-	// }
-
-	public static class Wi extends WrapQuery {
-
-		private static final long serialVersionUID = -5670907699997607096L;
-
-	}
-
-	public static class Wo extends WrapQuery {
-
-		private static final long serialVersionUID = -1130848016754973977L;
-		@FieldDescribe("返回标识")
-		private String flag;
-
-		public String getFlag() {
-			return flag;
-		}
-
-		public void setFlag(String flag) {
-			this.flag = flag;
-		}
-
-	}
-
-}

+ 0 - 40
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/output/ActionSelectFile.java

@@ -1,40 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.output;
-
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.jaxrs.WoFile;
-import com.x.base.core.project.tools.DefaultCharset;
-
-import net.sf.ehcache.Element;
-
-class ActionSelectFile extends BaseAction {
-
-	private static String extension = ".xapp";
-
-	ActionResult<Wo> execute(EffectivePerson effectivePerson, String flag) throws Exception {
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			ActionResult<Wo> result = new ActionResult<>();
-			Element element = cache.get(flag);
-			if (null == element || null == element.getObjectValue()) {
-				throw new ExceptionFlagNotExist(flag);
-			}
-			CacheObject cacheObject = (CacheObject) element.getObjectValue();
-			Wo wo = new Wo(gson.toJson(cacheObject.getQuery()).getBytes(DefaultCharset.name),
-					this.contentType(true, cacheObject.getName() + extension),
-					this.contentDisposition(true, cacheObject.getName() + extension));
-			result.setData(wo);
-			return result;
-		}
-	}
-
-	public static class Wo extends WoFile {
-
-		public Wo(byte[] bytes, String contentType, String contentDisposition) {
-			super(bytes, contentType, contentDisposition);
-		}
-
-	}
-
-}

+ 0 - 37
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/output/BaseAction.java

@@ -1,37 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.output;
-
-import com.x.base.core.project.cache.ApplicationCache;
-import com.x.base.core.project.jaxrs.StandardJaxrsAction;
-import com.x.query.core.entity.wrap.WrapQuery;
-
-import net.sf.ehcache.Ehcache;
-
-abstract class BaseAction extends StandardJaxrsAction {
-
-	protected Ehcache cache = ApplicationCache.instance().getCache(CacheObject.class);
-
-	public static class CacheObject {
-
-		private String name;
-
-		private WrapQuery query;
-
-		public String getName() {
-			return name;
-		}
-
-		public void setName(String name) {
-			this.name = name;
-		}
-
-		public WrapQuery getQuery() {
-			return query;
-		}
-
-		public void setQuery(WrapQuery query) {
-			this.query = query;
-		}
-
-	}
-
-}

+ 0 - 12
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/output/ExceptionFlagNotExist.java

@@ -1,12 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.output;
-
-import com.x.base.core.project.exception.PromptException;
-
-class ExceptionFlagNotExist extends PromptException {
-
-	private static final long serialVersionUID = -9089355008820123519L;
-
-	ExceptionFlagNotExist(String flag) {
-		super("下载标识: {} 不存在.", flag);
-	}
-}

+ 0 - 13
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/output/ExceptionQueryAccessDenied.java

@@ -1,13 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.output;
-
-import com.x.base.core.project.exception.PromptException;
-
-class ExceptionQueryAccessDenied extends PromptException {
-
-	private static final long serialVersionUID = -5515077418025884395L;
-
-	ExceptionQueryAccessDenied(String person, String name) {
-		super("用户:{} 访问查询: {}, 被拒绝.", person, name);
-	}
-
-}

+ 0 - 12
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/output/ExceptionQueryNotExist.java

@@ -1,12 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.output;
-
-import com.x.base.core.project.exception.PromptException;
-
-class ExceptionQueryNotExist extends PromptException {
-
-	private static final long serialVersionUID = -9089355008820123519L;
-
-	ExceptionQueryNotExist(String flag) {
-		super("站点:{}不存在.", flag);
-	}
-}

+ 0 - 12
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/output/ExceptionRevealNotExist.java

@@ -1,12 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.output;
-
-import com.x.base.core.project.exception.PromptException;
-
-class ExceptionRevealNotExist extends PromptException {
-
-	private static final long serialVersionUID = -9089355008820123519L;
-
-	ExceptionRevealNotExist(String flag) {
-		super("展现: {} 不存在.", flag);
-	}
-}

+ 0 - 12
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/output/ExceptionSelectNotExist.java

@@ -1,12 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.output;
-
-import com.x.base.core.project.exception.PromptException;
-
-class ExceptionSelectNotExist extends PromptException {
-
-	private static final long serialVersionUID = -9089355008820123519L;
-
-	ExceptionSelectNotExist(String flag) {
-		super("数据集: {} 不存在.", flag);
-	}
-}

+ 0 - 12
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/output/ExceptionStatNotExist.java

@@ -1,12 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.output;
-
-import com.x.base.core.project.exception.PromptException;
-
-class ExceptionStatNotExist extends PromptException {
-
-	private static final long serialVersionUID = -9089355008820123519L;
-
-	ExceptionStatNotExist(String flag) {
-		super("统计: {} 不存在.", flag);
-	}
-}

+ 0 - 12
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/output/ExceptionViewNotExist.java

@@ -1,12 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.output;
-
-import com.x.base.core.project.exception.PromptException;
-
-class ExceptionViewNotExist extends PromptException {
-
-	private static final long serialVersionUID = -9089355008820123519L;
-
-	ExceptionViewNotExist(String flag) {
-		super("视图: {} 不存在.", flag);
-	}
-}

+ 0 - 87
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/output/OutputAction.java

@@ -1,87 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.output;
-
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-
-import com.google.gson.JsonElement;
-import com.x.base.core.project.annotation.JaxrsDescribe;
-import com.x.base.core.project.annotation.JaxrsMethodDescribe;
-import com.x.base.core.project.annotation.JaxrsParameterDescribe;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.http.HttpMediaType;
-import com.x.base.core.project.jaxrs.ResponseFactory;
-import com.x.base.core.project.jaxrs.StandardJaxrsAction;
-import com.x.base.core.project.logger.Logger;
-import com.x.base.core.project.logger.LoggerFactory;
-
-@Path("output")
-@JaxrsDescribe("导出")
-public class OutputAction extends StandardJaxrsAction {
-
-	private static Logger logger = LoggerFactory.getLogger(OutputAction.class);
-
-	@JaxrsMethodDescribe(value = "选择查询.", action = ActionSelect.class)
-	@PUT
-	@Path("{queryFlag}/select")
-	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
-	@Consumes(MediaType.APPLICATION_JSON)
-	public void select(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
-			@JaxrsParameterDescribe("查询标识") @PathParam("queryFlag") String queryFlag, JsonElement jsonElement) {
-		ActionResult<ActionSelect.Wo> result = new ActionResult<>();
-		EffectivePerson effectivePerson = this.effectivePerson(request);
-		try {
-			result = new ActionSelect().execute(effectivePerson, queryFlag, jsonElement);
-		} catch (Exception e) {
-			logger.error(e, effectivePerson, request, jsonElement);
-			result.error(e);
-		}
-		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
-	}
-
-	@JaxrsMethodDescribe(value = "以文件方式导出应用.", action = ActionSelectFile.class)
-	@GET
-	@Path("{flag}/select/file")
-	@Consumes(MediaType.APPLICATION_JSON)
-	public void selectOutput(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
-			@JaxrsParameterDescribe("输出文件标识") @PathParam("flag") String flag) {
-		ActionResult<ActionSelectFile.Wo> result = new ActionResult<>();
-		EffectivePerson effectivePerson = this.effectivePerson(request);
-		try {
-			result = new ActionSelectFile().execute(effectivePerson, flag);
-		} catch (Exception e) {
-			logger.error(e, effectivePerson, request, null);
-			result.error(e);
-		}
-		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
-	}
-
-	@JaxrsMethodDescribe(value = "查看所有应用.", action = ActionList.class)
-	@GET
-	@Path("list")
-	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
-	@Consumes(MediaType.APPLICATION_JSON)
-	public void list(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request) {
-		ActionResult<List<ActionList.Wo>> result = new ActionResult<>();
-		EffectivePerson effectivePerson = this.effectivePerson(request);
-		try {
-			result = new ActionList().execute(effectivePerson);
-		} catch (Exception e) {
-			logger.error(e, effectivePerson, request, null);
-			result.error(e);
-		}
-		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
-	}
-
-}

+ 0 - 74
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/ActionCreate.java

@@ -1,74 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.query;
-
-import java.util.Date;
-
-import org.apache.commons.lang3.StringUtils;
-
-import com.google.gson.JsonElement;
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.entity.JpaObject;
-import com.x.base.core.entity.annotation.CheckPersistType;
-import com.x.base.core.project.bean.WrapCopier;
-import com.x.base.core.project.bean.WrapCopierFactory;
-import com.x.base.core.project.cache.ApplicationCache;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.jaxrs.WoId;
-import com.x.base.core.project.logger.Logger;
-import com.x.base.core.project.logger.LoggerFactory;
-import com.x.base.core.project.tools.ListTools;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.Query;
-
-class ActionCreate extends BaseAction {
-
-	private static Logger logger = LoggerFactory.getLogger(ActionCreate.class);
-
-	ActionResult<Wo> execute(EffectivePerson effectivePerson, JsonElement jsonElement) throws Exception {
-		logger.debug(effectivePerson, "jsonElement:{}.", jsonElement);
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			ActionResult<Wo> result = new ActionResult<>();
-			Wi wi = this.convertToWrapIn(jsonElement, Wi.class);
-			Business business = new Business(emc);
-			if (!business.controllable(effectivePerson)) {
-				throw new ExceptionAccessDenied(effectivePerson.getDistinguishedName());
-			}
-			emc.beginTransaction(Query.class);
-			Query query = new Query();
-			Wi.copier.copy(wi, query);
-			if (!this.idleId(business, query)) {
-				throw new ExceptionIdExist(query.getId());
-			}
-			if (!this.idleName(business, query)) {
-				throw new ExceptionNameExist(query.getName());
-			}
-			if (StringUtils.isNotEmpty(query.getAlias()) && (!this.idleAlias(business, query))) {
-				throw new ExceptionAliasExist(query.getAlias());
-			}
-			query.setCreatorPerson(effectivePerson.getDistinguishedName());
-			query.setLastUpdatePerson(effectivePerson.getDistinguishedName());
-			query.setLastUpdateTime(new Date());
-			emc.persist(query, CheckPersistType.all);
-			emc.commit();
-			ApplicationCache.notify(Query.class);
-			Wo wo = new Wo();
-			wo.setId(query.getId());
-			result.setData(wo);
-			return result;
-		}
-	}
-
-	public static class Wo extends WoId {
-	}
-
-	public static class Wi extends Query {
-
-		private static final long serialVersionUID = -5237741099036357033L;
-
-		static WrapCopier<Wi, Query> copier = WrapCopierFactory.wi(Wi.class, Query.class, null,
-				ListTools.toList(JpaObject.FieldsUnmodifyExcludeId, Query.creatorPerson_FIELDNAME,
-						Query.lastUpdatePerson_FIELDNAME, Query.lastUpdateTime_FIELDNAME));
-
-	}
-}

+ 0 - 107
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/ActionDelete.java

@@ -1,107 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.query;
-
-import java.util.List;
-
-import javax.persistence.EntityManager;
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
-
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.entity.annotation.CheckRemoveType;
-import com.x.base.core.project.cache.ApplicationCache;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.jaxrs.WoId;
-import com.x.base.core.project.logger.Logger;
-import com.x.base.core.project.logger.LoggerFactory;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.Query;
-import com.x.query.core.entity.Reveal;
-import com.x.query.core.entity.Reveal_;
-import com.x.query.core.entity.Stat;
-import com.x.query.core.entity.Stat_;
-import com.x.query.core.entity.View;
-import com.x.query.core.entity.View_;
-
-class ActionDelete extends BaseAction {
-
-	private static Logger logger = LoggerFactory.getLogger(ActionDelete.class);
-
-	ActionResult<Wo> execute(EffectivePerson effectivePerson, String flag) throws Exception {
-		logger.debug(effectivePerson, "flag:{}.", flag);
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			ActionResult<Wo> result = new ActionResult<>();
-			Business business = new Business(emc);
-			Query query = emc.flag(flag, Query.class);
-			if (null == query) {
-				throw new ExceptionQueryNotExist(flag);
-			}
-			if (!business.editable(effectivePerson, query)) {
-				throw new ExceptionQueryAccessDenied(effectivePerson.getDistinguishedName(), query.getName(),
-						query.getId());
-			}
-			emc.beginTransaction(View.class);
-			for (View _o : this.listView(business, query)) {
-				emc.remove(_o, CheckRemoveType.all);
-			}
-			emc.commit();
-			emc.beginTransaction(Stat.class);
-			for (Stat _o : this.listStat(business, query)) {
-				emc.remove(_o, CheckRemoveType.all);
-			}
-			emc.commit();
-			emc.beginTransaction(Reveal.class);
-			for (Reveal _o : this.listReveal(business, query)) {
-				emc.remove(_o, CheckRemoveType.all);
-			}
-			emc.commit();
-			emc.beginTransaction(Query.class);
-			emc.remove(query, CheckRemoveType.all);
-			emc.commit();
-			ApplicationCache.notify(View.class);
-			ApplicationCache.notify(Stat.class);
-			ApplicationCache.notify(Reveal.class);
-			ApplicationCache.notify(Query.class);
-			Wo wo = new Wo();
-			wo.setId(query.getId());
-			result.setData(wo);
-			return result;
-		}
-	}
-
-	private List<View> listView(Business business, Query query) throws Exception {
-		EntityManager em = business.entityManagerContainer().get(View.class);
-		CriteriaBuilder cb = em.getCriteriaBuilder();
-		CriteriaQuery<View> cq = cb.createQuery(View.class);
-		Root<View> root = cq.from(View.class);
-		Predicate p = cb.equal(root.get(View_.query), query.getId());
-		List<View> os = em.createQuery(cq.select(root).where(p)).getResultList();
-		return os;
-	}
-
-	private List<Stat> listStat(Business business, Query query) throws Exception {
-		EntityManager em = business.entityManagerContainer().get(Stat.class);
-		CriteriaBuilder cb = em.getCriteriaBuilder();
-		CriteriaQuery<Stat> cq = cb.createQuery(Stat.class);
-		Root<Stat> root = cq.from(Stat.class);
-		Predicate p = cb.equal(root.get(Stat_.query), query.getId());
-		List<Stat> os = em.createQuery(cq.select(root).where(p)).getResultList();
-		return os;
-	}
-
-	private List<Reveal> listReveal(Business business, Query query) throws Exception {
-		EntityManager em = business.entityManagerContainer().get(Reveal.class);
-		CriteriaBuilder cb = em.getCriteriaBuilder();
-		CriteriaQuery<Reveal> cq = cb.createQuery(Reveal.class);
-		Root<Reveal> root = cq.from(Reveal.class);
-		Predicate p = cb.equal(root.get(Reveal_.query), query.getId());
-		List<Reveal> os = em.createQuery(cq.select(root).where(p)).getResultList();
-		return os;
-	}
-
-	public static class Wo extends WoId {
-	}
-}

+ 0 - 75
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/ActionEdit.java

@@ -1,75 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.query;
-
-import java.util.Date;
-
-import org.apache.commons.lang3.StringUtils;
-
-import com.google.gson.JsonElement;
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.entity.JpaObject;
-import com.x.base.core.entity.annotation.CheckPersistType;
-import com.x.base.core.project.bean.WrapCopier;
-import com.x.base.core.project.bean.WrapCopierFactory;
-import com.x.base.core.project.cache.ApplicationCache;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.jaxrs.WoId;
-import com.x.base.core.project.logger.Logger;
-import com.x.base.core.project.logger.LoggerFactory;
-import com.x.base.core.project.tools.ListTools;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.Query;
-
-class ActionEdit extends BaseAction {
-
-	private static Logger logger = LoggerFactory.getLogger(ActionEdit.class);
-
-	ActionResult<Wo> execute(EffectivePerson effectivePerson, String flag, JsonElement jsonElement) throws Exception {
-		logger.debug(effectivePerson, "jsonElement:{}.", jsonElement);
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			ActionResult<Wo> result = new ActionResult<>();
-			Wi wi = this.convertToWrapIn(jsonElement, Wi.class);
-			Business business = new Business(emc);
-			Query query = emc.flag(flag, Query.class);
-			if (null == query) {
-				throw new ExceptionQueryNotExist(flag);
-			}
-			if (!business.editable(effectivePerson, query)) {
-				throw new ExceptionQueryAccessDenied(effectivePerson.getDistinguishedName(), query.getName(),
-						query.getId());
-			}
-			emc.beginTransaction(Query.class);
-
-			Wi.copier.copy(wi, query);
-			if (!this.idleName(business, query)) {
-				throw new ExceptionNameExist(query.getName());
-			}
-			if (StringUtils.isNotEmpty(query.getAlias()) && (!this.idleAlias(business, query))) {
-				throw new ExceptionAliasExist(query.getAlias());
-			}
-			query.setLastUpdatePerson(effectivePerson.getDistinguishedName());
-			query.setLastUpdateTime(new Date());
-			emc.check(query, CheckPersistType.all);
-			emc.commit();
-			ApplicationCache.notify(Query.class);
-			Wo wo = new Wo();
-			wo.setId(query.getId());
-			result.setData(wo);
-			return result;
-		}
-	}
-
-	public static class Wo extends WoId {
-	}
-
-	public static class Wi extends Query {
-
-		private static final long serialVersionUID = -5237741099036357033L;
-
-		static WrapCopier<Wi, Query> copier = WrapCopierFactory.wi(Wi.class, Query.class, null,
-				ListTools.toList(JpaObject.FieldsUnmodify, Query.creatorPerson_FIELDNAME,
-						Query.lastUpdatePerson_FIELDNAME, Query.lastUpdateTime_FIELDNAME));
-
-	}
-}

+ 0 - 47
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/ActionGet.java

@@ -1,47 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.query;
-
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.entity.JpaObject;
-import com.x.base.core.project.bean.WrapCopier;
-import com.x.base.core.project.bean.WrapCopierFactory;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.logger.Logger;
-import com.x.base.core.project.logger.LoggerFactory;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.Query;
-
-class ActionGet extends BaseAction {
-
-	private static Logger logger = LoggerFactory.getLogger(ActionGet.class);
-
-	ActionResult<Wo> execute(EffectivePerson effectivePerson, String flag) throws Exception {
-		logger.debug(effectivePerson, "flag:{}.", flag);
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			ActionResult<Wo> result = new ActionResult<>();
-			Business business = new Business(emc);
-			Query query = emc.flag(flag, Query.class );
-			if (null == query) {
-				throw new ExceptionQueryNotExist(flag);
-			}
-			if (!business.editable(effectivePerson, query)) {
-				throw new ExceptionQueryAccessDenied(effectivePerson.getDistinguishedName(), query.getName(),
-						query.getId());
-			}
-			Wo wo = Wo.copier.copy(query);
-			result.setData(wo);
-			return result;
-		}
-	}
-
-	public static class Wo extends Query {
-
-		private static final long serialVersionUID = 2886873983211744188L;
-
-		static WrapCopier<Query, Wo> copier = WrapCopierFactory.wo(Query.class, Wo.class, null,
-				JpaObject.FieldsInvisible);
-
-	}
-
-}

+ 0 - 47
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/ActionIcon.java

@@ -1,47 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.query;
-
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.entity.JpaObject;
-import com.x.base.core.project.bean.WrapCopier;
-import com.x.base.core.project.bean.WrapCopierFactory;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.logger.Logger;
-import com.x.base.core.project.logger.LoggerFactory;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.Query;
-
-class ActionIcon extends BaseAction {
-
-	private static Logger logger = LoggerFactory.getLogger(ActionIcon.class);
-
-	ActionResult<Wo> execute(EffectivePerson effectivePerson, String flag) throws Exception {
-		logger.debug(effectivePerson, "flag:{}.", flag);
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			ActionResult<Wo> result = new ActionResult<>();
-			Business business = new Business(emc);
-			Query query = emc.flag(flag, Query.class );
-			if (null == query) {
-				throw new ExceptionQueryNotExist(flag);
-			}
-			if (!business.editable(effectivePerson, query)) {
-				throw new ExceptionQueryAccessDenied(effectivePerson.getDistinguishedName(), query.getName(),
-						query.getId());
-			}
-			Wo wo = Wo.copier.copy(query);
-			result.setData(wo);
-			return result;
-		}
-	}
-
-	public static class Wo extends Query {
-
-		private static final long serialVersionUID = 2886873983211744188L;
-
-		static WrapCopier<Query, Wo> copier = WrapCopierFactory.wo(Query.class, Wo.class, null,
-				JpaObject.FieldsInvisible);
-
-	}
-
-}

+ 0 - 104
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/ActionListAll.java

@@ -1,104 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.query;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.entity.JpaObject;
-import com.x.base.core.project.bean.WrapCopier;
-import com.x.base.core.project.bean.WrapCopierFactory;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.logger.Logger;
-import com.x.base.core.project.logger.LoggerFactory;
-import com.x.base.core.project.organization.OrganizationDefinition;
-import com.x.base.core.project.tools.ListTools;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.Query;
-import com.x.query.core.entity.Stat;
-import com.x.query.core.entity.View;
-
-class ActionListAll extends BaseAction {
-
-	private static Logger logger = LoggerFactory.getLogger(ActionListAll.class);
-
-	ActionResult<List<Wo>> execute(EffectivePerson effectivePerson) throws Exception {
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			logger.debug(effectivePerson, effectivePerson.getDistinguishedName());
-			Business business = new Business(emc);
-			if (!business.controllable(effectivePerson)) {
-				throw new ExceptionAccessDenied(effectivePerson.getDistinguishedName());
-			}
-			ActionResult<List<Wo>> result = new ActionResult<>();
-			List<Wo> wos = this.list(business, effectivePerson);
-			List<String> ids = ListTools.extractProperty(wos, Query.id_FIELDNAME, String.class, true, true);
-			List<WoView> woViews = emc.fetchIn(View.class, WoView.copier, View.query_FIELDNAME, ids);
-			List<WoStat> woStats = emc.fetchIn(Stat.class, WoStat.copier, View.query_FIELDNAME, ids);
-			ListTools.groupStick(wos, woViews, Query.id_FIELDNAME, View.query_FIELDNAME, "viewList");
-			ListTools.groupStick(wos, woStats, Query.id_FIELDNAME, Stat.query_FIELDNAME, "statList");
-			wos = business.query().sort(wos);
-			result.setData(wos);
-			return result;
-		}
-	}
-
-	private List<Wo> list(Business business, EffectivePerson effectivePerson) throws Exception {
-		List<Wo> wos = new ArrayList<>();
-		if (effectivePerson.isManager() || business.organization().person().hasRole(effectivePerson,
-				OrganizationDefinition.Manager, OrganizationDefinition.QueryManager)) {
-			wos = business.entityManagerContainer().fetchAll(Query.class, Wo.copier);
-		} else {
-			wos = business.entityManagerContainer().fetchEuqalOrIsMember(Query.class, Wo.copier,
-					Query.creatorPerson_FIELDNAME, effectivePerson.getDistinguishedName(),
-					Query.controllerList_FIELDNAME, effectivePerson.getDistinguishedName());
-		}
-		return wos;
-	}
-
-	public static class Wo extends Query {
-
-		private static final long serialVersionUID = 2886873983211744188L;
-
-		static WrapCopier<Query, Wo> copier = WrapCopierFactory.wo(Query.class, Wo.class, null,
-				ListTools.toList(JpaObject.FieldsInvisible, Query.controllerList_FIELDNAME, Query.availableIdentityList_FIELDNAME, Query.availableUnitList_FIELDNAME));
-
-		private List<WoView> viewList = new ArrayList<>();
-
-		private List<WoStat> statList = new ArrayList<>();
-
-		public List<WoView> getViewList() {
-			return viewList;
-		}
-
-		public void setViewList(List<WoView> viewList) {
-			this.viewList = viewList;
-		}
-
-		public List<WoStat> getStatList() {
-			return statList;
-		}
-
-		public void setStatList(List<WoStat> statList) {
-			this.statList = statList;
-		}
-
-	}
-
-	public static class WoView extends View {
-
-		private static final long serialVersionUID = 1439909268641168987L;
-
-		static WrapCopier<View, WoView> copier = WrapCopierFactory.wo(View.class, WoView.class, ListTools
-				.toList(View.id_FIELDNAME, View.name_FIELDNAME, View.query_FIELDNAME, View.updateTime_FIELDNAME), null);
-
-	}
-
-	public static class WoStat extends Stat {
-
-		private static final long serialVersionUID = 1513668573527819003L;
-
-		static WrapCopier<Stat, WoStat> copier = WrapCopierFactory.wo(Stat.class, WoStat.class, ListTools
-				.toList(Stat.id_FIELDNAME, Stat.name_FIELDNAME, Stat.query_FIELDNAME, Stat.updateTime_FIELDNAME), null);
-	}
-}

+ 0 - 91
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/ActionListQueryCategory.java

@@ -1,91 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.query;
-
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.stream.Collectors;
-
-import javax.persistence.EntityManager;
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Root;
-
-import org.apache.commons.lang3.StringUtils;
-
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.project.gson.GsonPropertyObject;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.logger.Logger;
-import com.x.base.core.project.logger.LoggerFactory;
-import com.x.base.core.project.tools.StringTools;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.Query;
-import com.x.query.core.entity.Query_;
-
-class ActionListQueryCategory extends BaseAction {
-
-	private static Logger logger = LoggerFactory.getLogger(ActionListQueryCategory.class);
-
-	ActionResult<List<Wo>> execute(EffectivePerson effectivePerson) throws Exception {
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			logger.debug(effectivePerson, effectivePerson.getDistinguishedName());
-			Business business = new Business(emc);
-			if (!business.controllable(effectivePerson)) {
-				throw new ExceptionAccessDenied(effectivePerson.getDistinguishedName());
-			}
-			ActionResult<List<Wo>> result = new ActionResult<>();
-			List<Wo> wos = new ArrayList<>();
-			List<String> os = this.list(business);
-
-			Map<String, Long> map = os.stream().collect(Collectors.groupingBy(o -> {
-				return StringUtils.trimToEmpty(o);
-			}, Collectors.counting()));
-			for (Entry<String, Long> en : map.entrySet()) {
-				Wo wo = new Wo();
-				wo.setName(en.getKey());
-				wo.setCount(en.getValue());
-				wos.add(wo);
-			}
-			wos = wos.stream().sorted(Comparator.comparing(Wo::getName, StringTools.emptyLastComparator()))
-					.collect(Collectors.toList());
-			result.setData(wos);
-			return result;
-		}
-	}
-
-	private List<String> list(Business business) throws Exception {
-		EntityManager em = business.entityManagerContainer().get(Query.class);
-		CriteriaBuilder cb = em.getCriteriaBuilder();
-		CriteriaQuery<String> cq = cb.createQuery(String.class);
-		Root<Query> root = cq.from(Query.class);
-		List<String> os = em.createQuery(cq.select(root.get(Query_.queryCategory))).getResultList();
-		return os;
-	}
-
-	public static class Wo extends GsonPropertyObject {
-
-		private String name;
-		private Long count;
-
-		public String getName() {
-			return name;
-		}
-
-		public void setName(String name) {
-			this.name = name;
-		}
-
-		public Long getCount() {
-			return count;
-		}
-
-		public void setCount(Long count) {
-			this.count = count;
-		}
-	}
-
-}

+ 0 - 100
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/ActionListSummary.java

@@ -1,100 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.query;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.project.annotation.FieldDescribe;
-import com.x.base.core.project.bean.WrapCopier;
-import com.x.base.core.project.bean.WrapCopierFactory;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.organization.OrganizationDefinition;
-import com.x.base.core.project.tools.ListTools;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.Query;
-import com.x.query.core.entity.Stat;
-import com.x.query.core.entity.View;
-
-class ActionListSummary extends BaseAction {
-
-	ActionResult<List<Wo>> execute(EffectivePerson effectivePerson) throws Exception {
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			ActionResult<List<Wo>> result = new ActionResult<>();
-			Business business = new Business(emc);
-			List<Wo> wos = this.list(business, effectivePerson);
-			List<String> ids = ListTools.extractProperty(wos, Query.id_FIELDNAME, String.class, true, true);
-			List<WoView> woViews = emc.fetchIn(View.class, WoView.copier, View.query_FIELDNAME, ids);
-			List<WoStat> woStats = emc.fetchIn(Stat.class, WoStat.copier, View.query_FIELDNAME, ids);
-			ListTools.groupStick(wos, woViews, Query.id_FIELDNAME, View.query_FIELDNAME, "woViewList");
-			ListTools.groupStick(wos, woStats, Query.id_FIELDNAME, Stat.query_FIELDNAME, "woStatList");
-			result.setData(wos);
-			return result;
-		}
-	}
-
-	private List<Wo> list(Business business, EffectivePerson effectivePerson) throws Exception {
-		List<Wo> wos = new ArrayList<>();
-		if (effectivePerson.isManager() || business.organization().person().hasRole(effectivePerson,
-				OrganizationDefinition.Manager, OrganizationDefinition.QueryManager)) {
-			wos = business.entityManagerContainer().fetchAll(Query.class, Wo.copier);
-		} else {
-			wos = business.entityManagerContainer().fetchEuqalOrIsMember(Query.class, Wo.copier,
-					Query.creatorPerson_FIELDNAME, effectivePerson.getDistinguishedName(),
-					Query.controllerList_FIELDNAME, effectivePerson.getDistinguishedName());
-		}
-		return wos;
-	}
-
-	public static class Wo extends Query {
-
-		private static final long serialVersionUID = -7648824521711153693L;
-
-		static WrapCopier<Query, Wo> copier = WrapCopierFactory.wo(Query.class, Wo.class,
-				ListTools.toList(Query.id_FIELDNAME, Query.name_FIELDNAME, Query.description_FIELDNAME,
-						Query.queryCategory_FIELDNAME, Query.updateTime_FIELDNAME),
-				null);
-
-		@FieldDescribe("视图对象")
-		private List<WoView> woViewList = new ArrayList<>();
-
-		@FieldDescribe("统计对象")
-		private List<WoStat> woStatList = new ArrayList<>();
-
-		public List<WoView> getWoViewList() {
-			return woViewList;
-		}
-
-		public void setWoViewList(List<WoView> woViewList) {
-			this.woViewList = woViewList;
-		}
-
-		public List<WoStat> getWoStatList() {
-			return woStatList;
-		}
-
-		public void setWoStatList(List<WoStat> woStatList) {
-			this.woStatList = woStatList;
-		}
-
-	}
-
-	public static class WoView extends View {
-
-		private static final long serialVersionUID = 1439909268641168987L;
-
-		static WrapCopier<View, WoView> copier = WrapCopierFactory.wo(View.class, WoView.class, ListTools
-				.toList(View.id_FIELDNAME, View.name_FIELDNAME, View.query_FIELDNAME, View.updateTime_FIELDNAME), null);
-
-	}
-
-	public static class WoStat extends Stat {
-
-		private static final long serialVersionUID = 1513668573527819003L;
-
-		static WrapCopier<Stat, WoStat> copier = WrapCopierFactory.wo(Stat.class, WoStat.class, ListTools
-				.toList(Stat.id_FIELDNAME, Stat.name_FIELDNAME, Stat.query_FIELDNAME, Stat.updateTime_FIELDNAME), null);
-	}
-
-}

+ 0 - 129
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/ActionListSummaryWithQueryCategory.java

@@ -1,129 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.query;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
-
-import javax.persistence.EntityManager;
-import javax.persistence.Tuple;
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
-import javax.persistence.criteria.Selection;
-
-import org.apache.commons.beanutils.PropertyUtils;
-
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.entity.JpaObject;
-import com.x.base.core.project.annotation.FieldDescribe;
-import com.x.base.core.project.bean.WrapCopier;
-import com.x.base.core.project.bean.WrapCopierFactory;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.organization.OrganizationDefinition;
-import com.x.base.core.project.tools.ListTools;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.Query;
-import com.x.query.core.entity.Stat;
-import com.x.query.core.entity.View;
-
-class ActionListSummaryWithQueryCategory extends BaseAction {
-
-	ActionResult<List<Wo>> execute(EffectivePerson effectivePerson, String queryCategory) throws Exception {
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			ActionResult<List<Wo>> result = new ActionResult<>();
-			Business business = new Business(emc);
-			List<Wo> wos = this.list(business, effectivePerson, queryCategory);
-			List<String> ids = ListTools.extractProperty(wos, Query.id_FIELDNAME, String.class, true, true);
-			List<WoView> woViews = emc.fetchIn(View.class, WoView.copier, View.query_FIELDNAME, ids);
-			List<WoStat> woStats = emc.fetchIn(Stat.class, WoStat.copier, View.query_FIELDNAME, ids);
-			ListTools.groupStick(wos, woViews, Query.id_FIELDNAME, View.query_FIELDNAME, "woViewList");
-			ListTools.groupStick(wos, woStats, Query.id_FIELDNAME, Stat.query_FIELDNAME, "woStatList");
-			result.setData(wos);
-			return result;
-		}
-	}
-
-	private List<Wo> list(Business business, EffectivePerson effectivePerson, String queryCategory) throws Exception {
-		List<Wo> list = new ArrayList<>();
-		List<String> fields = ListTools.trim(Wo.copier.getCopyFields(), true, true, JpaObject.id_FIELDNAME);
-		EntityManager em = business.entityManagerContainer().get(Query.class);
-		CriteriaBuilder cb = em.getCriteriaBuilder();
-		CriteriaQuery<Tuple> cq = cb.createQuery(Tuple.class);
-		Root<Query> root = cq.from(Query.class);
-		List<Selection<?>> selections = new ArrayList<>();
-		for (String str : fields) {
-			selections.add(root.get(str));
-		}
-		Predicate p = cb.equal(root.get(Query.queryCategory_FIELDNAME), Objects.toString(queryCategory, ""));
-		if (effectivePerson.isManager() || business.organization().person().hasRole(effectivePerson,
-				OrganizationDefinition.Manager, OrganizationDefinition.QueryManager)) {
-		} else {
-			p = cb.and(p, cb.or(
-					cb.equal(root.get(Query.creatorPerson_FIELDNAME), effectivePerson.getDistinguishedName()),
-					cb.isMember(effectivePerson.getDistinguishedName(), root.get(Query.controllerList_FIELDNAME))));
-		}
-		cq.multiselect(selections).where(p);
-		for (Tuple o : em.createQuery(cq).getResultList()) {
-			Query q = new Query();
-			for (int i = 0; i < fields.size(); i++) {
-				PropertyUtils.setProperty(q, fields.get(i), o.get(selections.get(i)));
-			}
-			list.add(Wo.copier.copy(q));
-		}
-		return list;
-	}
-
-	public static class Wo extends Query {
-
-		private static final long serialVersionUID = -7648824521711153693L;
-
-		static WrapCopier<Query, Wo> copier = WrapCopierFactory.wo(Query.class, Wo.class,
-				ListTools.toList(Query.id_FIELDNAME, Query.name_FIELDNAME, Query.description_FIELDNAME,
-						Query.queryCategory_FIELDNAME, Query.updateTime_FIELDNAME),
-				null);
-
-		@FieldDescribe("视图对象")
-		private List<WoView> woViewList = new ArrayList<>();
-
-		@FieldDescribe("统计对象")
-		private List<WoStat> woStatList = new ArrayList<>();
-
-		public List<WoView> getWoViewList() {
-			return woViewList;
-		}
-
-		public void setWoViewList(List<WoView> woViewList) {
-			this.woViewList = woViewList;
-		}
-
-		public List<WoStat> getWoStatList() {
-			return woStatList;
-		}
-
-		public void setWoStatList(List<WoStat> woStatList) {
-			this.woStatList = woStatList;
-		}
-
-	}
-
-	public static class WoView extends View {
-
-		private static final long serialVersionUID = 1439909268641168987L;
-
-		static WrapCopier<View, WoView> copier = WrapCopierFactory.wo(View.class, WoView.class, ListTools
-				.toList(View.id_FIELDNAME, View.name_FIELDNAME, View.query_FIELDNAME, View.updateTime_FIELDNAME), null);
-
-	}
-
-	public static class WoStat extends Stat {
-
-		private static final long serialVersionUID = 1513668573527819003L;
-
-		static WrapCopier<Stat, WoStat> copier = WrapCopierFactory.wo(Stat.class, WoStat.class, ListTools
-				.toList(Stat.id_FIELDNAME, Stat.name_FIELDNAME, Stat.query_FIELDNAME, Stat.updateTime_FIELDNAME), null);
-	}
-
-}

+ 0 - 175
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/ActionListWithQueryCategory.java

@@ -1,175 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.query;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.persistence.EntityManager;
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
-
-import org.apache.commons.lang3.StringUtils;
-
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.entity.JpaObject;
-import com.x.base.core.project.bean.WrapCopier;
-import com.x.base.core.project.bean.WrapCopierFactory;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.logger.Logger;
-import com.x.base.core.project.logger.LoggerFactory;
-import com.x.base.core.project.tools.ListTools;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.Query;
-import com.x.query.core.entity.Query_;
-import com.x.query.core.entity.Reveal;
-import com.x.query.core.entity.Reveal_;
-import com.x.query.core.entity.Stat;
-import com.x.query.core.entity.Stat_;
-import com.x.query.core.entity.View;
-import com.x.query.core.entity.View_;
-
-class ActionListWithQueryCategory extends BaseAction {
-
-	private static Logger logger = LoggerFactory.getLogger(ActionListWithQueryCategory.class);
-
-	ActionResult<List<Wo>> execute(EffectivePerson effectivePerson, String queryCategory) throws Exception {
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			logger.debug(effectivePerson, effectivePerson.getDistinguishedName());
-			Business business = new Business(emc);
-			if (!business.controllable(effectivePerson)) {
-				throw new ExceptionAccessDenied(effectivePerson.getDistinguishedName());
-			}
-			ActionResult<List<Wo>> result = new ActionResult<>();
-			List<Wo> wos = Wo.copier.copy(this.list(business, queryCategory));
-			List<String> ids = ListTools.extractField(wos, JpaObject.id_FIELDNAME, String.class, true, true);
-			List<WoView> views = WoView.copier.copy(this.listView(business, ids));
-			List<WoStat> stats = WoStat.copier.copy(this.listStat(business, ids));
-			List<WoReveal> reveals = WoReveal.copier.copy(this.listReveal(business, ids));
-			ListTools.groupStick(wos, views, Query.id_FIELDNAME, View.query_FIELDNAME, "viewList");
-			ListTools.groupStick(wos, stats, Query.id_FIELDNAME, Stat.query_FIELDNAME, "statList");
-			ListTools.groupStick(wos, reveals, Query.id_FIELDNAME, Reveal.query_FIELDNAME, "revealList");
-			wos.stream().forEach(o -> {
-				try {
-					o.setViewList(business.view().sort(o.getViewList()));
-					o.setStatList(business.stat().sort(o.getStatList()));
-					o.setRevealList(business.reveal().sort(o.getRevealList()));
-				} catch (Exception e) {
-					e.printStackTrace();
-				}
-			});
-			wos = business.query().sort(wos);
-			result.setData(wos);
-			return result;
-		}
-	}
-
-	private List<Query> list(Business business, String queryCategory) throws Exception {
-		String _category = StringUtils.trimToEmpty(queryCategory);
-		_category = StringUtils.equals(_category, EMPTY_SYMBOL) ? "" : _category;
-		EntityManager em = business.entityManagerContainer().get(Query.class);
-		CriteriaBuilder cb = em.getCriteriaBuilder();
-		CriteriaQuery<Query> cq = cb.createQuery(Query.class);
-		Root<Query> root = cq.from(Query.class);
-		Predicate p = cb.equal(root.get(Query_.queryCategory), _category);
-		List<Query> os = em.createQuery(cq.select(root).where(p)).getResultList();
-		return os;
-	}
-
-	private List<View> listView(Business business, List<String> queryIds) throws Exception {
-		EntityManager em = business.entityManagerContainer().get(View.class);
-		CriteriaBuilder cb = em.getCriteriaBuilder();
-		CriteriaQuery<View> cq = cb.createQuery(View.class);
-		Root<View> root = cq.from(View.class);
-		Predicate p = root.get(View_.query).in(queryIds);
-		List<View> os = em.createQuery(cq.select(root).where(p)).getResultList();
-		return os;
-	}
-
-	private List<Stat> listStat(Business business, List<String> queryIds) throws Exception {
-		EntityManager em = business.entityManagerContainer().get(Stat.class);
-		CriteriaBuilder cb = em.getCriteriaBuilder();
-		CriteriaQuery<Stat> cq = cb.createQuery(Stat.class);
-		Root<Stat> root = cq.from(Stat.class);
-		Predicate p = root.get(Stat_.query).in(queryIds);
-		List<Stat> os = em.createQuery(cq.select(root).where(p)).getResultList();
-		return os;
-	}
-
-	private List<Reveal> listReveal(Business business, List<String> queryIds) throws Exception {
-		EntityManager em = business.entityManagerContainer().get(Reveal.class);
-		CriteriaBuilder cb = em.getCriteriaBuilder();
-		CriteriaQuery<Reveal> cq = cb.createQuery(Reveal.class);
-		Root<Reveal> root = cq.from(Reveal.class);
-		Predicate p = root.get(Reveal_.query).in(queryIds);
-		List<Reveal> os = em.createQuery(cq.select(root).where(p)).getResultList();
-		return os;
-	}
-
-	public static class Wo extends Query {
-
-		private static final long serialVersionUID = 2886873983211744188L;
-
-		static WrapCopier<Query, Wo> copier = WrapCopierFactory.wo(Query.class, Wo.class,
-				JpaObject.singularAttributeField(View.class, true, false), null);
-
-		private List<WoView> viewList = new ArrayList<>();
-
-		private List<WoStat> statList = new ArrayList<>();
-
-		private List<WoReveal> revealList = new ArrayList<>();
-
-		public List<WoView> getViewList() {
-			return viewList;
-		}
-
-		public void setViewList(List<WoView> viewList) {
-			this.viewList = viewList;
-		}
-
-		public List<WoStat> getStatList() {
-			return statList;
-		}
-
-		public void setStatList(List<WoStat> statList) {
-			this.statList = statList;
-		}
-
-		public List<WoReveal> getRevealList() {
-			return revealList;
-		}
-
-		public void setRevealList(List<WoReveal> revealList) {
-			this.revealList = revealList;
-		}
-
-	}
-
-	public static class WoView extends View {
-
-		private static final long serialVersionUID = 3456154680561609726L;
-
-		static WrapCopier<View, WoView> copier = WrapCopierFactory.wo(View.class, WoView.class,
-				JpaObject.singularAttributeField(View.class, true, true), null);
-
-	}
-
-	public static class WoStat extends Stat {
-
-		private static final long serialVersionUID = -6331662271434269932L;
-
-		static WrapCopier<Stat, WoStat> copier = WrapCopierFactory.wo(Stat.class, WoStat.class,
-				JpaObject.singularAttributeField(Stat.class, true, true), null);
-
-	}
-
-	public static class WoReveal extends Reveal {
-
-		private static final long serialVersionUID = -2348134755539702740L;
-
-		static WrapCopier<Reveal, WoReveal> copier = WrapCopierFactory.wo(Reveal.class, WoReveal.class,
-				JpaObject.singularAttributeField(Reveal.class, true, true), null);
-	}
-}

+ 0 - 62
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/ActionSetIcon.java

@@ -1,62 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.query;
-
-import java.awt.image.BufferedImage;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-
-import javax.imageio.ImageIO;
-
-import org.apache.commons.codec.binary.Base64;
-import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
-import org.imgscalr.Scalr;
-
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.project.cache.ApplicationCache;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.jaxrs.WoId;
-import com.x.base.core.project.tools.ImageTools;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.Query;
-
-class ActionSetIcon extends BaseAction {
-
-	ActionResult<Wo> execute(EffectivePerson effectivePerson, String flag, byte[] bytes,
-			FormDataContentDisposition disposition) throws Exception {
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			ActionResult<Wo> result = new ActionResult<>();
-			Business business = new Business(emc);
-			Query query = emc.flag(flag, Query.class );
-			if (null == query) {
-				throw new ExceptionQueryNotExist(flag);
-			}
-			if (!business.editable(effectivePerson, query)) {
-				throw new ExceptionQueryAccessDenied(effectivePerson.getDistinguishedName(), query.getName(),
-						query.getId());
-			}
-			try (ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
-					ByteArrayOutputStream baos = new ByteArrayOutputStream()) {
-				BufferedImage image = ImageIO.read(bais);
-				BufferedImage scalrImage = Scalr.resize(image, 72, 72);
-				ImageIO.write(scalrImage, "png", baos);
-				String icon = Base64.encodeBase64String(baos.toByteArray());
-				String iconHue = ImageTools.hue(scalrImage);
-				emc.beginTransaction(Query.class);
-				query.setIcon(icon);
-				query.setIconHue(iconHue);
-				emc.commit();
-				ApplicationCache.notify(Query.class);
-				Wo wo = new Wo();
-				wo.setId(query.getId());
-				result.setData(wo);
-			}
-			return result;
-		}
-	}
-
-	public static class Wo extends WoId {
-
-	}
-
-}

+ 0 - 21
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/BaseAction.java

@@ -1,21 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.query;
-
-import com.x.base.core.project.jaxrs.StandardJaxrsAction;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.Query;
-
-abstract class BaseAction extends StandardJaxrsAction {
-
-	protected boolean idleName(Business business, Query query) throws Exception {
-		return !business.entityManagerContainer().duplicateWithFlags(query.getId(), Query.class, query.getName());
-	}
-
-	protected boolean idleAlias(Business business, Query query) throws Exception {
-		return !business.entityManagerContainer().duplicateWithFlags(query.getId(), Query.class, query.getAlias());
-	}
-
-	protected boolean idleId(Business business, Query query) throws Exception {
-		return !business.entityManagerContainer().duplicateWithFlags(Query.class, query.getId());
-	}
-
-}

+ 0 - 13
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/ExceptionAccessDenied.java

@@ -1,13 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.query;
-
-import com.x.base.core.project.exception.PromptException;
-
-class ExceptionAccessDenied extends PromptException {
-
-	private static final long serialVersionUID = -5515077418025884395L;
-
-	ExceptionAccessDenied(String person) {
-		super("用户:{} 访问被拒绝.", person);
-	}
-
-}

+ 0 - 13
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/ExceptionAliasExist.java

@@ -1,13 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.query;
-
-import com.x.base.core.project.exception.PromptException;
-
-class ExceptionAliasExist extends PromptException {
-
-	private static final long serialVersionUID = -5515077418025884395L;
-
-	ExceptionAliasExist(String str) {
-		super("别名已存在:{}.", str);
-	}
-
-}

+ 0 - 13
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/ExceptionIdExist.java

@@ -1,13 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.query;
-
-import com.x.base.core.project.exception.PromptException;
-
-class ExceptionIdExist extends PromptException {
-
-	private static final long serialVersionUID = -5515077418025884395L;
-
-	ExceptionIdExist(String str) {
-		super("标识已存在:{}.", str);
-	}
-
-}

+ 0 - 13
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/ExceptionNameExist.java

@@ -1,13 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.query;
-
-import com.x.base.core.project.exception.PromptException;
-
-class ExceptionNameExist extends PromptException {
-
-	private static final long serialVersionUID = -5515077418025884395L;
-
-	ExceptionNameExist(String str) {
-		super("名称已存在:{}.", str);
-	}
-
-}

+ 0 - 13
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/ExceptionQueryAccessDenied.java

@@ -1,13 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.query;
-
-import com.x.base.core.project.exception.PromptException;
-
-class ExceptionQueryAccessDenied extends PromptException {
-
-	private static final long serialVersionUID = -5515077418025884395L;
-
-	ExceptionQueryAccessDenied(String person, String name, String id) {
-		super("用户:{} 访问查询:{}, id: {}, 权限不足.", person, name, id);
-	}
-
-}

+ 0 - 12
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/ExceptionQueryNotExist.java

@@ -1,12 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.query;
-
-import com.x.base.core.project.exception.PromptException;
-
-class ExceptionQueryNotExist extends PromptException {
-
-	private static final long serialVersionUID = -9089355008820123519L;
-
-	ExceptionQueryNotExist(String flag) {
-		super("查询: {} 不存在.", flag);
-	}
-}

+ 0 - 218
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/query/QueryAction.java

@@ -1,218 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.query;
-
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-
-import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
-import org.glassfish.jersey.media.multipart.FormDataParam;
-
-import com.google.gson.JsonElement;
-import com.x.base.core.project.annotation.JaxrsDescribe;
-import com.x.base.core.project.annotation.JaxrsMethodDescribe;
-import com.x.base.core.project.annotation.JaxrsParameterDescribe;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.http.HttpMediaType;
-import com.x.base.core.project.jaxrs.ResponseFactory;
-import com.x.base.core.project.logger.Logger;
-import com.x.base.core.project.logger.LoggerFactory;
-
-@Path("query")
-@JaxrsDescribe("查询")
-public class QueryAction extends BaseAction {
-
-	private static Logger logger = LoggerFactory.getLogger(QueryAction.class);
-
-	@JaxrsMethodDescribe(value = "获取所有查询内容.", action = ActionListAll.class)
-	@GET
-	@Path("list/all")
-	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
-	@Consumes(MediaType.APPLICATION_JSON)
-	public void listAll(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request) {
-		ActionResult<List<ActionListAll.Wo>> result = new ActionResult<>();
-		EffectivePerson effectivePerson = this.effectivePerson(request);
-		try {
-			result = new ActionListAll().execute(effectivePerson);
-		} catch (Exception e) {
-			logger.error(e, effectivePerson, request, null);
-			result.error(e);
-		}
-		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
-	}
-
-	@JaxrsMethodDescribe(value = "列示指定分类的查询.", action = ActionListWithQueryCategory.class)
-	@GET
-	@Path("list/querycategory/{queryCategory}")
-	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
-	@Consumes(MediaType.APPLICATION_JSON)
-	public void listWithQueryCategory(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
-			@JaxrsParameterDescribe("查询分类") @PathParam("queryCategory") String queryCategory) {
-		ActionResult<List<ActionListWithQueryCategory.Wo>> result = new ActionResult<>();
-		EffectivePerson effectivePerson = this.effectivePerson(request);
-		try {
-			result = new ActionListWithQueryCategory().execute(effectivePerson, queryCategory);
-		} catch (Exception e) {
-			logger.error(e, effectivePerson, request, null);
-			result.error(e);
-		}
-		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
-	}
-
-	@JaxrsMethodDescribe(value = "列示查询年分类,并统计数量.", action = ActionListQueryCategory.class)
-	@GET
-	@Path("querycategory/list")
-	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
-	@Consumes(MediaType.APPLICATION_JSON)
-	public void listQueryCategory(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request) {
-		ActionResult<List<ActionListQueryCategory.Wo>> result = new ActionResult<>();
-		EffectivePerson effectivePerson = this.effectivePerson(request);
-		try {
-			result = new ActionListQueryCategory().execute(effectivePerson);
-		} catch (Exception e) {
-			logger.error(e, effectivePerson, request, null);
-			result.error(e);
-		}
-		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
-	}
-
-	@JaxrsMethodDescribe(value = "获取查询内容.", action = ActionGet.class)
-	@GET
-	@Path("{flag}")
-	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
-	@Consumes(MediaType.APPLICATION_JSON)
-	public void get(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
-			@JaxrsParameterDescribe("标识") @PathParam("flag") String flag) {
-		ActionResult<ActionGet.Wo> result = new ActionResult<>();
-		EffectivePerson effectivePerson = this.effectivePerson(request);
-		try {
-			result = new ActionGet().execute(effectivePerson, flag);
-		} catch (Exception e) {
-			logger.error(e, effectivePerson, request, null);
-			result.error(e);
-		}
-		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
-	}
-
-	@JaxrsMethodDescribe(value = "创建查询.", action = ActionCreate.class)
-	@POST
-	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
-	@Consumes(MediaType.APPLICATION_JSON)
-	public void create(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
-			JsonElement jsonElement) {
-		ActionResult<ActionCreate.Wo> result = new ActionResult<>();
-		EffectivePerson effectivePerson = this.effectivePerson(request);
-		try {
-			result = new ActionCreate().execute(effectivePerson, jsonElement);
-		} catch (Exception e) {
-			logger.error(e, effectivePerson, request, jsonElement);
-			result.error(e);
-		}
-		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
-	}
-
-	@JaxrsMethodDescribe(value = "更新查询.", action = ActionEdit.class)
-	@PUT
-	@Path("{flag}")
-	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
-	@Consumes(MediaType.APPLICATION_JSON)
-	public void edit(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
-			@JaxrsParameterDescribe("标识") @PathParam("flag") String flag, JsonElement jsonElement) {
-		ActionResult<ActionEdit.Wo> result = new ActionResult<>();
-		EffectivePerson effectivePerson = this.effectivePerson(request);
-		try {
-			result = new ActionEdit().execute(effectivePerson, flag, jsonElement);
-		} catch (Exception e) {
-			logger.error(e, effectivePerson, request, jsonElement);
-			result.error(e);
-		}
-		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
-	}
-
-	@JaxrsMethodDescribe(value = "删除查询.", action = ActionDelete.class)
-	@DELETE
-	@Path("{flag}")
-	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
-	@Consumes(MediaType.APPLICATION_JSON)
-	public void delete(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
-			@JaxrsParameterDescribe("标识") @PathParam("flag") String flag) {
-		ActionResult<ActionDelete.Wo> result = new ActionResult<>();
-		EffectivePerson effectivePerson = this.effectivePerson(request);
-		try {
-			result = new ActionDelete().execute(effectivePerson, flag);
-		} catch (Exception e) {
-			logger.error(e, effectivePerson, request, null);
-			result.error(e);
-		}
-		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
-	}
-
-	@JaxrsMethodDescribe(value = "更新查询图标.", action = ActionSetIcon.class)
-	@PUT
-	@Path("{flag}/icon")
-	@Consumes(MediaType.MULTIPART_FORM_DATA)
-	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
-	public void setIcon(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
-			@JaxrsParameterDescribe("应用标识") @PathParam("flag") String flag,
-			@FormDataParam(FILE_FIELD) final byte[] bytes,
-			@JaxrsParameterDescribe("头像文件") @FormDataParam(FILE_FIELD) final FormDataContentDisposition disposition) {
-		ActionResult<ActionSetIcon.Wo> result = new ActionResult<>();
-		EffectivePerson effectivePerson = this.effectivePerson(request);
-		try {
-			result = new ActionSetIcon().execute(effectivePerson, flag, bytes, disposition);
-		} catch (Exception e) {
-			logger.error(e, effectivePerson, request, null);
-			result.error(e);
-		}
-		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
-	}
-
-	@JaxrsMethodDescribe(value = "列示所有查询,同时附带视图简要信息和统计简要信息.", action = ActionListSummary.class)
-	@GET
-	@Path("list/summary")
-	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
-	@Consumes(MediaType.APPLICATION_JSON)
-	public void listSummary(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request) {
-		ActionResult<List<ActionListSummary.Wo>> result = new ActionResult<>();
-		EffectivePerson effectivePerson = this.effectivePerson(request);
-		try {
-			result = new ActionListSummary().execute(effectivePerson);
-		} catch (Exception e) {
-			logger.error(e, effectivePerson, request, null);
-			result.error(e);
-		}
-		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
-	}
-
-	@JaxrsMethodDescribe(value = "根据查询分类获取查询的简要信息,同时附带视图简要信息和统计简要信息应用分类不为null.", action = ActionListSummaryWithQueryCategory.class)
-	@GET
-	@Path("list/summary/querycategory/{queryCategory}")
-	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
-	@Consumes(MediaType.APPLICATION_JSON)
-	public void listSummaryWithApplicationCategory(@Suspended final AsyncResponse asyncResponse,
-			@Context HttpServletRequest request,
-			@JaxrsParameterDescribe("查询分类") @PathParam("queryCategory") String queryCategory) {
-		ActionResult<List<ActionListSummaryWithQueryCategory.Wo>> result = new ActionResult<>();
-		EffectivePerson effectivePerson = this.effectivePerson(request);
-		try {
-			result = new ActionListSummaryWithQueryCategory().execute(effectivePerson, queryCategory);
-		} catch (Exception e) {
-			logger.error(e, effectivePerson, request, null);
-			result.error(e);
-		}
-		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
-	}
-
-}

+ 0 - 65
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/reveal/ActionCreate.java

@@ -1,65 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.reveal;
-
-import org.apache.commons.lang3.StringUtils;
-
-import com.google.gson.JsonElement;
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.entity.JpaObject;
-import com.x.base.core.entity.annotation.CheckPersistType;
-import com.x.base.core.project.bean.WrapCopier;
-import com.x.base.core.project.bean.WrapCopierFactory;
-import com.x.base.core.project.cache.ApplicationCache;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.jaxrs.WoId;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.Query;
-import com.x.query.core.entity.Reveal;
-
-class ActionCreate extends BaseAction {
-	ActionResult<Wo> execute(EffectivePerson effectivePerson, JsonElement jsonElement) throws Exception {
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			ActionResult<Wo> result = new ActionResult<>();
-			Wi wi = this.convertToWrapIn(jsonElement, Wi.class);
-			Query query = emc.find(wi.getQuery(), Query.class);
-			if (null == query) {
-				throw new ExceptionQueryNotExist(wi.getQuery());
-			}
-			Business business = new Business(emc);
-			if (!business.editable(effectivePerson, query)) {
-				throw new ExceptionQueryAccessDenied(effectivePerson.getName(), query.getName());
-			}
-			emc.beginTransaction(Reveal.class);
-			Reveal reveal = new Reveal();
-			Wi.copier.copy(wi, reveal);
-			if (StringUtils.isNotEmpty(reveal.getName()) && (!this.idleName(business, reveal))) {
-				throw new ExceptionNameExist(reveal.getName());
-			}
-			if (StringUtils.isNotEmpty(reveal.getAlias()) && (!this.idleAlias(business, reveal))) {
-				throw new ExceptionAliasExist(reveal.getAlias());
-			}
-			reveal.setQuery(query.getId());
-			emc.persist(reveal, CheckPersistType.all);
-			emc.commit();
-			ApplicationCache.notify(Reveal.class);
-			Wo wo = new Wo();
-			wo.setId(reveal.getId());
-			result.setData(wo);
-			return result;
-		}
-	}
-
-	public static class Wo extends WoId {
-
-	}
-
-	public static class Wi extends Reveal {
-
-		private static final long serialVersionUID = -5237741099036357033L;
-
-		static WrapCopier<Wi, Reveal> copier = WrapCopierFactory.wi(Wi.class, Reveal.class, null,
-				JpaObject.FieldsUnmodifyExcludeId);
-	}
-
-}

+ 0 - 44
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/reveal/ActionDelete.java

@@ -1,44 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.reveal;
-
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.entity.annotation.CheckRemoveType;
-import com.x.base.core.project.cache.ApplicationCache;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.jaxrs.WoId;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.Query;
-import com.x.query.core.entity.Reveal;
-
-class ActionDelete extends BaseAction {
-	ActionResult<Wo> execute(EffectivePerson effectivePerson, String id) throws Exception {
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			ActionResult<Wo> result = new ActionResult<>();
-			Business business = new Business(emc);
-			emc.beginTransaction(Reveal.class);
-			Reveal reveal = emc.find(id, Reveal.class);
-			if (null == reveal) {
-				throw new ExceptionRevealNotExist(id);
-			}
-			Query query = emc.find(reveal.getQuery(), Query.class);
-			if (null == query) {
-				throw new ExceptionQueryNotExist(reveal.getQuery());
-			}
-			if (!business.editable(effectivePerson, query)) {
-				throw new ExceptionQueryAccessDenied(effectivePerson.getDistinguishedName(), query.getName());
-			}
-			emc.remove(reveal, CheckRemoveType.all);
-			emc.commit();
-			ApplicationCache.notify(Reveal.class);
-			Wo wo = new Wo();
-			wo.setId(reveal.getId());
-			result.setData(wo);
-			return result;
-		}
-	}
-
-	public static class Wo extends WoId {
-
-	}
-}

+ 0 - 66
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/reveal/ActionEdit.java

@@ -1,66 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.reveal;
-
-import org.apache.commons.lang3.StringUtils;
-
-import com.google.gson.JsonElement;
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.entity.JpaObject;
-import com.x.base.core.entity.annotation.CheckPersistType;
-import com.x.base.core.project.bean.WrapCopier;
-import com.x.base.core.project.bean.WrapCopierFactory;
-import com.x.base.core.project.cache.ApplicationCache;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.jaxrs.WoId;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.Query;
-import com.x.query.core.entity.Reveal;
-
-class ActionEdit extends BaseAction {
-	ActionResult<Wo> execute(EffectivePerson effectivePerson, String id, JsonElement jsonElement) throws Exception {
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			ActionResult<Wo> result = new ActionResult<>();
-			Wi wi = this.convertToWrapIn(jsonElement, Wi.class);
-			Business business = new Business(emc);
-			Reveal reveal = emc.find(id, Reveal.class);
-			if (null == reveal) {
-				throw new ExceptionRevealNotExist(id);
-			}
-			Query query = emc.find(reveal.getQuery(), Query.class);
-			if (null == query) {
-				throw new ExceptionQueryNotExist(reveal.getQuery());
-			}
-			if (!business.editable(effectivePerson, query)) {
-				throw new ExceptionQueryAccessDenied(effectivePerson.getDistinguishedName(), query.getName());
-			}
-			emc.beginTransaction(Reveal.class);
-			Wi.copier.copy(wi, reveal);
-			reveal.setQuery(query.getId());
-			if (StringUtils.isNotEmpty(reveal.getName()) && (!this.idleName(business, reveal))) {
-				throw new ExceptionNameExist(reveal.getName());
-			}
-			if (StringUtils.isNotEmpty(reveal.getAlias()) && (!this.idleAlias(business, reveal))) {
-				throw new ExceptionAliasExist(reveal.getName());
-			}
-			emc.check(reveal, CheckPersistType.all);
-			emc.commit();
-			ApplicationCache.notify(Reveal.class);
-			Wo wo = new Wo();
-			wo.setId(reveal.getId());
-			result.setData(wo);
-			return result;
-		}
-	}
-
-	public static class Wo extends WoId {
-
-	}
-
-	public static class Wi extends Reveal {
-
-		private static final long serialVersionUID = -5237741099036357033L;
-
-		static WrapCopier<Wi, Reveal> copier = WrapCopierFactory.wi(Wi.class, Reveal.class, null, JpaObject.FieldsUnmodify);
-	}
-}

+ 0 - 43
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/reveal/ActionGet.java

@@ -1,43 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.reveal;
-
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.entity.JpaObject;
-import com.x.base.core.project.bean.WrapCopier;
-import com.x.base.core.project.bean.WrapCopierFactory;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.Query;
-import com.x.query.core.entity.Reveal;
-
-class ActionGet extends BaseAction {
-	ActionResult<Wo> execute(EffectivePerson effectivePerson, String id) throws Exception {
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			ActionResult<Wo> result = new ActionResult<>();
-			Business business = new Business(emc);
-			Reveal reveal = emc.find(id, Reveal.class);
-			if (null == reveal) {
-				throw new ExceptionRevealNotExist(id);
-			}
-			Query query = emc.find(reveal.getQuery(), Query.class);
-			if (null == query) {
-				throw new ExceptionQueryNotExist(reveal.getQuery());
-			}
-			if (!business.editable(effectivePerson, query)) {
-				throw new ExceptionQueryAccessDenied(effectivePerson.getDistinguishedName(), query.getName());
-			}
-			Wo wo = Wo.copier.copy(reveal);
-			result.setData(wo);
-			return result;
-		}
-	}
-
-	public static class Wo extends Reveal {
-
-		private static final long serialVersionUID = -5755898083219447939L;
-
-		static WrapCopier<Reveal, Wo> copier = WrapCopierFactory.wo(Reveal.class, Wo.class, null,
-				JpaObject.FieldsInvisible);
-	}
-}

+ 0 - 55
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/reveal/ActionListNext.java

@@ -1,55 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.reveal;
-
-import java.util.List;
-
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.entity.JpaObject;
-import com.x.base.core.project.annotation.FieldDescribe;
-import com.x.base.core.project.bean.WrapCopier;
-import com.x.base.core.project.bean.WrapCopierFactory;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.logger.Logger;
-import com.x.base.core.project.logger.LoggerFactory;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.Reveal;
-
-class ActionListNext extends BaseAction {
-
-	private static Logger logger = LoggerFactory.getLogger(ActionListNext.class);
-
-	ActionResult<List<Wo>> execute(EffectivePerson effectivePerson, String id, Integer count) throws Exception {
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			logger.debug(effectivePerson, "id:{}, count:{}.", id, count);
-			Business business = new Business(emc);
-			if (!business.controllable(effectivePerson)) {
-				throw new ExceptionAccessDenied(effectivePerson.getDistinguishedName());
-			}
-			ActionResult<List<Wo>> result = new ActionResult<>();
-			result = this.standardListNext(Wo.copier, id, count,  JpaObject.sequence_FIELDNAME, null, null, null, null, null, null, null,
-					null, true, DESC);
-			return result;
-		}
-	}
-
-	public static class Wo extends Reveal {
-
-		private static final long serialVersionUID = 2886873983211744188L;
-
-		static WrapCopier<Reveal, Wo> copier = WrapCopierFactory.wo(Reveal.class, Wo.class,
-				JpaObject.singularAttributeField(Reveal.class, true, true), null);
-
-		@FieldDescribe("排序号")
-		private Long rank;
-
-		public Long getRank() {
-			return rank;
-		}
-
-		public void setRank(Long rank) {
-			this.rank = rank;
-		}
-
-	}
-}

+ 0 - 55
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/reveal/ActionListPrev.java

@@ -1,55 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.reveal;
-
-import java.util.List;
-
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.entity.JpaObject;
-import com.x.base.core.project.annotation.FieldDescribe;
-import com.x.base.core.project.bean.WrapCopier;
-import com.x.base.core.project.bean.WrapCopierFactory;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.logger.Logger;
-import com.x.base.core.project.logger.LoggerFactory;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.Reveal;
-
-class ActionListPrev extends BaseAction {
-
-	private static Logger logger = LoggerFactory.getLogger(ActionListPrev.class);
-
-	ActionResult<List<Wo>> execute(EffectivePerson effectivePerson, String id, Integer count) throws Exception {
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			logger.debug(effectivePerson, "id:{}, count:{}.", id, count);
-			Business business = new Business(emc);
-			if (!business.controllable(effectivePerson)) {
-				throw new ExceptionAccessDenied(effectivePerson.getDistinguishedName());
-			}
-			ActionResult<List<Wo>> result = new ActionResult<>();
-			result = this.standardFetchAttributeListPrev(emc, Wo.copier, id, count,  JpaObject.sequence_FIELDNAME, null, null, null, null,
-					null, null, null, true, DESC);
-			return result;
-		}
-	}
-
-	public static class Wo extends Reveal {
-
-		private static final long serialVersionUID = 2886873983211744188L;
-
-		static WrapCopier<Reveal, Wo> copier = WrapCopierFactory.wo(Reveal.class, Wo.class,
-				JpaObject.singularAttributeField(Reveal.class, true, true), null);
-
-		@FieldDescribe("排序号")
-		private Long rank;
-
-		public Long getRank() {
-			return rank;
-		}
-
-		public void setRank(Long rank) {
-			this.rank = rank;
-		}
-
-	}
-}

+ 0 - 43
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/reveal/ActionListWithQuery.java

@@ -1,43 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.reveal;
-
-import java.util.List;
-
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.entity.JpaObject;
-import com.x.base.core.project.bean.WrapCopier;
-import com.x.base.core.project.bean.WrapCopierFactory;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.Query;
-import com.x.query.core.entity.Reveal;
-
-class ActionListWithQuery extends BaseAction {
-	ActionResult<List<Wo>> execute(EffectivePerson effectivePerson, String flag) throws Exception {
-		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			ActionResult<List<Wo>> result = new ActionResult<>();
-			Business business = new Business(emc);
-			Query query = emc.flag(flag, Query.class );
-			if (null == query) {
-				throw new ExceptionQueryNotExist(flag);
-			}
-			if (!business.editable(effectivePerson, query)) {
-				throw new ExceptionQueryAccessDenied(effectivePerson.getDistinguishedName(), query.getName());
-			}
-			List<Reveal> os = business.reveal().listWithQueryObject(query.getId());
-			List<Wo> wos = Wo.copier.copy(os);
-			wos = business.reveal().sort(wos);
-			result.setData(wos);
-			return result;
-		}
-	}
-
-	public static class Wo extends Reveal {
-
-		private static final long serialVersionUID = -5755898083219447939L;
-
-		static WrapCopier<Reveal, Wo> copier = WrapCopierFactory.wo(Reveal.class, Wo.class, null,
-				JpaObject.FieldsInvisible);
-	}
-}

+ 0 - 37
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/reveal/BaseAction.java

@@ -1,37 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.reveal;
-
-import javax.persistence.EntityManager;
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
-
-import com.x.base.core.project.jaxrs.StandardJaxrsAction;
-import com.x.query.assemble.designer.Business;
-import com.x.query.core.entity.Reveal;
-import com.x.query.core.entity.Reveal_;
-
-abstract class BaseAction extends StandardJaxrsAction {
-
-	protected boolean idleName(Business business, Reveal view) throws Exception {
-		EntityManager em = business.entityManagerContainer().get(Reveal.class);
-		CriteriaBuilder cb = em.getCriteriaBuilder();
-		CriteriaQuery<Long> cq = cb.createQuery(Long.class);
-		Root<Reveal> root = cq.from(Reveal.class);
-		Predicate p = cb.equal(root.get(Reveal_.query), view.getQuery());
-		p = cb.and(p, cb.equal(root.get(Reveal_.name), view.getName()));
-		p = cb.and(p, cb.notEqual(root.get(Reveal_.id), view.getId()));
-		return em.createQuery(cq.select(cb.count(root)).where(p)).getSingleResult() == 0;
-	}
-
-	protected boolean idleAlias(Business business, Reveal view) throws Exception {
-		EntityManager em = business.entityManagerContainer().get(Reveal.class);
-		CriteriaBuilder cb = em.getCriteriaBuilder();
-		CriteriaQuery<Long> cq = cb.createQuery(Long.class);
-		Root<Reveal> root = cq.from(Reveal.class);
-		Predicate p = cb.equal(root.get(Reveal_.query), view.getQuery());
-		p = cb.and(p, cb.equal(root.get(Reveal_.alias), view.getAlias()));
-		p = cb.and(p, cb.notEqual(root.get(Reveal_.id), view.getId()));
-		return em.createQuery(cq.select(cb.count(root)).where(p)).getSingleResult() == 0;
-	}
-}

+ 0 - 13
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/reveal/ExceptionAccessDenied.java

@@ -1,13 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.reveal;
-
-import com.x.base.core.project.exception.PromptException;
-
-class ExceptionAccessDenied extends PromptException {
-
-	private static final long serialVersionUID = -5515077418025884395L;
-
-	ExceptionAccessDenied(String person) {
-		super("用户:{} 访问被拒绝.", person);
-	}
-
-}

+ 0 - 12
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/reveal/ExceptionAliasExist.java

@@ -1,12 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.reveal;
-
-import com.x.base.core.project.exception.PromptException;
-
-class ExceptionAliasExist extends PromptException {
-
-	private static final long serialVersionUID = -9089355008820123519L;
-
-	ExceptionAliasExist(String str) {
-		super("别名:{},已存在.", str);
-	}
-}

+ 0 - 12
o2server/x_query_assemble_designer/src/main/webapp/describe/sources/com/x/query/assemble/designer/jaxrs/reveal/ExceptionNameExist.java

@@ -1,12 +0,0 @@
-package com.x.query.assemble.designer.jaxrs.reveal;
-
-import com.x.base.core.project.exception.PromptException;
-
-class ExceptionNameExist extends PromptException {
-
-	private static final long serialVersionUID = -9089355008820123519L;
-
-	ExceptionNameExist(String str) {
-		super("名称:{},已存在.", str);
-	}
-}

この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません