org.safehaus.penrose.engine
Class Engine

java.lang.Object
  extended byorg.safehaus.penrose.engine.Engine
Direct Known Subclasses:
DefaultEngine, ProxyEngine

public abstract class Engine
extends java.lang.Object

Author:
Endi S. Dewata

Field Summary
 ConnectionManager connectionManager
           
 Connector connector
           
 EngineConfig engineConfig
           
 EngineFilterTool engineFilterTool
           
 EntryCache entryCache
           
 InterpreterManager interpreterManager
           
 JoinEngine joinEngine
           
 LoadEngine loadEngine
           
 java.util.Map locks
           
static org.slf4j.Logger log
           
 MergeEngine mergeEngine
           
 PartitionManager partitionManager
           
 PenroseConfig penroseConfig
           
 Queue queue
           
 SchemaManager schemaManager
           
 boolean stopping
           
 TransformEngine transformEngine
           
 
Constructor Summary
Engine()
           
 
Method Summary
abstract  int add(Partition partition, Entry parent, EntryMapping entryMapping, java.lang.String dn, javax.naming.directory.Attributes attributes)
           
abstract  int bind(Partition partition, Entry entry, java.lang.String password)
           
 AttributeValues computeAttributeValues(EntryMapping entryMapping, AttributeValues sourceValues, java.util.Collection rows, Interpreter interpreter)
          Compute attribute values of an entry given the source values or row values
 AttributeValues computeAttributeValues(EntryMapping entryMapping, AttributeValues sourceValues, Interpreter interpreter)
           
 AttributeValues computeAttributeValues(EntryMapping entryMapping, Interpreter interpreter)
           
 java.util.Collection computeDns(Interpreter interpreter, EntryMapping entryMapping)
           
 java.util.Collection computeDns(Interpreter interpreter, EntryMapping entryMapping, AttributeValues sourceValues)
           
 java.util.Collection computeRdn(Interpreter interpreter, EntryMapping entryMapping)
           
 Row createFilter(Interpreter interpreter, SourceMapping sourceMapping, EntryMapping entryMapping, Row rdn)
           
 Filter createFilter(SourceMapping sourceMapping, java.util.Collection pks)
           
abstract  int delete(Partition partition, Entry entry)
           
abstract  int expand(Partition partition, java.util.Collection path, AttributeValues parentSourceValues, EntryMapping entryMapping, java.lang.String baseDn, Filter filter, PenroseSearchControls sc, PenroseSearchResults results)
           
 Filter generateFilter(SourceMapping toSource, java.util.Collection relationships, AttributeValues av)
           
 Filter generateFilter(SourceMapping sourceMapping, java.util.Collection relationships, java.util.Collection rows)
           
 Relationship getConnectingRelationship(EntryMapping entryMapping)
           
 ConnectionManager getConnectionManager()
           
 Connector getConnector()
           
 EngineConfig getEngineConfig()
           
 EngineFilterTool getEngineFilterTool()
           
 EntryCache getEntryCache()
           
 FilterTool getFilterTool()
           
 Graph getGraph(EntryMapping entryMapping)
           
 InterpreterManager getInterpreterManager()
           
 JoinEngine getJoinEngine()
           
 LoadEngine getLoadEngine()
           
 MRSWLock getLock(java.lang.String dn)
           
 MergeEngine getMergeEngine()
           
 AttributeValues getParentSourceValues(Partition partition, java.util.Collection path)
           
 PartitionManager getPartitionManager()
           
 SourceMapping getPrimarySource(EntryMapping entryMapping)
           
 SchemaManager getSchemaManager()
           
 PenroseConfig getServerConfig()
           
 java.lang.String getStartingSourceName(EntryMapping entryMapping)
           
 ThreadManager getThreadManager()
           
 TransformEngine getTransformEngine()
           
 void init()
           
 boolean isStatic(EntryMapping entryMapping)
          Check whether the entry uses no sources and all attributes are constants.
 boolean isStopping()
           
 boolean isUnique(EntryMapping entryMapping)
           
 void load(EntryMapping entryMapping, PenroseSearchResults entriesToLoad, PenroseSearchResults loadedEntries)
           
 void merge(EntryMapping entryMapping, PenroseSearchResults loadedEntries, PenroseSearchResults newEntries)
           
abstract  int modify(Partition partition, Entry entry, java.util.Collection modifications)
           
abstract  int modrdn(Partition partition, Entry entry, java.lang.String newRdn)
           
