List of usage examples for org.springframework.expression.spel.standard SpelExpressionParser SpelExpressionParser
public SpelExpressionParser()
From source file:it.geosolutions.geoserver.sira.security.expression.ExpressionRuleEngine.java
/** * Constructor./*from w w w . jav a2 s. c o m*/ */ public ExpressionRuleEngine() { this.evalContext = new StandardEvaluationContext(); this.parser = new SpelExpressionParser(); }
From source file:org.wte4j.impl.format.FormatterRegistry.java
static Formatter createFormatter(Class<? extends Formatter> formatterClass, List<String> args) { try {//from www . ja v a 2 s. c om String springExpression = createSpringExpression(formatterClass, args); ExpressionParser parser = new SpelExpressionParser(); Expression exp = parser.parseExpression(springExpression); return exp.getValue(Formatter.class); } catch (Exception e) { throw new FormatterInstantiationException( "Can not create new Instance of " + formatterClass.getName() + "with args " + args.toString(), e); } }
From source file:org.craftercms.security.processors.impl.UrlAccessRestrictionCheckingProcessor.java
/** * Sets the map of restrictions. Each key of the map is ANT-style path pattern, used to match the URLs of incoming * requests, and each value is a Spring EL expression. *//*from ww w . j ava2s .co m*/ @Required public void setUrlRestrictions(Map<String, String> restrictions) { urlRestrictions = new LinkedHashMap<>(); ExpressionParser parser = new SpelExpressionParser(); for (Map.Entry<String, String> entry : restrictions.entrySet()) { urlRestrictions.put(entry.getKey(), parser.parseExpression(entry.getValue())); } }
From source file:py.una.pol.karaku.audit.Auditor.java
/** * @param annotation//from ww w . j av a 2 s.c o m * @param methodSignature * @param target * @param gS */ public void doAudit(Audit annotation, String methodSignature, Object target, Object[] params) { AuditTrail auditTrail = new AuditTrail(); List<AuditTrailDetail> details = new ArrayList<AuditTrailDetail>(); auditTrail.setMethodSignature(methodSignature); auditTrail.setIp(util.getIpAdress()); auditTrail.setUsername(authorityController.getUsername()); String[] toAudit = annotation.toAudit(); String[] paramsToAudit = annotation.paramsToAudit(); ExpressionParser parser = new SpelExpressionParser(); if (toAudit != null) { for (String string : toAudit) { Expression exp = parser.parseExpression(string); Object value = exp.getValue(target); AuditTrailDetail detail = new AuditTrailDetail(); detail.setHeader(auditTrail); detail.setValue((Serializable) value); detail.setExpression(string); details.add(detail); log.info("Audit {}:{}", string, value); } } if (paramsToAudit != null) { for (String string : paramsToAudit) { Integer nroParm = getParamNumber(string); String expression = removeParamNumber(string); Object value; if (expression == null) { value = params[nroParm]; } else { Expression exp = parser.parseExpression(expression); value = exp.getValue(params[nroParm]); } AuditTrailDetail detail = new AuditTrailDetail(); detail.setHeader(auditTrail); detail.setValue((Serializable) value); detail.setExpression(string); details.add(detail); } } logic.saveAudit(auditTrail, details); }
From source file:org.vaadin.addons.springsecurityviewprovider.SpringSecurityViewProvider.java
@SuppressWarnings("unchecked") public final static ViewProvider createViewProvider(final Authentication authentication, Boolean enableCaching) {/*from w ww. j a v a2 s .c o m*/ final SpringSecurityViewProvider springViewProvider = new SpringSecurityViewProvider(); springViewProvider.enableCaching = enableCaching; try { final ApplicationContext applicationContext = springViewProvider.applicationContext; // Retrieve the default SecurityExpressionHandler final MethodSecurityExpressionHandler securityExpressionHandler = applicationContext .getBean(DefaultMethodSecurityExpressionHandler.class); // The method that is protected in the end final Method getViewMethod = SpringSecurityViewProvider.class.getMethod("getView", String.class); // A parser to evaluate parse the permissions. final SpelExpressionParser parser = new SpelExpressionParser(); // Although beans can be retrieved by annotation they must be retrieved by name // to avoid instanciating them for (String beanName : applicationContext.getBeanDefinitionNames()) { final Class<?> beanClass = applicationContext.getType(beanName); // only work with Views that are described by our specialed Description if (beanClass.isAnnotationPresent(ViewDescription.class) && View.class.isAssignableFrom(beanClass)) { final ViewDescription viewDescription = beanClass.getAnnotation(ViewDescription.class); // requires no special permissions and can be immediatly added if (StringUtils.isBlank(viewDescription.requiredPermissions())) { springViewProvider.views.put(viewDescription.name(), (Class<? extends View>) beanClass); } // requires permissions else { // this is actually borrowed from the code in org.springframework.security.access.prepost.PreAuthorize final EvaluationContext evaluationContext = securityExpressionHandler .createEvaluationContext(authentication, new SimpleMethodInvocation( springViewProvider, getViewMethod, viewDescription.name())); // only add the view to my provider if the permissions evaluate to true if (ExpressionUtils.evaluateAsBoolean( parser.parseExpression(viewDescription.requiredPermissions()), evaluationContext)) springViewProvider.views.put(viewDescription.name(), (Class<? extends View>) beanClass); } } } } catch (NoSuchMethodException | SecurityException e) { // Won't happen } return springViewProvider; }
From source file:com.qcadoo.model.internal.ExpressionServiceImpl.java
@Override public String getValue(final Entity entity, final String expression, final Locale locale) { if (StringUtils.isEmpty(expression) || "null".equals(expression)) { LOG.warn("Calculating empty expressions"); return null; }//from w w w . j a va 2 s. c o m ExpressionParser parser = new SpelExpressionParser(); Expression exp = parser.parseExpression(expression); EvaluationContext context = new StandardEvaluationContext(); if (entity != null) { Map<String, Object> values = getValuesForEntity(entity, locale, 2); for (Map.Entry<String, Object> entry : values.entrySet()) { context.setVariable(entry.getKey(), entry.getValue()); } } String value = null; try { value = String.valueOf(exp.getValue(context)); if (LOG.isDebugEnabled()) { LOG.debug("Calculating value of expression \"" + expression + "\" for " + entity + " : " + value); } } catch (SpelEvaluationException e) { if (SpelMessage.CANNOT_INDEX_INTO_NULL_VALUE.equals(e.getMessageCode())) { return ""; } else { LOG.error("Error while calculating value of expression \"" + expression + "\" for " + entity, e); value = "!!!"; } } if (StringUtils.isEmpty(value) || "null".equals(value)) { return null; } else { return translate(value, locale); } }
From source file:com.mine.cassandra.sink.CassandraSinkPropertiesTests.java
@Test public void statementExpressionCanBeCustomized() { String queryDsl = "Select(FOO.BAR).From(FOO)"; Expression expression = new SpelExpressionParser().parseExpression(queryDsl); AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); EnvironmentTestUtils.addEnvironment(context, "statement-expression:" + queryDsl); context.register(Conf.class); context.refresh();//from www . j a v a 2 s . com CassandraSinkProperties properties = context.getBean(CassandraSinkProperties.class); assertThat(properties.getStatementExpression().getExpressionString(), equalTo(expression.getExpressionString())); context.close(); }
From source file:org.arrow.service.DefaultExecutionService.java
/** * {@inheritDoc}/*from w w w . j av a2 s. c om*/ */ @Override public Object evaluateExpression(String expression) { ExpressionParser parser = new SpelExpressionParser(); StandardEvaluationContext ec = new StandardEvaluationContext(); ec.setBeanResolver(new BeanFactoryResolver(context)); Expression expr = parser.parseExpression(expression); return expr.getValue(ec); }
From source file:gov.nih.nci.calims2.ui.generic.crud.CRUDTableDecorator.java
/** * Formats the given value according to its type and the current locale. * @param column The column//from www . j av a 2 s . c o m * * @param value The value to format * @return The formatted value */ public String formatValue(Column column, Object value) { if (value == null) { return ""; } if (value instanceof I18nEnumeration) { return ((I18nEnumeration) value).getLocalizedValue(locale); } if (value instanceof DateTime) { return getDateTimeFormatter(column).print((DateTime) value); } if (value instanceof BigDecimal) { return ((BigDecimal) value).toPlainString(); } if (value instanceof Collection<?>) { ExpressionParser expressionParser = new SpelExpressionParser(); Expression expression = expressionParser.parseExpression(StringUtils.stripToNull(column.getFormat())); StringBuilder builder = new StringBuilder(); for (Object entity : (Collection<?>) value) { EvaluationContext context = new StandardEvaluationContext(entity); Object expresionValue = evaluateExpression(expression, context); if (expresionValue != null) { builder.append(expresionValue.toString()); builder.append("<br/>"); } } return builder.toString(); } return value.toString(); }
From source file:io.gravitee.gateway.services.healthcheck.EndpointHealthCheck.java
private void validateAssertions(final HealthStatus.Builder healthBuilder, final HealthCheckResponse response) { healthBuilder.success().status(response.getStatus()); // Run assertions if (healthCheck.getExpectation().getAssertions() != null) { Iterator<String> assertionIterator = healthCheck.getExpectation().getAssertions().iterator(); boolean success = true; while (success && assertionIterator.hasNext()) { String assertion = assertionIterator.next(); ExpressionParser parser = new SpelExpressionParser(); Expression expr = parser.parseExpression(assertion); StandardEvaluationContext context = new StandardEvaluationContext(); context.registerFunction("jsonPath", BeanUtils.resolveSignature("evaluate", JsonPathFunction.class)); context.setVariable("response", response); success = expr.getValue(context, boolean.class); if (!success) { healthBuilder.message("Assertion can not be verified : " + assertion); }//from w w w. j av a2 s .c o m } healthBuilder.success(success); } }