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"); %>