abstract  int search(Partition partition, java.util.Collection path, AttributeValues parentSourceValues, EntryMapping entryMapping, java.lang.String baseDn, Filter filter, PenroseSearchControls sc, PenroseSearchResults results)
           
 void setConnectionManager(ConnectionManager connectionManager)
           
 void setConnector(Connector connector)
           
 void setEngineConfig(EngineConfig engineConfig)
           
 void setEngineFilterTool(EngineFilterTool engineFilterTool)
           
 void setEntryCache(EntryCache entryCache)
           
 void setFilterTool(FilterTool filterTool)
           
 void setInterpreterFactory(InterpreterManager interpreterManager)
           
 void setJoinEngine(JoinEngine joinEngine)
           
 void setLoadEngine(LoadEngine loadEngine)
           
 void setMergeEngine(MergeEngine mergeEngine)
           
 void setPartitionManager(PartitionManager partitionManager)
           
 void setPenroseConfig(PenroseConfig penroseConfig)
           
 void setSchemaManager(SchemaManager schemaManager)
           
 void setThreadManager(ThreadManager threadManager)
           
 void setTransformEngine(TransformEngine transformEngine)
           
 AttributeValues shiftParentSourceValues(AttributeValues attributeValues)
           
 void start()
           
 void stop()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

public static org.slf4j.Logger log

engineConfig

public EngineConfig engineConfig

penroseConfig

public PenroseConfig penroseConfig

schemaManager

public SchemaManager schemaManager

interpreterManager

public InterpreterManager interpreterManager

connector

public Connector connector

connectionManager

public ConnectionManager connectionManager

partitionManager

public PartitionManager partitionManager

entryCache

public EntryCache entryCache

stopping

public boolean stopping

engineFilterTool

public EngineFilterTool engineFilterTool

locks

public java.util.Map locks

queue

public Queue queue

loadEngine

public LoadEngine loadEngine

joinEngine

public JoinEngine joinEngine

mergeEngine

public MergeEngine mergeEngine

transformEngine

public TransformEngine transformEngine
Constructor Detail

Engine

public Engine()
Method Detail

init

public void init()
          throws java.lang.Exception
Throws:
java.lang.Exception

getEngineConfig

public EngineConfig getEngineConfig()

setEngineConfig

public void setEngineConfig(EngineConfig engineConfig)

setPenroseConfig

public void setPenroseConfig(PenroseConfig penroseConfig)

getSchemaManager

public SchemaManager getSchemaManager()

setSchemaManager

public void setSchemaManager(SchemaManager schemaManager)

getInterpreterManager

public InterpreterManager getInterpreterManager()

setInterpreterFactory

public void setInterpreterFactory(InterpreterManager interpreterManager)

getConnector

public Connector getConnector()

setConnector

public void setConnector(Connector connector)

getConnectionManager

public ConnectionManager getConnectionManager()

setConnectionManager

public void setConnectionManager(ConnectionManager connectionManager)

getPartitionManager

public PartitionManager getPartitionManager()

setPartitionManager

public void setPartitionManager(PartitionManager partitionManager)
                         throws java.lang.Exception
Throws:
java.lang.Exception

getEntryCache

public EntryCache getEntryCache()

setEntryCache

public void setEntryCache(EntryCache entryCache)

getPrimarySource

public SourceMapping getPrimarySource(EntryMapping entryMapping)
                               throws java.lang.Exception
Throws:
java.lang.Exception

computeAttributeValues

public AttributeValues computeAttributeValues(EntryMapping entryMapping,
                                              Interpreter interpreter)
                                       throws java.lang.Exception
Throws:
java.lang.Exception

computeAttributeValues

public AttributeValues computeAttributeValues(EntryMapping entryMapping,
                                              AttributeValues sourceValues,
                                              Interpreter interpreter)
                                       throws java.lang.Exception
Throws:
java.lang.Exception

computeAttributeValues

public AttributeValues computeAttributeValues(EntryMapping entryMapping,
                                              AttributeValues sourceValues,
                                              java.util.Collection rows,
                                              Interpreter interpreter)
                                       throws java.lang.Exception
Compute attribute values of an entry given the source values or row values

Parameters:
entryMapping -
sourceValues -
rows -
interpreter -
Returns:
attribute values
Throws:
java.lang.Exception

getTransformEngine

public TransformEngine getTransformEngine()

setTransformEngine

public void setTransformEngine(TransformEngine transformEngine)

getGraph

public Graph getGraph(EntryMapping entryMapping)
               throws java.lang.Exception
Throws:
java.lang.Exception

start

public void start()
           throws java.lang.Exception
Throws:
java.lang.Exception

stop

public void stop()
          throws java.lang.Exception
Throws:
java.lang.Exception

getStartingSourceName

public java.lang.String getStartingSourceName(EntryMapping entryMapping)
                                       throws java.lang.Exception
Throws:
java.lang.Exception

generateFilter

public Filter generateFilter(SourceMapping sourceMapping,
                             java.util.Collection relationships,
                             java.util.Collection rows)
                      throws java.lang.Exception
Throws:
java.lang.Exception

generateFilter

public Filter generateFilter(SourceMapping toSource,
                             java.util.Collection relationships,
                             AttributeValues av)
                      throws java.lang.Exception
