@Override public Void beforeCommit( TransactionData data ) { if ( active ) { check( added, "added to", data.assignedLabels() ); check( removed, "removed from", data.removedLabels() ); } active = false; return null; }
expectedAssignedLabels.isEmpty() ); for ( LabelEntry entry : data.removedLabels() )
private static Map<String, Object> txDataParams(TransactionData txData, String phase) { return map("transactionId", phase.equals("after") ? txData.getTransactionId() : -1, "commitTime", phase.equals("after") ? txData.getCommitTime() : -1, "createdNodes", txData.createdNodes(), "createdRelationships", txData.createdRelationships(), "deletedNodes", txData.deletedNodes(), "deletedRelationships", txData.deletedRelationships(), "removedLabels", aggregateLabels(txData.removedLabels()), "removedNodeProperties", aggregatePropertyKeys(txData.removedNodeProperties(),true,true), "removedRelationshipProperties", aggregatePropertyKeys(txData.removedRelationshipProperties(),false,true), "assignedLabels", aggregateLabels(txData.assignedLabels()), "assignedNodeProperties",aggregatePropertyKeys(txData.assignedNodeProperties(),true,false), "assignedRelationshipProperties",aggregatePropertyKeys(txData.assignedRelationshipProperties(),false,false)); }
stream(data.removedLabels()).filter( labelEntry -> !data.isDeleted(labelEntry.node()) ), (index, node, key, value, ignore) -> indexUpdate(state, aVoid -> { index.remove(node, key); })); iterateNodeDeletions(stream(data.removedLabels()).filter( labelEntry -> data.isDeleted(labelEntry.node())), (nodeIndex, node, void1, void2, void3) -> indexUpdate(state, aVoid -> nodeIndex.remove(node))); return state;
for (LabelEntry labelEntry : transactionData.removedLabels()) { Node node = labelEntry.node();
@Override public Collection<BulkableAction> beforeCommit(TransactionData transactionData) throws Exception { Map<IndexId, BulkableAction> actions = new HashMap<>(1000); for (Node node : transactionData.createdNodes()) { if (hasLabel(node)) actions.putAll(indexRequests(node)); } for (LabelEntry labelEntry : transactionData.assignedLabels()) { if (hasLabel(labelEntry)) { if (transactionData.isDeleted(labelEntry.node())) { actions.putAll(deleteRequests(labelEntry.node())); } else { actions.putAll(indexRequests(labelEntry.node())); } } } for (LabelEntry labelEntry : transactionData.removedLabels()) { if (hasLabel(labelEntry)) actions.putAll(deleteRequests(labelEntry.node(), labelEntry.label())); } for (PropertyEntry<Node> propEntry : transactionData.assignedNodeProperties()) { if (hasLabel(propEntry)) actions.putAll(indexRequests(propEntry.entity())); } for (PropertyEntry<Node> propEntry : transactionData.removedNodeProperties()) { if (!transactionData.isDeleted(propEntry.entity()) && hasLabel(propEntry)) actions.putAll(updateRequests(propEntry.entity())); } return actions.isEmpty() ? Collections.<BulkableAction>emptyList() : actions.values(); }