apache / apache/wayang

Revise implementation to support multiple field projection, by names

Open
#649 3 comments 0 reactions 0 assignees View on GitHub
todo
Dominant language
Java
Stars
274
Forks
140
Avg merge
5d 16h
Merged PRs (30d)
4

Description

Revise implementation to support multiple field projection, by names

and indexes.

https://github.com/apache/incubator-wayang/blob/3fa657bcc8c86198b9532aa06bf27964c3f771be/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/function/ProjectionDescriptor.java#L41

```java

package org.apache.wayang.basic.function;

import java.lang.reflect.Field;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

import org.apache.wayang.basic.data.Record;
import org.apache.wayang.basic.types.RecordType;
import org.apache.wayang.core.function.FunctionDescriptor;
import org.apache.wayang.core.function.TransformationDescriptor;
import org.apache.wayang.core.types.BasicDataUnitType;

/**
* This descriptor pertains to projections. It takes field names of the input
* type to describe the projection.
*/
public class ProjectionDescriptor extends TransformationDescriptor {

/**
* Java implementation of a projection on POJOs via reflection.
*/
// TODO: Revise implementation to support multiple field projection, by names
// and indexes.
private static class PojoImplementation
implements FunctionDescriptor.SerializableFunction {

private final String fieldName;

private Field field;

private PojoImplementation(final String fieldName) {
this.fieldName = fieldName;
}

@Override
@SuppressWarnings("unchecked")
public Output apply(final Input input) {
// Initialization code.
if (this.field == null) {

```

40e1e0f9785d58f9ab9731824c00aef5b0a84db7

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.