Throws:
java.lang.Exception

getMergeEngine

public MergeEngine getMergeEngine()

setMergeEngine

public void setMergeEngine(MergeEngine mergeEngine)

getJoinEngine

public JoinEngine getJoinEngine()

setJoinEngine

public void setJoinEngine(JoinEngine joinEngine)

isStopping

public boolean isStopping()

isStatic

public boolean isStatic(EntryMapping entryMapping)
                 throws java.lang.Exception
Check whether the entry uses no sources and all attributes are constants.

Throws:
java.lang.Exception

getEngineFilterTool

public EngineFilterTool getEngineFilterTool()

setEngineFilterTool

public void setEngineFilterTool(EngineFilterTool engineFilterTool)

shiftParentSourceValues

public AttributeValues shiftParentSourceValues(AttributeValues attributeValues)

getParentSourceValues

public AttributeValues getParentSourceValues(Partition partition,
                                             java.util.Collection path)
                                      throws java.lang.Exception
Throws:
java.lang.Exception

load

public void load(EntryMapping entryMapping,
                 PenroseSearchResults entriesToLoad,
                 PenroseSearchResults loadedEntries)
          throws java.lang.Exception
Throws:
java.lang.Exception

isUnique

public boolean isUnique(EntryMapping entryMapping)
                 throws java.lang.Exception
Throws:
java.lang.Exception

bind

public abstract int bind(Partition partition,
                         Entry entry,
                         java.lang.String password)
                  throws java.lang.Exception
Throws:
java.lang.Exception

add

public abstract int add(Partition partition,
                        Entry parent,
                        EntryMapping entryMapping,
                        java.lang.String dn,
                        javax.naming.directory.Attributes attributes)
                 throws java.lang.Exception
Throws:
java.lang.Exception

delete

public abstract int delete(Partition partition,
                           Entry entry)
                    throws java.lang.Exception
Throws:
java.lang.Exception

modify

public abstract int modify(Partition partition,
                           Entry entry,
                           java.util.Collection modifications)
                    throws java.lang.Exception
Throws:
java.lang.Exception

modrdn

public abstract int modrdn(Partition partition,
                           Entry entry,
                           java.lang.String newRdn)
                    throws java.lang.Exception
Throws:
java.lang.Exception

search

public abstract int search(Partition partition,
                           java.util.Collection path,
                           AttributeValues parentSourceValues,
                           EntryMapping entryMapping,
                           java.lang.String baseDn,
                           Filter filter,
                           PenroseSearchControls sc,
                           PenroseSearchResults results)
                    throws java.lang.Exception
Throws:
java.lang.Exception

expand

public abstract int expand(Partition partition,
                           java.util.Collection path,
                           AttributeValues parentSourceValues,
                           EntryMapping entryMapping,
                           java.lang.String baseDn,
                           Filter filter,
                           PenroseSearchControls sc,
                           PenroseSearchResults results)
                    throws java.lang.Exception
Throws:
java.lang.Exception

getLock

public MRSWLock getLock(java.lang.String dn)

merge

public void merge(EntryMapping entryMapping,
                  PenroseSearchResults loadedEntries,
                  PenroseSearchResults newEntries)
           throws java.lang.Exception
Throws:
java.lang.Exception

getConnectingRelationship

public Relationship getConnectingRelationship(EntryMapping entryMapping)
                                       throws java.lang.Exception
Throws:
java.lang.Exception

createFilter

public Filter createFilter(SourceMapping sourceMapping,
                           java.util.Collection pks)
                    throws java.lang.Exception
Throws:
java.lang.Exception

createFilter

public Row createFilter(Interpreter interpreter,
                        SourceMapping sourceMapping,
                        EntryMapping entryMapping,
                        Row rdn)
                 throws java.lang.Exception
Throws:
java.lang.Exception

computeDns

public java.util.Collection computeDns(Interpreter interpreter,
                                       EntryMapping entryMapping,
                                       AttributeValues sourceValues)
                                throws java.lang.Exception
Throws:
java.lang.Exception

computeDns

public java.util.Collection computeDns(Interpreter interpreter,
                                       EntryMapping entryMapping)
                                throws java.lang.Exception
Throws:
java.lang.Exception

computeRdn

public java.util.Collection computeRdn(Interpreter interpreter,
                                       EntryMapping entryMapping)
                                throws java.lang.Exception
Throws:
java.lang.Exception

getLoadEngine

public LoadEngine getLoadEngine()

setLoadEngine

public void setLoadEngine(LoadEngine loadEngine)

getServerConfig

public PenroseConfig getServerConfig()

getThreadManager

public ThreadManager getThreadManager()

setThreadManager

public void setThreadManager(ThreadManager threadManager)

getFilterTool

public FilterTool getFilterTool()

setFilterTool

public void setFilterTool(FilterTool filterTool)