Sparksee  6.0.2
TypeLoader Class Referenceabstract

Base TypeLoader class. More...

Inheritance diagram for TypeLoader:
Inheritance graph

Public Member Functions

void SetLogError (const std::wstring &path) throw (sparksee::gdb::IOException)
 Sets a log error file. More...
 
void SetLogOff ()
 Truns off all the error reporting. More...
 
virtual ~TypeLoader ()
 Destructor.
 
void Register (TypeLoaderListener &tel)
 Registers a new listener. More...
 
virtual void Run ()=0 throw (sparksee::gdb::IOException, sparksee::gdb::Error)
 Run the loader.
 
virtual void RunTwoPhases ()=0 throw (sparksee::gdb::IOException, sparksee::gdb::Error)
 Run the loader for two phases loading. More...
 
virtual void RunNPhases (sparksee::gdb::int32_t partitions)=0 throw (sparksee::gdb::IOException, sparksee::gdb::Error)
 Run the loader for N phases loading. More...
 
void SetRowReader (RowReader &rr)
 Sets the input data source. More...
 
void SetGraph (sparksee::gdb::Graph &graph)
 Sets the graph where the data will be loaded. More...
 
void SetLocale (const std::wstring &localeStr)
 Sets the locale that will be used to read the data. More...
 
void SetType (sparksee::gdb::type_t type)
 Sets the type to be loaded. More...
 
void SetAttributes (sparksee::gdb::AttributeList &attrs)
 Sets the list of Attributes. More...
 
void SetAttributePositions (sparksee::gdb::Int32List &attrsPos)
 Sets the list of attribute positions. More...
 
void SetTimestampFormat (const std::wstring &timestampFormat)
 Sets a specific timestamp format. More...
 
void SetFrequency (sparksee::gdb::int32_t freq)
 Sets the frequency of listener notification. More...
 

Protected Types

Protected Member Functions

sparksee::gdb::bool_t CanRun ()
 Checks that all the required settings are ready to run. More...
 
void Run (Mode ph, sparksee::gdb::int32_t par) throw (sparksee::gdb::IOException, sparksee::gdb::Error)
 Runs load process. More...
 
 TypeLoader (RowReader &rr, sparksee::gdb::Graph &g, sparksee::gdb::type_t t, sparksee::gdb::AttributeList &attrs, sparksee::gdb::Int32List &attrsPos)
 Creates a new instance with the minimum common required arguments. More...
 
 TypeLoader ()
 Creates a new instance.
 
void NotifyListeners (const TypeLoaderEvent &ev)
 Notifies progress to all registered listeners. More...
 
void SetHeadAttribute (sparksee::gdb::attr_t attr)
 Sets the attribute that will be used to find the head of the edge. More...
 
void SetHeadPosition (sparksee::gdb::int32_t pos)
 Sets the position of the head attribute in the source data. More...
 
void SetTailAttribute (sparksee::gdb::attr_t attr)
 Sets the attribute that will be used to find the tail of the edge. More...
 
void SetTailPosition (sparksee::gdb::int32_t pos)
 Sets the position of the tail attribute in the source data. More...
 
void SetTailMEP (sparksee::gdb::MissingEndpoint mep)
 Sets the flag to create missing tail nodes when loading nodes or edges. More...
 
void SetHeadMEP (sparksee::gdb::MissingEndpoint mep)
 Sets the flag to create missing head nodes when loading nodes or edges. More...
 

Detailed Description

Base TypeLoader class.

Base class to load a node or edge type from a graph using a RowReader.

TypeLoaderListener can be registered to receive information about the progress of the load process by means of TypeLoaderEvent. The default frequency of notification to listeners is 100000.

Check out the 'Data import' section in the SPARKSEE User Manual for more details on this.

Author
Sparsity Technologies http://www.sparsity-technologies.com

Member Enumeration Documentation

enum TypeLoader::Mode
protected

Load can work in different ways.

Enumerator
ONE_PHASE 

Performs the load in a phases.

Load all objects an attributes at the same time.

TWO_PHASES 

Performs the load in two phases.

Firstly load all objects (and create them if necessary) and secondly loads all the attributes.

Working on this mode it is necessary to build a temporary file.

N_PHASES 

Performs the load in N phases.

Firstly load all objects (and create them if necessary) and secondly loads all the attributes. But in this case, attributes are loaded one by one. This way, if there are three attributes, then 4 traverses to the RowReader are necessary.

Working on this mode it is necessary to build a temporary file.

Constructor & Destructor Documentation

TypeLoader::TypeLoader ( RowReader rr,
sparksee::gdb::Graph &  g,
sparksee::gdb::type_t  t,
sparksee::gdb::AttributeList &  attrs,
sparksee::gdb::Int32List &  attrsPos 
)
protected

Creates a new instance with the minimum common required arguments.

Parameters
rr[in] Input RowReader.
g[in] Graph.
t[in] Type identifier.
attrs[in] Attribute identifiers to be loaded
attrsPos[in] Attribute positions (column index >=0)

Member Function Documentation

sparksee::gdb::bool_t TypeLoader::CanRun ( )
protected

Checks that all the required settings are ready to run.

Returns
Returns true if all the settings are ready.
void TypeLoader::NotifyListeners ( const TypeLoaderEvent ev)
protected

Notifies progress to all registered listeners.

Parameters
ev[in] Progress event to be notified.
void TypeLoader::Register ( TypeLoaderListener tel)

Registers a new listener.

