private void processEvent(EventBean theEvent) { EventTypeSPI spi = (EventTypeSPI) theEvent.getEventType(); EventBeanReader reader = spi.getReader(); Object[] props = reader.read(theEvent); String[] names = spi.getPropertyNames(); Map<String, String> parameters = formPairs(names, props, "stream", stream); URI requestURI; if (uriPrecompiled != null) { requestURI = URIUtil.withQuery(uriPrecompiled, parameters); } else { String uri = formURI(parameters, fragments); try { requestURI = new URI(uri); } catch (URISyntaxException e) { log.error("Incorrect URI generated: " + e.getMessage(), e); return; } } if (log.isDebugEnabled()) { log.debug("Requesting from URI " + requestURI); } HttpGet httpget = new HttpGet(requestURI); try { httpclient.execute(httpget, responseHandler); } catch (IOException e) { log.warn("Error executing request:" + e.getMessage()); } }
public ExprNode validate(ExprValidationContext validationContext) throws ExprValidationException { if (validationContext.getContextDescriptor() == null) { throw new ExprValidationException("Context property '" + propertyName + "' cannot be used in the expression as provided"); } EventTypeSPI eventType = (EventTypeSPI) validationContext.getContextDescriptor().getContextPropertyRegistry().getContextEventType(); if (eventType == null) { throw new ExprValidationException("Context property '" + propertyName + "' cannot be used in the expression as provided"); } getter = eventType.getGetterSPI(propertyName); if (getter == null) { throw new ExprValidationException("Context property '" + propertyName + "' is not a known property, known properties are " + Arrays.toString(eventType.getPropertyNames())); } returnType = JavaClassHelper.getBoxedType(eventType.getPropertyType(propertyName)); return null; }