Java 类org.springframework.context.expression.MapAccessor 实例源码
项目:springboot-shiro-cas-mybatis
文件:AbstractCasWebflowConfigurer.java
/**
* Gets spring expression parser.
*
* @return the spring expression parser
*/
protected SpringELExpressionParser getSpringExpressionParser() {
final SpelParserConfiguration configuration = new SpelParserConfiguration();
final SpelExpressionParser spelExpressionParser = new SpelExpressionParser(configuration);
final SpringELExpressionParser parser = new SpringELExpressionParser(spelExpressionParser,
this.flowBuilderServices.getConversionService());
parser.addPropertyAccessor(new ActionPropertyAccessor());
parser.addPropertyAccessor(new BeanFactoryPropertyAccessor());
parser.addPropertyAccessor(new FlowVariablePropertyAccessor());
parser.addPropertyAccessor(new MapAdaptablePropertyAccessor());
parser.addPropertyAccessor(new MessageSourcePropertyAccessor());
parser.addPropertyAccessor(new ScopeSearchingPropertyAccessor());
parser.addPropertyAccessor(new BeanExpressionContextAccessor());
parser.addPropertyAccessor(new MapAccessor());
parser.addPropertyAccessor(new MapAdaptablePropertyAccessor());
parser.addPropertyAccessor(new EnvironmentAccessor());
parser.addPropertyAccessor(new ReflectivePropertyAccessor());
return parser;
}
项目:cas-5.1.0
文件:AbstractCasWebflowConfigurer.java
/**
* Gets spring expression parser.
*
* @return the spring expression parser
*/
protected SpringELExpressionParser getSpringExpressionParser() {
final SpelParserConfiguration configuration = new SpelParserConfiguration();
final SpelExpressionParser spelExpressionParser = new SpelExpressionParser(configuration);
final SpringELExpressionParser parser = new SpringELExpressionParser(spelExpressionParser,
this.flowBuilderServices.getConversionService());
parser.addPropertyAccessor(new ActionPropertyAccessor());
parser.addPropertyAccessor(new BeanFactoryPropertyAccessor());
parser.addPropertyAccessor(new FlowVariablePropertyAccessor());
parser.addPropertyAccessor(new MapAdaptablePropertyAccessor());
parser.addPropertyAccessor(new MessageSourcePropertyAccessor());
parser.addPropertyAccessor(new ScopeSearchingPropertyAccessor());
parser.addPropertyAccessor(new BeanExpressionContextAccessor());
parser.addPropertyAccessor(new MapAccessor());
parser.addPropertyAccessor(new MapAdaptablePropertyAccessor());
parser.addPropertyAccessor(new EnvironmentAccessor());
parser.addPropertyAccessor(new ReflectivePropertyAccessor());
return parser;
}
项目:cas-server-4.2.1
文件:AbstractCasWebflowConfigurer.java
/**
* Gets spring expression parser.
*
* @return the spring expression parser
*/
protected SpringELExpressionParser getSpringExpressionParser() {
final SpelParserConfiguration configuration = new SpelParserConfiguration();
final SpelExpressionParser spelExpressionParser = new SpelExpressionParser(configuration);
final SpringELExpressionParser parser = new SpringELExpressionParser(spelExpressionParser,
this.flowBuilderServices.getConversionService());
parser.addPropertyAccessor(new ActionPropertyAccessor());
parser.addPropertyAccessor(new BeanFactoryPropertyAccessor());
parser.addPropertyAccessor(new FlowVariablePropertyAccessor());
parser.addPropertyAccessor(new MapAdaptablePropertyAccessor());
parser.addPropertyAccessor(new MessageSourcePropertyAccessor());
parser.addPropertyAccessor(new ScopeSearchingPropertyAccessor());
parser.addPropertyAccessor(new BeanExpressionContextAccessor());
parser.addPropertyAccessor(new MapAccessor());
parser.addPropertyAccessor(new MapAdaptablePropertyAccessor());
parser.addPropertyAccessor(new EnvironmentAccessor());
parser.addPropertyAccessor(new ReflectivePropertyAccessor());
return parser;
}
项目:konker-platform
文件:ExpressionEvaluationServiceImpl.java
@Override
public String evaluateTemplate(String expressionTemplate, Map<String, Object> evaluationContext) {
Optional.ofNullable(expressionTemplate)
.filter(template -> !template.isEmpty())
.orElseThrow(() -> new IllegalArgumentException("Expression template cannot be null or empty"));
Optional.ofNullable(evaluationContext)
.orElseThrow(() -> new IllegalArgumentException("Evaluation context cannot be null"));
Expression expression = new SpelExpressionParser().parseExpression(expressionTemplate
,new TemplateParserContext("@{","}"));
StandardEvaluationContext standardEvaluationContext = new StandardEvaluationContext();
try {
standardEvaluationContext.registerFunction("urlEncode",
Functions.class.getDeclaredMethod("urlEncode", new Class[] {String.class}));
} catch (NoSuchMethodException e) {
throw new EvaluationException("Fail to register function to evaluation context", e);
}
standardEvaluationContext.addPropertyAccessor(new MapAccessor());
standardEvaluationContext.setVariables(evaluationContext);
return expression.getValue(standardEvaluationContext,String.class);
}
项目:konker-platform
文件:ExpressionEvaluationServiceImpl.java
@Override
public boolean evaluateConditional(String conditionalExpression, Map<String, Object> evaluationContext) {
Optional.ofNullable(conditionalExpression)
.filter(template -> !template.isEmpty())
.orElseThrow(() -> new IllegalArgumentException("Conditional expression cannot be null or empty"));
Optional.ofNullable(evaluationContext)
.orElseThrow(() -> new IllegalArgumentException("Evaluation context cannot be null"));
Expression expression = new SpelExpressionParser().parseExpression(conditionalExpression);
StandardEvaluationContext standardEvaluationContext = new StandardEvaluationContext();
standardEvaluationContext.addPropertyAccessor(new MapAccessor());
standardEvaluationContext.setVariables(evaluationContext);
return expression.getValue(standardEvaluationContext,Boolean.class);
}
项目:spring-boot-admin
文件:MailNotifier.java
@Override
protected Mono<Void> doNotify(InstanceEvent event, Instance instance) {
Map<String, Object> root = new HashMap<>();
root.put("event", event);
root.put("instance", instance);
root.put("lastStatus", getLastStatus(event.getInstance()));
StandardEvaluationContext context = new StandardEvaluationContext(root);
context.addPropertyAccessor(new MapAccessor());
SimpleMailMessage message = new SimpleMailMessage();
message.setTo(to);
message.setFrom(from);
message.setSubject(subject.getValue(context, String.class));
message.setText(text.getValue(context, String.class));
message.setCc(cc);
return Mono.fromRunnable(() -> sender.send(message));
}
项目:beetl2.0
文件:SpELFunction.java
/**
* 创建SpEL执行上下文
*
* @param rootObject
* SpEL表达式根对象
* @param context
* Beetl上下文对象
* @return SpEL表达式执行上下文
*/
private EvaluationContext createEvaluationContext(Object rootObject, Context beetlContext) {
StandardEvaluationContext context = new StandardEvaluationContext(rootObject);
// 允许使用#context访问Beetl上下文
context.setVariable("context", beetlContext);
// 允许使用#global访问Beetl上下文的全局变量
context.setVariable("global", beetlContext.globalVar);
// 注册WebRender定义的全局变量
context.setVariable("ctxPath", beetlContext.getGlobal("ctxPath"));
context.setVariable("servlet", beetlContext.getGlobal("servlet"));
context.setVariable("parameter", beetlContext.getGlobal("parameter"));
context.setVariable("request", beetlContext.getGlobal("request"));
context.setVariable("session", beetlContext.getGlobal("session"));
// 允许使用属性格式访问Map
context.addPropertyAccessor(new MapAccessor());
// 允许访问Spring容器Bean
context.setBeanResolver(new BeanFactoryResolver(applicationContext));
return context;
}
项目:spring4-understanding
文件:EvalTag.java
private EvaluationContext createEvaluationContext(PageContext pageContext) {
StandardEvaluationContext context = new StandardEvaluationContext();
context.addPropertyAccessor(new JspPropertyAccessor(pageContext));
context.addPropertyAccessor(new MapAccessor());
context.addPropertyAccessor(new EnvironmentAccessor());
context.setBeanResolver(new BeanFactoryResolver(getRequestContext().getWebApplicationContext()));
ConversionService conversionService = getConversionService(pageContext);
if (conversionService != null) {
context.setTypeConverter(new StandardTypeConverter(conversionService));
}
return context;
}
项目:graviteeio-access-management
文件:SpelView.java
public SpelView(String template) {
this.template = template;
this.prefix = new RandomValueStringGenerator().generate() + "{";
this.context.addPropertyAccessor(new MapAccessor());
this.resolver = new PropertyPlaceholderHelper.PlaceholderResolver() {
public String resolvePlaceholder(String name) {
Expression expression = parser.parseExpression(name);
Object value = expression.getValue(context);
return value == null ? null : value.toString();
}
};
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot
文件:BindingPreparationTests.java
@Test
@Ignore("Work in progress")
public void testExpressionLists() throws Exception {
TargetWithNestedMapOfListOfString target = new TargetWithNestedMapOfListOfString();
LinkedHashMap<String, List<String>> map = new LinkedHashMap<String, List<String>>();
// map.put("foo", Arrays.asList("bar"));
target.setNested(map);
SpelExpressionParser parser = new SpelExpressionParser();
StandardEvaluationContext context = new StandardEvaluationContext(target);
context.addPropertyAccessor(new MapAccessor());
Expression expression = parser.parseExpression("nested.foo");
assertThat(expression.getValue(context)).isNotNull();
}
项目:haven-platform
文件:SpelMailTemplateEngine.java
@Override
public MailMessage create(MailTemplate mailTemplate, MailSource source) {
MailMessageImpl.Builder b = MailMessageImpl.builder();
final StandardEvaluationContext ctx = new StandardEvaluationContext(source.getVariables());
ctx.addPropertyAccessor(new MapAccessor());
UnaryOperator<Object> processor = (o) -> MailTemplateUtils.process((s) -> evaluate(ctx, s), o);
b.setHead(MailHeadImpl.builder().from(mailTemplate.getHeadSource(), processor).build());
MailPartTemplate bs = mailTemplate.getBodySource();
String bodyText = (String) evaluate(ctx, bs.getData());
b.setBody(new MailTextBody(bodyText, bs.getMime()));
return b.build();
}
项目:spring-boot-concourse
文件:BindingPreparationTests.java
@Test
@Ignore("Work in progress")
public void testExpressionLists() throws Exception {
TargetWithNestedMapOfListOfString target = new TargetWithNestedMapOfListOfString();
LinkedHashMap<String, List<String>> map = new LinkedHashMap<String, List<String>>();
// map.put("foo", Arrays.asList("bar"));
target.setNested(map);
SpelExpressionParser parser = new SpelExpressionParser();
StandardEvaluationContext context = new StandardEvaluationContext(target);
context.addPropertyAccessor(new MapAccessor());
Expression expression = parser.parseExpression("nested.foo");
assertThat(expression.getValue(context)).isNotNull();
}
项目:contestparser
文件:BindingPreparationTests.java
@Test
@Ignore("Work in progress")
public void testExpressionLists() throws Exception {
TargetWithNestedMapOfListOfString target = new TargetWithNestedMapOfListOfString();
LinkedHashMap<String, List<String>> map = new LinkedHashMap<String, List<String>>();
// map.put("foo", Arrays.asList("bar"));
target.setNested(map);
SpelExpressionParser parser = new SpelExpressionParser();
StandardEvaluationContext context = new StandardEvaluationContext(target);
context.addPropertyAccessor(new MapAccessor());
Expression expression = parser.parseExpression("nested.foo");
assertNotNull(expression.getValue(context));
}
项目:class-guard
文件:EvalTag.java
private EvaluationContext createEvaluationContext(PageContext pageContext) {
StandardEvaluationContext context = new StandardEvaluationContext();
context.addPropertyAccessor(new JspPropertyAccessor(pageContext));
context.addPropertyAccessor(new MapAccessor());
context.addPropertyAccessor(new EnvironmentAccessor());
context.setBeanResolver(new BeanFactoryResolver(getRequestContext().getWebApplicationContext()));
ConversionService conversionService = getConversionService(pageContext);
if (conversionService != null) {
context.setTypeConverter(new StandardTypeConverter(conversionService));
}
return context;
}
项目:AGIA
文件:StandardEvaluationContextFactory.java
@Override
public StandardEvaluationContext createContext(String sName, Object sValue, StandardEvaluationContext sContext) {
StandardEvaluationContext aContext = sContext;
if (sContext == null) {
aContext = new StandardEvaluationContext();
if (commonObjects != null) {
aContext.setVariables(commonObjects);
}
aContext.addPropertyAccessor(new MapAccessor());
}
aContext.setVariable(sName, sValue);
return aContext;
}
项目:spring-boot-admin
文件:TelegramNotifier.java
protected String getText(InstanceEvent event, Instance instance) {
Map<String, Object> root = new HashMap<>();
root.put("event", event);
root.put("instance", instance);
root.put("lastStatus", getLastStatus(event.getInstance()));
StandardEvaluationContext context = new StandardEvaluationContext(root);
context.addPropertyAccessor(new MapAccessor());
return message.getValue(context, String.class);
}
项目:spring-boot-admin
文件:HipchatNotifier.java
protected String getMessage(InstanceEvent event, Instance instance) {
Map<String, Object> root = new HashMap<>();
root.put("event", event);
root.put("instance", instance);
root.put("lastStatus", getLastStatus(event.getInstance()));
StandardEvaluationContext context = new StandardEvaluationContext(root);
context.addPropertyAccessor(new MapAccessor());
return description.getValue(context, String.class);
}
项目:spring-boot-admin
文件:SlackNotifier.java
protected String getText(InstanceEvent event, Instance instance) {
Map<String, Object> root = new HashMap<>();
root.put("event", event);
root.put("instance", instance);
root.put("lastStatus", getLastStatus(event.getInstance()));
StandardEvaluationContext context = new StandardEvaluationContext(root);
context.addPropertyAccessor(new MapAccessor());
return message.getValue(context, String.class);
}
项目:spring-boot-admin
文件:LetsChatNotifier.java
protected String getText(InstanceEvent event, Instance instance) {
Map<String, Object> root = new HashMap<>();
root.put("event", event);
root.put("instance", instance);
root.put("lastStatus", getLastStatus(event.getInstance()));
StandardEvaluationContext context = new StandardEvaluationContext(root);
context.addPropertyAccessor(new MapAccessor());
return message.getValue(context, String.class);
}
项目:spring-boot-admin
文件:OpsGenieNotifier.java
protected String getMessage(InstanceEvent event, Instance instance) {
Map<String, Object> root = new HashMap<>();
root.put("event", event);
root.put("instance", instance);
root.put("lastStatus", getLastStatus(event.getInstance()));
StandardEvaluationContext context = new StandardEvaluationContext(root);
context.addPropertyAccessor(new MapAccessor());
return description.getValue(context, String.class);
}
项目:oauth-client-master
文件:WhitelabelApprovalEndpoint.java
public SpelView(String template) {
this.template = template;
this.context.addPropertyAccessor(new MapAccessor());
this.helper = new PropertyPlaceholderHelper("${", "}");
this.resolver = new PlaceholderResolver() {
public String resolvePlaceholder(String name) {
Expression expression = parser.parseExpression(name);
Object value = expression.getValue(context);
return value==null ? null : value.toString();
}
};
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot
文件:ErrorMvcAutoConfiguration.java
private EvaluationContext getContext(Map<String, ?> map) {
StandardEvaluationContext context = new StandardEvaluationContext();
context.addPropertyAccessor(new MapAccessor());
context.setRootObject(map);
return context;
}
项目:spring-boot-concourse
文件:ErrorMvcAutoConfiguration.java
private EvaluationContext getContext(Map<String, ?> map) {
StandardEvaluationContext context = new StandardEvaluationContext();
context.addPropertyAccessor(new MapAccessor());
context.setRootObject(map);
return context;
}
项目:contestparser
文件:ErrorMvcAutoConfiguration.java
SpelView(String template) {
this.template = template;
this.context.addPropertyAccessor(new MapAccessor());
this.helper = new PropertyPlaceholderHelper("${", "}");
this.resolver = new SpelPlaceholderResolver(this.context);
}
项目:spring-rest-exception-handler
文件:SpelMessageInterpolator.java
/**
* Creates a new instance with {@link StandardEvaluationContext} including
* {@link org.springframework.expression.spel.support.ReflectivePropertyAccessor ReflectivePropertyAccessor}
* and {@link MapAccessor}.
*/
public SpelMessageInterpolator() {
StandardEvaluationContext ctx = new StandardEvaluationContext();
ctx.addPropertyAccessor(new MapAccessor());
this.evalContext = ctx;
}
项目:arondor-common-reflection
文件:BeanPropertyParser.java
public ElementConfiguration parseProperty(Object value)
{
LOGGER.debug("value : " + value);
if (value instanceof TypedStringValue)
{
TypedStringValue stringValue = (TypedStringValue) value;
if (stringValue.getTargetTypeName() != null)
{
return getEnumObjectConfiguration(stringValue);
}
else
{
PrimitiveConfiguration primitiveConfiguration = objectConfigurationFactory
.createPrimitiveConfiguration();
if (useSPEL(stringValue))
{
ExpressionParser parser = new SpelExpressionParser();
String expAsStringWithToken = stringValue.getValue().trim();
String expAsString = expAsStringWithToken.substring(2, expAsStringWithToken.length() - 1).trim();
LOGGER.trace("This property is a SPEL expression: " + expAsString);
// String regex = "systemProperties\\['([^\\s]+)'\\]";
Expression exp = parser.parseExpression(expAsString);
StandardEvaluationContext sec = null;
if (sec == null)
{
sec = new StandardEvaluationContext();
sec.addPropertyAccessor(new EnvironmentAccessor());
sec.addPropertyAccessor(new BeanExpressionContextAccessor());
sec.addPropertyAccessor(new BeanFactoryAccessor());
sec.addPropertyAccessor(new MapAccessor());
}
primitiveConfiguration.setValue(String.valueOf(exp.getValue()));
}
else
{
LOGGER.trace("This property is NOT a SPEL expression: " + stringValue.getValue());
primitiveConfiguration.setValue(stringValue.getValue());
}
return primitiveConfiguration;
}
}
else if (value instanceof RuntimeBeanReference)
{
RuntimeBeanReference beanReference = (RuntimeBeanReference) value;
ReferenceConfiguration referenceConfiguration = objectConfigurationFactory.createReferenceConfiguration();
referenceConfiguration.setReferenceName(beanReference.getBeanName());
return referenceConfiguration;
}
else if (value instanceof ManagedList<?>)
{
return parseValueList((ManagedList<?>) value);
}
else if (value instanceof ManagedMap<?, ?>)
{
return parseValueMap((ManagedMap<?, ?>) value);
}
else if (value instanceof BeanDefinitionHolder)
{
BeanDefinitionHolder beanDefinitionHolder = (BeanDefinitionHolder) value;
return parseBeanDefinition(beanDefinitionHolder.getBeanDefinition());
}
else
{
throw new UnsupportedOperationException("The type of property value is not suppported : " + value
+ " (class : " + value.getClass().getName() + ")");
}
}