Browse Source

平台配置文件保存修改

o2sword 5 years ago
parent
commit
407c30f5c1
15 changed files with 163 additions and 255 deletions
  1. 2 2
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_program_center.java
  2. 0 2
      o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/ActionApplication.java
  3. 0 13
      o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/EditConfigJaxrsFilter.java
  4. 15 17
      o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/config/ActionList.java
  5. 7 25
      o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/config/ActionOpen.java
  6. 20 46
      o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/config/ActionSave.java
  7. 35 0
      o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/config/BaseAction.java
  8. 52 5
      o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/config/ConfigAction.java
  9. 12 0
      o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/config/ExceptionNameEmpty.java
  10. 0 42
      o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/edit/BaseAction.java
  11. 0 80
      o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/edit/EditConfigAction.java
  12. 7 11
      o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/module/ActionCompareUpload.java
  13. 10 10
      o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/module/ActionWrite.java
  14. 2 1
      o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/module/ModuleAction.java
  15. 1 1
      o2server/x_program_center_core_entity/src/main/java/com/x/program/center/core/entity/Structure.java

+ 2 - 2
o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_program_center.java

@@ -12,14 +12,14 @@ import com.x.base.core.project.annotation.ModuleType;
 		"com.x.program.center.core.entity.Structure", "com.x.program.center.core.entity.WarnLog",
 		"com.x.program.center.core.entity.Structure", "com.x.program.center.core.entity.WarnLog",
 		"com.x.program.center.core.entity.validation.Meta", "com.x.program.center.core.entity.InstallLog",
 		"com.x.program.center.core.entity.validation.Meta", "com.x.program.center.core.entity.InstallLog",
 		"com.x.program.center.core.entity.Application", "com.x.program.center.core.entity.Attachment",
 		"com.x.program.center.core.entity.Application", "com.x.program.center.core.entity.Attachment",
-		"com.x.portal.core.entity.Page", "com.x.general.core.entity.GeneralFile",
+		"com.x.portal.core.entity.Page",
 		"com.x.portal.core.entity.Portal", "com.x.organization.core.entity.Group",
 		"com.x.portal.core.entity.Portal", "com.x.organization.core.entity.Group",
 		"com.x.organization.core.entity.Custom", "com.x.organization.core.entity.Role",
 		"com.x.organization.core.entity.Custom", "com.x.organization.core.entity.Role",
 		"com.x.organization.core.entity.Person", "com.x.organization.core.entity.Identity",
 		"com.x.organization.core.entity.Person", "com.x.organization.core.entity.Identity",
 		"com.x.organization.core.entity.PersonAttribute", "com.x.organization.core.entity.Unit",
 		"com.x.organization.core.entity.PersonAttribute", "com.x.organization.core.entity.Unit",
 		"com.x.organization.core.entity.UnitAttribute", "com.x.organization.core.entity.UnitDuty",
 		"com.x.organization.core.entity.UnitAttribute", "com.x.organization.core.entity.UnitDuty",
 		"com.x.general.core.entity.area.District", "com.x.program.center.core.entity.ScheduleLog" },
 		"com.x.general.core.entity.area.District", "com.x.program.center.core.entity.ScheduleLog" },
