feat: 增加事件的toString实现

This commit is contained in:
zhouhao
2023-06-25 14:14:06 +08:00
parent bf7f226b27
commit 8cb7e0ff69
13 changed files with 83 additions and 7 deletions

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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}";
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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}";
}
}

View File

@@ -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;
}
}

View File

@@ -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}";
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}