// need synch here so we don't create multiple lists private synchronized void addPropertyIndex(PropertyIndex index) { List<PropertyIndex> list = indexMap.get(index.getKey()); if (list == null) { list = new CopyOnWriteArrayList<PropertyIndex>(); indexMap.put(index.getKey(), list); } list.add(index); idToIndexMap.put(index.getKeyId(), index); }
PropertyData relAddProperty(RelationshipImpl rel, PropertyIndex index, Object value) { if (!relationshipPropertyTrackers.isEmpty()) { for (PropertyTracker<Relationship> relPropertyTracker : relationshipPropertyTrackers) { relPropertyTracker.propertyAdded(getRelationshipById(rel.getId()), index.getKey(), value); } } return persistenceManager.relAddProperty(rel.getId(), index, value); }
PropertyData nodeAddProperty(NodeImpl node, PropertyIndex index, Object value) { if (!nodePropertyTrackers.isEmpty()) { for (PropertyTracker<Node> nodePropertyTracker : nodePropertyTrackers) { nodePropertyTracker.propertyAdded(getNodeById(node.getId()), index.getKey(), value); } } return persistenceManager.nodeAddProperty(node.getId(), index, value); }
void addIndex(PropertyIndex index) { assert !createdIndexes.containsKey(index.getKey()); createdIndexes.put(index.getKey(), index); idToIndex.put(index.getKeyId(), index); }