-		storageTypes = { StorageType.structure, StorageType.general}, storeJars = {
+		storageTypes = { StorageType.structure }, storeJars = {
 		"x_organization_core_express", "x_program_center_core_entity", "x_attendance_core_entity",
 		"x_organization_core_express", "x_program_center_core_entity", "x_attendance_core_entity",
 		"x_cms_core_entity", "x_message_core_entity", "x_component_core_entity", "x_file_core_entity",
 		"x_cms_core_entity", "x_message_core_entity", "x_component_core_entity", "x_file_core_entity",
 		"x_meeting_core_entity", "x_okr_core_entity", "x_organization_core_entity",
 		"x_meeting_core_entity", "x_okr_core_entity", "x_organization_core_entity",

+ 0 - 2
o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/ActionApplication.java

@@ -20,7 +20,6 @@ import com.x.program.center.jaxrs.config.ConfigAction;
 import com.x.program.center.jaxrs.datastructure.DataStructureAction;
 import com.x.program.center.jaxrs.datastructure.DataStructureAction;
 import com.x.program.center.jaxrs.dingding.DingdingAction;
 import com.x.program.center.jaxrs.dingding.DingdingAction;
 import com.x.program.center.jaxrs.distribute.DistributeAction;
 import com.x.program.center.jaxrs.distribute.DistributeAction;
-import com.x.program.center.jaxrs.edit.EditConfigAction;
 import com.x.program.center.jaxrs.input.InputAction;
 import com.x.program.center.jaxrs.input.InputAction;
 import com.x.program.center.jaxrs.invoke.InvokeAction;
 import com.x.program.center.jaxrs.invoke.InvokeAction;
 import com.x.program.center.jaxrs.jest.JestAction;
 import com.x.program.center.jaxrs.jest.JestAction;
@@ -73,7 +72,6 @@ public class ActionApplication extends AbstractActionApplication {
 		classes.add(OutputAction.class);
 		classes.add(OutputAction.class);
 		classes.add(InputAction.class);
 		classes.add(InputAction.class);
 		classes.add(MarketAction.class);
 		classes.add(MarketAction.class);
-		classes.add(EditConfigAction.class);
 		return classes;
 		return classes;
 	}
 	}
 }
 }

+ 0 - 13
o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/EditConfigJaxrsFilter.java

@@ -1,13 +0,0 @@
-package com.x.program.center.jaxrs;
-
-import javax.servlet.annotation.WebFilter;
-
-import com.x.base.core.project.jaxrs.CipherManagerJaxrsFilter;
-
-@WebFilter(urlPatterns = "/jaxrs/editconfig/*", asyncSupported = true)
-public class EditConfigJaxrsFilter extends CipherManagerJaxrsFilter {
-
-	
-	
-	
-}

+ 15 - 17
o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/edit/ActionList.java → o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/config/ActionList.java

@@ -1,20 +1,4 @@
-package com.x.program.center.jaxrs.edit;
-
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.File;
-import java.io.FileFilter;
-import java.net.Socket;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.io.filefilter.WildcardFileFilter;
-import org.apache.commons.lang3.StringUtils;
+package com.x.program.center.jaxrs.config;
 
 
 import com.google.gson.JsonObject;
 import com.google.gson.JsonObject;
 import com.google.gson.JsonParser;
 import com.google.gson.JsonParser;
