提交 3880f254 编写于 作者: O o2null

Merge branch 'wrdp' into 'develop'

Wrdp

See merge request o2oa/o2oa!1900
......@@ -3,13 +3,6 @@ package com.x.server.console.action;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import com.x.base.core.container.factory.PersistenceXmlHelper;
import com.x.base.core.project.config.Config;
import com.x.base.core.project.logger.Logger;
import com.x.base.core.project.logger.LoggerFactory;
import com.x.base.core.project.tools.ListTools;
import org.apache.commons.lang3.StringUtils;
import org.apache.openjpa.jdbc.conf.JDBCConfiguration;
......@@ -19,6 +12,12 @@ import org.apache.openjpa.persistence.EntityManagerImpl;
import org.apache.openjpa.persistence.OpenJPAEntityManagerFactory;
import org.apache.openjpa.persistence.OpenJPAPersistence;
import com.x.base.core.container.factory.PersistenceXmlHelper;
import com.x.base.core.project.config.Config;
import com.x.base.core.project.logger.Logger;
import com.x.base.core.project.logger.LoggerFactory;
import com.x.base.core.project.tools.ClassLoaderTools;
public class Ddl {
private static Logger logger = LoggerFactory.getLogger(Ddl.class);
......@@ -26,66 +25,49 @@ public class Ddl {
/* 初始化完成 */
public boolean execute(String type) throws Exception {
// List<String> containerEntityNames = new ArrayList<>();
// containerEntityNames.addAll((List<String>)
// Config.resource(Config.RESOURCE_CONTAINERENTITYNAMES));
// List<String> classNames =
// ListTools.includesExcludesWildcard(containerEntityNames,
// Config.dumpRestoreData().getIncludes(),
// Config.dumpRestoreData().getExcludes());
// File persistence = new File(Config.dir_local_temp_classes(),
// "META-INF/persistence.xml");
// PersistenceXmlHelper.writeForDdl(persistence.getAbsolutePath());
// String[] arguments = new String[4];
// arguments[0] = "-schemaAction";
// arguments[1] = StringUtils.equals(type ,"create")? "build":"add";
// arguments[2] = "-sql";
// arguments[3] = Config.dir_local_temp_sql(true) + "/" + type + ".sql";
// MappingTool.main(arguments);
// return true;
String flag = "build";
if (StringUtils.equalsIgnoreCase(type, "createDB")) {
flag = "createDB";
} else if (StringUtils.equalsIgnoreCase(type, "dropDB")) {
flag = "dropDB";
} else if (StringUtils.equalsIgnoreCase(type, "drop")) {
flag = "drop";
// } else if (StringUtils.equalsIgnoreCase(type, "deleteTableContents")) {
// flag = "deleteTableContents";
}
List<String> containerEntityNames = new ArrayList<>();
containerEntityNames.addAll((List<String>) Config.resource(Config.RESOURCE_CONTAINERENTITYNAMES));
List<String> classNames = ListTools.includesExcludesWildcard(containerEntityNames,
Config.dumpRestoreData().getIncludes(), Config.dumpRestoreData().getExcludes());
File persistence = new File(Config.dir_local_temp_classes(), "persistence_sql.xml");
PersistenceXmlHelper.writeForDdl(persistence.getAbsolutePath());
OpenJPAEntityManagerFactory emf = OpenJPAPersistence.createEntityManagerFactory("enhance",
persistence.getName());
EntityManagerImpl em = (EntityManagerImpl) emf.createEntityManager();
String[] arguments = null;
String[] args = null;
Options opts = new Options();
if (StringUtils.equals(flag, "build") || StringUtils.equals(flag, "drop")
|| StringUtils.equals(flag, "createDB") || StringUtils.equals(flag, "dropDB")) {
arguments = new String[4];
File file = new File(Config.dir_local_temp_sql(true), flag + ".sql");
arguments[0] = "-schemaAction";
arguments[1] = flag;
arguments[2] = "-sql";
arguments[3] = file.getAbsolutePath();
args = opts.setFromCmdLine(arguments);
MappingTool.run((JDBCConfiguration) em.getConfiguration(), args, opts, null);
logger.print("file : {}.", file.getAbsolutePath());
} else if (StringUtils.equals(flag, "deleteTableContents")) {
// arguments = new String[2];
// arguments[0] = "-schemaAction";
// arguments[1] = flag;
// args = opts.setFromCmdLine(arguments);
// MappingTool.run((JDBCConfiguration) em.getConfiguration(), args, opts, null);
// logger.print("delete all table contents.");
}
em.close();
emf.close();
new Thread(() -> {
try {
ClassLoader cl = ClassLoaderTools.urlClassLoader(true, true, true, true, true,
Config.dir_local_temp_classes().toPath());
Thread.currentThread().setContextClassLoader(cl);
String flag = "build";
if (StringUtils.equalsIgnoreCase(type, "createDB")) {
flag = "createDB";
} else if (StringUtils.equalsIgnoreCase(type, "dropDB")) {
flag = "dropDB";
} else if (StringUtils.equalsIgnoreCase(type, "drop")) {
flag = "drop";
}
List<String> containerEntityNames = new ArrayList<>();
containerEntityNames.addAll((List<String>) Config.resource(Config.RESOURCE_CONTAINERENTITYNAMES));
File persistence = new File(Config.dir_local_temp_classes(), "META-INF/persistence_sql.xml");
PersistenceXmlHelper.writeForDdl(persistence.getAbsolutePath());
OpenJPAEntityManagerFactory emf = OpenJPAPersistence.createEntityManagerFactory("enhance",
persistence.getName());
EntityManagerImpl em = (EntityManagerImpl) emf.createEntityManager();
String[] arguments = null;
String[] args = null;
Options opts = new Options();
if (StringUtils.equals(flag, "build") || StringUtils.equals(flag, "drop")
|| StringUtils.equals(flag, "createDB") || StringUtils.equals(flag, "dropDB")) {
arguments = new String[4];
File file = new File(Config.dir_local_temp_sql(true), flag + ".sql");
arguments[0] = "-schemaAction";
arguments[1] = flag;
arguments[2] = "-sql";
arguments[3] = file.getAbsolutePath();
args = opts.setFromCmdLine(arguments);
MappingTool.run((JDBCConfiguration) em.getConfiguration(), args, opts, null);
logger.print("file : {}.", file.getAbsolutePath());
} else if (StringUtils.equals(flag, "deleteTableContents")) {
}
em.close();
emf.close();
} catch (Exception e) {
logger.error(e);
}
}).start();
return true;
}
......
package com.x.server.console.action;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import com.x.base.core.container.factory.PersistenceXmlHelper;
import com.x.base.core.project.config.Config;
import com.x.base.core.project.logger.Logger;
import com.x.base.core.project.logger.LoggerFactory;
import com.x.base.core.project.tools.ListTools;
import org.apache.commons.lang3.StringUtils;
import org.apache.openjpa.jdbc.conf.JDBCConfiguration;
import org.apache.openjpa.jdbc.meta.MappingTool;
import org.apache.openjpa.lib.util.Options;
import org.apache.openjpa.persistence.EntityManagerImpl;
import org.apache.openjpa.persistence.OpenJPAEntityManagerFactory;
import org.apache.openjpa.persistence.OpenJPAPersistence;
public class Ddl2 {
private static Logger logger = LoggerFactory.getLogger(Ddl2.class);
/* 初始化完成 */
public boolean execute(String type) throws Exception {
// List<String> containerEntityNames = new ArrayList<>();
// containerEntityNames.addAll((List<String>)
// Config.resource(Config.RESOURCE_CONTAINERENTITYNAMES));
// List<String> classNames =
// ListTools.includesExcludesWildcard(containerEntityNames,
// Config.dumpRestoreData().getIncludes(),
// Config.dumpRestoreData().getExcludes());
// File persistence = new File(Config.dir_local_temp_classes(),
// "META-INF/persistence.xml");
// PersistenceXmlHelper.writeForDdl(persistence.getAbsolutePath());
// String[] arguments = new String[4];
// arguments[0] = "-schemaAction";
// arguments[1] = StringUtils.equals(type ,"create")? "build":"add";
// arguments[2] = "-sql";
// arguments[3] = Config.dir_local_temp_sql(true) + "/" + type + ".sql";
// MappingTool.main(arguments);
// return true;
String flag = "build";
if (StringUtils.equalsIgnoreCase(type, "createDB")) {
flag = "createDB";
} else if (StringUtils.equalsIgnoreCase(type, "dropDB")) {
flag = "dropDB";
} else if (StringUtils.equalsIgnoreCase(type, "drop")) {
flag = "drop";
// } else if (StringUtils.equalsIgnoreCase(type, "deleteTableContents")) {
// flag = "deleteTableContents";
}
List<String> containerEntityNames = new ArrayList<>();
containerEntityNames.addAll((List<String>) Config.resource(Config.RESOURCE_CONTAINERENTITYNAMES));
List<String> classNames = ListTools.includesExcludesWildcard(containerEntityNames,
Config.dumpRestoreData().getIncludes(), Config.dumpRestoreData().getExcludes());
File persistence = new File(Config.dir_local_temp_classes(), "persistence_sql.xml");
PersistenceXmlHelper.writeForDdl(persistence.getAbsolutePath());
OpenJPAEntityManagerFactory emf = OpenJPAPersistence.createEntityManagerFactory("enhance",
persistence.getName());
System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!" + emf);
EntityManagerImpl em = (EntityManagerImpl) emf.createEntityManager();
String[] arguments = null;
String[] args = null;
Options opts = new Options();
if (StringUtils.equals(flag, "build") || StringUtils.equals(flag, "drop")
|| StringUtils.equals(flag, "createDB") || StringUtils.equals(flag, "dropDB")) {
arguments = new String[4];
File file = new File(Config.dir_local_temp_sql(true), flag + ".sql");
arguments[0] = "-schemaAction";
arguments[1] = flag;
arguments[2] = "-sql";
arguments[3] = file.getAbsolutePath();
args = opts.setFromCmdLine(arguments);
MappingTool.run((JDBCConfiguration) em.getConfiguration(), args, opts, null);
logger.print("file : {}.", file.getAbsolutePath());
} else if (StringUtils.equals(flag, "deleteTableContents")) {
// arguments = new String[2];
// arguments[0] = "-schemaAction";
// arguments[1] = flag;
// args = opts.setFromCmdLine(arguments);
// MappingTool.run((JDBCConfiguration) em.getConfiguration(), args, opts, null);
// logger.print("delete all table contents.");
}
em.close();
emf.close();
return true;
}
}
\ No newline at end of file
package com.x.program.center.jaxrs.collect;
import com.x.base.core.project.http.ActionResult;
import com.x.base.core.project.http.EffectivePerson;
import com.x.base.core.project.jaxrs.WrapBoolean;
import com.x.program.center.ThisApplication;
import com.x.program.center.schedule.Area;
class ActionSyncArea extends BaseAction {
ActionResult<Wo> execute(EffectivePerson effectivePerson) throws Exception {
ActionResult<Wo> result = new ActionResult<>();
Wo wo = new Wo();
wo.setValue(true);
result.setData(wo);
ThisApplication.context().scheduleLocal(Area.class);
return result;
}
public static class Wo extends WrapBoolean {
}
}
......@@ -326,4 +326,21 @@ public class CollectAction extends StandardJaxrsAction {
asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
}
@JaxrsMethodDescribe(value = "从collect 服务器同步area信息.", action = ActionSyncArea.class)
@GET
@Path("sync/area")
@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
@Consumes(MediaType.APPLICATION_JSON)
public void syncArea(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request) {
ActionResult<ActionSyncArea.Wo> result = new ActionResult<>();
EffectivePerson effectivePerson = this.effectivePerson(request);
try {
result = new ActionSyncArea().execute(effectivePerson);
} catch (Exception e) {
logger.error(e, effectivePerson, request, null);
result.error(e);
}
asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
}
}
\ No newline at end of file
......@@ -40,7 +40,9 @@ public class Area extends BaseAction {
try {
if (pirmaryCenter()) {
if (Config.collect().getEnable()) {
logger.print("start sync area from o2 cloud!");
area();
logger.print("completed sync area!");
}
}
} catch (Exception e) {
......
......@@ -429,13 +429,17 @@ MWF.xApplication.Selector.IdentityWidthDuty.ItemUnitCategory = new Class({
loadSub: function(callback){
if (!this.loaded){
this.selector.orgAction.listIdentityWithUnit(function(idJson){
idJson.data.each(function(idSubData){
if( !this.selector.isExcluded( idSubData ) ) {
var item = this.selector._newItem(idSubData, this.selector, this.children, this.level + 1, this);
this.selector.items.push(item);
if(this.subItems)this.subItems.push( item );
}
}.bind(this));
if( !this.itemLoaded ){
idJson.data.each(function(idSubData){
if( !this.selector.isExcluded( idSubData ) ) {
var item = this.selector._newItem(idSubData, this.selector, this.children, this.level + 1, this);
this.selector.items.push(item);
if(this.subItems)this.subItems.push( item );
}
}.bind(this));
this.itemLoaded = true;
}
if( !this.selector.options.expandSubEnable ){
this.loaded = true;
if (callback) callback();
......@@ -490,10 +494,10 @@ MWF.xApplication.Selector.IdentityWidthDuty.ItemUnitCategory = new Class({
this.selector.items.push(item);
if(this.subItems)this.subItems.push( item );
}
this.itemLoaded = true;
}.bind(this));
if (callback) callback();
}.bind(this), null, this.data.distinguishedName);
this.itemLoaded = true;
}else{
if (callback) callback( );
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册