TypeLoader Class Reference
[Io]

Base TypeLoader class. More...

Inheritance diagram for TypeLoader:

Inheritance graph
Collaboration diagram for TypeLoader:

Collaboration graph

List of all members.

Public Member Functions

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

Protected Types

enum  Mode {
  ONE_PHASE,
  TWO_PHASES,
  N_PHASES
}
 Load can work in different ways. More...

Protected Member Functions

sparksee::gdb::bool_t CanRun ()
 Checks that all the required settings are ready to run.
void Run (Mode ph, sparksee::gdb::int32_t par) throw (sparksee::gdb::IOException, sparksee::gdb::Error)
 Runs load process.
 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.
 TypeLoader ()
 Creates a new instance.
void NotifyListeners (const TypeLoaderEvent &ev)
 Notifies progress to all registered listeners.
void SetHeadAttribute (sparksee::gdb::attr_t attr)
 Sets the attribute that will be used to find the head of the edge.
void SetHeadPosition (sparksee::gdb::int32_t pos)
 Sets the position of the head attribute in the source data.
void SetTailAttribute (sparksee::gdb::attr_t attr)
 Sets the attribute that will be used to find the tail of the edge.
void SetTailPosition (sparksee::gdb::int32_t pos)
 Sets the position of the tail attribute in the source data.


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::Run ( Mode  ph,
sparksee::gdb::int32_t  par 
) throw (sparksee::gdb::IOException, sparksee::gdb::Error) [protected]

Runs load process.

Exceptions:
IOException If bad things happen reading from the RowReader.
Parameters:
ph [in] The load mode.
par [in] Number of horizontal partitions to perform the load.

void TypeLoader::NotifyListeners ( const TypeLoaderEvent ev  )  [protected]

Notifies progress to all registered listeners.

Parameters:
ev [in] Progress event to be notified.

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

Reimplemented in EdgeTypeLoader.

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

Reimplemented in EdgeTypeLoader.

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

Reimplemented in EdgeTypeLoader.

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

Reimplemented in EdgeTypeLoader.

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:
IOException If 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::Register ( TypeLoaderListener tel  ) 

Registers a new listener.

Parameters:
[in] tel TypeLoaderListener to be registered.

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.

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.

void TypeLoader::SetRowReader ( RowReader rr  ) 

Sets the input data source.

Parameters:
rr [in] Input RowReader.

void TypeLoader::SetGraph ( sparksee::gdb::Graph &  graph  ) 

Sets the graph where the data will be loaded.

Parameters:
graph [in] Graph.

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::SetType ( sparksee::gdb::type_t  type  ) 

Sets the type to be loaded.

Parameters:
type [in] Type identifier.

void TypeLoader::SetAttributes ( sparksee::gdb::AttributeList &  attrs  ) 

Sets the list of Attributes.

Parameters:
attrs [in] Attribute identifiers to be loaded

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

Sets the list of attribute positions.

Parameters:
attrsPos [in] Attribute positions (column index >=0).

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

Sets a specific timestamp format.

Parameters:
timestampFormat [in] A string with the timestamp format definition.

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


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

Generated on Tue Jun 2 13:44:32 2015 for Sparksee by  doxygen 1.5.6