for(int value: constantSet2Annotation.value()) { semanticProperties.addForwardedField2(value, value);
@ConstantFieldsSecond({0,1}) public static class FindShortestPath extends CoGroupFunction implements Serializable { private static final long serialVersionUID = 1L;
@ConstantFieldsSecond(0) public static class ConcatPaths extends JoinFunction implements Serializable { private static final long serialVersionUID = 1L;
@ConstantFieldsFirst(0) @ConstantFieldsSecond(0) public static final class MinIdAndUpdate extends CoGroupFunction implements Serializable { private static final long serialVersionUID = 1L;
@ConstantFieldsFirst(0) @ConstantFieldsSecond(0) public static final class MinIdAndUpdate extends CoGroupFunction implements Serializable { private static final long serialVersionUID = 1L; private final LongValue newComponentId = new LongValue(); @Override public void coGroup(Iterator<Record> candidates, Iterator<Record> current, Collector<Record> out) throws Exception { if (!current.hasNext()) { throw new Exception("Error: Id not encountered before."); } Record old = current.next(); long oldId = old.getField(1, LongValue.class).getValue(); long minimumComponentID = Long.MAX_VALUE; while (candidates.hasNext()) { long candidateComponentID = candidates.next().getField(1, LongValue.class).getValue(); if (candidateComponentID < minimumComponentID) { minimumComponentID = candidateComponentID; } } if (minimumComponentID < oldId) { newComponentId.setValue(minimumComponentID); old.setField(1, newComponentId); out.collect(old); } } }
@ConstantFieldsSecond(0) public static final class RankComparisonMatch extends JoinFunction { private static final long serialVersionUID = 1L; private final DoubleValue newRank = new DoubleValue(); @Override public void join(Record vertexWithDelta, Record vertexWithOldRank, Collector<Record> out) throws Exception { DoubleValue deltaVal = vertexWithDelta.getField(1, DoubleValue.class); DoubleValue currentVal = vertexWithOldRank.getField(1, DoubleValue.class); newRank.setValue(deltaVal.getValue() + currentVal.getValue()); vertexWithOldRank.setField(1, newRank); out.collect(vertexWithOldRank); } }
@Override protected int[] getOtherFields(FunctionAnnotation.ConstantFieldsSecond other) { return other.value(); } }
@ConstantFieldsSecond(0) public static final class UpdateComponentIdMatchMirrored extends JoinFunction implements Serializable { private static final long serialVersionUID = 1L; @Override public void join(Record currentVertexWithComponent, Record newVertexWithComponent, Collector<Record> out){ long candidateComponentID = newVertexWithComponent.getField(1, LongValue.class).getValue(); long currentComponentID = currentVertexWithComponent.getField(1, LongValue.class).getValue(); if (candidateComponentID < currentComponentID) { out.collect(newVertexWithComponent); } } }
@Override protected int[] getOtherFields(FunctionAnnotation.ConstantFieldsSecond other) { return other.value(); } }