mirror of
https://github.com/hs-web/hsweb-framework.git
synced 2026-06-05 12:23:29 +08:00
feat: 增加事件的toString实现
This commit is contained in:
@@ -18,4 +18,9 @@ public class EntityBeforeCreateEvent<E> extends DefaultAsyncEvent implements Ser
|
||||
private final List<E> entity;
|
||||
|
||||
private final Class<E> entityType;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "EntityBeforeCreateEvent<" + entityType.getSimpleName() + ">"+entity;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,4 +21,8 @@ public class EntityBeforeDeleteEvent<E> extends DefaultAsyncEvent implements Ser
|
||||
|
||||
private final Class<E> entityType;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "EntityBeforeDeleteEvent<" + entityType.getSimpleName() + ">"+entity;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,12 +8,12 @@ import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @see org.hswebframework.web.crud.annotation.EnableEntityEvent
|
||||
* @param <E>
|
||||
* @see org.hswebframework.web.crud.annotation.EnableEntityEvent
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
@Getter
|
||||
public class EntityBeforeModifyEvent<E> extends DefaultAsyncEvent implements Serializable{
|
||||
public class EntityBeforeModifyEvent<E> extends DefaultAsyncEvent implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -7158901204884303777L;
|
||||
|
||||
@@ -23,4 +23,8 @@ public class EntityBeforeModifyEvent<E> extends DefaultAsyncEvent implements Ser
|
||||
|
||||
private final Class<E> entityType;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "EntityBeforeModifyEvent<" + entityType.getSimpleName() + ">\n{\nbefore:" + before + "\nafter: " + after + "\n}";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,4 +21,8 @@ public class EntityBeforeQueryEvent<E> extends DefaultAsyncEvent implements Seri
|
||||
|
||||
private final Class<E> entityType;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "EntityBeforeQueryEvent<" + entityType.getSimpleName() + ">"+param;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,4 +18,9 @@ public class EntityBeforeSaveEvent<E> extends DefaultAsyncEvent implements Seria
|
||||
private final List<E> entity;
|
||||
|
||||
private final Class<E> entityType;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "EntityBeforeSaveEvent<" + entityType.getSimpleName() + ">"+entity;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,4 +18,9 @@ public class EntityCreatedEvent<E> extends DefaultAsyncEvent implements Serializ
|
||||
private final List<E> entity;
|
||||
|
||||
private final Class<E> entityType;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "EntityCreatedEvent<" + entityType.getSimpleName() + ">"+entity;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,4 +22,9 @@ public class EntityDeletedEvent<E> extends DefaultAsyncEvent implements Serializ
|
||||
|
||||
private final Class<E> entityType;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "EntityDeletedEvent<" + entityType.getSimpleName() + ">"+entity;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -23,4 +23,8 @@ public class EntityModifyEvent<E> extends DefaultAsyncEvent implements Serializa
|
||||
|
||||
private final Class<E> entityType;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "EntityModifyEvent<" + entityType.getSimpleName() + ">\n{\nbefore:" + before + "\nafter: " + after + "\n}";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,4 +18,9 @@ public class EntityPrepareCreateEvent<E> extends DefaultAsyncEvent implements Se
|
||||
private final List<E> entity;
|
||||
|
||||
private final Class<E> entityType;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "EntityPrepareCreateEvent<" + entityType.getSimpleName() + ">"+entity;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,4 +23,8 @@ public class EntityPrepareModifyEvent<E> extends DefaultAsyncEvent implements Se
|
||||
|
||||
private final Class<E> entityType;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "EntityPrepareModifyEvent<" + entityType.getSimpleName() + ">\n{\nbefore:" + before + "\nafter: " + after + "\n}";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,4 +18,9 @@ public class EntityPrepareSaveEvent<E> extends DefaultAsyncEvent implements Seri
|
||||
private final List<E> entity;
|
||||
|
||||
private final Class<E> entityType;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "EntityPrepareSaveEvent<" + entityType.getSimpleName() + ">"+entity;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,4 +18,9 @@ public class EntitySavedEvent<E> extends DefaultAsyncEvent implements Serializab
|
||||
private final List<E> entity;
|
||||
|
||||
private final Class<E> entityType;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "EntitySavedEvent<" + entityType.getSimpleName() + ">"+entity;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ import java.util.function.BiFunction;
|
||||
@Slf4j
|
||||
public class SpelSqlExpressionInvoker extends AbstractSqlExpressionInvoker {
|
||||
|
||||
static class SqlFunctions extends HashMap<String, Object> {
|
||||
protected static class SqlFunctions extends HashMap<String, Object> {
|
||||
|
||||
public SqlFunctions(Map<String, Object> map) {
|
||||
super(map);
|
||||
@@ -74,6 +74,20 @@ public class SpelSqlExpressionInvoker extends AbstractSqlExpressionInvoker {
|
||||
return super.resolve(context, targetObject, name.toLowerCase(), argumentTypes);
|
||||
}
|
||||
});
|
||||
context.setOperatorOverloader(new OperatorOverloader() {
|
||||
@Override
|
||||
public boolean overridesOperation(@Nonnull Operation operation, Object leftOperand, Object rightOperand) throws EvaluationException {
|
||||
if (leftOperand instanceof Number || rightOperand instanceof Number) {
|
||||
return leftOperand == null || rightOperand == null;
|
||||
}
|
||||
return leftOperand == null && rightOperand == null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object operate(@Nonnull Operation operation, Object leftOperand, Object rightOperand) throws EvaluationException {
|
||||
return null;
|
||||
}
|
||||
});
|
||||
return context;
|
||||
}
|
||||
};
|
||||
@@ -101,7 +115,7 @@ public class SpelSqlExpressionInvoker extends AbstractSqlExpressionInvoker {
|
||||
if (errorCount.get() > 1024) {
|
||||
return null;
|
||||
}
|
||||
object = new SqlFunctions(object);
|
||||
object = createArguments(object);
|
||||
|
||||
if (args != null && args.length != 0) {
|
||||
int index = 0;
|
||||
@@ -126,17 +140,24 @@ public class SpelSqlExpressionInvoker extends AbstractSqlExpressionInvoker {
|
||||
return null;
|
||||
};
|
||||
} catch (Throwable error) {
|
||||
log.warn("create sql expression [{}] parser error", sql, error);
|
||||
return (args, data) -> null;
|
||||
return spelError(sql, error);
|
||||
}
|
||||
}
|
||||
|
||||
protected SqlFunctions createArguments(Map<String, Object> args) {
|
||||
return new SqlFunctions(args);
|
||||
}
|
||||
|
||||
protected BiFunction<Object[], Map<String, Object>, Object> spelError(String sql, Throwable error) {
|
||||
log.warn("create sql expression [{}] parser error", sql, error);
|
||||
return (args, data) -> null;
|
||||
}
|
||||
|
||||
static ExtMapAccessor accessor = new ExtMapAccessor();
|
||||
|
||||
static class ExtMapAccessor extends MapAccessor {
|
||||
@Override
|
||||
public boolean canRead(@Nonnull EvaluationContext context, Object target,@Nonnull String name) throws AccessException {
|
||||
public boolean canRead(@Nonnull EvaluationContext context, Object target, @Nonnull String name) throws AccessException {
|
||||
return target instanceof Map;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user