diff --git a/pom.xml b/pom.xml index 869d38c1d..0ac4c4d33 100644 --- a/pom.xml +++ b/pom.xml @@ -19,6 +19,7 @@ UTF-8 -Dfile.encoding=UTF-8 true + 4.3.18.RELEASE @@ -36,6 +37,12 @@ + + junit + junit + 4.11 + test + cn.devezhao persist4j @@ -51,12 +58,6 @@ bizz 1.0.0-SNAPSHOT - - junit - junit - 4.11 - test - log4j log4j @@ -75,32 +76,32 @@ org.springframework spring-context - 4.3.18.RELEASE + ${spring.version} org.springframework spring-context-support - 4.3.18.RELEASE + ${spring.version} org.springframework spring-web - 4.3.18.RELEASE + ${spring.version} org.springframework spring-tx - 4.3.18.RELEASE + ${spring.version} org.springframework spring-webmvc - 4.3.18.RELEASE + ${spring.version} org.springframework spring-websocket - 4.3.18.RELEASE + ${spring.version} org.aspectj @@ -128,10 +129,9 @@ 7.2.9 - com.github.stuxuhai - jpinyin - 1.1.8 - - + com.github.stuxuhai + jpinyin + 1.1.8 + diff --git a/src/main/java/com/rebuild/server/Application.java b/src/main/java/com/rebuild/server/Application.java index f08246b0a..262600f72 100644 --- a/src/main/java/com/rebuild/server/Application.java +++ b/src/main/java/com/rebuild/server/Application.java @@ -26,10 +26,11 @@ import org.bouncycastle.jce.provider.BouncyCastleProvider; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; +import com.rebuild.server.bizz.privileges.UserStore; +import com.rebuild.server.helper.AesPreferencesConfigurer; import com.rebuild.server.metadata.MetadataHelper; -import com.rebuild.server.privileges.UserStore; +import com.rebuild.server.query.QueryFactory; import com.rebuild.server.service.CommonService; -import com.rebuild.server.service.QueryFactory; import com.rebuild.server.service.SqlExecutor; import com.rebuild.web.OnlineSessionStore; @@ -136,8 +137,8 @@ public class Application { /** * @return */ - public static com.rebuild.server.privileges.SecurityManager getSecurityManager() { - return getBean(com.rebuild.server.privileges.SecurityManager.class); + public static com.rebuild.server.bizz.privileges.SecurityManager getSecurityManager() { + return getBean(com.rebuild.server.bizz.privileges.SecurityManager.class); } /** diff --git a/src/main/java/com/rebuild/server/service/bizuser/DepartmentService.java b/src/main/java/com/rebuild/server/bizz/DepartmentService.java similarity index 96% rename from src/main/java/com/rebuild/server/service/bizuser/DepartmentService.java rename to src/main/java/com/rebuild/server/bizz/DepartmentService.java index 983309c34..c44f7d23e 100644 --- a/src/main/java/com/rebuild/server/service/bizuser/DepartmentService.java +++ b/src/main/java/com/rebuild/server/bizz/DepartmentService.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -package com.rebuild.server.service.bizuser; +package com.rebuild.server.bizz; import com.rebuild.server.metadata.EntityHelper; import com.rebuild.server.service.BaseService; diff --git a/src/main/java/com/rebuild/server/service/bizuser/RoleService.java b/src/main/java/com/rebuild/server/bizz/RoleService.java similarity index 96% rename from src/main/java/com/rebuild/server/service/bizuser/RoleService.java rename to src/main/java/com/rebuild/server/bizz/RoleService.java index eedba73e0..d1d419afd 100644 --- a/src/main/java/com/rebuild/server/service/bizuser/RoleService.java +++ b/src/main/java/com/rebuild/server/bizz/RoleService.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -package com.rebuild.server.service.bizuser; +package com.rebuild.server.bizz; import com.rebuild.server.metadata.EntityHelper; import com.rebuild.server.service.BaseService; diff --git a/src/main/java/com/rebuild/server/service/bizuser/UserService.java b/src/main/java/com/rebuild/server/bizz/UserService.java similarity index 97% rename from src/main/java/com/rebuild/server/service/bizuser/UserService.java rename to src/main/java/com/rebuild/server/bizz/UserService.java index 47bb5230c..f57c2a7cc 100644 --- a/src/main/java/com/rebuild/server/service/bizuser/UserService.java +++ b/src/main/java/com/rebuild/server/bizz/UserService.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -package com.rebuild.server.service.bizuser; +package com.rebuild.server.bizz; import com.rebuild.server.Application; import com.rebuild.server.metadata.EntityHelper; diff --git a/src/main/java/com/rebuild/server/privileges/PrivilegesGuardAndTransactionInterceptor.java b/src/main/java/com/rebuild/server/bizz/privileges/PrivilegesGuardAndTransactionInterceptor.java similarity index 99% rename from src/main/java/com/rebuild/server/privileges/PrivilegesGuardAndTransactionInterceptor.java rename to src/main/java/com/rebuild/server/bizz/privileges/PrivilegesGuardAndTransactionInterceptor.java index e2844b94a..ee140c2d6 100644 --- a/src/main/java/com/rebuild/server/privileges/PrivilegesGuardAndTransactionInterceptor.java +++ b/src/main/java/com/rebuild/server/bizz/privileges/PrivilegesGuardAndTransactionInterceptor.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -package com.rebuild.server.privileges; +package com.rebuild.server.bizz.privileges; import java.lang.reflect.Method; import java.security.Guard; diff --git a/src/main/java/com/rebuild/server/privileges/QueryFilter.java b/src/main/java/com/rebuild/server/bizz/privileges/QueryFilter.java similarity index 98% rename from src/main/java/com/rebuild/server/privileges/QueryFilter.java rename to src/main/java/com/rebuild/server/bizz/privileges/QueryFilter.java index 811f42c6f..734125307 100644 --- a/src/main/java/com/rebuild/server/privileges/QueryFilter.java +++ b/src/main/java/com/rebuild/server/bizz/privileges/QueryFilter.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -package com.rebuild.server.privileges; +package com.rebuild.server.bizz.privileges; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; diff --git a/src/main/java/com/rebuild/server/privileges/SecurityManager.java b/src/main/java/com/rebuild/server/bizz/privileges/SecurityManager.java similarity index 96% rename from src/main/java/com/rebuild/server/privileges/SecurityManager.java rename to src/main/java/com/rebuild/server/bizz/privileges/SecurityManager.java index 7d8714481..37eb66874 100644 --- a/src/main/java/com/rebuild/server/privileges/SecurityManager.java +++ b/src/main/java/com/rebuild/server/bizz/privileges/SecurityManager.java @@ -16,10 +16,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -package com.rebuild.server.privileges; +package com.rebuild.server.bizz.privileges; -import com.rebuild.server.service.bizuser.RoleService; -import com.rebuild.server.service.bizuser.UserService; +import com.rebuild.server.bizz.RoleService; +import com.rebuild.server.bizz.UserService; import cn.devezhao.bizz.privileges.DepthEntry; import cn.devezhao.bizz.privileges.Permission; diff --git a/src/main/java/com/rebuild/server/privileges/User.java b/src/main/java/com/rebuild/server/bizz/privileges/User.java similarity index 97% rename from src/main/java/com/rebuild/server/privileges/User.java rename to src/main/java/com/rebuild/server/bizz/privileges/User.java index 4cefc9f9b..a28d43287 100644 --- a/src/main/java/com/rebuild/server/privileges/User.java +++ b/src/main/java/com/rebuild/server/bizz/privileges/User.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -package com.rebuild.server.privileges; +package com.rebuild.server.bizz.privileges; import org.apache.commons.lang.StringUtils; diff --git a/src/main/java/com/rebuild/server/privileges/UserStore.java b/src/main/java/com/rebuild/server/bizz/privileges/UserStore.java similarity index 99% rename from src/main/java/com/rebuild/server/privileges/UserStore.java rename to src/main/java/com/rebuild/server/bizz/privileges/UserStore.java index 3476ebdbd..aad4a42dd 100644 --- a/src/main/java/com/rebuild/server/privileges/UserStore.java +++ b/src/main/java/com/rebuild/server/bizz/privileges/UserStore.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -package com.rebuild.server.privileges; +package com.rebuild.server.bizz.privileges; import java.util.HashMap; import java.util.HashSet; diff --git a/src/main/java/com/rebuild/server/service/entitymanage/DisplayType.java b/src/main/java/com/rebuild/server/entityhub/DisplayType.java similarity index 97% rename from src/main/java/com/rebuild/server/service/entitymanage/DisplayType.java rename to src/main/java/com/rebuild/server/entityhub/DisplayType.java index 9fea07b1b..1f1579617 100644 --- a/src/main/java/com/rebuild/server/service/entitymanage/DisplayType.java +++ b/src/main/java/com/rebuild/server/entityhub/DisplayType.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -package com.rebuild.server.service.entitymanage; +package com.rebuild.server.entityhub; import cn.devezhao.persist4j.dialect.FieldType; import cn.devezhao.persist4j.dialect.Type; diff --git a/src/main/java/com/rebuild/server/service/entitymanage/EasyMeta.java b/src/main/java/com/rebuild/server/entityhub/EasyMeta.java similarity index 99% rename from src/main/java/com/rebuild/server/service/entitymanage/EasyMeta.java rename to src/main/java/com/rebuild/server/entityhub/EasyMeta.java index cc5d6d88f..91e45dd7d 100644 --- a/src/main/java/com/rebuild/server/service/entitymanage/EasyMeta.java +++ b/src/main/java/com/rebuild/server/entityhub/EasyMeta.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -package com.rebuild.server.service.entitymanage; +package com.rebuild.server.entityhub; import java.util.HashMap; import java.util.HashSet; diff --git a/src/main/java/com/rebuild/server/service/entitymanage/Entity2Schema.java b/src/main/java/com/rebuild/server/entityhub/Entity2Schema.java similarity index 99% rename from src/main/java/com/rebuild/server/service/entitymanage/Entity2Schema.java rename to src/main/java/com/rebuild/server/entityhub/Entity2Schema.java index e16940309..f66b65c86 100644 --- a/src/main/java/com/rebuild/server/service/entitymanage/Entity2Schema.java +++ b/src/main/java/com/rebuild/server/entityhub/Entity2Schema.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -package com.rebuild.server.service.entitymanage; +package com.rebuild.server.entityhub; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.math.RandomUtils; diff --git a/src/main/java/com/rebuild/server/service/entitymanage/Field2Schema.java b/src/main/java/com/rebuild/server/entityhub/Field2Schema.java similarity index 99% rename from src/main/java/com/rebuild/server/service/entitymanage/Field2Schema.java rename to src/main/java/com/rebuild/server/entityhub/Field2Schema.java index 27c205720..7a86b5d57 100644 --- a/src/main/java/com/rebuild/server/service/entitymanage/Field2Schema.java +++ b/src/main/java/com/rebuild/server/entityhub/Field2Schema.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -package com.rebuild.server.service.entitymanage; +package com.rebuild.server.entityhub; import java.util.HashSet; import java.util.Set; diff --git a/src/main/java/com/rebuild/server/service/entitymanage/MetaEntityService.java b/src/main/java/com/rebuild/server/entityhub/MetaEntityService.java similarity index 95% rename from src/main/java/com/rebuild/server/service/entitymanage/MetaEntityService.java rename to src/main/java/com/rebuild/server/entityhub/MetaEntityService.java index ddaded63f..2930e133a 100644 --- a/src/main/java/com/rebuild/server/service/entitymanage/MetaEntityService.java +++ b/src/main/java/com/rebuild/server/entityhub/MetaEntityService.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -package com.rebuild.server.service.entitymanage; +package com.rebuild.server.entityhub; import com.rebuild.server.metadata.EntityHelper; import com.rebuild.server.service.BaseService; diff --git a/src/main/java/com/rebuild/server/service/entitymanage/MetaFieldService.java b/src/main/java/com/rebuild/server/entityhub/MetaFieldService.java similarity index 95% rename from src/main/java/com/rebuild/server/service/entitymanage/MetaFieldService.java rename to src/main/java/com/rebuild/server/entityhub/MetaFieldService.java index e38a16f45..80e9aedab 100644 --- a/src/main/java/com/rebuild/server/service/entitymanage/MetaFieldService.java +++ b/src/main/java/com/rebuild/server/entityhub/MetaFieldService.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -package com.rebuild.server.service.entitymanage; +package com.rebuild.server.entityhub; import com.rebuild.server.metadata.EntityHelper; import com.rebuild.server.service.BaseService; diff --git a/src/main/java/com/rebuild/server/service/entitymanage/PickListService.java b/src/main/java/com/rebuild/server/entityhub/PickListService.java similarity index 98% rename from src/main/java/com/rebuild/server/service/entitymanage/PickListService.java rename to src/main/java/com/rebuild/server/entityhub/PickListService.java index cabaa7b52..5fc6aca79 100644 --- a/src/main/java/com/rebuild/server/service/entitymanage/PickListService.java +++ b/src/main/java/com/rebuild/server/entityhub/PickListService.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -package com.rebuild.server.service.entitymanage; +package com.rebuild.server.entityhub; import java.util.HashSet; import java.util.Set; diff --git a/src/main/java/com/rebuild/server/service/entitymanage/UnsafeEntity.java b/src/main/java/com/rebuild/server/entityhub/UnsafeEntity.java similarity index 96% rename from src/main/java/com/rebuild/server/service/entitymanage/UnsafeEntity.java rename to src/main/java/com/rebuild/server/entityhub/UnsafeEntity.java index 70ea725d6..355e1001a 100644 --- a/src/main/java/com/rebuild/server/service/entitymanage/UnsafeEntity.java +++ b/src/main/java/com/rebuild/server/entityhub/UnsafeEntity.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -package com.rebuild.server.service.entitymanage; +package com.rebuild.server.entityhub; import cn.devezhao.persist4j.Field; import cn.devezhao.persist4j.metadata.impl.EntityImpl; diff --git a/src/main/java/com/rebuild/server/AesPreferencesConfigurer.java b/src/main/java/com/rebuild/server/helper/AesPreferencesConfigurer.java similarity index 93% rename from src/main/java/com/rebuild/server/AesPreferencesConfigurer.java rename to src/main/java/com/rebuild/server/helper/AesPreferencesConfigurer.java index 765d57444..bede4dcf5 100644 --- a/src/main/java/com/rebuild/server/AesPreferencesConfigurer.java +++ b/src/main/java/com/rebuild/server/helper/AesPreferencesConfigurer.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -package com.rebuild.server; +package com.rebuild.server.helper; import java.io.IOException; import java.util.Properties; @@ -49,7 +49,11 @@ public class AesPreferencesConfigurer extends PreferencesPlaceholderConfigurer { propsHold = props; } - protected String getItem(String key) { + /** + * @param key + * @return + */ + public String getItem(String key) { return propsHold.getProperty(key); } } \ No newline at end of file diff --git a/src/main/java/com/rebuild/server/helper/HugeTask.java b/src/main/java/com/rebuild/server/helper/HugeTask.java new file mode 100644 index 000000000..c4cc14ec9 --- /dev/null +++ b/src/main/java/com/rebuild/server/helper/HugeTask.java @@ -0,0 +1,97 @@ +/* +rebuild - Building your system freely. +Copyright (C) 2018 devezhao + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program 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 General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +package com.rebuild.server.helper; + +import com.alibaba.fastjson.JSON; + +/** + * 前台提交的耗时操作 + * + * @author devezhao + * @since 09/29/2018 + */ +public abstract class HugeTask implements Runnable { + + private int totalQuantity = -1; + private int completeQuantity = 0; + + /** + * 任务执行相关数据 + */ + protected JSON data; + + /** + * @param data + */ + protected HugeTask(JSON data) { + this.data = data; + } + + /** + * @param totalQuantity + */ + protected void setTotalQuantity(int totalQuantity) { + this.totalQuantity = totalQuantity; + } + + /** + * @param completeQuantity + */ + protected void setCompleteQuantity(int completeQuantity) { + this.completeQuantity = completeQuantity; + } + + /** + * @return + */ + public int getTotalQuantity() { + return totalQuantity; + } + + /** + * @return + */ + public int getCompleteQuantity() { + return completeQuantity; + } + + /** + * 任务完成率 + * + * @return + */ + public double getCompletePercent() { + if (totalQuantity == -1 || completeQuantity == 0) { + return 0; + } + if (totalQuantity == completeQuantity) { + return 1; + } + return completeQuantity / totalQuantity; + } + + /** + * 是否完成? + * + * @return + */ + public boolean isCompleted() { + return totalQuantity == -1 || totalQuantity == completeQuantity; + } +} diff --git a/src/main/java/com/rebuild/server/helper/HugeTaskExecutor.java b/src/main/java/com/rebuild/server/helper/HugeTaskExecutor.java new file mode 100644 index 000000000..3aae43347 --- /dev/null +++ b/src/main/java/com/rebuild/server/helper/HugeTaskExecutor.java @@ -0,0 +1,65 @@ +/* +rebuild - Building your system freely. +Copyright (C) 2018 devezhao + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program 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 General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +package com.rebuild.server.helper; + +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; +import org.springframework.scheduling.quartz.QuartzJobBean; + +import cn.devezhao.commons.CodecUtils; + +/** + * + * @author devezhao + * @since 09/29/2018 + */ +public class HugeTaskExecutor extends QuartzJobBean { + + private static final Map TASKS = new ConcurrentHashMap<>(); + + /** + * @param task + * @return + */ + public static String submit(HugeTask task) { + String taskid = task.getClass().getSimpleName() + "-" + CodecUtils.randomCode(20); + TASKS.put(taskid, task); + return taskid; + } + + /** + * @param taskid + * @return + */ + public static HugeTask getTask(String taskid) { + return TASKS.get(taskid); + } + + // -- + + @Override + protected void executeInternal(JobExecutionContext context) throws JobExecutionException { + + // TODO 任务完成 2 小时了,移除 + + } +} diff --git a/src/main/java/com/rebuild/server/helper/TimeHugeTask.java b/src/main/java/com/rebuild/server/helper/TimeHugeTask.java new file mode 100644 index 000000000..74ee281bc --- /dev/null +++ b/src/main/java/com/rebuild/server/helper/TimeHugeTask.java @@ -0,0 +1,76 @@ +/* +rebuild - Building your system freely. +Copyright (C) 2018 devezhao + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program 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 General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +package com.rebuild.server.helper; + +import java.util.Date; + +import com.alibaba.fastjson.JSON; + +import cn.devezhao.commons.CalendarUtils; + +/** + * + * @author devezhao + * @since 09/29/2018 + */ +public abstract class TimeHugeTask extends HugeTask { + + private Date beginTime; + private Date endTime; + + /** + * @param data + */ + protected TimeHugeTask(JSON data) { + super(data); + this.beginTime = CalendarUtils.now(); + } + + /** + * @return + */ + public Date getBeginTime() { + return beginTime; + } + + /** + * @return + */ + public Date getEndTime() { + return endTime; + } + + /** + * @param endTime + */ + protected void setEndTime(Date endTime) { + this.endTime = endTime; + } + + /** + * 任务耗时(ms) + * + * @return + */ + public long getElapsedTime() { + Date end = getEndTime(); + end = end == null ? CalendarUtils.now() : end; + return end.getTime() - beginTime.getTime(); + } +} diff --git a/src/main/java/com/rebuild/server/service/base/DataListManager.java b/src/main/java/com/rebuild/server/helper/manager/DataListManager.java similarity index 96% rename from src/main/java/com/rebuild/server/service/base/DataListManager.java rename to src/main/java/com/rebuild/server/helper/manager/DataListManager.java index cae44e3e7..ce68659e8 100644 --- a/src/main/java/com/rebuild/server/service/base/DataListManager.java +++ b/src/main/java/com/rebuild/server/helper/manager/DataListManager.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -package com.rebuild.server.service.base; +package com.rebuild.server.helper.manager; import java.util.ArrayList; import java.util.HashMap; @@ -29,9 +29,9 @@ import org.apache.commons.logging.LogFactory; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.rebuild.server.entityhub.EasyMeta; import com.rebuild.server.metadata.EntityHelper; import com.rebuild.server.metadata.MetadataHelper; -import com.rebuild.server.service.entitymanage.EasyMeta; import cn.devezhao.persist4j.Entity; import cn.devezhao.persist4j.Field; diff --git a/src/main/java/com/rebuild/server/service/base/FieldValueWrapper.java b/src/main/java/com/rebuild/server/helper/manager/FieldValueWrapper.java similarity index 93% rename from src/main/java/com/rebuild/server/service/base/FieldValueWrapper.java rename to src/main/java/com/rebuild/server/helper/manager/FieldValueWrapper.java index f0bbf757b..8c3b3bb94 100644 --- a/src/main/java/com/rebuild/server/service/base/FieldValueWrapper.java +++ b/src/main/java/com/rebuild/server/helper/manager/FieldValueWrapper.java @@ -16,16 +16,16 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -package com.rebuild.server.service.base; +package com.rebuild.server.helper.manager; import java.text.DecimalFormat; import org.apache.commons.lang.StringUtils; import org.springframework.util.Assert; +import com.rebuild.server.entityhub.DisplayType; +import com.rebuild.server.entityhub.EasyMeta; import com.rebuild.server.metadata.MetadataHelper; -import com.rebuild.server.service.entitymanage.DisplayType; -import com.rebuild.server.service.entitymanage.EasyMeta; import cn.devezhao.commons.CalendarUtils; import cn.devezhao.persist4j.Entity; @@ -49,6 +49,10 @@ public class FieldValueWrapper { return StringUtils.EMPTY; } + if (field.getName().equalsIgnoreCase("password")) { + return "******"; + } + DisplayType dt = field.getDisplayType(); if (dt == DisplayType.DATE) { return wrapDate(value, field); @@ -123,6 +127,13 @@ public class FieldValueWrapper { * @return */ public static Object wrapReference(Object reference, EasyMeta field) { + + // TODO 名称字段 + + if (!(reference instanceof Object[])) { + return reference.toString(); + } + Assert.isTrue(reference instanceof Object[], "Must be 'Object[]'"); Object[] referenceValue = (Object[]) reference; Object[] idNamed = new Object[3]; diff --git a/src/main/java/com/rebuild/server/service/base/FormManager.java b/src/main/java/com/rebuild/server/helper/manager/FormManager.java similarity index 97% rename from src/main/java/com/rebuild/server/service/base/FormManager.java rename to src/main/java/com/rebuild/server/helper/manager/FormManager.java index 33acfcb67..2d815bb41 100644 --- a/src/main/java/com/rebuild/server/service/base/FormManager.java +++ b/src/main/java/com/rebuild/server/helper/manager/FormManager.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -package com.rebuild.server.service.base; +package com.rebuild.server.helper.manager; import java.util.Date; import java.util.Map; @@ -28,11 +28,11 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.rebuild.server.Application; +import com.rebuild.server.bizz.privileges.User; +import com.rebuild.server.entityhub.DisplayType; +import com.rebuild.server.entityhub.EasyMeta; import com.rebuild.server.metadata.EntityHelper; import com.rebuild.server.metadata.MetadataHelper; -import com.rebuild.server.privileges.User; -import com.rebuild.server.service.entitymanage.DisplayType; -import com.rebuild.server.service.entitymanage.EasyMeta; import cn.devezhao.commons.CalendarUtils; import cn.devezhao.persist4j.Entity; diff --git a/src/main/java/com/rebuild/server/service/base/LayoutManager.java b/src/main/java/com/rebuild/server/helper/manager/LayoutManager.java similarity index 97% rename from src/main/java/com/rebuild/server/service/base/LayoutManager.java rename to src/main/java/com/rebuild/server/helper/manager/LayoutManager.java index cccf11110..2b932f9ff 100644 --- a/src/main/java/com/rebuild/server/service/base/LayoutManager.java +++ b/src/main/java/com/rebuild/server/helper/manager/LayoutManager.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -package com.rebuild.server.service.base; +package com.rebuild.server.helper.manager; import com.alibaba.fastjson.JSON; import com.rebuild.server.Application; diff --git a/src/main/java/com/rebuild/server/service/base/NavManager.java b/src/main/java/com/rebuild/server/helper/manager/NavManager.java similarity index 97% rename from src/main/java/com/rebuild/server/service/base/NavManager.java rename to src/main/java/com/rebuild/server/helper/manager/NavManager.java index 7c7d5eb7f..fc9dd721c 100644 --- a/src/main/java/com/rebuild/server/service/base/NavManager.java +++ b/src/main/java/com/rebuild/server/helper/manager/NavManager.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -package com.rebuild.server.service.base; +package com.rebuild.server.helper.manager; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; diff --git a/src/main/java/com/rebuild/server/service/base/PickListManager.java b/src/main/java/com/rebuild/server/helper/manager/PickListManager.java similarity index 98% rename from src/main/java/com/rebuild/server/service/base/PickListManager.java rename to src/main/java/com/rebuild/server/helper/manager/PickListManager.java index 1815355a7..1a2e9afe5 100644 --- a/src/main/java/com/rebuild/server/service/base/PickListManager.java +++ b/src/main/java/com/rebuild/server/helper/manager/PickListManager.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -package com.rebuild.server.service.base; +package com.rebuild.server.helper.manager; import java.util.ArrayList; import java.util.HashMap; diff --git a/src/main/java/com/rebuild/server/metadata/DynamicMetadataFactory.java b/src/main/java/com/rebuild/server/metadata/DynamicMetadataFactory.java index ac32715cd..d5b22d840 100644 --- a/src/main/java/com/rebuild/server/metadata/DynamicMetadataFactory.java +++ b/src/main/java/com/rebuild/server/metadata/DynamicMetadataFactory.java @@ -27,7 +27,7 @@ import org.dom4j.Document; import org.dom4j.Element; import com.rebuild.server.Application; -import com.rebuild.server.service.entitymanage.DisplayType; +import com.rebuild.server.entityhub.DisplayType; import cn.devezhao.persist4j.dialect.Dialect; import cn.devezhao.persist4j.metadata.impl.ConfigurationMetadataFactory; diff --git a/src/main/java/com/rebuild/server/metadata/EntityHelper.java b/src/main/java/com/rebuild/server/metadata/EntityHelper.java index 0ad7cb1c7..86787ecd1 100644 --- a/src/main/java/com/rebuild/server/metadata/EntityHelper.java +++ b/src/main/java/com/rebuild/server/metadata/EntityHelper.java @@ -27,7 +27,7 @@ import cn.devezhao.persist4j.Record; import cn.devezhao.persist4j.engine.ID; import cn.devezhao.persist4j.engine.StandardRecord; import cn.devezhao.persist4j.record.FieldValueException; -import cn.devezhao.persist4j.record.JsonRecordCreator; +import cn.devezhao.persist4j.record.JSONRecordCreator; import cn.devezhao.persist4j.record.RecordCreator; /** @@ -55,7 +55,7 @@ public class EntityHelper { * @return */ public static Record parse(JSONObject data, ID user) { - JSONObject metadata = data.getJSONObject(JsonRecordCreator.META_FIELD); + JSONObject metadata = data.getJSONObject(JSONRecordCreator.META_FIELD); if (metadata == null) { throw new FieldValueException("无效实体数据格式(1): " + data.toJSONString()); } diff --git a/src/main/java/com/rebuild/server/metadata/ExtRecordCreator.java b/src/main/java/com/rebuild/server/metadata/ExtRecordCreator.java index e2dfd998a..513ef19a5 100644 --- a/src/main/java/com/rebuild/server/metadata/ExtRecordCreator.java +++ b/src/main/java/com/rebuild/server/metadata/ExtRecordCreator.java @@ -22,19 +22,19 @@ import java.util.Date; import com.alibaba.fastjson.JSONObject; import com.rebuild.server.Application; -import com.rebuild.server.service.bizuser.UserService; +import com.rebuild.server.bizz.UserService; import cn.devezhao.commons.CalendarUtils; import cn.devezhao.persist4j.Entity; import cn.devezhao.persist4j.Record; import cn.devezhao.persist4j.engine.ID; -import cn.devezhao.persist4j.record.JsonRecordCreator; +import cn.devezhao.persist4j.record.JSONRecordCreator; /** * @author Zhao Fangfang * @since 1.0, 2013-6-26 */ -public class ExtRecordCreator extends JsonRecordCreator { +public class ExtRecordCreator extends JSONRecordCreator { /** * @param entity diff --git a/src/main/java/com/rebuild/server/service/ServiceExecuteCall.java b/src/main/java/com/rebuild/server/query/AdvFilterParser.java similarity index 69% rename from src/main/java/com/rebuild/server/service/ServiceExecuteCall.java rename to src/main/java/com/rebuild/server/query/AdvFilterParser.java index 423a5adef..510b39058 100644 --- a/src/main/java/com/rebuild/server/service/ServiceExecuteCall.java +++ b/src/main/java/com/rebuild/server/query/AdvFilterParser.java @@ -16,30 +16,13 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -package com.rebuild.server.service; - -import cn.devezhao.persist4j.Record; +package com.rebuild.server.query; /** + * 高级查询解析器 * - * @author zhaofang123@gmail.com - * @since 03/20/2018 + * @author devezhao + * @since 09/29/2018 */ -public interface ServiceExecuteCall { - - /** - * @return - */ - int getEntity(); - - /** - * @return - */ - boolean isAsync(); - - /** - * @param record - * @return - */ - Object call(Record record); +public class AdvFilterParser { } diff --git a/src/main/java/com/rebuild/server/service/QueryFactory.java b/src/main/java/com/rebuild/server/query/QueryFactory.java similarity index 98% rename from src/main/java/com/rebuild/server/service/QueryFactory.java rename to src/main/java/com/rebuild/server/query/QueryFactory.java index 3f12fd7a1..7be316e2f 100644 --- a/src/main/java/com/rebuild/server/service/QueryFactory.java +++ b/src/main/java/com/rebuild/server/query/QueryFactory.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -package com.rebuild.server.service; +package com.rebuild.server.query; import com.rebuild.server.Application; diff --git a/src/main/java/com/rebuild/server/service/CommonService.java b/src/main/java/com/rebuild/server/service/CommonService.java index da23a7282..ded1a79f0 100644 --- a/src/main/java/com/rebuild/server/service/CommonService.java +++ b/src/main/java/com/rebuild/server/service/CommonService.java @@ -18,10 +18,6 @@ along with this program. If not, see . package com.rebuild.server.service; -import java.util.HashMap; -import java.util.Map; - -import cn.devezhao.commons.ThreadPool; import cn.devezhao.persist4j.PersistManagerFactory; import cn.devezhao.persist4j.Record; import cn.devezhao.persist4j.engine.ID; @@ -45,7 +41,6 @@ public class CommonService extends BaseService { @Override public Record create(Record record) { record = super.create(record); - createAfter(record); return record; } @@ -62,33 +57,4 @@ public class CommonService extends BaseService { } return affected; } - - // -- - - private static final Map SERVICEEXECUTECALL_MAP = new HashMap<>(); - - public void registerCall(ServiceExecuteCall call) { - SERVICEEXECUTECALL_MAP.put(call.getEntity(), call); - } - - /** - * 创建后回调 - * - * @param record - */ - protected void createAfter(final Record record) { - final ServiceExecuteCall call = SERVICEEXECUTECALL_MAP.get(record.getEntity().getEntityCode()); - if (call != null) { - if (call.isAsync()) { - ThreadPool.exec(new Runnable() { - @Override - public void run() { - call.call(record); - } - }); - } else { - call.call(record); - } - } - } } diff --git a/src/main/java/com/rebuild/utils/JSONUtils.java b/src/main/java/com/rebuild/utils/JSONUtils.java new file mode 100644 index 000000000..cb98d7865 --- /dev/null +++ b/src/main/java/com/rebuild/utils/JSONUtils.java @@ -0,0 +1,57 @@ +/* +rebuild - Building your system freely. +Copyright (C) 2018 devezhao + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program 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 General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +package com.rebuild.utils; + +import java.util.HashMap; +import java.util.Map; + +import org.springframework.util.Assert; + +import com.alibaba.fastjson.JSON; + +/** + * + * @author devezhao + * @since 09/29/2018 + */ +public class JSONUtils { + + /** + * @param key + * @param value + * @return + */ + public static JSON toJSONObject(String key, Object value) { + return toJSONObject(new String[] { key }, new Object[] { value }); + } + + /** + * @param keys + * @param values + * @return + */ + public static JSON toJSONObject(String keys[], Object values[]) { + Assert.isTrue(keys.length == values.length, "K/V 长度不匹配"); + Map map = new HashMap<>(); + for (int i = 0; i < keys.length; i++) { + map.put(keys[i], values[i]); + } + return (JSON) JSON.toJSON(map); + } +} diff --git a/src/main/java/com/rebuild/web/PageControll.java b/src/main/java/com/rebuild/web/PageControll.java index 7a170d609..76284eca5 100644 --- a/src/main/java/com/rebuild/web/PageControll.java +++ b/src/main/java/com/rebuild/web/PageControll.java @@ -23,8 +23,8 @@ import javax.servlet.http.HttpServletRequest; import org.springframework.web.servlet.ModelAndView; import com.rebuild.server.Startup; +import com.rebuild.server.entityhub.EasyMeta; import com.rebuild.server.metadata.MetadataHelper; -import com.rebuild.server.service.entitymanage.EasyMeta; import com.rebuild.utils.AppUtils; import cn.devezhao.persist4j.engine.ID; diff --git a/src/main/java/com/rebuild/web/RequestWatchHandler.java b/src/main/java/com/rebuild/web/RequestWatchHandler.java index 21dcbb978..5d9867cec 100644 --- a/src/main/java/com/rebuild/web/RequestWatchHandler.java +++ b/src/main/java/com/rebuild/web/RequestWatchHandler.java @@ -75,7 +75,7 @@ public class RequestWatchHandler extends HandlerInterceptorAdapter { if (exception != null) { Throwable rootCause = ThrowableUtils.getRootCause(exception); - String errorMsg = "系统繁忙"; + String errorMsg = "系统繁忙!请稍后重试"; if (rootCause instanceof RebuildException) { errorMsg = ((RebuildException) rootCause).toClientMsgString(); } diff --git a/src/main/java/com/rebuild/web/admin/entitymanage/LayoutConfigControll.java b/src/main/java/com/rebuild/web/admin/entityhub/LayoutConfigControll.java similarity index 96% rename from src/main/java/com/rebuild/web/admin/entitymanage/LayoutConfigControll.java rename to src/main/java/com/rebuild/web/admin/entityhub/LayoutConfigControll.java index 440f66615..8332b254c 100644 --- a/src/main/java/com/rebuild/web/admin/entitymanage/LayoutConfigControll.java +++ b/src/main/java/com/rebuild/web/admin/entityhub/LayoutConfigControll.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -package com.rebuild.web.admin.entitymanage; +package com.rebuild.web.admin.entityhub; import java.io.IOException; @@ -31,8 +31,8 @@ import org.springframework.web.servlet.ModelAndView; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.rebuild.server.Application; +import com.rebuild.server.helper.manager.FormManager; import com.rebuild.server.metadata.EntityHelper; -import com.rebuild.server.service.base.FormManager; import com.rebuild.web.BaseControll; import cn.devezhao.commons.web.ServletUtils; diff --git a/src/main/java/com/rebuild/web/admin/entitymanage/MetaEntityControll.java b/src/main/java/com/rebuild/web/admin/entityhub/MetaEntityControll.java similarity index 96% rename from src/main/java/com/rebuild/web/admin/entitymanage/MetaEntityControll.java rename to src/main/java/com/rebuild/web/admin/entityhub/MetaEntityControll.java index b1191c23e..30e0b9d36 100644 --- a/src/main/java/com/rebuild/web/admin/entitymanage/MetaEntityControll.java +++ b/src/main/java/com/rebuild/web/admin/entityhub/MetaEntityControll.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -package com.rebuild.web.admin.entitymanage; +package com.rebuild.web.admin.entityhub; import java.io.IOException; import java.util.ArrayList; @@ -35,10 +35,10 @@ import org.springframework.web.servlet.ModelAndView; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.rebuild.server.Application; +import com.rebuild.server.entityhub.EasyMeta; +import com.rebuild.server.entityhub.Entity2Schema; import com.rebuild.server.metadata.EntityHelper; import com.rebuild.server.metadata.MetadataHelper; -import com.rebuild.server.service.entitymanage.EasyMeta; -import com.rebuild.server.service.entitymanage.Entity2Schema; import com.rebuild.web.BaseControll; import cn.devezhao.commons.web.ServletUtils; diff --git a/src/main/java/com/rebuild/web/admin/entitymanage/MetaFieldControll.java b/src/main/java/com/rebuild/web/admin/entityhub/MetaFieldControll.java similarity index 96% rename from src/main/java/com/rebuild/web/admin/entitymanage/MetaFieldControll.java rename to src/main/java/com/rebuild/web/admin/entityhub/MetaFieldControll.java index 64b4502fd..61a7c14e4 100644 --- a/src/main/java/com/rebuild/web/admin/entitymanage/MetaFieldControll.java +++ b/src/main/java/com/rebuild/web/admin/entityhub/MetaFieldControll.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -package com.rebuild.web.admin.entitymanage; +package com.rebuild.web.admin.entityhub; import java.io.IOException; import java.util.ArrayList; @@ -35,11 +35,11 @@ import org.springframework.web.servlet.ModelAndView; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.rebuild.server.Application; +import com.rebuild.server.entityhub.DisplayType; +import com.rebuild.server.entityhub.EasyMeta; +import com.rebuild.server.entityhub.Field2Schema; import com.rebuild.server.metadata.EntityHelper; import com.rebuild.server.metadata.MetadataHelper; -import com.rebuild.server.service.entitymanage.DisplayType; -import com.rebuild.server.service.entitymanage.EasyMeta; -import com.rebuild.server.service.entitymanage.Field2Schema; import com.rebuild.web.BaseControll; import cn.devezhao.commons.web.ServletUtils; diff --git a/src/main/java/com/rebuild/web/admin/entitymanage/PickListControll.java b/src/main/java/com/rebuild/web/admin/entityhub/PickListControll.java similarity index 93% rename from src/main/java/com/rebuild/web/admin/entitymanage/PickListControll.java rename to src/main/java/com/rebuild/web/admin/entityhub/PickListControll.java index 0d727c5e1..2278ced6f 100644 --- a/src/main/java/com/rebuild/web/admin/entitymanage/PickListControll.java +++ b/src/main/java/com/rebuild/web/admin/entityhub/PickListControll.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -package com.rebuild.web.admin.entitymanage; +package com.rebuild.web.admin.entityhub; import java.io.IOException; @@ -29,9 +29,9 @@ import org.springframework.web.bind.annotation.RequestMapping; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.rebuild.server.Application; +import com.rebuild.server.entityhub.PickListService; +import com.rebuild.server.helper.manager.PickListManager; import com.rebuild.server.metadata.MetadataHelper; -import com.rebuild.server.service.base.PickListManager; -import com.rebuild.server.service.entitymanage.PickListService; import com.rebuild.web.BaseControll; import cn.devezhao.commons.web.ServletUtils; diff --git a/src/main/java/com/rebuild/web/base/CommonSearch.java b/src/main/java/com/rebuild/web/base/CommonSearch.java index 2819195ad..960e048f4 100644 --- a/src/main/java/com/rebuild/web/base/CommonSearch.java +++ b/src/main/java/com/rebuild/web/base/CommonSearch.java @@ -46,10 +46,10 @@ import cn.devezhao.persist4j.dialect.FieldType; * @since 08/24/2018 */ @Controller -@RequestMapping("/app/") +@RequestMapping("/app/commons/") public class CommonSearch extends BaseControll { - @RequestMapping("common/search") + @RequestMapping("search") public void search(HttpServletRequest request, HttpServletResponse response) throws IOException { String entity = getParameter(request, "entity"); String search = getParameter(request, "search"); diff --git a/src/main/java/com/rebuild/web/base/HugeTaskControll.java b/src/main/java/com/rebuild/web/base/HugeTaskControll.java new file mode 100644 index 000000000..0aed22372 --- /dev/null +++ b/src/main/java/com/rebuild/web/base/HugeTaskControll.java @@ -0,0 +1,60 @@ +/* +rebuild - Building your system freely. +Copyright (C) 2018 devezhao + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program 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 General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +package com.rebuild.web.base; + +import java.io.IOException; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; + +import com.alibaba.fastjson.JSON; +import com.rebuild.server.helper.HugeTaskExecutor; +import com.rebuild.utils.JSONUtils; +import com.rebuild.web.BaseControll; + +import cn.devezhao.commons.web.ServletUtils; + +/** + * + * @author devezhao + * @since 09/29/2018 + */ +@RequestMapping("/commons/task/") +@Controller +public class HugeTaskControll extends BaseControll { + + @RequestMapping("submit") + public void submit(HttpServletRequest request, HttpServletResponse response) + throws IOException { + JSON reqdata = ServletUtils.getRequestJson(request); + + } + + @RequestMapping("check-state") + public void checkState(HttpServletRequest request, HttpServletResponse response) + throws IOException { + String taskid = getParameterNotNull(request, "taskid"); + double cp = HugeTaskExecutor.getTask(taskid).getCompletePercent(); + JSON ret = JSONUtils.toJSONObject(new String[] { "taskid", "complete" }, new Object[] { taskid, cp }); + writeSuccess(response, ret); + } +} diff --git a/src/main/java/com/rebuild/web/base/MetadataGet.java b/src/main/java/com/rebuild/web/base/MetadataGet.java index ddcf16a9b..67e4f1680 100644 --- a/src/main/java/com/rebuild/web/base/MetadataGet.java +++ b/src/main/java/com/rebuild/web/base/MetadataGet.java @@ -30,8 +30,8 @@ import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; +import com.rebuild.server.entityhub.EasyMeta; import com.rebuild.server.metadata.MetadataHelper; -import com.rebuild.server.service.entitymanage.EasyMeta; import com.rebuild.web.BaseControll; import cn.devezhao.persist4j.Entity; @@ -43,10 +43,10 @@ import cn.devezhao.persist4j.Field; * @since 09/19/2018 */ @Controller -@RequestMapping("/app/") +@RequestMapping("/commons/metadata/") public class MetadataGet extends BaseControll { - @RequestMapping("common/metadata/entities") + @RequestMapping("entities") public void entities(HttpServletRequest request, HttpServletResponse response) throws IOException { Entity[] entities = MetadataHelper.getEntities(); @@ -65,7 +65,7 @@ public class MetadataGet extends BaseControll { writeSuccess(response, list); } - @RequestMapping("common/metadata/fields") + @RequestMapping("fields") public void fields(HttpServletRequest request, HttpServletResponse response) throws IOException { String entity = getParameterNotNull(request, "entity"); Entity entityBase = MetadataHelper.getEntity(entity); diff --git a/src/main/java/com/rebuild/web/base/NavSettings.java b/src/main/java/com/rebuild/web/base/NavSettings.java index acad56f42..dda91c468 100644 --- a/src/main/java/com/rebuild/web/base/NavSettings.java +++ b/src/main/java/com/rebuild/web/base/NavSettings.java @@ -29,9 +29,9 @@ import org.springframework.web.bind.annotation.RequestMethod; import com.alibaba.fastjson.JSON; import com.rebuild.server.Application; +import com.rebuild.server.helper.manager.LayoutManager; +import com.rebuild.server.helper.manager.NavManager; import com.rebuild.server.metadata.EntityHelper; -import com.rebuild.server.service.base.LayoutManager; -import com.rebuild.server.service.base.NavManager; import com.rebuild.web.BaseControll; import cn.devezhao.commons.web.ServletUtils; @@ -44,10 +44,10 @@ import cn.devezhao.persist4j.engine.ID; * @since 09/19/2018 */ @Controller -@RequestMapping("/app/") +@RequestMapping("/app/commons/") public class NavSettings extends BaseControll { - @RequestMapping(value = "common/nav-settings", method = RequestMethod.POST) + @RequestMapping(value = "nav-settings", method = RequestMethod.POST) public void navsSet(HttpServletRequest request, HttpServletResponse response) throws IOException { ID user = getRequestUser(request); @@ -68,7 +68,7 @@ public class NavSettings extends BaseControll { writeSuccess(response); } - @RequestMapping(value = "common/nav-settings", method = RequestMethod.GET) + @RequestMapping(value = "nav-settings", method = RequestMethod.GET) public void navsGet(HttpServletRequest request, HttpServletResponse response) throws IOException { ID user = getRequestUser(request); JSON config = NavManager.getNav(user); diff --git a/src/main/java/com/rebuild/web/base/entity/DataListSettings.java b/src/main/java/com/rebuild/web/base/entity/DataListSettings.java index 5b79f8aa9..51a86ccdf 100644 --- a/src/main/java/com/rebuild/web/base/entity/DataListSettings.java +++ b/src/main/java/com/rebuild/web/base/entity/DataListSettings.java @@ -36,10 +36,10 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.rebuild.server.Application; +import com.rebuild.server.helper.manager.DataListManager; +import com.rebuild.server.helper.manager.LayoutManager; import com.rebuild.server.metadata.EntityHelper; import com.rebuild.server.metadata.MetadataHelper; -import com.rebuild.server.service.base.DataListManager; -import com.rebuild.server.service.base.LayoutManager; import com.rebuild.web.BaseControll; import cn.devezhao.commons.web.ServletUtils; diff --git a/src/main/java/com/rebuild/web/base/entity/GeneralEntityControll.java b/src/main/java/com/rebuild/web/base/entity/GeneralEntityControll.java index 01b3349b3..69afdf745 100644 --- a/src/main/java/com/rebuild/web/base/entity/GeneralEntityControll.java +++ b/src/main/java/com/rebuild/web/base/entity/GeneralEntityControll.java @@ -29,7 +29,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; import com.alibaba.fastjson.JSON; -import com.rebuild.server.service.base.FormManager; +import com.rebuild.server.helper.manager.FormManager; import com.rebuild.web.BaseControll; import cn.devezhao.persist4j.engine.ID; diff --git a/src/main/java/com/rebuild/web/base/entity/GeneralListControll.java b/src/main/java/com/rebuild/web/base/entity/GeneralListControll.java index 04be39a30..4f66b01e3 100644 --- a/src/main/java/com/rebuild/web/base/entity/GeneralListControll.java +++ b/src/main/java/com/rebuild/web/base/entity/GeneralListControll.java @@ -30,7 +30,7 @@ import org.springframework.web.servlet.ModelAndView; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import com.rebuild.server.service.base.DataListManager; +import com.rebuild.server.helper.manager.DataListManager; import com.rebuild.web.BaseControll; import com.rebuild.web.base.entity.datalist.DataListControl; import com.rebuild.web.base.entity.datalist.DefaultDataListControl; diff --git a/src/main/java/com/rebuild/web/base/entity/datalist/AdvFilterParser.java b/src/main/java/com/rebuild/web/base/entity/datalist/AdvFilterParser.java new file mode 100644 index 000000000..410f51506 --- /dev/null +++ b/src/main/java/com/rebuild/web/base/entity/datalist/AdvFilterParser.java @@ -0,0 +1,28 @@ +/* +rebuild - Building your system freely. +Copyright (C) 2018 devezhao + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program 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 General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +package com.rebuild.web.base.entity.datalist; + +/** + * 高级查询解析器 + * + * @author devezhao + * @since 09/29/2018 + */ +public class AdvFilterParser { +} diff --git a/src/main/java/com/rebuild/web/base/entity/datalist/DataWrapper.java b/src/main/java/com/rebuild/web/base/entity/datalist/DataWrapper.java index f66a06d77..1883318eb 100644 --- a/src/main/java/com/rebuild/web/base/entity/datalist/DataWrapper.java +++ b/src/main/java/com/rebuild/web/base/entity/datalist/DataWrapper.java @@ -27,9 +27,9 @@ import org.apache.commons.logging.LogFactory; import com.alibaba.fastjson.JSON; import com.rebuild.server.Application; +import com.rebuild.server.entityhub.EasyMeta; +import com.rebuild.server.helper.manager.FieldValueWrapper; import com.rebuild.server.metadata.MetadataHelper; -import com.rebuild.server.service.base.FieldValueWrapper; -import com.rebuild.server.service.entitymanage.EasyMeta; import cn.devezhao.persist4j.Entity; import cn.devezhao.persist4j.Field; @@ -113,7 +113,8 @@ public class DataWrapper extends FieldValueWrapper { if (namedVal == null) { String sql = String.format("select %s from %s where %s = ?", - nameField.getName(), entity.getName(), entity.getPrimaryField().getName()); + (nameField.getType() == FieldType.REFERENCE ? "&" : "") + nameField.getName(), + entity.getName(), entity.getPrimaryField().getName()); Object[] named = Application.createQuery(sql).setParameter(1, idVal).unique(); if (named == null) { LOG.debug("Reference is deleted : " + idVal); diff --git a/src/main/java/com/rebuild/web/base/entity/datalist/DefaultDataListControl.java b/src/main/java/com/rebuild/web/base/entity/datalist/DefaultDataListControl.java index 2a7ac3853..043fcdf24 100644 --- a/src/main/java/com/rebuild/web/base/entity/datalist/DefaultDataListControl.java +++ b/src/main/java/com/rebuild/web/base/entity/datalist/DefaultDataListControl.java @@ -33,7 +33,7 @@ public class DefaultDataListControl implements DataListControl { protected static final int READ_TIMEOUT = 15 * 1000; - protected JsonQueryParser queryParser; + protected JSONQueryParser queryParser; /** */ @@ -44,13 +44,13 @@ public class DefaultDataListControl implements DataListControl { * @param queryElement */ public DefaultDataListControl(JSONObject queryElement) { - this.queryParser = new JsonQueryParser(queryElement, this); + this.queryParser = new JSONQueryParser(queryElement, this); } /** * @return */ - public JsonQueryParser getQueryParser() { + public JSONQueryParser getQueryParser() { return queryParser; } diff --git a/src/main/java/com/rebuild/web/base/entity/datalist/JsonQueryParser.java b/src/main/java/com/rebuild/web/base/entity/datalist/JSONQueryParser.java similarity index 96% rename from src/main/java/com/rebuild/web/base/entity/datalist/JsonQueryParser.java rename to src/main/java/com/rebuild/web/base/entity/datalist/JSONQueryParser.java index 8995816b0..f91d58f8b 100644 --- a/src/main/java/com/rebuild/web/base/entity/datalist/JsonQueryParser.java +++ b/src/main/java/com/rebuild/web/base/entity/datalist/JSONQueryParser.java @@ -28,10 +28,10 @@ import org.apache.commons.lang.math.NumberUtils; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.rebuild.server.entityhub.DisplayType; +import com.rebuild.server.entityhub.EasyMeta; import com.rebuild.server.metadata.EntityHelper; import com.rebuild.server.metadata.MetadataHelper; -import com.rebuild.server.service.entitymanage.DisplayType; -import com.rebuild.server.service.entitymanage.EasyMeta; import cn.devezhao.persist4j.Entity; import cn.devezhao.persist4j.Field; @@ -42,7 +42,7 @@ import cn.devezhao.persist4j.Field; * @author Zhao Fangfang * @since 1.0, 2013-6-20 */ -public class JsonQueryParser { +public class JSONQueryParser { protected JSONObject queryElement; @@ -60,7 +60,7 @@ public class JsonQueryParser { * @param queryElement * @param dataListControl */ - public JsonQueryParser(JSONObject queryElement, DataListControl dataListControl) { + public JSONQueryParser(JSONObject queryElement, DataListControl dataListControl) { this.queryElement = queryElement; this.dataListControl = dataListControl; diff --git a/src/main/resources/application-ctx.xml b/src/main/resources/application-ctx.xml index fefa00e62..8aeaad2b5 100644 --- a/src/main/resources/application-ctx.xml +++ b/src/main/resources/application-ctx.xml @@ -54,7 +54,7 @@ - + @@ -62,11 +62,11 @@ - + - + @@ -94,17 +94,17 @@ - + - + - + - + diff --git a/src/main/webapp/_include/NavLeft.jsp b/src/main/webapp/_include/NavLeft.jsp index 264329ff1..2e648285c 100644 --- a/src/main/webapp/_include/NavLeft.jsp +++ b/src/main/webapp/_include/NavLeft.jsp @@ -5,7 +5,7 @@ <%@ page import="com.rebuild.utils.AppUtils"%> <%@ page import="com.alibaba.fastjson.JSONObject"%> <%@ page import="com.alibaba.fastjson.JSONArray"%> -<%@ page import="com.rebuild.server.service.base.NavManager"%> +<%@ page import="com.rebuild.server.helper.manager.NavManager"%> <% final String activeNav = request.getParameter("activeNav"); %>