@Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } if (!super.equals(o)) { return false; } FieldTransformOperation that = (FieldTransformOperation) o; return Objects.equals(inputFields, that.inputFields) && Objects.equals(outputFields, that.outputFields); }
@Override public int hashCode() { return Objects.hash(super.hashCode(), inputFields, outputFields); } }
switch (pipelineOperation.getType()) { case READ: FieldReadOperation read = (FieldReadOperation) pipelineOperation; for (String field : read.getOutputFields()) { List<String> origins = unusedOutputs.computeIfAbsent(field, k -> new ArrayList<>()); origins.add(pipelineOperation.getName()); validateInputs(pipelineOperation.getName(), transform.getInputFields(), validInputsSoFar); updateInvalidOutputs(transform.getInputFields(), unusedOutputs, redundantOutputs); validInputsSoFar.addAll(transform.getOutputFields()); for (String field : transform.getOutputFields()) { List<String> origins = unusedOutputs.computeIfAbsent(field, k -> new ArrayList<>()); origins.add(pipelineOperation.getName()); validateInputs(pipelineOperation.getName(), write.getInputFields(), validInputsSoFar); updateInvalidOutputs(write.getInputFields(), unusedOutputs, redundantOutputs); break;
for (FieldOperation fieldOperation : fieldOperations) { Operation newOperation = null; String newOperationName = prefixedOperationName(stageName, fieldOperation.getName()); Set<String> currentOperationOutputs = new LinkedHashSet<>(); switch (fieldOperation.getType()) { case READ: FieldReadOperation read = (FieldReadOperation) fieldOperation;
@Override public int hashCode() { return Objects.hash(super.hashCode(), source, outputFields); } }
@Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } if (!super.equals(o)) { return false; } FieldWriteOperation that = (FieldWriteOperation) o; return Objects.equals(inputFields, that.inputFields) && Objects.equals(sink, that.sink); }
@Override public int hashCode() { return Objects.hash(super.hashCode(), inputFields, sink); } }
@Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } if (!super.equals(o)) { return false; } FieldReadOperation that = (FieldReadOperation) o; return Objects.equals(source, that.source) && Objects.equals(outputFields, that.outputFields); }