Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright (c) 2013 GraphAware
   *
   * This file is part of GraphAware.
   *
   * GraphAware is free software: you can redistribute it and/or modify it under the terms of
   * the GNU General Public License as published by the Free Software Foundation, either
   * version 3 of the License, or (at your option) any later version.
   *
  * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
  *  without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  * See the GNU General Public License for more details. You should have received a copy of
  * the GNU General Public License along with this program.  If not, see
  * <http://www.gnu.org/licenses/>.
  */
 
 package com.graphaware.tx.event.batch.propertycontainer.database;
 
 
 import java.util.List;
 
 import static org.neo4j.helpers.collection.Iterables.append;
 import static org.neo4j.helpers.collection.Iterables.toList;

 
 public class BatchDatabaseNode extends BatchDatabasePropertyContainer<Nodeimplements NodeNodeWrapper {
 
     private final BatchTransactionData transactionData;

    
Construct a new proxy node.

Parameters:
id of the node.
database currently used for batch inserts.
transactionData data captured about the fake transaction.
 
     public BatchDatabaseNode(long idTransactionSimulatingBatchGraphDatabase databaseBatchTransactionData transactionData) {
         super(iddatabase);
         this. = transactionData;
     }

    
 
     @Override
     protected Node self() {
         return this;
     }

    
 
     @Override
     public Node getWrapped() {
         return .getNodeByIdInternal();
     }

    
 
     @Override
     public void setProperty(String keyObject value) {
         .nodePropertyToBeSet(thiskeyvalue);
         super.setProperty(keyvalue);
         .nodePropertySet(thiskeyvalue);
     }

    
 
     @Override
     public Object removeProperty(String key) {
         .nodePropertyToBeRemoved(thiskey);
         Object result = null;
         if (hasProperty(key)) { //workaround for https://github.com/neo4j/neo4j/issues/1025
             result = super.removeProperty(key);
         }
         .nodePropertyRemoved(thiskey);
         return result;
     }

    
 
     @Override
     public void addLabel(Label label) {
         List<LabelnewLabels = new LinkedList<>(toList(append(labeltoList(getLabels()))));
         Label[] labels = newLabels.toArray(new Label[newLabels.size()]);
        .nodeLabelsToBeSet(thislabels);
        super.addLabel(label);
        .nodeLabelsSet(thislabels);
    }

    
    @Override
    public void removeLabel(Label label) {
        List<LabelnewLabels = new LinkedList<>();
        for (Label existingLabel : getLabels()) {
            if (!existingLabel.name().equals(label.name())) {
                newLabels.add(existingLabel);
            }
        }
        Label[] labels = newLabels.toArray(new Label[newLabels.size()]);
        .nodeLabelsToBeSet(thislabels);
        super.removeLabel(label);
        .nodeLabelsSet(thislabels);
    }

    
    @Override
    public Relationship createRelationshipTo(Node otherNodeRelationshipType type) {
        .relationshipCreated(relationship);
        return relationship;
    }

    
    @Override
    protected Relationship wrapRelationship(Relationship relationship) {
        return new BatchDatabaseRelationship(relationship.getId(), );
    }
New to GrepCode? Check out our FAQ X