@Override public List<Boolean> forkDataRecordImpl(WorkUnitState workUnitState, D input) { return this.embeddedForkOperator.forkDataRecord(workUnitState, input); }
@Override public List<Boolean> forkSchema(WorkUnitState workUnitState, S input) { return this.embeddedForkOperator.forkSchema(workUnitState, input); }
@Override public int getBranches(WorkUnitState workUnitState) { return this.embeddedForkOperator.getBranches(workUnitState); }
throws Exception { int branches = forkOperator.getBranches(workUnitState); forkOperator.init(workUnitState); List<Boolean> forkedSchemas = forkOperator.forkSchema(workUnitState, inputStream.getGlobalMetadata().getSchema()); int activeForks = (int) forkedSchemas.stream().filter(b -> b).count(); if (r instanceof RecordEnvelope) { RecordEnvelope<D> recordEnvelope = (RecordEnvelope<D>) r; return new RecordWithForkMap<>(recordEnvelope, forkOperator.forkDataRecord(workUnitState, recordEnvelope.getRecord())); } else if (r instanceof ControlMessage) { return new RecordWithForkMap<D>((ControlMessage<D>) r, branches);
@Test public void testForkMethods() { ForkOperator<String, String> dummyForkOperator = new IdentityForkOperator<String, String>(); WorkUnitState workUnitState = new WorkUnitState(); workUnitState.setProp(ConfigurationKeys.FORK_BRANCHES_KEY, 2); List<Boolean> schemas = dummyForkOperator.forkSchema(workUnitState, ""); Assert.assertEquals(schemas, Arrays.asList(true, true)); List<Boolean> records = dummyForkOperator.forkDataRecord(workUnitState, ""); Assert.assertEquals(records, Arrays.asList(true, true)); Assert.assertEquals(dummyForkOperator.getBranches(workUnitState), 2); workUnitState.setProp(ConfigurationKeys.FORK_BRANCHES_KEY, 0); schemas = dummyForkOperator.forkSchema(workUnitState, ""); Assert.assertTrue(schemas.isEmpty()); records = dummyForkOperator.forkDataRecord(workUnitState, ""); Assert.assertTrue(records.isEmpty()); Assert.assertEquals(dummyForkOperator.getBranches(workUnitState), 0); } }
forkOperator.init(this.taskState); int branches = forkOperator.getBranches(this.taskState); List<Boolean> forkedSchemas = forkOperator.forkSchema(this.taskState, schema); if (forkedSchemas.size() != branches) { throw new ForkBranchMismatchException(String
@Override public void init(WorkUnitState workUnitState) throws Exception { this.embeddedForkOperator.init(workUnitState); super.init(workUnitState, DecoratorUtils.resolveUnderlyingObject(this).getClass()); }
throws Exception { int branches = forkOperator.getBranches(workUnitState); forkOperator.init(workUnitState); List<Boolean> forkedSchemas = forkOperator.forkSchema(workUnitState, inputStream.getGlobalMetadata().getSchema()); int activeForks = (int) forkedSchemas.stream().filter(b -> b).count(); if (r instanceof RecordEnvelope) { RecordEnvelope<D> recordEnvelope = (RecordEnvelope<D>) r; return new RecordWithForkMap<>(recordEnvelope, forkOperator.forkDataRecord(workUnitState, recordEnvelope.getRecord())); } else if (r instanceof ControlMessage) { return new RecordWithForkMap<D>((ControlMessage<D>) r, branches);
forkOperator.init(this.taskState); int branches = forkOperator.getBranches(this.taskState); List<Boolean> forkedSchemas = forkOperator.forkSchema(this.taskState, schema); if (forkedSchemas.size() != branches) { throw new ForkBranchMismatchException(String
@Override public void init(WorkUnitState workUnitState) throws Exception { this.embeddedForkOperator.init(workUnitState); super.init(workUnitState, DecoratorUtils.resolveUnderlyingObject(this).getClass()); }
List<Boolean> forkedRecords = forkOperator.forkDataRecord(this.taskState, convertedRecord); if (forkedRecords.size() != branches) { throw new ForkBranchMismatchException(String
@Override public List<Boolean> forkSchema(WorkUnitState workUnitState, S input) { return this.embeddedForkOperator.forkSchema(workUnitState, input); }
@Override public int getBranches(WorkUnitState workUnitState) { return this.embeddedForkOperator.getBranches(workUnitState); }
@Override public List<Boolean> forkDataRecordImpl(WorkUnitState workUnitState, D input) { return this.embeddedForkOperator.forkDataRecord(workUnitState, input); }
List<Boolean> forkedRecords = forkOperator.forkDataRecord(this.taskState, convertedRecord); if (forkedRecords.size() != branches) { throw new ForkBranchMismatchException(String