org.fao.geonet.kernel.harvest.harvester
Class AbstractHarvester

java.lang.Object
  extended by org.fao.geonet.kernel.harvest.harvester.AbstractHarvester
Direct Known Subclasses:
ArcSDEHarvester, CswHarvester, Geonet20Harvester, GeonetHarvester, GeoPRESTHarvester, LocalFilesystemHarvester, OaiPmhHarvester, OgcWxSHarvester, ThreddsHarvester, WebDavHarvester, WfsFeaturesHarvester, Z3950ConfigHarvester, Z3950Harvester

public abstract class AbstractHarvester
extends Object

TODO javadoc.


Nested Class Summary
 class AbstractHarvester.HarvestWithIndexProcessor
          Nested class to handle harvesting with fast indexing.
 
Field Summary
protected  ServiceContext context
           
protected  DataManager dataMan
           
static String HARVESTER_GROUP_NAME
           
protected  SettingManager settingMan
           
 
Constructor Summary
AbstractHarvester()
           
 
Method Summary
 void add(Dbms dbms, org.jdom.Element node)
          TODO javadoc.
protected  void add(org.jdom.Element el, String name, int value)
           
 void addHarvestInfo(org.jdom.Element info, String id, String uuid)
          Adds harvesting information to each metadata element.
 void addInfo(org.jdom.Element node)
          Adds harvesting result information to each harvesting entry.
static AbstractHarvester create(String type, ServiceContext context, SettingManager sm, DataManager dm)
          TODO javadoc.
 void destroy(Dbms dbms)
          Called when the harvesting entry is removed from the system.
protected abstract  String doAdd(Dbms dbms, org.jdom.Element node)
           
protected abstract  void doAddInfo(org.jdom.Element node)
           
protected abstract  void doDestroy(Dbms dbms)
           
protected abstract  void doHarvest(Logger l, ResourceManager rm)
           
protected abstract  void doInit(org.jdom.Element entry)
           
protected abstract  void doUpdate(Dbms dbms, String id, org.jdom.Element node)
           
 String getID()
          TODO Javadoc.
abstract  AbstractParams getParams()
           
protected abstract  org.jdom.Element getResult()
           
static org.quartz.Scheduler getScheduler()
          TODO Javadoc.
abstract  String getType()
           
 void init(org.jdom.Element node)
           
 Common.OperResult invoke(ResourceManager rm)
          TODO Javadoc.
 Common.OperResult run(Dbms dbms)
          TODO Javadoc.
protected  void setValue(Map<String,Object> values, String path, org.jdom.Element el, String name)
           
 void shutdown()
          Called when the application is shutdown.
static void shutdownScheduler()
          TODO Javadoc.
 Common.OperResult start(Dbms dbms)
          TODO Javadoc.
static void staticInit(ServiceContext context)
          TODO Javadoc.
 Common.OperResult stop(Dbms dbms)
          TODO Javadoc.
protected  void storeCategories(Dbms dbms, AbstractParams params, String path)
          Override this method with an empty body to avoid categories storage.
protected  void storeNode(Dbms dbms, AbstractParams params, String path)
          Invoked from doAdd and doUpdate in sub class implementations.
protected  void storeNodeExtra(Dbms dbms, AbstractParams params, String path, String siteId, String optionsId)
          Override this method to store harvesting node's specific settings.
protected  void storePrivileges(Dbms dbms, AbstractParams params, String path)
          Override this method with an empty body to avoid privileges storage.
 void update(Dbms dbms, org.jdom.Element node)
          TODO Javadoc.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

HARVESTER_GROUP_NAME

public static final String HARVESTER_GROUP_NAME
See Also:
Constant Field Values

context

protected ServiceContext context

settingMan

protected SettingManager settingMan

dataMan

protected DataManager dataMan
Constructor Detail

AbstractHarvester

public AbstractHarvester()
Method Detail

staticInit

public static void staticInit(ServiceContext context)
                       throws Exception
TODO Javadoc.

Parameters:
context -
Throws:
Exception

create

public static AbstractHarvester create(String type,
                                       ServiceContext context,
                                       SettingManager sm,
                                       DataManager dm)
                                throws BadParameterEx,
                                       OperationAbortedEx
TODO javadoc.

Parameters:
type -
context -
sm -
dm -
Returns:
Throws:
BadParameterEx
OperationAbortedEx

add

public void add(Dbms dbms,
                org.jdom.Element node)
         throws BadInputEx,
                SQLException
TODO javadoc.

Parameters:
dbms -
node -
Throws:
BadInputEx
SQLException

init

public void init(org.jdom.Element node)
          throws BadInputEx,
                 org.quartz.SchedulerException
Throws:
BadInputEx
org.quartz.SchedulerException

getScheduler

public static org.quartz.Scheduler getScheduler()
                                         throws org.quartz.SchedulerException
