diff --git a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_program_center.java b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_program_center.java index 593d18aeb18d2803bf89911a99c7357fd2268b88..00ae99afc19d18f47e2b0ce73e7a636bf552adaf 100644 --- a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_program_center.java +++ b/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.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.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.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.PersonAttribute", "com.x.organization.core.entity.Unit", "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" }, - storageTypes = { StorageType.structure, StorageType.general}, storeJars = { + storageTypes = { StorageType.structure }, storeJars = { "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_meeting_core_entity", "x_okr_core_entity", "x_organization_core_entity", diff --git a/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/ActionApplication.java b/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/ActionApplication.java index efcfe9ad65d80ca5ac79ce261a7091c111fc5cc4..f8e8fb28128dfbfb99066b8ab4ece3d93e0db83a 100644 --- a/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/ActionApplication.java +++ b/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.dingding.DingdingAction; 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.invoke.InvokeAction; import com.x.program.center.jaxrs.jest.JestAction; @@ -73,7 +72,6 @@ public class ActionApplication extends AbstractActionApplication { classes.add(OutputAction.class); classes.add(InputAction.class); classes.add(MarketAction.class); - classes.add(EditConfigAction.class); return classes; } } diff --git a/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/EditConfigJaxrsFilter.java b/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/EditConfigJaxrsFilter.java deleted file mode 100644 index ce3be654a8e2ee0d7f6dbf032c981e966c9acf02..0000000000000000000000000000000000000000 --- a/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/EditConfigJaxrsFilter.java +++ /dev/null @@ -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 { - - - - -} diff --git a/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/edit/ActionList.java b/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/config/ActionList.java similarity index 98% rename from o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/edit/ActionList.java rename to o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/config/ActionList.java index bb666265c58579ab4b6e125dfdc924e5a2dc3d8a..7c210ec14e53679be1453a6d09d3337595f9879a 100644 --- a/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/edit/ActionList.java +++ b/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.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.tools.Crypto; 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 { private static Logger logger = LoggerFactory.getLogger(ActionList.class); diff --git a/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/edit/ActionOpen.java b/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/config/ActionOpen.java similarity index 83% rename from o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/edit/ActionOpen.java rename to o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/config/ActionOpen.java index 1a758a637768d0c540f1806f64fd63f8ce7987bb..1dddb186d15e88ed828b013fb78c7d19b807bc89 100644 --- a/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/edit/ActionOpen.java +++ b/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.x.base.core.project.annotation.FieldDescribe; 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.XGsonBuilder; import com.x.base.core.project.http.ActionResult; import com.x.base.core.project.http.EffectivePerson; import com.x.base.core.project.logger.Logger; import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.Crypto; 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 { private static Logger logger = LoggerFactory.getLogger(ActionOpen.class); diff --git a/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/edit/ActionSave.java b/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/config/ActionSave.java similarity index 80% rename from o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/edit/ActionSave.java rename to o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/config/ActionSave.java index c47f6c285b45a4816b67a67e2d0cdd37c8e9de35..b13f9d622ee5a0c21ca472c30dbb0a34dd4e5e58 100644 --- a/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/edit/ActionSave.java +++ b/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.x.base.core.project.annotation.FieldDescribe; 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.tools.Crypto; 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 { private static Logger logger = LoggerFactory.getLogger(ActionSave.class); @@ -41,30 +28,17 @@ public class ActionSave extends BaseAction { ActionResult result = new ActionResult<>(); Wi wi = this.convertToWrapIn(jsonElement, Wi.class); Wo wo = new Wo(); - String curServer = request.getLocalAddr(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String fileName = wi.getFileName(); 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(); - - if(fileName.equalsIgnoreCase("node_127.0.0.1.json")) { - fileName = "node_"+ curServer +".json"; - } 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); @@ -86,16 +60,16 @@ public class ActionSave extends BaseAction { Nodes nodes = Config.nodes(); //同步config文件 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.setStatus("success"); diff --git a/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/config/BaseAction.java b/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/config/BaseAction.java index 5e086cb6015b484201f67067e61e2b61d846869f..78e7501909169d58b540fa17c0d2d23ded3209aa 100644 --- a/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/config/BaseAction.java +++ b/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 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.connection.CipherConnectionAction; import com.x.base.core.project.gson.GsonPropertyObject; import com.x.base.core.project.http.EffectivePerson; import com.x.base.core.project.jaxrs.StandardJaxrsAction; import com.x.program.center.ThisApplication; +import net.sf.ehcache.Ehcache; class BaseAction extends StandardJaxrsAction { 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; + } + } + } diff --git a/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/config/ConfigAction.java b/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/config/ConfigAction.java index 8b138720844272b92ab7a1906ab39f0ae9c22b95..2d83445bc3ea6b90211d3a1b8ab3bbd06b4be3b6 100644 --- a/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/config/ConfigAction.java +++ b/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; 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.Suspended; import javax.ws.rs.core.Context; @@ -254,4 +250,55 @@ public class ConfigAction extends StandardJaxrsAction { 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 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 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 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)); + } + } \ No newline at end of file diff --git a/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/config/ExceptionNameEmpty.java b/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/config/ExceptionNameEmpty.java new file mode 100644 index 0000000000000000000000000000000000000000..c7ca2f8d55ae9b6478fa17b79ce87c1d57fb029b --- /dev/null +++ b/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("名称不能为空."); + } +} diff --git a/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/edit/BaseAction.java b/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/edit/BaseAction.java deleted file mode 100644 index bb02640d3d3574cd39d2f2dff15b7e2b3e5dfc5e..0000000000000000000000000000000000000000 --- a/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/edit/BaseAction.java +++ /dev/null @@ -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; - } - } - -} diff --git a/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/edit/EditConfigAction.java b/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/edit/EditConfigAction.java deleted file mode 100644 index 0143fe5b03ccac6f3f958255ebd43f850e05b4c0..0000000000000000000000000000000000000000 --- a/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/edit/EditConfigAction.java +++ /dev/null @@ -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 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 result = new ActionResult<>(); - try { - result = (ActionResult) 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 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 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)); - } - -} \ No newline at end of file diff --git a/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/module/ActionCompareUpload.java b/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/module/ActionCompareUpload.java index 9fbd1ada03a5c20eb6cbade15f5f5abfe36b692c..93f729840ac197b6238326f8a0ea598d1fec7ed4 100644 --- a/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/module/ActionCompareUpload.java +++ b/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.factory.EntityManagerContainerFactory; 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.StorageMapping; 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 org.apache.commons.lang3.StringUtils; 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_query_assemble_designer; 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.gson.GsonPropertyObject; 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.LoggerFactory; 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.portal.core.entity.wrap.WrapPortal; import com.x.processplatform.core.entity.element.wrap.WrapProcessPlatform; @@ -59,13 +55,13 @@ class ActionCompareUpload extends BaseAction { fileName = fileName + ".xapp"; } 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(); - wo.setFlag(generalFile.getId()); + wo.setFlag(structure.getId()); } for (WrapProcessPlatform o : module.getProcessPlatformList()) { ActionResponse r = ThisApplication.context().applications().putQuery(effectivePerson.getDebugger(), diff --git a/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/module/ActionWrite.java b/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/module/ActionWrite.java index f9e051a90eb494bf8b585c56604b0526bfcdf262..64d94708dcb32f70783831323562ee95ac11681d 100644 --- a/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/module/ActionWrite.java +++ b/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.gson.XGsonBuilder; 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 org.apache.commons.lang3.StringUtils; @@ -57,16 +57,16 @@ public class ActionWrite extends BaseAction { module = cacheObject.getModule(); }else{ 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); - 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(); }else{ throw new ExceptionFlagNotExist(flag); diff --git a/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/module/ModuleAction.java b/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/module/ModuleAction.java index ba3b41404b7f9a1ede1e1ad3c08dc3635b7fed68..c34ae583b60015fb85d5035f8cc6441bcb5b100c 100644 --- a/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/module/ModuleAction.java +++ b/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) public void compareUpload(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, @FormDataParam(FILE_FIELD) final byte[] bytes, + @JaxrsParameterDescribe("附件名称") @FormDataParam(FILENAME_FIELD) String fileName, @JaxrsParameterDescribe(".xapp文件") @FormDataParam(FILE_FIELD) final FormDataContentDisposition disposition) { ActionResult result = new ActionResult<>(); EffectivePerson effectivePerson = this.effectivePerson(request); try { - result = new ActionCompareUpload().execute(effectivePerson, bytes, disposition); + result = new ActionCompareUpload().execute(effectivePerson, bytes, fileName, disposition); } catch (Exception e) { logger.error(e, effectivePerson, request, null); result.error(e); diff --git a/o2server/x_program_center_core_entity/src/main/java/com/x/program/center/core/entity/Structure.java b/o2server/x_program_center_core_entity/src/main/java/com/x/program/center/core/entity/Structure.java index 1a27fdb178b9109aaf86de481087a0b444340675..8af4fb1917d7c73b4921a0cd0a78bf30cc9e31da 100644 --- a/o2server/x_program_center_core_entity/src/main/java/com/x/program/center/core/entity/Structure.java +++ b/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"; @FieldDescribe("名称.") @Column(length = JpaObject.length_255B, name = ColumnNamePrefix + name_FIELDNAME) - @CheckPersist(allowEmpty = false, simplyString = true) + @CheckPersist(allowEmpty = false) @Index(name = TABLE + IndexNameMiddle + name_FIELDNAME) private String name;