diff --git a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/script/ScriptFactory.java b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/script/ScriptFactory.java index 311e5778903f644584af964b4dbb5d4e08979c96..09e66cf07dedbb3dbc2161eeb13a094be643762e 100644 --- a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/script/ScriptFactory.java +++ b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/script/ScriptFactory.java @@ -23,6 +23,10 @@ import jdk.nashorn.api.scripting.ScriptObjectMirror; public class ScriptFactory { + private ScriptFactory(){ + + } + public static final ScriptEngine scriptEngine = (new ScriptEngineManager()) .getEngineByName(Config.SCRIPTING_ENGINE_NAME); @@ -253,7 +257,6 @@ public class ScriptFactory { } } return list; - } } \ No newline at end of file diff --git a/o2server/x_organization_assemble_authentication/src/main/java/com/x/organization/assemble/authentication/jaxrs/authentication/BaseAction.java b/o2server/x_organization_assemble_authentication/src/main/java/com/x/organization/assemble/authentication/jaxrs/authentication/BaseAction.java index cfb0816fff0c5c83033ff529a1006187353d6618..a6797f4c821abda5421d0ebbf71ff02eb49cabc0 100644 --- a/o2server/x_organization_assemble_authentication/src/main/java/com/x/organization/assemble/authentication/jaxrs/authentication/BaseAction.java +++ b/o2server/x_organization_assemble_authentication/src/main/java/com/x/organization/assemble/authentication/jaxrs/authentication/BaseAction.java @@ -1,5 +1,14 @@ package com.x.organization.assemble.authentication.jaxrs.authentication; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + import com.x.base.core.entity.JpaObject; import com.x.base.core.project.annotation.FieldDescribe; import com.x.base.core.project.bean.NameValuePair; @@ -21,18 +30,10 @@ import com.x.organization.assemble.authentication.Business; import com.x.organization.assemble.authentication.wrapout.WrapOutAuthentication; import com.x.organization.core.entity.Identity; import com.x.organization.core.entity.Person; -import com.x.organization.core.entity.Role; + import org.apache.commons.lang3.BooleanUtils; import org.apache.commons.lang3.StringUtils; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.util.ArrayList; -import java.util.Comparator; -import java.util.Date; -import java.util.List; -import java.util.stream.Collectors; - abstract class BaseAction extends StandardJaxrsAction { private static Logger logger = LoggerFactory.getLogger(BaseAction.class); @@ -76,7 +77,7 @@ abstract class BaseAction extends StandardJaxrsAction { t.setToken(effectivePerson.getToken()); t.setTokenType(tokenType); /** 添加角色 */ - t.setRoleList(listRole(business, person.getId())); + t.setRoleList(business.organization().role().listWithPerson(effectivePerson.getDistinguishedName())); /** 添加身份 */ t.setIdentityList(listIdentity(business, person.getId())); /** 判断密码是否过期需要修改密码 */ @@ -157,14 +158,14 @@ abstract class BaseAction extends StandardJaxrsAction { } } - private List listRole(Business business, String personId) throws Exception { - List roles = new ArrayList<>(); - for (Role o : business.entityManagerContainer().fetch(business.role().listWithPerson(personId), Role.class, - ListTools.toList(Role.DISTINGUISHEDNAME))) { - roles.add(o.getDistinguishedName()); - } - return roles; - } + // private List listRole(Business business, String personId) throws Exception { + // List roles = new ArrayList<>(); + // for (Role o : business.entityManagerContainer().fetch(business.role().listWithPerson(personId), Role.class, + // ListTools.toList(Role.DISTINGUISHEDNAME))) { + // roles.add(o.getDistinguishedName()); + // } + // return roles; + // } private List listIdentity(Business business, String personId) throws Exception { List ids = business.identity().listWithPerson(personId); diff --git a/o2server/x_query_core_express/src/main/java/com/x/query/core/express/plan/Plan.java b/o2server/x_query_core_express/src/main/java/com/x/query/core/express/plan/Plan.java index bc27d38529b0b66e810630636dab81b4960acbef..425a06ec29860400c057dfc299d57a59e4dc9e3f 100644 --- a/o2server/x_query_core_express/src/main/java/com/x/query/core/express/plan/Plan.java +++ b/o2server/x_query_core_express/src/main/java/com/x/query/core/express/plan/Plan.java @@ -32,6 +32,8 @@ import com.x.base.core.entity.dataitem.ItemStringValueType; import com.x.base.core.entity.tools.JpaObjectTools; import com.x.base.core.project.config.Config; import com.x.base.core.project.gson.GsonPropertyObject; +import com.x.base.core.project.organization.OrganizationDefinition; +import com.x.base.core.project.script.ScriptFactory; import com.x.base.core.project.tools.ListTools; import com.x.query.core.entity.Item; import com.x.query.core.entity.Item_; @@ -50,8 +52,6 @@ public abstract class Plan extends GsonPropertyObject { public static final String CALCULATE_AVERAGE = "average"; public static final String CALCULATE_COUNT = "count"; - protected static Pattern DISTINGUISHEDNAME_PATTERN = Pattern.compile("^(\\S+)\\@(\\S+)\\@(P|PA|G|R|I|U|UA|UD)$"); - protected static final int SQL_STATEMENT_IN_BATCH = 3000; public Runtime runtime; @@ -196,12 +196,12 @@ public abstract class Plan extends GsonPropertyObject { } else { bundles = this.listBundle(emc); } -// if ((null != this.count) && (this.count > 0)) { -// /* 默认限制了数量 */ -// if (this.count < bundles.size()) { -// bundles = bundles.subList(0, this.count); -// } -// } + // if ((null != this.count) && (this.count > 0)) { + // /* 默认限制了数量 */ + // if (this.count < bundles.size()) { + // bundles = bundles.subList(0, this.count); + // } + // } if ((null != this.runtime.count) && (this.runtime.count > 0)) { /* runtime限制了数量 */ if (this.runtime.count < bundles.size()) { @@ -382,7 +382,7 @@ public abstract class Plan extends GsonPropertyObject { } private String name(String str) { - Matcher m = DISTINGUISHEDNAME_PATTERN.matcher(str); + Matcher m = OrganizationDefinition.distinguishedName_pattern.matcher(str); if (m.find()) { return m.group(1); } @@ -489,57 +489,58 @@ public abstract class Plan extends GsonPropertyObject { for (Tuple o : list) { row = table.get(Objects.toString(o.get(0))); switch (ItemPrimitiveType.valueOf(Objects.toString(o.get(1)))) { - case s: - switch (ItemStringValueType.valueOf(Objects.toString(o.get(2)))) { case s: - if (null != o.get(3)) { - if ((null != o.get(4)) && StringUtils.isNotEmpty(Objects.toString(o.get(4)))) { - row.put(selectEntry.getColumn(), Objects.toString(o.get(4))); - } else { - row.put(selectEntry.getColumn(), Objects.toString(o.get(3))); - } - } - break; - case d: - if (null != o.get(5)) { - row.put(selectEntry.getColumn(), JpaObjectTools.confirm((Date) o.get(5))); + switch (ItemStringValueType.valueOf(Objects.toString(o.get(2)))) { + case s: + if (null != o.get(3)) { + if ((null != o.get(4)) && StringUtils.isNotEmpty(Objects.toString(o.get(4)))) { + row.put(selectEntry.getColumn(), Objects.toString(o.get(4))); + } else { + row.put(selectEntry.getColumn(), Objects.toString(o.get(3))); + } + } + break; + case d: + if (null != o.get(5)) { + row.put(selectEntry.getColumn(), JpaObjectTools.confirm((Date) o.get(5))); + } + break; + case t: + if (null != o.get(6)) { + row.put(selectEntry.getColumn(), JpaObjectTools.confirm((Date) o.get(6))); + } + break; + case dt: + if (null != o.get(7)) { + row.put(selectEntry.getColumn(), JpaObjectTools.confirm((Date) o.get(7))); + } + break; + default: + break; } break; - case t: - if (null != o.get(6)) { - row.put(selectEntry.getColumn(), JpaObjectTools.confirm((Date) o.get(6))); + case b: + if (null != o.get(8)) { + row.put(selectEntry.getColumn(), (Boolean) o.get(8)); } break; - case dt: - if (null != o.get(7)) { - row.put(selectEntry.getColumn(), JpaObjectTools.confirm((Date) o.get(7))); + case n: + if (null != o.get(9)) { + row.put(selectEntry.getColumn(), (Number) o.get(9)); } break; default: break; - } - break; - case b: - if (null != o.get(8)) { - row.put(selectEntry.getColumn(), (Boolean) o.get(8)); - } - break; - case n: - if (null != o.get(9)) { - row.put(selectEntry.getColumn(), (Number) o.get(9)); - } - break; - default: - break; } } } /* 有两个地方用到了 */ private ScriptEngine getScriptEngine() { - ScriptEngineManager manager = new ScriptEngineManager(); - ScriptEngine scriptEngine = manager.getEngineByName("JavaScript"); - return scriptEngine; + // ScriptEngineManager manager = new ScriptEngineManager(); + // ScriptEngine scriptEngine = manager.getEngineByName("JavaScript"); + // return scriptEngine; + return ScriptFactory.scriptEngine; } public static class ExtractObject {