@@ -28,6 +12,20 @@ import com.x.base.core.project.logger.Logger;
 import com.x.base.core.project.logger.LoggerFactory;
 import com.x.base.core.project.logger.LoggerFactory;
 import com.x.base.core.project.tools.Crypto;
 import com.x.base.core.project.tools.Crypto;
 import com.x.base.core.project.tools.DefaultCharset;
 import com.x.base.core.project.tools.DefaultCharset;
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.filefilter.WildcardFileFilter;
+import org.apache.commons.lang3.StringUtils;
+
+import javax.servlet.http.HttpServletRequest;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.File;
+import java.io.FileFilter;
+import java.net.Socket;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
 
 
 public class ActionList extends BaseAction {
 public class ActionList extends BaseAction {
 	private static Logger logger = LoggerFactory.getLogger(ActionList.class);
 	private static Logger logger = LoggerFactory.getLogger(ActionList.class);

+ 7 - 25
o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/edit/ActionOpen.java → o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/config/ActionOpen.java

@@ -1,38 +1,20 @@
-package com.x.program.center.jaxrs.edit;
+package com.x.program.center.jaxrs.config;
 
 
-import java.io.ByteArrayInputStream;
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.InputStream;
-import java.net.Socket;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.apache.commons.io.FileUtils;
-
-import com.google.gson.Gson;
 import com.google.gson.JsonElement;
 import com.google.gson.JsonElement;
 import com.x.base.core.project.annotation.FieldDescribe;
 import com.x.base.core.project.annotation.FieldDescribe;
 import com.x.base.core.project.config.Config;
 import com.x.base.core.project.config.Config;
-import com.x.base.core.project.config.Nodes;
 import com.x.base.core.project.gson.GsonPropertyObject;
 import com.x.base.core.project.gson.GsonPropertyObject;
-import com.x.base.core.project.gson.XGsonBuilder;
 import com.x.base.core.project.http.ActionResult;
 import com.x.base.core.project.http.ActionResult;
 import com.x.base.core.project.http.EffectivePerson;
 import com.x.base.core.project.http.EffectivePerson;
 import com.x.base.core.project.logger.Logger;
 import com.x.base.core.project.logger.Logger;
 import com.x.base.core.project.logger.LoggerFactory;
 import com.x.base.core.project.logger.LoggerFactory;
-import com.x.base.core.project.tools.Crypto;
 import com.x.base.core.project.tools.DefaultCharset;
 import com.x.base.core.project.tools.DefaultCharset;
-import com.x.program.center.jaxrs.command.ActionCommand.Wi;
-import com.x.program.center.jaxrs.command.ActionCommand.Wo;
+import org.apache.commons.io.FileUtils;
+
+import javax.servlet.http.HttpServletRequest;
+import java.io.File;
+import java.text.SimpleDateFormat;
+import java.util.Date;
 
 
 public class ActionOpen extends BaseAction {
 public class ActionOpen extends BaseAction {
 	private static Logger logger = LoggerFactory.getLogger(ActionOpen.class);
 	private static Logger logger = LoggerFactory.getLogger(ActionOpen.class);

+ 20 - 46
o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/edit/ActionSave.java → o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/config/ActionSave.java

@@ -1,25 +1,5 @@
-package com.x.program.center.jaxrs.edit;
+package com.x.program.center.jaxrs.config;
 
 
-import java.io.ByteArrayInputStream;
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.InputStream;
-import java.net.Socket;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.apache.commons.io.FileUtils;
-import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
-
-import com.google.gson.Gson;
 import com.google.gson.JsonElement;
 import com.google.gson.JsonElement;
 import com.x.base.core.project.annotation.FieldDescribe;
 import com.x.base.core.project.annotation.FieldDescribe;
 import com.x.base.core.project.config.Config;
 import com.x.base.core.project.config.Config;
@@ -32,8 +12,15 @@ import com.x.base.core.project.logger.Logger;
 import com.x.base.core.project.logger.LoggerFactory;
 import com.x.base.core.project.logger.LoggerFactory;
 import com.x.base.core.project.tools.Crypto;
 import com.x.base.core.project.tools.Crypto;
 import com.x.base.core.project.tools.DefaultCharset;
 import com.x.base.core.project.tools.DefaultCharset;
-import com.x.program.center.jaxrs.command.ActionCommand.Wi;
-import com.x.program.center.jaxrs.command.ActionCommand.Wo;
+import org.apache.commons.io.FileUtils;
+
+import javax.servlet.http.HttpServletRequest;
+import java.io.*;
+import java.net.Socket;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
 
 
 public class ActionSave extends BaseAction {
 public class ActionSave extends BaseAction {
 	private static Logger logger = LoggerFactory.getLogger(ActionSave.class);
 	private static Logger logger = LoggerFactory.getLogger(ActionSave.class);
@@ -41,30 +28,17 @@ public class ActionSave extends BaseAction {
 		ActionResult<Wo> result = new ActionResult<>();
 		ActionResult<Wo> result = new ActionResult<>();
 		Wi wi = this.convertToWrapIn(jsonElement, Wi.class);
 		Wi wi = this.convertToWrapIn(jsonElement, Wi.class);
 		Wo wo = new Wo();
 		Wo wo = new Wo();
-		String curServer = request.getLocalAddr();
 		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 		String fileName = wi.getFileName();
 		String fileName = wi.getFileName();
 		
 		
 		if(fileName == null) {
 		if(fileName == null) {
-			wo.setTime(df.format(new Date()));
-			wo.setStatus("failure");
-			wo.setMessage("文件名为null");
-			result.setData(wo);
-			return result;
+			throw new ExceptionNameEmpty();
 		}
 		}
 		
 		
 		String data = wi.getFileContent();
 		String data = wi.getFileContent();
-		
-		if(fileName.equalsIgnoreCase("node_127.0.0.1.json")) {
-			fileName = "node_"+ curServer +".json";
-		}
 
 
 		if(!Config.nodes().centerServers().first().getValue().getConfigApiEnable()) {
 		if(!Config.nodes().centerServers().first().getValue().getConfigApiEnable()) {
-			wo.setTime(df.format(new Date()));
-			wo.setStatus("failure");
-			wo.setMessage("禁止编辑");
-			result.setData(wo);
-			return result;
+			throw new ExceptionModifyConfig();
 		}
 		}
 
 
 		File configFold = new File(Config.base(),Config.DIR_CONFIG);
 		File configFold = new File(Config.base(),Config.DIR_CONFIG);
@@ -86,16 +60,16 @@ public class ActionSave extends BaseAction {
 		Nodes nodes = Config.nodes();
 		Nodes nodes = Config.nodes();
 		//同步config文件
 		//同步config文件
 		for (String node : nodes.keySet()){
 		for (String node : nodes.keySet()){
-			//其他服务器
-			if(!node.equalsIgnoreCase(curServer)) {
-				if(!node.equalsIgnoreCase("127.0.0.1")) {
-					if(nodes.get(node).getApplication().getEnable() || nodes.get(node).getCenter().getEnable()){
-						boolean Syncflag = executeSyncFile(Config.DIR_CONFIG+"/"+fileName , node ,nodes.get(node).nodeAgentPort());
-					}
-				}
+			if(nodes.get(node).getApplication().getEnable() || nodes.get(node).getCenter().getEnable()){
+				boolean Syncflag = executeSyncFile(Config.DIR_CONFIG+"/"+fileName , node ,nodes.get(node).nodeAgentPort());
 			}
 			}
 		}
 		}
-		
+
+		try {
+			Thread.sleep(1000);
+		} catch (InterruptedException e) {
+		}
+		this.configFlush(effectivePerson);
 	
 	
 		wo.setTime(df.format(new Date()));
 		wo.setTime(df.format(new Date()));
 		wo.setStatus("success");
 		wo.setStatus("success");

+ 35 - 0
o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/config/BaseAction.java

@@ -3,12 +3,14 @@ package com.x.program.center.jaxrs.config;
 import java.util.List;
 import java.util.List;
 
 
 import com.x.base.core.project.Applications;
 import com.x.base.core.project.Applications;
+import com.x.base.core.project.cache.ApplicationCache;
 import com.x.base.core.project.config.Config;
 import com.x.base.core.project.config.Config;
 import com.x.base.core.project.connection.CipherConnectionAction;
 import com.x.base.core.project.connection.CipherConnectionAction;
 import com.x.base.core.project.gson.GsonPropertyObject;
 import com.x.base.core.project.gson.GsonPropertyObject;
 import com.x.base.core.project.http.EffectivePerson;
 import com.x.base.core.project.http.EffectivePerson;
 import com.x.base.core.project.jaxrs.StandardJaxrsAction;
 import com.x.base.core.project.jaxrs.StandardJaxrsAction;
 import com.x.program.center.ThisApplication;
 import com.x.program.center.ThisApplication;
+import net.sf.ehcache.Ehcache;
 
 
 class BaseAction extends StandardJaxrsAction {
 class BaseAction extends StandardJaxrsAction {
 	public static class AbstractWoProxy extends GsonPropertyObject {
 	public static class AbstractWoProxy extends GsonPropertyObject {
@@ -150,4 +152,37 @@ class BaseAction extends StandardJaxrsAction {
 		});
 		});
 	}
 	}
 
 
+	public static Ehcache cacheLog = ApplicationCache.instance().getCache(CacheLogObject.class);
+
+	public static class CacheLogObject extends GsonPropertyObject {
+		private String userToken;
+
+		private String node;
+
+		private long lastPoint;
+		public long getLastPoint() {
+			return lastPoint;
+		}
+
+		public void setLastPoint(long lastPoint) {
+			this.lastPoint = lastPoint;
+		}
+
+		public String getNode() {
+			return node;
+		}
+
+		public void setNode(String node) {
+			this.node = node;
+		}
+
+		public String getUserToken() {
+			return userToken;
+		}
+
+		public void setUserToken(String userToken) {
+			this.userToken = userToken;
+		}
+	}
+
 }
 }

+ 52 - 5
o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/config/ConfigAction.java

@@ -1,11 +1,7 @@
 package com.x.program.center.jaxrs.config;
 package com.x.program.center.jaxrs.config;
 
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import javax.ws.rs.*;
 import javax.ws.rs.container.AsyncResponse;
 import javax.ws.rs.container.AsyncResponse;
 import javax.ws.rs.container.Suspended;
 import javax.ws.rs.container.Suspended;
 import javax.ws.rs.core.Context;
 import javax.ws.rs.core.Context;
@@ -254,4 +250,55 @@ public class ConfigAction extends StandardJaxrsAction {
 		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
 		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
 	}
 	}
 
 
+	@JaxrsMethodDescribe(value = "获取所有配置文件信息", action = ActionList.class)
+	@GET
+	@Path("list")
+	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
+	@Consumes(MediaType.APPLICATION_JSON)
+	public void getList(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request) {
+		EffectivePerson effectivePerson = this.effectivePerson(request);
+		ActionResult<ActionList.Wo> result = new ActionResult<>();
+		try {
+			result = new ActionList().execute(request,effectivePerson);
+		} catch (Exception e) {
+			e.printStackTrace();
+			result.error(e);
+		}
+		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
+	}
+
+	@JaxrsMethodDescribe(value = "打开config文件", action = ActionOpen.class)
+	@POST
+	@Path("open")
+	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
+	@Consumes(MediaType.APPLICATION_JSON)
+	public void open(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, JsonElement jsonElement) {
+		EffectivePerson effectivePerson = this.effectivePerson(request);
+		ActionResult<ActionOpen.Wo> result = new ActionResult<>();
+		try {
+			result = new ActionOpen().execute(request,effectivePerson, jsonElement);
+		} catch (Exception e) {
+			e.printStackTrace();
+			result.error(e);
+		}
+		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
+	}
+
+	@JaxrsMethodDescribe(value = "保存config文件", action = ActionSave.class)
+	@POST
+	@Path("save")
+	@Consumes(MediaType.APPLICATION_JSON)
+	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
+	public void save(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, JsonElement jsonElement) {
+		ActionResult<ActionSave.Wo> result = new ActionResult<>();
+		EffectivePerson effectivePerson = this.effectivePerson(request);
+		try {
+			result = new ActionSave().execute(request , effectivePerson, jsonElement);
+		} catch (Exception e) {
+			logger.error(e, effectivePerson, request, null);
+			result.error(e);
+		}
+		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
+	}
+
 }
 }

+ 12 - 0
o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/config/ExceptionNameEmpty.java

@@ -0,0 +1,12 @@
+package com.x.program.center.jaxrs.config;
+
+import com.x.base.core.project.exception.PromptException;
+
+class ExceptionNameEmpty extends PromptException {
+
+	private static final long serialVersionUID = -3287459468603291619L;
+
+	ExceptionNameEmpty() {
+		super("名称不能为空.");
+	}
+}

+ 0 - 42
o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/edit/BaseAction.java

@@ -1,42 +0,0 @@
-package com.x.program.center.jaxrs.edit;
-
-import com.x.base.core.project.cache.ApplicationCache;
-import com.x.base.core.project.gson.GsonPropertyObject;
-import com.x.base.core.project.jaxrs.StandardJaxrsAction;
-import net.sf.ehcache.Ehcache;
-
-abstract class BaseAction extends StandardJaxrsAction {
-    public static Ehcache cacheLog = ApplicationCache.instance().getCache(CacheLogObject.class);
-
-    public static class CacheLogObject extends GsonPropertyObject {
-        private String userToken;
-
-        private String node;
-
-        private long lastPoint;
-        public long getLastPoint() {
-            return lastPoint;
-        }
-
-        public void setLastPoint(long lastPoint) {
-            this.lastPoint = lastPoint;
-        }
-
-        public String getNode() {
-            return node;
-        }
-
-        public void setNode(String node) {
-            this.node = node;
-        }
-
-        public String getUserToken() {
-            return userToken;
-        }
-
-        public void setUserToken(String userToken) {
-            this.userToken = userToken;
-        }
-    }
-
-}

+ 0 - 80
o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/edit/EditConfigAction.java

@@ -1,80 +0,0 @@
-package com.x.program.center.jaxrs.edit;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-
-import com.google.gson.JsonElement;
-import com.x.base.core.project.annotation.JaxrsDescribe;
-import com.x.base.core.project.annotation.JaxrsMethodDescribe;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.http.HttpMediaType;
-import com.x.base.core.project.jaxrs.ResponseFactory;
-import com.x.base.core.project.jaxrs.StandardJaxrsAction;
-import com.x.base.core.project.logger.Logger;
-import com.x.base.core.project.logger.LoggerFactory;
-
-@Path("editconfig")
-@JaxrsDescribe("编辑配置文件")
-public class EditConfigAction<Wo> extends StandardJaxrsAction{
-	private static Logger logger = LoggerFactory.getLogger(EditConfigAction.class);
-	
-	@JaxrsMethodDescribe(value = "获取所有配置文件信息", action = ActionList.class)
-	@GET
-	@Path("list")
-	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
-	@Consumes(MediaType.APPLICATION_JSON)
-	public void getList(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request) {
-		EffectivePerson effectivePerson = this.effectivePerson(request);
-		ActionResult<ActionList.Wo> result = new ActionResult<>();
-		try {
-			result = (ActionResult<ActionList.Wo>) new ActionList().execute(request,effectivePerson);
-		} catch (Exception e) {
-			e.printStackTrace();
-			result.error(e);
-		}
-		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
-	}
-	
-	@JaxrsMethodDescribe(value = "打开config文件", action = ActionOpen.class)
-	@POST
-	@Path("open")
-	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
-	@Consumes(MediaType.APPLICATION_JSON)
-	public void open(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, JsonElement jsonElement) {		
-		EffectivePerson effectivePerson = this.effectivePerson(request);
-		ActionResult<ActionOpen.Wo> result = new ActionResult<>();
-		try {
-			result = new ActionOpen().execute(request,effectivePerson, jsonElement);
-		} catch (Exception e) {
-			e.printStackTrace();
-			result.error(e);
-		}
-		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
-	}
-	
-	@JaxrsMethodDescribe(value = "保存config文件", action = ActionSave.class)
-	@POST
-	@Path("save")
-	@Consumes(MediaType.APPLICATION_JSON)
-	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)	
-	public void save(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, JsonElement jsonElement) {
-		ActionResult<ActionSave.Wo> result = new ActionResult<>();
-		EffectivePerson effectivePerson = this.effectivePerson(request);
-		try {
-			result = new ActionSave().execute(request , effectivePerson, jsonElement);
-		} catch (Exception e) {
-			logger.error(e, effectivePerson, request, null);
-			result.error(e);
-		}
-		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
-	}
-
-}

+ 7 - 11
o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/module/ActionCompareUpload.java

@@ -6,11 +6,10 @@ import java.util.List;
 import com.x.base.core.container.EntityManagerContainer;
 import com.x.base.core.container.EntityManagerContainer;
 import com.x.base.core.container.factory.EntityManagerContainerFactory;
 import com.x.base.core.container.factory.EntityManagerContainerFactory;
 import com.x.base.core.entity.annotation.CheckPersistType;
 import com.x.base.core.entity.annotation.CheckPersistType;
-import com.x.base.core.project.cache.CacheManager;
 import com.x.base.core.project.config.Config;
 import com.x.base.core.project.config.Config;
 import com.x.base.core.project.config.StorageMapping;
 import com.x.base.core.project.config.StorageMapping;
 import com.x.base.core.project.connection.CipherConnectionAction;
 import com.x.base.core.project.connection.CipherConnectionAction;
-import com.x.general.core.entity.GeneralFile;
+import com.x.program.center.core.entity.Structure;
 import com.x.program.center.core.entity.wrap.WrapServiceModule;
 import com.x.program.center.core.entity.wrap.WrapServiceModule;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
 import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
@@ -22,8 +21,6 @@ import com.x.base.core.project.x_portal_assemble_designer;
 import com.x.base.core.project.x_processplatform_assemble_designer;
 import com.x.base.core.project.x_processplatform_assemble_designer;
 import com.x.base.core.project.x_query_assemble_designer;
 import com.x.base.core.project.x_query_assemble_designer;
 import com.x.base.core.project.annotation.FieldDescribe;
 import com.x.base.core.project.annotation.FieldDescribe;
-import com.x.base.core.project.cache.Cache.CacheCategory;
-import com.x.base.core.project.cache.Cache.CacheKey;
 import com.x.base.core.project.connection.ActionResponse;
 import com.x.base.core.project.connection.ActionResponse;
 import com.x.base.core.project.gson.GsonPropertyObject;
 import com.x.base.core.project.gson.GsonPropertyObject;
 import com.x.base.core.project.gson.XGsonBuilder;
 import com.x.base.core.project.gson.XGsonBuilder;
@@ -32,7 +29,6 @@ import com.x.base.core.project.http.EffectivePerson;
 import com.x.base.core.project.logger.Logger;
 import com.x.base.core.project.logger.Logger;
 import com.x.base.core.project.logger.LoggerFactory;
 import com.x.base.core.project.logger.LoggerFactory;
 import com.x.base.core.project.tools.DefaultCharset;
 import com.x.base.core.project.tools.DefaultCharset;
-import com.x.base.core.project.tools.StringTools;
 import com.x.cms.core.entity.element.wrap.WrapCms;
 import com.x.cms.core.entity.element.wrap.WrapCms;
 import com.x.portal.core.entity.wrap.WrapPortal;
 import com.x.portal.core.entity.wrap.WrapPortal;
 import com.x.processplatform.core.entity.element.wrap.WrapProcessPlatform;
 import com.x.processplatform.core.entity.element.wrap.WrapProcessPlatform;
@@ -59,13 +55,13 @@ class ActionCompareUpload extends BaseAction {
 			fileName = fileName + ".xapp";
 			fileName = fileName + ".xapp";
 		}
 		}
 		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
 		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-			StorageMapping gfMapping = ThisApplication.context().storageMappings().random(GeneralFile.class);
