@Test public void testFieldAccess() throws IllegalAccessException { FieldAccessDescriptor descriptor = FieldAccessDescriptor.withFieldNames("foo", "bar"); DoFn<String, String> doFn = new DoFn<String, String>() { @FieldAccess("foo") final FieldAccessDescriptor fieldAccess = descriptor; @ProcessElement public void process(@FieldAccess("foo") Row row) {} }; DoFnSignature sig = DoFnSignatures.getSignature(doFn.getClass()); assertThat(sig.fieldAccessDeclarations().get("foo"), notNullValue()); Field field = sig.fieldAccessDeclarations().get("foo").field(); assertThat(field.getName(), equalTo("fieldAccess")); assertThat(field.get(doFn), equalTo(descriptor)); assertThat(sig.processElement().getRowParameter(), notNullValue()); }
RowParameter rowParameter = processElementMethod.getRowParameter(); FieldAccessDescriptor fieldAccessDescriptor = null; if (rowParameter != null) {
@Test public void testRowParameterWithoutFieldAccess() { DoFnSignature sig = DoFnSignatures.getSignature( new DoFn<String, String>() { @ProcessElement public void process(@Element Row row) {} }.getClass()); assertThat(sig.processElement().getRowParameter(), notNullValue()); }
RowParameter rowParameter = processElementMethod.getRowParameter();