TODO Javadoc.

Returns:
Throws:
org.quartz.SchedulerException

shutdown

public void shutdown()
              throws org.quartz.SchedulerException
Called when the application is shutdown.

Throws:
org.quartz.SchedulerException

shutdownScheduler

public static void shutdownScheduler()
                              throws org.quartz.SchedulerException
TODO Javadoc.

Throws:
org.quartz.SchedulerException

destroy

public void destroy(Dbms dbms)
             throws Exception
Called when the harvesting entry is removed from the system. It is used to remove harvested metadata.

Parameters:
dbms -
Throws:
Exception

start

public Common.OperResult start(Dbms dbms)
                        throws SQLException,
                               org.quartz.SchedulerException
TODO Javadoc.

Parameters:
dbms -
Returns:
Throws:
SQLException
org.quartz.SchedulerException

stop

public Common.OperResult stop(Dbms dbms)
                       throws SQLException,
                              org.quartz.SchedulerException
TODO Javadoc.

Parameters:
dbms -
Returns:
Throws:
SQLException
org.quartz.SchedulerException

run

public Common.OperResult run(Dbms dbms)
                      throws SQLException,
                             org.quartz.SchedulerException
TODO Javadoc.

Parameters:
dbms -
Returns:
Throws:
SQLException
org.quartz.SchedulerException

invoke

public Common.OperResult invoke(ResourceManager rm)
TODO Javadoc.

Parameters:
rm -
Returns:

update

public void update(Dbms dbms,
                   org.jdom.Element node)
            throws BadInputEx,
                   SQLException,
                   org.quartz.SchedulerException
TODO Javadoc.

Parameters:
dbms -
node -
Throws:
BadInputEx
SQLException
org.quartz.SchedulerException

getID

public String getID()
TODO Javadoc.

Returns:

addInfo

public void addInfo(org.jdom.Element node)
Adds harvesting result information to each harvesting entry.

Parameters:
node -

addHarvestInfo

public void addHarvestInfo(org.jdom.Element info,
                           String id,
                           String uuid)
Adds harvesting information to each metadata element. Some sites can generate url for thumbnails.

Parameters:
info -
id -
uuid -

getType

public abstract String getType()
Returns:

getParams

public abstract AbstractParams getParams()
Returns:

doInit

protected abstract void doInit(org.jdom.Element entry)
                        throws BadInputEx
Parameters:
entry -
Throws:
BadInputEx

doDestroy

protected abstract void doDestroy(Dbms dbms)
                           throws SQLException
Parameters:
dbms -
Throws:
SQLException

doAdd

protected abstract String doAdd(Dbms dbms,
                                org.jdom.Element node)
                         throws BadInputEx,
                                SQLException
Parameters:
dbms -
node -
Returns:
Throws:
BadInputEx
SQLException

doUpdate

protected abstract void doUpdate(Dbms dbms,
                                 String id,
                                 org.jdom.Element node)
                          throws BadInputEx,
                                 SQLException
Parameters:
dbms -
id -
node -
Throws:
BadInputEx
SQLException

getResult

protected abstract org.jdom.Element getResult()
Returns:

doAddInfo

protected abstract void doAddInfo(org.jdom.Element node)
Parameters:
node -

doHarvest

protected abstract void doHarvest(Logger l,
                                  ResourceManager rm)
                           throws Exception
Parameters:
l -
rm -
Throws:
Exception

storeNode

protected void storeNode(Dbms dbms,
                         AbstractParams params,
                         String path)
                  throws SQLException
Invoked from doAdd and doUpdate in sub class implementations.

Parameters:
dbms -
params -
path -
Throws:
SQLException

storePrivileges

protected void storePrivileges(Dbms dbms,
                               AbstractParams params,
                               String path)
                        throws SQLException
Override this method with an empty body to avoid privileges storage.

Parameters:
dbms -
params -
path -
Throws:
SQLException

storeCategories

protected void storeCategories(Dbms dbms,
                               AbstractParams params,
                               String path)
                        throws SQLException
Override this method with an empty body to avoid categories storage.

Parameters:
dbms -
params -
path -
Throws:
SQLException

storeNodeExtra

protected void storeNodeExtra(Dbms dbms,
                              AbstractParams params,
                              String path,
                              String siteId,
                              String optionsId)
                       throws SQLException
Override this method to store harvesting node's specific settings.

Parameters:
dbms -
params -
path -
siteId -
optionsId -
Throws:
SQLException

setValue

protected void setValue(Map<String,Object> values,
                        String path,
                        org.jdom.Element el,
                        String name)
Parameters:
values -
path -
el -
name -

add

protected void add(org.jdom.Element el,
                   String name,
                   int value)
Parameters:
el -
name -
value -


Copyright © 2003-2013. All Rights Reserved.