-			GeneralFile generalFile = new GeneralFile(gfMapping.getName(), fileName, effectivePerson.getDistinguishedName());
-			generalFile.saveContent(gfMapping, bytes, fileName);
-			emc.beginTransaction(GeneralFile.class);
-			emc.persist(generalFile, CheckPersistType.all);
+			StorageMapping mapping = ThisApplication.context().storageMappings().random(Structure.class);
+			Structure structure = new Structure(mapping.getName(), fileName);
+			structure.saveContent(mapping, bytes, fileName);
+			emc.beginTransaction(Structure.class);
+			emc.persist(structure, CheckPersistType.all);
 			emc.commit();
 			emc.commit();
-			wo.setFlag(generalFile.getId());
+			wo.setFlag(structure.getId());
 		}
 		}
 		for (WrapProcessPlatform o : module.getProcessPlatformList()) {
 		for (WrapProcessPlatform o : module.getProcessPlatformList()) {
 			ActionResponse r = ThisApplication.context().applications().putQuery(effectivePerson.getDebugger(),
 			ActionResponse r = ThisApplication.context().applications().putQuery(effectivePerson.getDebugger(),

+ 10 - 10
o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/module/ActionWrite.java

@@ -9,7 +9,7 @@ import com.x.base.core.project.config.StorageMapping;
 import com.x.base.core.project.connection.CipherConnectionAction;
 import com.x.base.core.project.connection.CipherConnectionAction;
 import com.x.base.core.project.gson.XGsonBuilder;
 import com.x.base.core.project.gson.XGsonBuilder;
 import com.x.base.core.project.tools.DefaultCharset;
 import com.x.base.core.project.tools.DefaultCharset;
-import com.x.general.core.entity.GeneralFile;
+import com.x.program.center.core.entity.Structure;
 import com.x.program.center.core.entity.wrap.WrapServiceModule;
 import com.x.program.center.core.entity.wrap.WrapServiceModule;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 
 
@@ -57,16 +57,16 @@ public class ActionWrite extends BaseAction {
 			module = cacheObject.getModule();
 			module = cacheObject.getModule();
 		}else{
 		}else{
 			try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
 			try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-				GeneralFile generalFile = emc.find(flag, GeneralFile.class);
-				if(generalFile!=null){
-					StorageMapping gfMapping = ThisApplication.context().storageMappings().get(GeneralFile.class,
-							generalFile.getStorage());
-					String json = new String(generalFile.readContent(gfMapping), DefaultCharset.charset);
+				Structure structure = emc.find(flag, Structure.class);
+				if(structure!=null){
+					StorageMapping gfMapping = ThisApplication.context().storageMappings().get(Structure.class,
+							structure.getStorage());
+					String json = new String(structure.readContent(gfMapping), DefaultCharset.charset);
 					module = XGsonBuilder.instance().fromJson(json, WrapModule.class);
 					module = XGsonBuilder.instance().fromJson(json, WrapModule.class);
-					name = generalFile.getName();
-					generalFile.deleteContent(gfMapping);
-					emc.beginTransaction(GeneralFile.class);
-					emc.delete(GeneralFile.class, generalFile.getId());
+					name = structure.getName();
+					structure.deleteContent(gfMapping);
+					emc.beginTransaction(Structure.class);
+					emc.delete(Structure.class, structure.getId());
 					emc.commit();
 					emc.commit();
 				}else{
 				}else{
 					throw new ExceptionFlagNotExist(flag);
 					throw new ExceptionFlagNotExist(flag);

+ 2 - 1
o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/module/ModuleAction.java

@@ -90,11 +90,12 @@ public class ModuleAction extends StandardJaxrsAction {
 	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
 	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
 	public void compareUpload(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
 	public void compareUpload(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
 			@FormDataParam(FILE_FIELD) final byte[] bytes,
 			@FormDataParam(FILE_FIELD) final byte[] bytes,
+			@JaxrsParameterDescribe("附件名称") @FormDataParam(FILENAME_FIELD) String fileName,
 			@JaxrsParameterDescribe(".xapp文件") @FormDataParam(FILE_FIELD) final FormDataContentDisposition disposition) {
 			@JaxrsParameterDescribe(".xapp文件") @FormDataParam(FILE_FIELD) final FormDataContentDisposition disposition) {
 		ActionResult<ActionCompareUpload.Wo> result = new ActionResult<>();
 		ActionResult<ActionCompareUpload.Wo> result = new ActionResult<>();
 		EffectivePerson effectivePerson = this.effectivePerson(request);
 		EffectivePerson effectivePerson = this.effectivePerson(request);
 		try {
 		try {
-			result = new ActionCompareUpload().execute(effectivePerson, bytes, disposition);
+			result = new ActionCompareUpload().execute(effectivePerson, bytes, fileName, disposition);
 		} catch (Exception e) {
 		} catch (Exception e) {
 			logger.error(e, effectivePerson, request, null);
 			logger.error(e, effectivePerson, request, null);
 			result.error(e);
 			result.error(e);

+ 1 - 1
o2server/x_program_center_core_entity/src/main/java/com/x/program/center/core/entity/Structure.java

@@ -166,7 +166,7 @@ public class Structure extends StorageObject {
 	public static final String name_FIELDNAME = "name";
 	public static final String name_FIELDNAME = "name";
 	@FieldDescribe("名称.")
 	@FieldDescribe("名称.")
 	@Column(length = JpaObject.length_255B, name = ColumnNamePrefix + name_FIELDNAME)
 	@Column(length = JpaObject.length_255B, name = ColumnNamePrefix + name_FIELDNAME)
-	@CheckPersist(allowEmpty = false, simplyString = true)
+	@CheckPersist(allowEmpty = false)
 	@Index(name = TABLE + IndexNameMiddle + name_FIELDNAME)
 	@Index(name = TABLE + IndexNameMiddle + name_FIELDNAME)
 	private String name;
 	private String name;