public Element apply(final Element element) { elementTuple.setElement(element); apply(elementTuple); return element; }
public List<TupleAdaptedFunction<String, ?, ?>> getTransformFunctions() { return null != transformer ? transformer.getComponents() : null; }
public CHILD_CLASS addTransformFunctions(final List<TupleAdaptedFunction<String, ?, ?>> transformFunctions) { if (null == getElementDef().transformer) { getElementDef().transformer = new ElementTransformer(); } if (null != transformFunctions) { getElementDef().transformer.getComponents().addAll(transformFunctions); } return self(); }
public Builder() { this(new ElementTransformer()); }
public CHILD_CLASS transformFunctions(final List<TupleAdaptedFunction<String, ?, ?>> transformFunctions) { getElementDef().transformer = new ElementTransformer(); return addTransformFunctions(transformFunctions); }
@Test public void shouldTransformElementUsingMockFunction() { // Given final String selection = "reference1"; final String projection = "reference1"; final Integer valueResult = 3; final Function<String, Integer> function = mock(Function.class); given(function.apply("value1")).willReturn(valueResult); final ElementTransformer transformer = new ElementTransformer.Builder() .select(selection) .execute(function) .project(projection) .build(); final Edge edge = new Edge.Builder() .property(selection, "value1") .build(); // When final Element result = transformer.apply(edge); // Then assertEquals(valueResult, result.getProperty(projection)); }
public Builder project(final String... projection) { current.setProjection(projection); transformer.getComponents().add(current); return new Builder(transformer); } }
@JsonIgnore public ElementTransformer getToNewTransform() { final ElementTransformer tmp = new ElementTransformer(); if (null != toNewPrivateTransform && isNotEmpty(toNewPrivateTransform.getComponents())) { tmp.getComponents().addAll(toNewPrivateTransform.getComponents()); } if (null != toNewTransform && isNotEmpty(toNewTransform.getComponents())) { tmp.getComponents().addAll(toNewTransform.getComponents()); } return tmp; }
public Builder() { this(new ElementTransformer()); }
@Test public void shouldTransformElementUsingInlineFunction() { // Given final Function<String, Integer> function = String::length; final ElementTransformer transformer = new ElementTransformer.Builder() .select("prop1") .execute(function) .project("prop3") .build(); final Entity element = new Entity.Builder() .group("test") .property("prop1", "value") .property("prop2", 1) .build(); // When final Element result = transformer.apply(element); // Then assertEquals("prop1".length(), result.getProperty("prop3")); }
getElementDef().transformer = elementDef.transformer; } else if (null != elementDef.transformer) { getElementDef().transformer.getComponents().addAll(elementDef.transformer.getComponents());
@JsonIgnore public ElementTransformer getToOldTransform() { final ElementTransformer tmp = new ElementTransformer(); if (null != toOldPrivateTransform && isNotEmpty(toOldPrivateTransform.getComponents())) { tmp.getComponents().addAll(toOldPrivateTransform.getComponents()); } if (null != toOldTransform && isNotEmpty(toOldTransform.getComponents())) { tmp.getComponents().addAll(toOldTransform.getComponents()); } return tmp; }
public CHILD_CLASS transformFunctions(final List<TupleAdaptedFunction<String, ?, ?>> transformFunctions) { getElementDef().transformer = new ElementTransformer(); return addTransformFunctions(transformFunctions); }
@Test public void shouldTransformElementUsingIdentityFunction() { // Given final ElementTransformer transformer = new ElementTransformer.Builder() .select("prop1") .execute(new Identity()) .project("prop3") .build(); final Entity element = new Entity.Builder() .group("test") .property("prop1", "value") .property("prop2", 1) .build(); // When final Element result = transformer.apply(element); // Then assertEquals(element.getProperty("prop1"), result.getProperty("prop3")); }
@Test public void shouldAddGlobalTransformToEntityGroup() { // Given final ElementTransformer elementTransformer = new ElementTransformer.Builder() .select(TestPropertyNames.PROP_3) .execute(new Identity()) .project(TestPropertyNames.PROP_1) .build(); final View view = new View.Builder() .globalEntities(new GlobalViewElementDefinition.Builder() .groups(TestGroups.ENTITY) .transformer(elementTransformer) .build()) .entity(TestGroups.ENTITY, new ViewElementDefinition.Builder() .excludeProperties(TestPropertyNames.PROP_3) .build()) .build(); // When view.expandGlobalDefinitions(); // Then assertEquals(elementTransformer.getComponents().get(0).getFunction().getClass().getSimpleName(), view.getEntity(TestGroups.ENTITY).getTransformer().getComponents().get(0).getFunction().getClass().getSimpleName()); assertEquals(Sets.newHashSet(TestPropertyNames.PROP_3), Sets.newHashSet(view.getEntity(TestGroups.ENTITY).getExcludeProperties())); }
public void setToOld(final List<TupleAdaptedFunction<String, ?, ?>> toOldFunctions) { this.toOldTransform = new ElementTransformer(); addOldGroupTransform(); if (null != toOldFunctions) { this.toOldTransform.getComponents().addAll(toOldFunctions); } }
protected void transform(final Element element, final ElementTransformer transformer) { if (null != transformer) { transformer.apply(element); } }
@Test public void shouldAddGlobalElementTransformToEntityGroupFromBuilder() { // Given final ElementTransformer elementTransformer = new ElementTransformer.Builder() .select(TestPropertyNames.PROP_3) .execute(new Identity()) .project(TestPropertyNames.PROP_1) .build(); // When final View view = new View.Builder() .globalElements(new GlobalViewElementDefinition.Builder() .groups(TestGroups.ENTITY) .transformer(elementTransformer) .build()) .entity(TestGroups.ENTITY, new ViewElementDefinition.Builder() .excludeProperties(TestPropertyNames.PROP_3) .build()) .expandGlobalDefinitions() .build(); // Then assertEquals(elementTransformer.getComponents().get(0).getFunction().getClass().getSimpleName(), view.getEntity(TestGroups.ENTITY).getTransformer().getComponents().get(0).getFunction().getClass().getSimpleName()); assertEquals(Sets.newHashSet(TestPropertyNames.PROP_3), Sets.newHashSet(view.getEntity(TestGroups.ENTITY).getExcludeProperties())); }
public void setToNew(final List<TupleAdaptedFunction<String, ?, ?>> toNewFunctions) { this.toNewTransform = new ElementTransformer(); addNewGroupTransform(); if (null != toNewFunctions) { this.toNewTransform.getComponents().addAll(toNewFunctions); } }
public Element apply(final Element element) { elementTuple.setElement(element); apply(elementTuple); return element; }