Github user meiercaleb commented on a diff in the pull request:
https://github.com/apache/incubator-rya/pull/251#discussion_r153535410
--- Diff:
extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/batch/SpanBatchDeleteInformation.java
---
@@ -20,39 +22,79 @@
import org.apache.fluo.api.data.Column;
import org.apache.fluo.api.data.Span;
+import com.google.common.base.Preconditions;
+
/**
* This class represents a batch order to delete all entries in the Fluo
table indicated
* by the given Span and Column. These batch orders are processed by the
{@link BatchObserver},
* which uses this batch information along with the nodeId passed into the
Observer to perform
- * batch deletes.
+ * batch deletes.
*
*/
public class SpanBatchDeleteInformation extends
AbstractSpanBatchInformation {
private static final BatchBindingSetUpdater updater = new
SpanBatchBindingSetUpdater();
-
- public SpanBatchDeleteInformation(int batchSize, Column column, Span
span) {
+ private Optional<String> nodeId;
+
+ /**
+ * Create a new SpanBatchInformation object.
+ * @param nodeId - Optional nodeId that is used to filter returned
results. Useful if the hash
+ * is not included in the Span.
+ * @param batchSize - size of batch to be deleted
+ * @param column - column whose entries will be deleted
+ * @param span - Span indicating the range of data to delete.
Sometimes the Span cannot contain the hash
+ * (for example, if you are deleting all of the results associated
with a nodeId). In this case, a nodeId
+ * should be specified along with a Span equal to the prefix of the
nodeId.
+ */
+ public SpanBatchDeleteInformation(Optional<String> nodeId, int
batchSize, Column column, Span span) {
super(batchSize, Task.Delete, column, span);
+ Preconditions.checkNotNull(nodeId);
--- End diff --
Done.
---