@Override public boolean completeEquals(final Object obj) { return Filter.class.isInstance(obj) && super.completeEquals(obj) && Objects .equal(((Filter) obj).getExpression(), getExpression()); } }
protected String getFilterExpression(final Filter filter) { if (filter != null) { final String filterExpressionString = filter.getExpression(); if (filterExpressionString != null && !filterExpressionString.isEmpty()) { return StringEscapeUtils.unescapeXml(filterExpressionString); } } return null; }
/** * {@inheritDoc} */ @Override public void updateObjectInternal(final Filter object, final Filter updateObject) throws DMPPersistenceException { final String expression = object.getExpression(); updateObject.setExpression(expression); super.updateObjectInternal(object, updateObject); }
/** * {@inheritDoc} <br /> * Assert the filter expressions are equal. */ @Override public void compareObjects(final Filter expectedFilter, final Filter actualFilter) throws JsonProcessingException, JSONException { super.compareObjects(expectedFilter, actualFilter); if (expectedFilter.getExpression() != null) { Assert.assertNotNull(actualFilter.getExpression()); Assert.assertEquals("the filter expressions should be equal", expectedFilter.getExpression(), actualFilter.getExpression()); } else { Assert.assertNull(actualFilter.getExpression()); } }
/** * {@inheritDoc}<br/> * Updates the name and expression of the filter. */ @Override protected Filter prepareObjectForUpdate(final Filter objectWithUpdates, final Filter object) { super.prepareObjectForUpdate(objectWithUpdates, object); object.setExpression(objectWithUpdates.getExpression()); return object; }
@Override public FilterMorphScriptBuilder apply(final Task task) throws DMPConverterException { final Optional<Filter> optionalSkipFilter = Optional.ofNullable(task.getJob().getSkipFilter()); if (!optionalSkipFilter.isPresent()) { LOG.debug("there is no skip filter at job '{}' of task '{}'", task.getJob().getUuid(), task.getUuid()); return this; } final Filter skipFilter = optionalSkipFilter.get(); final Optional<String> optionalSkipFilterExpression = Optional.ofNullable(skipFilter.getExpression()); if (!optionalSkipFilterExpression.isPresent()) { LOG.debug("there is no filter expression in skip filter '{}' of job '{}' of task '{}'", skipFilter.getUuid(), task.getJob().getUuid(), task.getUuid()); return this; } final String filterExpressionString = optionalSkipFilterExpression.get(); final Map<String, FilterExpression> filterExpressionMap = extractFilterExpressions(filterExpressionString); if (filterExpressionMap == null || filterExpressionMap.isEmpty()) { LOG.debug("there are no filter conditions in filter expression in skip filter '{}' of job '{}' of task '{}'", skipFilter.getUuid(), task.getJob().getUuid(), task.getUuid()); return this; } super.apply(task); metaName.setTextContent(SKIP_FILTER + task.getJob().getUuid()); final String attributePathStringXMLEscaped = Iterators.getLast(filterExpressionMap.keySet().iterator()); addFilter(attributePathStringXMLEscaped, COMBINE_VALUE_VARIABLE, filterExpressionMap, rules, false); return this; }