diff --git a/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/query/ActionGetEntityProperties.java b/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/query/ActionGetEntityProperties.java index e513410c18a285493b03c6a5a09660e531d34727..48a2afc97943ea4bfb7418efe1aef6e253db8114 100644 --- a/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/query/ActionGetEntityProperties.java +++ b/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/query/ActionGetEntityProperties.java @@ -22,20 +22,29 @@ import com.x.base.core.project.exception.ExceptionEntityNotExist; 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.query.assemble.designer.Business; import com.x.query.core.entity.schema.Statement; import com.x.query.core.entity.schema.Table; class ActionGetEntityProperties extends BaseAction { + + private static final Logger LOGGER = LoggerFactory.getLogger(ActionGetEntityProperties.class); + ActionResult> execute(EffectivePerson effectivePerson, String entity, String entityCategory) throws Exception { + + LOGGER.debug("execute:{}, entity:{}, entityCategory:{}.", effectivePerson::getDistinguishedName, () -> entity, + () -> entityCategory); + ClassLoader classLoader = Business.getDynamicEntityClassLoader(); try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { ActionResult> result = new ActionResult<>(); Business business = new Business(emc); if (!business.controllable(effectivePerson)) { throw new ExceptionAccessDenied(effectivePerson); } - Class cls = this.clazz(business, entity, entityCategory); + Class cls = this.clazz(business, classLoader, entity, entityCategory); result.setData(this.getEntityDes(cls, true, false)); return result; } @@ -72,12 +81,13 @@ class ActionGetEntityProperties extends BaseAction { } @SuppressWarnings("unchecked") - private Class clazz(Business business, String entity, String entityCategory) throws Exception { + private Class clazz(Business business, ClassLoader classLoader, String entity, + String entityCategory) throws Exception { Class cls = null; if (StringUtils.equals(Statement.ENTITYCATEGORY_OFFICIAL, entityCategory) || StringUtils.equals(Statement.ENTITYCATEGORY_CUSTOM, entityCategory)) { try { - cls = (Class) Thread.currentThread().getContextClassLoader().loadClass(entity); + cls = (Class) classLoader.loadClass(entity); } catch (Exception e) { throw new ExceptionEntityNotExist(entity, entityCategory); } @@ -88,8 +98,7 @@ class ActionGetEntityProperties extends BaseAction { } DynamicEntity dynamicEntity = new DynamicEntity(table.getName()); try { - cls = (Class) Thread.currentThread().getContextClassLoader() - .loadClass(dynamicEntity.className()); + cls = (Class) classLoader.loadClass(dynamicEntity.className()); } catch (Exception e) { throw new ExceptionEntityNotExist(entity, entityCategory); } diff --git a/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionCreate.java b/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionCreate.java index f1894430c3279b3ce3ac028584d329f50082e69c..1799e68c7f1133eaee1cb4c3a82086a4869ebcf7 100644 --- a/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionCreate.java +++ b/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionCreate.java @@ -19,6 +19,8 @@ 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.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; @@ -26,7 +28,13 @@ import com.x.query.core.entity.schema.Statement; import com.x.query.core.entity.schema.Table; class ActionCreate extends BaseAction { + + private static final Logger LOGGER = LoggerFactory.getLogger(ActionCreate.class); + ActionResult execute(EffectivePerson effectivePerson, JsonElement jsonElement) throws Exception { + LOGGER.debug("execute;{}.", effectivePerson::getDistinguishedName); + ClassLoader classLoader = Business.getDynamicEntityClassLoader(); + Thread.currentThread().setContextClassLoader(classLoader); try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { ActionResult result = new ActionResult<>(); Business business = new Business(emc); @@ -45,12 +53,11 @@ class ActionCreate extends BaseAction { statement.setTable(table.getId()); } else { try { - Thread.currentThread().getContextClassLoader().loadClass(statement.getEntityClassName()); + classLoader.loadClass(statement.getEntityClassName()); } catch (Exception e) { throw new ExceptionEntityClass(statement.getEntityClassName()); } } - if (!business.editable(effectivePerson, query)) { throw new ExceptionAccessDenied(effectivePerson, query); } @@ -77,6 +84,8 @@ class ActionCreate extends BaseAction { public static class Wo extends WoId { + private static final long serialVersionUID = -6780522841538599608L; + } public static class Wi extends Statement { diff --git a/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionDelete.java b/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionDelete.java index 033e27cbdc90d06fafcc97c51871c4dffdddbe98..1a35de2fc36141a94e382b33a040a0e19bce271d 100644 --- a/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionDelete.java +++ b/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionDelete.java @@ -8,12 +8,20 @@ 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.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.schema.Statement; class ActionDelete extends BaseAction { + + private static final Logger LOGGER = LoggerFactory.getLogger(ActionDelete.class); + ActionResult execute(EffectivePerson effectivePerson, String flag) throws Exception { + LOGGER.debug("execute;{}, flag:{}.", effectivePerson::getDistinguishedName, () -> flag); + ClassLoader classLoader = Business.getDynamicEntityClassLoader(); + Thread.currentThread().setContextClassLoader(classLoader); try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { ActionResult result = new ActionResult<>(); Business business = new Business(emc); diff --git a/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionEdit.java b/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionEdit.java index cbcf07b3fd0bdde97d9f8e0b41d27d2889109c5d..cfabf72a242d6ef58b86e92a01b169e16e9dad31 100644 --- a/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionEdit.java +++ b/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionEdit.java @@ -29,9 +29,12 @@ import com.x.query.core.entity.schema.Table; class ActionEdit extends BaseAction { - private static Logger logger = LoggerFactory.getLogger(ActionEdit.class); + private static final Logger LOGGER = LoggerFactory.getLogger(ActionEdit.class); ActionResult execute(EffectivePerson effectivePerson, String flag, JsonElement jsonElement) throws Exception { + LOGGER.debug("execute;{}, flag:{}.", effectivePerson::getDistinguishedName, () -> flag); + ClassLoader classLoader = Business.getDynamicEntityClassLoader(); + Thread.currentThread().setContextClassLoader(classLoader); try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { ActionResult result = new ActionResult<>(); Business business = new Business(emc); @@ -58,7 +61,7 @@ class ActionEdit extends BaseAction { statement.setTable(table.getId()); } else { try { - Thread.currentThread().getContextClassLoader().loadClass(statement.getEntityClassName()); + classLoader.loadClass(statement.getEntityClassName()); } catch (Exception e) { throw new ExceptionEntityClass(statement.getEntityClassName()); } @@ -86,6 +89,8 @@ class ActionEdit extends BaseAction { public static class Wo extends WoId { + private static final long serialVersionUID = 2191345451588705624L; + } public static class Wi extends Statement { diff --git a/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionEditPermission.java b/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionEditPermission.java index 214aefe330253eead8af6112fb49cfdff7b75ce1..d0336f81ae379198c435b9db864bd299437a34e0 100644 --- a/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionEditPermission.java +++ b/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionEditPermission.java @@ -23,10 +23,14 @@ import com.x.query.core.entity.schema.Statement; class ActionEditPermission extends BaseAction { - private static Logger logger = LoggerFactory.getLogger(ActionEditPermission.class); + private static final Logger LOGGER = LoggerFactory.getLogger(ActionEditPermission.class); ActionResult execute(EffectivePerson effectivePerson, String flag, JsonElement jsonElement) throws Exception { - logger.debug(effectivePerson.getDistinguishedName()); + + LOGGER.debug("execute:{}, flag:{}.", effectivePerson::getDistinguishedName, () -> flag); + ClassLoader classLoader = Business.getDynamicEntityClassLoader(); + Thread.currentThread().setContextClassLoader(classLoader); + try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { ActionResult result = new ActionResult<>(); Business business = new Business(emc); @@ -60,6 +64,8 @@ class ActionEditPermission extends BaseAction { public static class Wo extends WoId { + private static final long serialVersionUID = -272543657827689218L; + } public static class Wi extends Statement { diff --git a/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionExecute.java b/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionExecute.java index 35c3183bc9aa288adcc78b340cf87f2da9b249ab..4cc62ddf2424421905717eb8cac3e013f61407a8 100644 --- a/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionExecute.java +++ b/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionExecute.java @@ -19,6 +19,8 @@ import com.x.base.core.project.exception.ExceptionAccessDenied; 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.logger.Logger; +import com.x.base.core.project.logger.LoggerFactory; import com.x.base.core.project.script.AbstractResources; import com.x.base.core.project.scripting.JsonScriptingExecutor; import com.x.base.core.project.scripting.ScriptingFactory; @@ -34,9 +36,16 @@ class ActionExecute extends BaseAction { private static final String[] pageKeys = { "GROUP BY", " COUNT(" }; + private static final Logger LOGGER = LoggerFactory.getLogger(ActionExecute.class); + ActionResult execute(EffectivePerson effectivePerson, String flag, Integer page, Integer size, JsonElement jsonElement) throws Exception { + LOGGER.debug("execute:{}, flag:{}, page:{}, size:{}.", effectivePerson::getDistinguishedName, () -> flag, + () -> page, () -> size); + ClassLoader classLoader = Business.getDynamicEntityClassLoader(); + Thread.currentThread().setContextClassLoader(classLoader); + try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { ActionResult result = new ActionResult<>(); Business business = new Business(emc); @@ -53,9 +62,9 @@ class ActionExecute extends BaseAction { Object data = null; if (StringUtils.equalsIgnoreCase(statement.getFormat(), Statement.FORMAT_SCRIPT)) { - data = this.script(effectivePerson, business, statement, runtime); + data = this.script(effectivePerson, business, classLoader, statement, runtime); } else { - data = this.jpql(business, statement, runtime); + data = this.jpql(business, classLoader, statement, runtime); } result.setData(data); @@ -63,13 +72,13 @@ class ActionExecute extends BaseAction { } } - private Object script(EffectivePerson effectivePerson, Business business, Statement statement, Runtime runtime) - throws Exception { + private Object script(EffectivePerson effectivePerson, Business business, ClassLoader classLoader, + Statement statement, Runtime runtime) throws Exception { Object data = null; ScriptContext scriptContext = this.scriptContext(effectivePerson, runtime); CompiledScript cs = ScriptingFactory.functionalizationCompile(statement.getScriptText()); String text = JsonScriptingExecutor.evalString(cs, scriptContext); - Class cls = this.clazz(business, statement); + Class cls = this.clazz(business, classLoader, statement); EntityManager em; if (StringUtils.equalsIgnoreCase(statement.getEntityCategory(), Statement.ENTITYCATEGORY_DYNAMIC) && StringUtils.equalsIgnoreCase(statement.getType(), Statement.TYPE_SELECT)) { @@ -97,9 +106,10 @@ class ActionExecute extends BaseAction { return data; } - private Object jpql(Business business, Statement statement, Runtime runtime) throws Exception { + private Object jpql(Business business, ClassLoader classLoader, Statement statement, Runtime runtime) + throws Exception { Object data = null; - Class cls = this.clazz(business, statement); + Class cls = this.clazz(business, classLoader, statement); EntityManager em; if (StringUtils.equalsIgnoreCase(statement.getEntityCategory(), Statement.ENTITYCATEGORY_DYNAMIC) && StringUtils.equalsIgnoreCase(statement.getType(), Statement.TYPE_SELECT)) { @@ -137,20 +147,20 @@ class ActionExecute extends BaseAction { return true; } - private Class clazz(Business business, Statement statement) throws Exception { + @SuppressWarnings("unchecked") + private Class clazz(Business business, ClassLoader classLoader, Statement statement) + throws Exception { Class cls = null; if (StringUtils.equals(Statement.ENTITYCATEGORY_OFFICIAL, statement.getEntityCategory()) || StringUtils.equals(Statement.ENTITYCATEGORY_CUSTOM, statement.getEntityCategory())) { - cls = (Class) Thread.currentThread().getContextClassLoader() - .loadClass(statement.getEntityClassName()); + cls = (Class) classLoader.loadClass(statement.getEntityClassName()); } else { Table table = business.entityManagerContainer().flag(statement.getTable(), Table.class); if (null == table) { throw new ExceptionEntityNotExist(statement.getTable(), Table.class); } DynamicEntity dynamicEntity = new DynamicEntity(table.getName()); - cls = (Class) Thread.currentThread().getContextClassLoader() - .loadClass(dynamicEntity.className()); + cls = (Class) classLoader.loadClass(dynamicEntity.className()); } return cls; } diff --git a/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionExecuteV2.java b/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionExecuteV2.java index 5a9b3c0d5786fe15df1c9855f81586b08764292b..de5e7a8cbf425d6d2ebbe7d43c0b046c6f5957a7 100644 --- a/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionExecuteV2.java +++ b/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionExecuteV2.java @@ -48,6 +48,11 @@ class ActionExecuteV2 extends BaseAction { ActionResult execute(EffectivePerson effectivePerson, String flag, String mode, Integer page, Integer size, JsonElement jsonElement) throws Exception { + LOGGER.debug("execute:{}, flag:{}, page:{}, size:{}.", effectivePerson::getDistinguishedName, () -> flag, + () -> page, () -> size); + ClassLoader classLoader = Business.getDynamicEntityClassLoader(); + Thread.currentThread().setContextClassLoader(classLoader); + try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { ActionResult result = new ActionResult<>(); Business business = new Business(emc); @@ -67,10 +72,10 @@ class ActionExecuteV2 extends BaseAction { case Statement.MODE_DATA: switch (Objects.toString(statement.getFormat(), "")) { case Statement.FORMAT_SCRIPT: - data = this.script(effectivePerson, business, statement, runtime, mode); + data = this.script(effectivePerson, business, classLoader, statement, runtime, mode); break; default: - data = this.jpql(business, statement, runtime, mode); + data = this.jpql(business, classLoader, statement, runtime, mode); break; } result.setData(data); @@ -78,10 +83,10 @@ class ActionExecuteV2 extends BaseAction { case Statement.MODE_COUNT: switch (Objects.toString(statement.getFormat(), "")) { case Statement.FORMAT_SCRIPT: - count = this.script(effectivePerson, business, statement, runtime, mode); + count = this.script(effectivePerson, business, classLoader, statement, runtime, mode); break; default: - count = this.jpql(business, statement, runtime, mode); + count = this.jpql(business, classLoader, statement, runtime, mode); break; } result.setData(count); @@ -90,12 +95,13 @@ class ActionExecuteV2 extends BaseAction { default: switch (Objects.toString(statement.getFormat(), "")) { case Statement.FORMAT_SCRIPT: - data = this.script(effectivePerson, business, statement, runtime, Statement.MODE_DATA); - count = this.script(effectivePerson, business, statement, runtime, Statement.MODE_COUNT); + data = this.script(effectivePerson, business, classLoader, statement, runtime, Statement.MODE_DATA); + count = this.script(effectivePerson, business, classLoader, statement, runtime, + Statement.MODE_COUNT); break; default: - data = this.jpql(business, statement, runtime, Statement.MODE_DATA); - count = this.jpql(business, statement, runtime, Statement.MODE_COUNT); + data = this.jpql(business, classLoader, statement, runtime, Statement.MODE_DATA); + count = this.jpql(business, classLoader, statement, runtime, Statement.MODE_COUNT); break; } result.setData(data); @@ -105,8 +111,8 @@ class ActionExecuteV2 extends BaseAction { } } - private Object script(EffectivePerson effectivePerson, Business business, Statement statement, Runtime runtime, - String mode) throws Exception { + private Object script(EffectivePerson effectivePerson, Business business, ClassLoader classLoader, + Statement statement, Runtime runtime, String mode) throws Exception { Object data = null; ScriptContext scriptContext = this.scriptContext(effectivePerson, runtime); String scriptText = statement.getScriptText(); @@ -115,7 +121,7 @@ class ActionExecuteV2 extends BaseAction { } CompiledScript cs = ScriptingFactory.functionalizationCompile(scriptText); String jpql = JsonScriptingExecutor.evalString(cs, scriptContext); - Class cls = this.clazz(business, statement); + Class cls = this.clazz(business, classLoader, statement); EntityManager em; if (StringUtils.equalsIgnoreCase(statement.getEntityCategory(), Statement.ENTITYCATEGORY_DYNAMIC) && StringUtils.equalsIgnoreCase(statement.getType(), Statement.TYPE_SELECT)) { @@ -155,9 +161,10 @@ class ActionExecuteV2 extends BaseAction { return data; } - private Object jpql(Business business, Statement statement, Runtime runtime, String mode) throws Exception { + private Object jpql(Business business, ClassLoader classLoader, Statement statement, Runtime runtime, String mode) + throws Exception { Object data = null; - Class cls = this.clazz(business, statement); + Class cls = this.clazz(business, classLoader, statement); EntityManager em; if (StringUtils.equalsIgnoreCase(statement.getEntityCategory(), Statement.ENTITYCATEGORY_DYNAMIC) && StringUtils.equalsIgnoreCase(statement.getType(), Statement.TYPE_SELECT)) { @@ -217,20 +224,20 @@ class ActionExecuteV2 extends BaseAction { return true; } - private Class clazz(Business business, Statement statement) throws Exception { + @SuppressWarnings("unchecked") + private Class clazz(Business business, ClassLoader classLoader, Statement statement) + throws Exception { Class cls = null; if (StringUtils.equals(Statement.ENTITYCATEGORY_OFFICIAL, statement.getEntityCategory()) || StringUtils.equals(Statement.ENTITYCATEGORY_CUSTOM, statement.getEntityCategory())) { - cls = (Class) Thread.currentThread().getContextClassLoader() - .loadClass(statement.getEntityClassName()); + cls = (Class) classLoader.loadClass(statement.getEntityClassName()); } else { Table table = business.entityManagerContainer().flag(statement.getTable(), Table.class); if (null == table) { throw new ExceptionEntityNotExist(statement.getTable(), Table.class); } DynamicEntity dynamicEntity = new DynamicEntity(table.getName()); - cls = (Class) Thread.currentThread().getContextClassLoader() - .loadClass(dynamicEntity.className()); + cls = (Class) classLoader.loadClass(dynamicEntity.className()); } return cls; } diff --git a/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionGet.java b/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionGet.java index b989b97001df71c7f812282b3480b42b1e38617d..2248ca5415e5ff8211d9038526aa779c7567e6df 100644 --- a/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionGet.java +++ b/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionGet.java @@ -9,12 +9,22 @@ import com.x.base.core.project.exception.ExceptionAccessDenied; 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.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.schema.Statement; class ActionGet extends BaseAction { + + private static final Logger LOGGER = LoggerFactory.getLogger(ActionGet.class); + ActionResult execute(EffectivePerson effectivePerson, String flag) throws Exception { + + LOGGER.debug("execute:{}, flag:{}.", effectivePerson::getDistinguishedName, () -> flag); + ClassLoader classLoader = Business.getDynamicEntityClassLoader(); + Thread.currentThread().setContextClassLoader(classLoader); + try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { ActionResult result = new ActionResult<>(); Business business = new Business(emc); diff --git a/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionListWithQuery.java b/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionListWithQuery.java index de42df5f191f3b40c9e977d765eb2208328a0d97..6829e802c9613abc570babdd5b077a419e7dd0c1 100644 --- a/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionListWithQuery.java +++ b/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionListWithQuery.java @@ -11,13 +11,23 @@ import com.x.base.core.project.exception.ExceptionAccessDenied; 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.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.schema.Statement; class ActionListWithQuery extends BaseAction { + + private static final Logger LOGGER = LoggerFactory.getLogger(ActionListWithQuery.class); + ActionResult> execute(EffectivePerson effectivePerson, String flag) throws Exception { + + LOGGER.debug("execute:{}, flag:{}.", effectivePerson::getDistinguishedName, () -> flag); + ClassLoader classLoader = Business.getDynamicEntityClassLoader(); + Thread.currentThread().setContextClassLoader(classLoader); + try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { ActionResult> result = new ActionResult<>(); Business business = new Business(emc); diff --git a/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionManageList.java b/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionManageList.java index 456442775624b491ac308ebc02d2ca378706882d..36114d7fdf943dec80b563c70c136de9d2ea34ef 100644 --- a/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionManageList.java +++ b/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/ActionManageList.java @@ -10,11 +10,21 @@ 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.query.assemble.designer.Business; import com.x.query.core.entity.schema.Statement; class ActionManageList extends BaseAction { + + private static final Logger LOGGER = LoggerFactory.getLogger(ActionManageList.class); + ActionResult> execute(EffectivePerson effectivePerson) throws Exception { + + LOGGER.debug("execute:{}.", effectivePerson::getDistinguishedName); + ClassLoader classLoader = Business.getDynamicEntityClassLoader(); + Thread.currentThread().setContextClassLoader(classLoader); + try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { ActionResult> result = new ActionResult<>(); Business business = new Business(emc); diff --git a/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/table/ActionExecute.java b/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/table/ActionExecute.java index a932e5c6863b8c7faf582b516935615e74848302..78bc6f4026e9912412d541ba0435896c338fee1a 100644 --- a/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/table/ActionExecute.java +++ b/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/table/ActionExecute.java @@ -31,7 +31,6 @@ class ActionExecute extends BaseAction { LOGGER.debug("execute:{}.", effectivePerson::getDistinguishedName); ClassLoader classLoader = Business.getDynamicEntityClassLoader(); Thread.currentThread().setContextClassLoader(classLoader); - Thread.currentThread().setContextClassLoader(Business.getDynamicEntityClassLoader()); try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { ActionResult result = new ActionResult<>(); Business business = new Business(emc); diff --git a/o2server/x_query_assemble_surface/src/main/java/com/x/query/assemble/surface/jaxrs/statement/ActionExecute.java b/o2server/x_query_assemble_surface/src/main/java/com/x/query/assemble/surface/jaxrs/statement/ActionExecute.java index 828e2e2912845ce6b9c21aa0680fb6c12fb4038a..55a4c369d17361695f801f2c128e0ac0c4a59b58 100644 --- a/o2server/x_query_assemble_surface/src/main/java/com/x/query/assemble/surface/jaxrs/statement/ActionExecute.java +++ b/o2server/x_query_assemble_surface/src/main/java/com/x/query/assemble/surface/jaxrs/statement/ActionExecute.java @@ -24,6 +24,8 @@ import com.x.base.core.project.exception.ExceptionAccessDenied; 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.logger.Logger; +import com.x.base.core.project.logger.LoggerFactory; import com.x.base.core.project.script.AbstractResources; import com.x.base.core.project.scripting.JsonScriptingExecutor; import com.x.base.core.project.scripting.ScriptingFactory; @@ -37,11 +39,18 @@ import com.x.query.core.express.statement.Runtime; class ActionExecute extends BaseAction { + private static final Logger LOGGER = LoggerFactory.getLogger(ActionExecute.class); + private static final String[] pageKeys = { "GROUP BY", " COUNT(" }; ActionResult execute(EffectivePerson effectivePerson, String flag, Integer page, Integer size, JsonElement jsonElement) throws Exception { + LOGGER.debug("execute:{}, flag:{}, page:{}, size:{}.", effectivePerson::getDistinguishedName, () -> flag, + () -> page, () -> size); + ClassLoader classLoader = Business.getDynamicEntityClassLoader(); + Thread.currentThread().setContextClassLoader(classLoader); + ActionResult result = new ActionResult<>(); Statement statement = this.getStatement(flag); if (null == statement) { diff --git a/o2server/x_query_assemble_surface/src/main/java/com/x/query/assemble/surface/jaxrs/statement/ActionExecuteNative.java b/o2server/x_query_assemble_surface/src/main/java/com/x/query/assemble/surface/jaxrs/statement/ActionExecuteNative.java index f5677b76b8727050b2f53bdb27d295fa78045ec2..732fe8dc157058d5c37e79559d6e3589dbefbf70 100644 --- a/o2server/x_query_assemble_surface/src/main/java/com/x/query/assemble/surface/jaxrs/statement/ActionExecuteNative.java +++ b/o2server/x_query_assemble_surface/src/main/java/com/x/query/assemble/surface/jaxrs/statement/ActionExecuteNative.java @@ -24,6 +24,8 @@ import com.x.base.core.project.exception.ExceptionAccessDenied; 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.logger.Logger; +import com.x.base.core.project.logger.LoggerFactory; import com.x.base.core.project.script.AbstractResources; import com.x.base.core.project.scripting.JsonScriptingExecutor; import com.x.base.core.project.scripting.ScriptingFactory; @@ -36,12 +38,19 @@ import com.x.query.core.entity.schema.Table; import com.x.query.core.express.statement.Runtime; class ActionExecuteNative extends BaseAction { + + private static final Logger LOGGER = LoggerFactory.getLogger(ActionExecuteNative.class); private static final String[] pageKeys = { "GROUP BY", " COUNT(" }; ActionResult execute(EffectivePerson effectivePerson, String flag, Integer page, Integer size, JsonElement jsonElement) throws Exception { + LOGGER.debug("execute:{}, flag:{}, page:{}, size:{}.", effectivePerson::getDistinguishedName, () -> flag, + () -> page, () -> size); + ClassLoader classLoader = Business.getDynamicEntityClassLoader(); + Thread.currentThread().setContextClassLoader(classLoader); + ActionResult result = new ActionResult<>(); Statement statement = this.getStatement(flag); if (null == statement) { diff --git a/o2server/x_query_assemble_surface/src/main/java/com/x/query/assemble/surface/jaxrs/statement/ActionExecuteV2.java b/o2server/x_query_assemble_surface/src/main/java/com/x/query/assemble/surface/jaxrs/statement/ActionExecuteV2.java index 9ac0f9d42c63d0b9395c1d33701a8b578bbfad42..879231689d9087c55f444e17051be1ff471049d6 100644 --- a/o2server/x_query_assemble_surface/src/main/java/com/x/query/assemble/surface/jaxrs/statement/ActionExecuteV2.java +++ b/o2server/x_query_assemble_surface/src/main/java/com/x/query/assemble/surface/jaxrs/statement/ActionExecuteV2.java @@ -56,6 +56,12 @@ class ActionExecuteV2 extends BaseAction { ActionResult execute(EffectivePerson effectivePerson, String flag, String mode, Integer page, Integer size, JsonElement jsonElement) throws Exception { + + LOGGER.debug("execute:{}, flag:{}, page:{}, size:{}.", effectivePerson::getDistinguishedName, () -> flag, + () -> page, () -> size); + ClassLoader classLoader = Business.getDynamicEntityClassLoader(); + Thread.currentThread().setContextClassLoader(classLoader); + Statement statement = null; ActionResult result = new ActionResult<>(); try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { diff --git a/o2server/x_query_assemble_surface/src/main/java/com/x/query/assemble/surface/jaxrs/statement/ActionGet.java b/o2server/x_query_assemble_surface/src/main/java/com/x/query/assemble/surface/jaxrs/statement/ActionGet.java index 6ae1364c022f3c1b2b7db025292399aeb2b0a374..814d9ada881170986d734fb733996965010185eb 100644 --- a/o2server/x_query_assemble_surface/src/main/java/com/x/query/assemble/surface/jaxrs/statement/ActionGet.java +++ b/o2server/x_query_assemble_surface/src/main/java/com/x/query/assemble/surface/jaxrs/statement/ActionGet.java @@ -9,12 +9,22 @@ import com.x.base.core.project.exception.ExceptionAccessDenied; 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.logger.Logger; +import com.x.base.core.project.logger.LoggerFactory; import com.x.query.assemble.surface.Business; import com.x.query.core.entity.Query; import com.x.query.core.entity.schema.Statement; class ActionGet extends BaseAction { + + private static final Logger LOGGER = LoggerFactory.getLogger(ActionGet.class); + ActionResult execute(EffectivePerson effectivePerson, String flag) throws Exception { + + LOGGER.debug("execute:{}, flag:{}.", effectivePerson::getDistinguishedName, () -> flag); + ClassLoader classLoader = Business.getDynamicEntityClassLoader(); + Thread.currentThread().setContextClassLoader(classLoader); + try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { ActionResult result = new ActionResult<>(); Business business = new Business(emc); diff --git a/o2server/x_query_assemble_surface/src/main/java/com/x/query/assemble/surface/jaxrs/statement/ActionListWithQuery.java b/o2server/x_query_assemble_surface/src/main/java/com/x/query/assemble/surface/jaxrs/statement/ActionListWithQuery.java index 7aa0686ec191861e8fd87ee2351703f602ee8f04..5decb8137d014f83282c46541a09b723c5d04c3c 100644 --- a/o2server/x_query_assemble_surface/src/main/java/com/x/query/assemble/surface/jaxrs/statement/ActionListWithQuery.java +++ b/o2server/x_query_assemble_surface/src/main/java/com/x/query/assemble/surface/jaxrs/statement/ActionListWithQuery.java @@ -18,6 +18,8 @@ import com.x.base.core.project.exception.ExceptionEntityNotExist; 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.SortTools; import com.x.query.assemble.surface.Business; import com.x.query.core.entity.Query; @@ -25,7 +27,16 @@ import com.x.query.core.entity.View; import com.x.query.core.entity.schema.Statement; class ActionListWithQuery extends BaseAction { - ActionResult> execute(EffectivePerson effectivePerson, String queryFlag, JsonElement jsonElement) throws Exception { + + private static final Logger LOGGER = LoggerFactory.getLogger(ActionGet.class); + + ActionResult> execute(EffectivePerson effectivePerson, String queryFlag, JsonElement jsonElement) + throws Exception { + + LOGGER.debug("execute:{}, queryFlag:{}.", effectivePerson::getDistinguishedName, () -> queryFlag); + ClassLoader classLoader = Business.getDynamicEntityClassLoader(); + Thread.currentThread().setContextClassLoader(classLoader); + try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { ActionResult> result = new ActionResult<>(); Business business = new Business(emc); @@ -41,10 +52,10 @@ class ActionListWithQuery extends BaseAction { for (String id : emc.idsEqual(Statement.class, Statement.query_FIELDNAME, query.getId())) { Statement o = business.pick(id, Statement.class); if (null != o) { - if(BooleanUtils.isTrue(wi.getHasView()) && StringUtils.isBlank(o.getView())){ + if (BooleanUtils.isTrue(wi.getHasView()) && StringUtils.isBlank(o.getView())) { continue; } - if(BooleanUtils.isTrue(wi.getJustSelect()) && !Statement.TYPE_SELECT.equals(o.getType())){ + if (BooleanUtils.isTrue(wi.getJustSelect()) && !Statement.TYPE_SELECT.equals(o.getType())) { continue; } if (business.readable(effectivePerson, o)) { @@ -58,7 +69,7 @@ class ActionListWithQuery extends BaseAction { } } - public static class Wi extends GsonPropertyObject{ + public static class Wi extends GsonPropertyObject { @FieldDescribe("是否只查询select语句.") private Boolean justSelect; diff --git a/o2server/x_query_assemble_surface/src/main/java/com/x/query/assemble/surface/jaxrs/view/BaseAction.java b/o2server/x_query_assemble_surface/src/main/java/com/x/query/assemble/surface/jaxrs/view/BaseAction.java index 6a54ab5d5c3be04a191ad9b67b03a6f20a2d6806..9112a56a4d808f6fc5577cb8c38fe27a89002ca3 100644 --- a/o2server/x_query_assemble_surface/src/main/java/com/x/query/assemble/surface/jaxrs/view/BaseAction.java +++ b/o2server/x_query_assemble_surface/src/main/java/com/x/query/assemble/surface/jaxrs/view/BaseAction.java @@ -20,6 +20,7 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook; import com.google.gson.reflect.TypeToken; 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.cache.Cache.CacheKey; import com.x.base.core.project.cache.CacheManager; @@ -88,7 +89,7 @@ abstract class BaseAction extends StandardJaxrsAction { private void setProcessEdition(ProcessPlatformPlan processPlatformPlan) throws Exception { if (!processPlatformPlan.where.processList.isEmpty()) { List processIds = ListTools.extractField(processPlatformPlan.where.processList, - Process.id_FIELDNAME, String.class, true, true); + JpaObject.id_FIELDNAME, String.class, true, true); List processList; try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { Business business = new Business(emc);