com.esri.arcgis.datasourcesraster
Class DrLoader

java.lang.Object
  extended by com.esri.arcgis.datasourcesraster.DrLoader
All Implemented Interfaces:
IDrLoader, com.esri.arcgis.interop.RemoteObjRef, Serializable

public class DrLoader
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IDrLoader

A distributed raster catalog loader.

Description

The DrLoader object provides functions to load raster datasets or a directory of raster datasets to a raster catalog. It is designed for an ArcGIS for Server environment where there are many containers, and DrLoader spawns its loads to all the worker machines to achieve parallel loading effects. Parallel loading from multiple clients to a raster catalog improves loading performance tremendously.

While loading rasters with transformation and/or spatial reference, options are available for either applying the transformation to the raster or keeping it as a separate xform for the output raster dataset. If chosen, the rasters can also be projected on-the-fly if the raster has a different spatial reference from the raster column of the raster catalog.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

See Also:
Serialized Form

Constructor Summary
DrLoader()
          Constructs a DrLoader using ArcGIS Engine.
DrLoader(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
DrLoader theDrLoader = (DrLoader) obj;
 
Method Summary
 void cancel()
          Cancels loading.
 boolean equals(Object o)
          Compare this object with another
static String getClsid()
          getClsid.
 String getInvalidDatasets()
          The current list of semicolon delimited failed dataset names.
 IErrorInfo getLastError()
          The last loading error.
 IRasterCatalogLoader getRasterCatalogLoader()
          The raster catalog loader to be distributed.
 String getServerName()
          The ArcGIS server name to host loaders.
 void getStats(String[] pName, double[] pMillis)
          Gets the current loading stats.
 int getThreadHandle()
          Gets the loading thread handle.
 int hashCode()
          the hashcode for this object
 boolean isBusy()
          Indicates if the loader is currently busy.
 void load(String catalog, String directory)
          Loads all datasets in a directory into a given raster catalog.
 void loadDatasets(String catalog, String namelist)
          Loads all datasets in a name list into a given raster catalog.
 void setRasterCatalogLoaderByRef(IRasterCatalogLoader ppLoader)
          The raster catalog loader to be distributed.
 void setServerName(String pServerName)
          The ArcGIS server name to host loaders.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef
getJintegraDispatch, release
 

Constructor Detail

DrLoader

public DrLoader()
         throws IOException,
                UnknownHostException
Constructs a DrLoader using ArcGIS Engine.

Throws:
IOException - if there are interop problems
UnknownHostException - if there are interop problems

DrLoader

public DrLoader(Object obj)
         throws IOException
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
DrLoader theDrLoader = (DrLoader) obj;

Construct a DrLoader using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to DrLoader.

Parameters:
obj - an object returned from ArcGIS Engine or Server
Throws:
IOException - if there are interop problems
Method Detail

getClsid

public static String getClsid()
getClsid.


equals

public boolean equals(Object o)
Compare this object with another

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

getServerName

public String getServerName()
                     throws IOException,
                            AutomationException
The ArcGIS server name to host loaders.

Description

ServerName is the name of the ArcGIS for Server machine that hosts the loaders.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getServerName in interface IDrLoader
Returns:
The pServerName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setServerName

public void setServerName(String pServerName)
                   throws IOException,
                          AutomationException
The ArcGIS server name to host loaders.

Description

Set the ArcGIS for Server machine name.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setServerName in interface IDrLoader
Parameters:
pServerName - The pServerName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRasterCatalogLoader

public IRasterCatalogLoader getRasterCatalogLoader()
                                            throws IOException,
                                                   AutomationException
The raster catalog loader to be distributed.

Description

The RasterCatalogLoader to be distributed among the available ArcGIS containers. The storage parameters can be specified for the loader to instruct how the data will be stored in the geodatabase, also whether the data will be transformed or projected can be set.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getRasterCatalogLoader in interface IDrLoader
Returns:
A reference to a com.esri.arcgis.datasourcesraster.IRasterCatalogLoader
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setRasterCatalogLoaderByRef

public void setRasterCatalogLoaderByRef(IRasterCatalogLoader ppLoader)
                                 throws IOException,
                                        AutomationException
The raster catalog loader to be distributed.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setRasterCatalogLoaderByRef in interface IDrLoader
Parameters:
ppLoader - A reference to a com.esri.arcgis.datasourcesraster.IRasterCatalogLoader (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getInvalidDatasets

public String getInvalidDatasets()
                          throws IOException,
                                 AutomationException
The current list of semicolon delimited failed dataset names.

Description

Get the list of the raster dataset names that failed to load to the raster catalog. The list is delimited by new line.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getInvalidDatasets in interface IDrLoader
Returns:
The pInvalidDatasets
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isBusy

public boolean isBusy()
               throws IOException,
                      AutomationException
Indicates if the loader is currently busy.

Description

Get the status of the loader, whether it is in use or not.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
isBusy in interface IDrLoader
Returns:
The pIsBusy
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLastError

public IErrorInfo getLastError()
                        throws IOException,
                               AutomationException
The last loading error.

Description

Get the last error occurred during the loading.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getLastError in interface IDrLoader
Returns:
A reference to a com.esri.arcgis.system.IErrorInfo
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

load

public void load(String catalog,
                 String directory)
          throws IOException,
                 AutomationException
Loads all datasets in a directory into a given raster catalog.

Description

Perform the loading of raster datasets to the raster catalog.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
load in interface IDrLoader
Parameters:
catalog - The catalog (in)
directory - The directory (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

loadDatasets

public void loadDatasets(String catalog,
                         String namelist)
                  throws IOException,
                         AutomationException
Loads all datasets in a name list into a given raster catalog.

Description

Load a list of raster datasets to the raster catalog, the list contains raster dataset with full pathname and it is delimited by newline.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
loadDatasets in interface IDrLoader
Parameters:
catalog - The catalog (in)
namelist - The namelist (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

cancel

public void cancel()
            throws IOException,
                   AutomationException
Cancels loading.

Description

Cancel the loading operation.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
cancel in interface IDrLoader
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getStats

public void getStats(String[] pName,
                     double[] pMillis)
              throws IOException,
                     AutomationException
Gets the current loading stats.

Description

Get the status of the loading performance, with the raster dataset name and time used to load it to the raster catalog.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getStats in interface IDrLoader
Parameters:
pName - The pName (out: use single element array)
pMillis - The pMillis (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getThreadHandle

public int getThreadHandle()
                    throws IOException,
                           AutomationException
Gets the loading thread handle.

Description

Get the handle of the loader.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getThreadHandle in interface IDrLoader
Returns:
The pHandle
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.