提交 43ad607f 编写于 作者: Z zhourui

context 转换到 abstractContext

上级 286853dd
......@@ -17,8 +17,6 @@ import javax.persistence.*;
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public class StatisticQywxUnitForMonth extends SliceJpaObject {
private static final String TABLE = PersistenceProperties.StatisticQywxUnitForMonth.table;
private static final long serialVersionUID = 2831416127767736230L;
......@@ -52,65 +50,65 @@ public class StatisticQywxUnitForMonth extends SliceJpaObject {
*/
public static final String o2Unit_FIELDNAME = "o2Unit";
@FieldDescribe("O2用户所在的组织")
@Column( length = length_128B, name = ColumnNamePrefix + o2Unit_FIELDNAME )
@Column(length = length_128B, name = ColumnNamePrefix + o2Unit_FIELDNAME)
@CheckPersist(allowEmpty = false)
private String o2Unit;
public static final String statisticYear_FIELDNAME = "statisticYear";
@FieldDescribe("统计年份")
@Column( length = JpaObject.length_16B, name = ColumnNamePrefix + statisticYear_FIELDNAME )
@Column(length = JpaObject.length_16B, name = ColumnNamePrefix + statisticYear_FIELDNAME)
@CheckPersist(allowEmpty = false)
private String statisticYear;
public static final String statisticMonth_FIELDNAME = "statisticMonth";
@FieldDescribe("统计月份")
@Column( length = JpaObject.length_16B, name = ColumnNamePrefix + statisticMonth_FIELDNAME )
@Column(length = JpaObject.length_16B, name = ColumnNamePrefix + statisticMonth_FIELDNAME)
@CheckPersist(allowEmpty = false)
private String statisticMonth;
public static final String xworkDayCount_FIELDNAME = "xworkDayCount";
public static final String workDayCount_FIELDNAME = "workDayCount";
@FieldDescribe("出勤天数")
@Column( name = ColumnNamePrefix + xworkDayCount_FIELDNAME )
@Column(name = ColumnNamePrefix + workDayCount_FIELDNAME)
private Long workDayCount;
public static final String onDutyTimes_FIELDNAME = "onDutyTimes";
@FieldDescribe("上班签到次数")
@Column( name = ColumnNamePrefix + onDutyTimes_FIELDNAME )
@Column(name = ColumnNamePrefix + onDutyTimes_FIELDNAME)
private Long onDutyTimes;
public static final String offDutyTimes_FIELDNAME = "offDutyTimes";
@FieldDescribe("下班签到次数")
@Column( name = ColumnNamePrefix + offDutyTimes_FIELDNAME )
@Column(name = ColumnNamePrefix + offDutyTimes_FIELDNAME)
private Long offDutyTimes;
public static final String outsideDutyTimes_FIELDNAME = "outsideDutyTimes";
@FieldDescribe("外出签到次数")
@Column( name = ColumnNamePrefix + outsideDutyTimes_FIELDNAME )
@Column(name = ColumnNamePrefix + outsideDutyTimes_FIELDNAME)
private Long outsideDutyTimes;
public static final String resultNormal_FIELDNAME = "resultNormal";
@FieldDescribe("正常签到次数")
@Column( name = ColumnNamePrefix + resultNormal_FIELDNAME )
@Column(name = ColumnNamePrefix + resultNormal_FIELDNAME)
private Long resultNormal;
public static final String lateTimes_FIELDNAME = "lateTimes";
@FieldDescribe("迟到次数")
@Column( name = ColumnNamePrefix + lateTimes_FIELDNAME )
@Column(name = ColumnNamePrefix + lateTimes_FIELDNAME)
private Long lateTimes;
public static final String leaveEarlyTimes_FIELDNAME = "leaveEarlyTimes";
@FieldDescribe("早退次数")
@Column( name = ColumnNamePrefix + leaveEarlyTimes_FIELDNAME )
@Column(name = ColumnNamePrefix + leaveEarlyTimes_FIELDNAME)
private Long leaveEarlyTimes;
public static final String absenteeismTimes_FIELDNAME = "absenteeismTimes";
@FieldDescribe("旷工次数")
@Column( name = ColumnNamePrefix + absenteeismTimes_FIELDNAME )
@Column(name = ColumnNamePrefix + absenteeismTimes_FIELDNAME)
private Long absenteeismTimes;
public static final String notSignedCount_FIELDNAME = "notSignedCount";
@FieldDescribe("未打卡次数")
@Column( name = ColumnNamePrefix + notSignedCount_FIELDNAME )
@Column(name = ColumnNamePrefix + notSignedCount_FIELDNAME)
private Long notSignedCount;
public Long getResultNormal() {
......
package com.x.base.core.project;
import javax.servlet.ServletContext;
import org.quartz.DateBuilder;
import org.quartz.JobBuilder;
import org.quartz.JobDataMap;
import org.quartz.JobDetail;
import org.quartz.SimpleScheduleBuilder;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import org.quartz.DateBuilder.IntervalUnit;
import com.x.base.core.project.annotation.Module;
import com.x.base.core.project.config.Config;
import com.x.base.core.project.schedule.AbstractJob;
import com.x.base.core.project.thread.ThreadFactory;
public abstract class AbstractContext {
......@@ -30,4 +43,15 @@ public abstract class AbstractContext {
return this.module;
}
// 从servletContext中抽取context
public static AbstractContext fromServletContext(ServletContext servletContext) throws IllegalStateException {
Object o = servletContext.getAttribute(AbstractContext.class.getName());
if (null == o) {
throw new IllegalStateException("can not get context form servletContext.");
} else {
return (AbstractContext) o;
}
}
public abstract <T extends AbstractJob> void fireScheduleOnLocal(Class<T> cls, Integer delay) throws Exception;
}
......@@ -7,7 +7,6 @@ import java.util.UUID;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletRequest;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.openjpa.enhance.PCRegistry;
......@@ -49,26 +48,6 @@ public class Context extends AbstractContext {
private static Logger logger = LoggerFactory.getLogger(Context.class);
/* 从servletContext中抽取context */
public static Context fromServletContext(ServletContext servletContext) throws Exception {
Object o = servletContext.getAttribute(Context.class.getName());
if (null == o) {
throw new Exception("can not get context form servletContext.");
} else {
return (Context) o;
}
}
/* 从servletRequest中抽取context */
public static Context fromServletRequest(ServletRequest servletRequest) throws Exception {
Object o = servletRequest.getServletContext().getAttribute(Context.class.getName());
if (null == o) {
throw new Exception("can not get context form servletRequest.");
} else {
return (Context) o;
}
}
/* 应用的磁盘路径 */
private volatile String path;
......@@ -208,7 +187,7 @@ public class Context extends AbstractContext {
context.sslEnable = Config.currentNode().getApplication().getSslEnable();
context.initDatas();
context.threadFactory = new ThreadFactory(context);
servletContext.setAttribute(context.getClass().getName(), context);
servletContext.setAttribute(AbstractContext.class.getName(), context);
context.initialized = true;
return context;
}
......@@ -272,6 +251,7 @@ public class Context extends AbstractContext {
* 接受Center调度的schedule在本地运行,和scheduleOnLocal没有本质区别,仅仅是个withDescription(
* "schedule")不一样,在log中记录这个值.
*/
@Override
public <T extends AbstractJob> void fireScheduleOnLocal(Class<T> cls, Integer delay) throws Exception {
/* 需要单独生成一个独立任务,保证group和预约的任务不重复 */
JobDataMap jobDataMap = new JobDataMap();
......
package com.x.base.core.project.cache;
import net.fortuna.ical4j.util.Optional;
public class TestClient {
public static void main(String... strings) {
Optional<?> o = Optional.ofNullable(null);
System.out.println(o);
System.out.println(o.isPresent());
}
}
......@@ -16,8 +16,6 @@ class ActionConfigFlush extends BaseAction {
ActionResult<Wo> execute(EffectivePerson effectivePerson, ServletContext servletContext) throws Exception {
logger.debug(effectivePerson, "config flush.");
ActionResult<Wo> result = new ActionResult<>();
// com.x.base.core.project.Context ctx = (com.x.base.core.project.Context) servletContext
// .getAttribute(com.x.base.core.project.Context.class.getName());
Config.flush();
Wo wo = new Wo();
wo.setValue(true);
......
......@@ -21,7 +21,7 @@ class ActionReceive extends BaseAction {
logger.debug(effectivePerson, "receive:{}.", jsonElement);
ActionResult<Wo> result = new ActionResult<>();
Wi wi = this.convertToWrapIn(jsonElement, Wi.class);
Object o = servletContext.getAttribute(com.x.base.core.project.Context.class.getName());
Object o = servletContext.getAttribute(com.x.base.core.project.AbstractContext.class.getName());
if (null != o) {
com.x.base.core.project.Context ctx = (com.x.base.core.project.Context) o;
if (null != ctx.clearCacheRequestQueue()) {
......
......@@ -3,6 +3,7 @@ package com.x.base.core.project.jaxrs.fireschedule;
import javax.servlet.ServletContext;
import javax.ws.rs.core.Context;
import com.x.base.core.project.AbstractContext;
import com.x.base.core.project.http.ActionResult;
import com.x.base.core.project.http.EffectivePerson;
import com.x.base.core.project.jaxrs.WrapBoolean;
......@@ -18,7 +19,7 @@ class ActionExecute extends BaseAction {
throws Exception {
logger.debug(effectivePerson, "execute:{}.", className);
ActionResult<Wo> result = new ActionResult<>();
com.x.base.core.project.Context ctx = com.x.base.core.project.Context.fromServletContext(servletContext);
AbstractContext ctx = com.x.base.core.project.Context.fromServletContext(servletContext);
Class<?> clz = Class.forName(className);
ctx.fireScheduleOnLocal((Class<AbstractJob>) clz, 1);
Wo wo = new Wo();
......
......@@ -15,7 +15,7 @@ class ActionDebug extends BaseAction {
ActionResult<Wo> execute(EffectivePerson effectivePerson, ServletContext servletContext) throws Exception {
ActionResult<Wo> result = new ActionResult<>();
com.x.base.core.project.Context ctx = (com.x.base.core.project.Context) servletContext
.getAttribute(com.x.base.core.project.Context.class.getName());
.getAttribute(com.x.base.core.project.AbstractContext.class.getName());
logger.info("{} change logger level to DEBUG.", ctx.clazz().getName());
LoggerFactory.setLevelDebug();
result.setData(new Wo(true));
......
......@@ -15,7 +15,7 @@ class ActionInfo extends BaseAction {
ActionResult<Wo> execute(EffectivePerson effectivePerson, ServletContext servletContext) throws Exception {
ActionResult<Wo> result = new ActionResult<>();
com.x.base.core.project.Context ctx = (com.x.base.core.project.Context) servletContext
.getAttribute(com.x.base.core.project.Context.class.getName());
.getAttribute(com.x.base.core.project.AbstractContext.class.getName());
logger.info("{} change logger level to INFO.", ctx.clazz().getName());
LoggerFactory.setLevelInfo();
result.setData(new Wo(true));
......
......@@ -15,7 +15,7 @@ class ActionTrace extends BaseAction {
ActionResult<Wo> execute(EffectivePerson effectivePerson, ServletContext servletContext) throws Exception {
ActionResult<Wo> result = new ActionResult<>();
com.x.base.core.project.Context ctx = (com.x.base.core.project.Context) servletContext
.getAttribute(com.x.base.core.project.Context.class.getName());
.getAttribute(com.x.base.core.project.AbstractContext.class.getName());
logger.info("{} change logger level to TRACE.", ctx.clazz().getName());
LoggerFactory.setLevelTrace();
result.setData(new Wo(true));
......
......@@ -15,7 +15,7 @@ class ActionWarn extends BaseAction {
ActionResult<Wo> execute(EffectivePerson effectivePerson, ServletContext servletContext) throws Exception {
ActionResult<Wo> result = new ActionResult<>();
com.x.base.core.project.Context ctx = (com.x.base.core.project.Context) servletContext
.getAttribute(com.x.base.core.project.Context.class.getName());
.getAttribute(com.x.base.core.project.AbstractContext.class.getName());
logger.info("{} change logger level to WARN.", ctx.clazz().getName());
LoggerFactory.setLevelWarn();
result.setData(new Wo(true));
......
......@@ -2,6 +2,7 @@ package com.x.base.core.project.jaxrs.thread;
import javax.servlet.ServletContext;
import com.x.base.core.project.AbstractContext;
import com.x.base.core.project.http.ActionResult;
import com.x.base.core.project.http.EffectivePerson;
import com.x.base.core.project.jaxrs.WrapString;
......@@ -15,7 +16,7 @@ class ActionAlive extends BaseAction {
ActionResult<Wo> execute(EffectivePerson effectivePerson, ServletContext servletContext, String name)
throws Exception {
ActionResult<Wo> result = new ActionResult<>();
com.x.base.core.project.Context ctx = com.x.base.core.project.Context.fromServletContext(servletContext);
AbstractContext ctx = com.x.base.core.project.Context.fromServletContext(servletContext);
Wo wo = new Wo();
wo.setValue(ctx.threadFactory().aliveLocal(name));
result.setData(wo);
......
......@@ -5,6 +5,7 @@ import java.util.TreeMap;
import javax.servlet.ServletContext;
import com.x.base.core.project.AbstractContext;
import com.x.base.core.project.gson.XGsonBuilder;
import com.x.base.core.project.http.ActionResult;
import com.x.base.core.project.http.EffectivePerson;
......@@ -18,7 +19,7 @@ class ActionParameter extends BaseAction {
ActionResult<Wo> execute(EffectivePerson effectivePerson, ServletContext servletContext, String name)
throws Exception {
ActionResult<Wo> result = new ActionResult<>();
com.x.base.core.project.Context ctx = com.x.base.core.project.Context.fromServletContext(servletContext);
AbstractContext ctx = com.x.base.core.project.Context.fromServletContext(servletContext);
Wo wo = null;
Map<Object, Object> value = ctx.threadFactory().parameterLocal(name);
if (null != value) {
......
......@@ -2,6 +2,7 @@ package com.x.base.core.project.jaxrs.thread;
import javax.servlet.ServletContext;
import com.x.base.core.project.AbstractContext;
import com.x.base.core.project.http.ActionResult;
import com.x.base.core.project.http.EffectivePerson;
import com.x.base.core.project.jaxrs.WrapBoolean;
......@@ -15,7 +16,7 @@ class ActionStop extends BaseAction {
ActionResult<Wo> execute(EffectivePerson effectivePerson, ServletContext servletContext, String name)
throws Exception {
ActionResult<Wo> result = new ActionResult<>();
com.x.base.core.project.Context ctx = com.x.base.core.project.Context.fromServletContext(servletContext);
AbstractContext ctx = com.x.base.core.project.Context.fromServletContext(servletContext);
Wo wo = new Wo();
wo.setValue(ctx.threadFactory().stopLocal(name));
result.setData(wo);
......
......@@ -2,17 +2,21 @@ package com.x.base.core.project.jaxrs.thread;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
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.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;
......@@ -26,6 +30,8 @@ public class ThreadAction extends StandardJaxrsAction {
@JaxrsMethodDescribe(value = "是否运行中.", action = ActionAlive.class)
@GET
@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
@Consumes(MediaType.APPLICATION_JSON)
@Path("alive/{name}")
public void alive(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
@Context ServletContext servletContext, @PathParam("name") String name) {
......@@ -42,6 +48,8 @@ public class ThreadAction extends StandardJaxrsAction {
@JaxrsMethodDescribe(value = "获取参数.", action = ActionParameter.class)
@GET
@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
@Consumes(MediaType.APPLICATION_JSON)
@Path("parameter/{name}")
public void parameter(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
@Context ServletContext servletContext, @PathParam("name") String name) {
......@@ -58,6 +66,8 @@ public class ThreadAction extends StandardJaxrsAction {
@JaxrsMethodDescribe(value = "停止运行.", action = ActionStop.class)
@GET
@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
@Consumes(MediaType.APPLICATION_JSON)
@Path("stop/{name}")
public void stop(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
@Context ServletContext servletContext, @PathParam("name") String name) {
......
......@@ -61,7 +61,7 @@ public class Calendar_EventComment extends SliceJpaObject {
@Lob
@Basic(fetch = FetchType.EAGER)
@FieldDescribe("COMMENT信息的LOB值")
@Column(name = lobValue_FIELDNAME, length = JpaObject.length_10M)
@Column(name = ColumnNamePrefix + lobValue_FIELDNAME, length = JpaObject.length_10M)
private String lobValue = "";
public static final String checkTime_FIELDNAME = "checkTime";
......
......@@ -3,17 +3,18 @@ package com.x.organization.assemble.control.jaxrs.person;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import com.google.gson.Gson;
import com.google.gson.JsonElement;
import com.x.base.core.container.EntityManagerContainer;
import com.x.base.core.container.factory.EntityManagerContainerFactory;
import com.x.base.core.entity.JpaObject;
import com.x.base.core.entity.annotation.CheckPersistType;
import com.x.base.core.project.cache.CacheManager;
import com.x.base.core.project.x_message_assemble_communicate;
import com.x.base.core.project.bean.WrapCopier;
import com.x.base.core.project.bean.WrapCopierFactory;
import com.x.base.core.project.cache.ApplicationCache;
import com.x.base.core.project.cache.CacheManager;
import com.x.base.core.project.config.Config;
import com.x.base.core.project.connection.ActionResponse;
import com.x.base.core.project.exception.ExceptionAccessDenied;
......@@ -32,8 +33,6 @@ import com.x.organization.assemble.control.message.OrgMessageFactory;
import com.x.organization.core.entity.Person;
import com.x.organization.core.entity.Unit;
import org.apache.commons.lang3.StringUtils;
class ActionCreate extends BaseAction {
private static Logger logger = LoggerFactory.getLogger(ActionCreate.class);
......
......@@ -15,7 +15,6 @@ 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 javax.ws.rs.core.Response;
import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
import org.glassfish.jersey.media.multipart.FormDataParam;
......
......@@ -126,7 +126,7 @@ public class Snap extends SliceJpaObject {
public static final String person_FIELDNAME = "person";
@FieldDescribe("快照创建人.")
@Column(length = length_255B, name = ColumnNamePrefix + creatorPerson_FIELDNAME)
@Column(length = length_255B, name = ColumnNamePrefix + person_FIELDNAME)
@Index(name = TABLE + IndexNameMiddle + person_FIELDNAME)
@CheckPersist(allowEmpty = true)
private String person;
......
......@@ -20,6 +20,7 @@ import org.quartz.DateBuilder;
import org.quartz.DateBuilder.IntervalUnit;
import org.quartz.Job;
import org.quartz.JobBuilder;
import org.quartz.JobDataMap;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SimpleScheduleBuilder;
......@@ -42,6 +43,7 @@ import com.x.base.core.project.logger.Logger;
import com.x.base.core.project.logger.LoggerFactory;
import com.x.base.core.project.organization.OrganizationDefinition;
import com.x.base.core.project.queue.AbstractQueue;
import com.x.base.core.project.schedule.AbstractJob;
import com.x.base.core.project.schedule.JobReportListener;
import com.x.base.core.project.schedule.SchedulerFactoryProperties;
import com.x.base.core.project.thread.ThreadFactory;
......@@ -170,7 +172,7 @@ public class Context extends AbstractContext {
try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
context.checkDefaultRole(emc);
}
servletContext.setAttribute(context.getClass().getName(), context);
servletContext.setAttribute(AbstractContext.class.getName(), context);
return context;
}
......@@ -324,4 +326,21 @@ public class Context extends AbstractContext {
}
}
@Override
@Deprecated
// 重来没用调用过的方法,目标是全部方法全部移动到AbstractContext中
public <T extends AbstractJob> void fireScheduleOnLocal(Class<T> cls, Integer delay) throws Exception {
/* 需要单独生成一个独立任务,保证group和预约的任务不重复 */
JobDataMap jobDataMap = new JobDataMap();
jobDataMap.put("context", this);
JobDetail jobDetail = JobBuilder.newJob(cls).withIdentity(cls.getName(), clazz.getName())
.usingJobData(jobDataMap).withDescription(Config.node()).build();
/* 经过测试0代表不重复,仅运行一次 */
Trigger trigger = TriggerBuilder.newTrigger().withIdentity(cls.getName(), clazz.getName())
.withDescription("schedule").startAt(DateBuilder.futureDate(delay, IntervalUnit.SECOND))
.withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(1).withRepeatCount(0))
.build();
scheduler.scheduleJob(jobDetail, trigger);
}
}
\ No newline at end of file
package com.x.program.center.jaxrs.cachedispatch;
import java.util.List;
import java.util.concurrent.ConcurrentHashMap;
import com.x.base.core.project.jaxrs.StandardJaxrsAction;
import com.x.base.core.project.logger.Logger;
import com.x.base.core.project.logger.LoggerFactory;
......@@ -11,68 +8,4 @@ abstract class BaseAction extends StandardJaxrsAction {
private static Logger logger = LoggerFactory.getLogger(BaseAction.class);
private static ConcurrentHashMap<String, List<Class<?>>> entityInApplicationMap = null;
// static List<Class<?>> findApplicationWithEntity(String name) {
//
//
//
// if (null == entityInApplicationMap) {
// synchronized (BaseAction.class) {
// if (null == entityInApplicationMap) {
// entityInApplicationMap = new ConcurrentHashMap<String, List<Class<?>>>();
// try (ScanResult scanResult = new ClassGraph().enableAllInfo().scan()) {
// List<ClassInfo> list = new ArrayList<>();
// list.addAll(scanResult.getSubclasses(AssembleA.class.getName()));
// list.addAll(scanResult.getSubclasses(ServiceA.class.getName()));
// for (ClassInfo info : list) {
// Class<?> clz = Class.forName(info.getName());
// Deployable deployable = (Deployable) clz.newInstance();
// deployable.dependency().containerEntities.forEach(o -> {
// List<Class<?>> os = entityInApplicationMap.get(o);
// if (null == os) {
// os = new ArrayList<Class<?>>();
// entityInApplicationMap.put(o, os);
// }
// os.add(clz);
// });
// }
// } catch (Exception e) {
// logger.error(e);
// }
//// ScanResult scanResult = new FastClasspathScanner(Packages.PREFIX).scan();
//// classes.addAll(scanResult.getNamesOfSubclassesOf(AssembleA.class));
//// classes.addAll(scanResult.getNamesOfSubclassesOf(ServiceA.class));
//// classes.stream().forEach(s -> {
//// Class<?> clz;
//// try {
//// clz = Class.forName(s);
//// Deployable deployable = (Deployable) clz.newInstance();
//// deployable.dependency().containerEntities.forEach(o -> {
//// List<Class<?>> list = entityInApplicationMap.get(o);
//// if (null == list) {
//// list = new ArrayList<Class<?>>();
//// entityInApplicationMap.put(o, list);
//// }
//// list.add(clz);
//// });
//// } catch (Exception e) {
//// e.printStackTrace();
//// }
//// });
// }
// }
// }
// List<Class<?>> list = entityInApplicationMap.get(name);
// if (null == list) {
// return new ArrayList<Class<?>>();
// } else {
// List<Class<?>> os = new ArrayList<>();
// os.addAll(list);
// return os;
// }
// }
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册