Parameters
[in]telTypeLoaderListener to be registered.
void TypeLoader::Run ( Mode  ph,
sparksee::gdb::int32_t  par 
)
throw (sparksee::gdb::IOException,
sparksee::gdb::Error
)
protected

Runs load process.

Exceptions
IOExceptionIf bad things happen reading from the RowReader.
Parameters
ph[in] The load mode.
par[in] Number of horizontal partitions to perform the load.
virtual void TypeLoader::RunNPhases ( sparksee::gdb::int32_t  partitions)
throw (sparksee::gdb::IOException,
sparksee::gdb::Error
)
pure virtual

Run the loader for N phases loading.

Firstly load all objects (and create them if necessary) and secondly loads all the attributes. But in this case, attributes are loaded one by one. This way, if there are three attributes, then 4 traverses are necessary.

Working on this mode it is necessary to build a temporary file.

Parameters
partitions[in] Number of horizontal partitions to perform the load.

Implemented in EdgeTypeLoader, and NodeTypeLoader.

virtual void TypeLoader::RunTwoPhases ( )
throw (sparksee::gdb::IOException,
sparksee::gdb::Error
)
pure virtual

Run the loader for two phases loading.

Firstly load all objects (and create them if necessary) and secondly loads all the attributes.

Working on this mode it is necessary to build a temporary file.

Implemented in EdgeTypeLoader, and NodeTypeLoader.

void TypeLoader::SetAttributePositions ( sparksee::gdb::Int32List &  attrsPos)

Sets the list of attribute positions.

Parameters
attrsPos[in] Attribute positions (column index >=0).
void TypeLoader::SetAttributes ( sparksee::gdb::AttributeList &  attrs)

Sets the list of Attributes.

Parameters
attrs[in] Attribute identifiers to be loaded
void TypeLoader::SetFrequency ( sparksee::gdb::int32_t  freq)

Sets the frequency of listener notification.

Parameters
freq[in] Frequency in number of rows managed to notify progress to all listeners
void TypeLoader::SetGraph ( sparksee::gdb::Graph &  graph)

Sets the graph where the data will be loaded.

Parameters
graph[in] Graph.
void TypeLoader::SetHeadAttribute ( sparksee::gdb::attr_t  attr)
protected

Sets the attribute that will be used to find the head of the edge.

This method is protected because only the Edge loaders should have it.

Parameters
attr[in] Head Attribute

Referenced by EdgeTypeLoader::EdgeTypeLoader(), and EdgeTypeLoader::SetHeadAttribute().

void TypeLoader::SetHeadMEP ( sparksee::gdb::MissingEndpoint  mep)
protected

Sets the flag to create missing head nodes when loading nodes or edges.

Parameters
flagTrue if the nodes need to be created. False otherwise

Referenced by EdgeTypeLoader::EdgeTypeLoader(), and EdgeTypeLoader::SetHeadMEP().

void TypeLoader::SetHeadPosition ( sparksee::gdb::int32_t  pos)
protected

Sets the position of the head attribute in the source data.

This method is protected because only the Edge loaders should have it.

Parameters
pos[in] Head position

Referenced by EdgeTypeLoader::EdgeTypeLoader(), and EdgeTypeLoader::SetHeadPosition().

void TypeLoader::SetLocale ( const std::wstring &  localeStr)

Sets the locale that will be used to read the data.

It should match the locale used in the rowreader.

Parameters
localeStr[in] The locale string for the read data. See CSVReader.
void TypeLoader::SetLogError ( const std::wstring &  path)
throw (sparksee::gdb::IOException
)

Sets a log error file.

By default errors are thrown as a exception and the load process ends. If a log file is set, errors are logged there and the load process does not stop.

Parameters
path[in] The path to the error log file.
Exceptions
IOExceptionIf bad things happen opening the file.
void TypeLoader::SetLogOff ( )

Truns off all the error reporting.

The log file will not be created and no exceptions for invalid data will be thrown. If you just want to turn off the logs, but abort at the first error what you should do is not call this method and not set a logError file.

void TypeLoader::SetRowReader ( RowReader rr)

Sets the input data source.

Parameters
rr[in] Input RowReader.
void TypeLoader::SetTailAttribute ( sparksee::gdb::attr_t  attr)
protected

Sets the attribute that will be used to find the tail of the edge.

This method is protected because only the Edge loaders should have it.

Parameters
attr[in] Tail Attribute

Referenced by EdgeTypeLoader::EdgeTypeLoader(), and EdgeTypeLoader::SetTailAttribute().

void TypeLoader::SetTailMEP ( sparksee::gdb::MissingEndpoint  mep)
protected

Sets the flag to create missing tail nodes when loading nodes or edges.

Parameters
flagTrue if the nodes need to be created. False otherwise

Referenced by EdgeTypeLoader::EdgeTypeLoader(), and EdgeTypeLoader::SetTailMEP().

void TypeLoader::SetTailPosition ( sparksee::gdb::int32_t  pos)
protected

Sets the position of the tail attribute in the source data.

This method is protected because only the Edge loaders should have it.

Parameters
pos[in] Tail position

Referenced by EdgeTypeLoader::EdgeTypeLoader(), and EdgeTypeLoader::SetTailPosition().

void TypeLoader::SetTimestampFormat ( const std::wstring &  timestampFormat)

Sets a specific timestamp format.

Parameters
timestampFormat[in] A string with the timestamp format definition.
void TypeLoader::SetType ( sparksee::gdb::type_t  type)

Sets the type to be loaded.

Parameters
type[in] Type identifier.

The documentation for this class was generated from the following file: