org.apache.solr.handler.dataimport
Class EntityProcessorWrapper

java.lang.Object
  extended by org.apache.solr.handler.dataimport.EntityProcessor
      extended by org.apache.solr.handler.dataimport.EntityProcessorWrapper

public class EntityProcessorWrapper
extends EntityProcessor

A Wrapper over EntityProcessor instance which performs transforms and handles multi-row outputs correctly.

Since:
solr 1.4

Field Summary
protected  List<Map<String,Object>> rowcache
           
protected  List<Transformer> transformers
           
 
Constructor Summary
EntityProcessorWrapper(EntityProcessor delegate, Entity entity, DocBuilder docBuilder)
           
 
Method Summary
protected  Map<String,Object> applyTransformer(Map<String,Object> row)
           
 void close()
          Invoked when the Entity processor is destroyed towards the end of import.
 void destroy()
          Invoked for each entity at the very end of the import to do any needed cleanup tasks.
 List<EntityProcessorWrapper> getChildren()
           
 Context getContext()
           
 DataSource getDatasource()
           
 Entity getEntity()
           
protected  Map<String,Object> getFromRowCache()
           
 VariableResolver getVariableResolver()
           
 void init(Context context)
          This method is called when it starts processing an entity.
 boolean isInitalized()
           
 Map<String,Object> nextDeletedRowKey()
          This is used during delta-import.
 Map<String,Object> nextModifiedParentRowKey()
          This is used during delta-import.
 Map<String,Object> nextModifiedRowKey()
          This is used for delta-import.
 Map<String,Object> nextRow()
          This method helps streaming the data for each row .
 void setDatasource(DataSource datasource)
           
 void setInitalized(boolean initalized)
           
 
Methods inherited from class org.apache.solr.handler.dataimport.EntityProcessor
postTransform
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

transformers

protected List<Transformer> transformers

rowcache

protected List<Map<String,Object>> rowcache
Constructor Detail

EntityProcessorWrapper

public EntityProcessorWrapper(EntityProcessor delegate,
                              Entity entity,
                              DocBuilder docBuilder)
Method Detail

init

public void init(Context context)
Description copied from class: EntityProcessor
This method is called when it starts processing an entity. When it comes back to the entity it is called again. So it can reset anything at that point. For a rootmost entity this is called only once for an ingestion. For sub-entities , this is called multiple once for each row from its parent entity

Specified by:
init in class EntityProcessor
Parameters:
context - The current context

getFromRowCache

protected Map<String,Object> getFromRowCache()

applyTransformer

protected Map<String,Object> applyTransformer(Map<String,Object> row)

nextRow

public Map<String,Object> nextRow()
Description copied from class: EntityProcessor
This method helps streaming the data for each row . The implementation would fetch as many rows as needed and gives one 'row' at a time. Only this method is used during a full import

Specified by:
nextRow in class EntityProcessor
Returns:
A 'row'. The 'key' for the map is the column name and the 'value' is the value of that column. If there are no more rows to be returned, return 'null'

nextModifiedRowKey

public Map<String,Object> nextModifiedRowKey()
Description copied from class: EntityProcessor
This is used for delta-import. It gives the pks of the changed rows in this entity

Specified by:
nextModifiedRowKey in class EntityProcessor
Returns:
the pk vs value of all changed rows

nextDeletedRowKey

public Map<String,Object> nextDeletedRowKey()
Description copied from class: EntityProcessor
This is used during delta-import. It gives the primary keys of the rows that are deleted from this entity. If this entity is the root entity, solr document is deleted. If this is a sub-entity, the Solr document is considered as 'changed' and will be recreated

Specified by:
nextDeletedRowKey in class EntityProcessor
Returns:
the pk vs value of all changed rows

nextModifiedParentRowKey

public Map<String,Object> nextModifiedParentRowKey()
Description copied from class: EntityProcessor
This is used during delta-import. This gives the primary keys and their values of all the rows changed in a parent entity due to changes in this entity.

Specified by:
nextModifiedParentRowKey in class EntityProcessor
Returns:
the pk vs value of all changed rows in the parent entity

destroy

public void destroy()
Description copied from class: EntityProcessor
Invoked for each entity at the very end of the import to do any needed cleanup tasks.

Specified by:
destroy in class EntityProcessor

getVariableResolver

public VariableResolver getVariableResolver()

getContext

public Context getContext()

close

public void close()
Description copied from class: EntityProcessor
Invoked when the Entity processor is destroyed towards the end of import.

Overrides:
close in class EntityProcessor

getEntity

public Entity getEntity()

getChildren

public List<EntityProcessorWrapper> getChildren()

getDatasource

public DataSource getDatasource()

setDatasource

public void setDatasource(DataSource datasource)

isInitalized

public boolean isInitalized()

setInitalized

public void setInitalized(boolean initalized)


Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.