iSeries Remote Systems
v6.0.1

com.ibm.etools.iseries.core.dstore.miners
Class IFSSearchHandler

java.lang.Object
  extended byjava.lang.Thread
      extended bycom.ibm.etools.iseries.core.dstore.miners.IFSSearchHandler
All Implemented Interfaces:
com.ibm.etools.systems.universal.miners.ICancellableHandler, Runnable

public class IFSSearchHandler
extends Thread
implements com.ibm.etools.systems.universal.miners.ICancellableHandler

This class handles searching in IFS.


Field Summary
protected  HashSet _alreadySearched
           
protected  com.ibm.as400.access.AS400 _as400
           
protected  com.ibm.etools.systems.dstore.core.model.DataStore _dataStore
           
protected  int _depth
           
protected  com.ibm.etools.systems.core.clientserver.search.SystemSearchFileNameMatcher _fileNameMatcher
           
protected  boolean _isCancelled
           
protected  boolean _isDone
           
protected  IFSFileSystemMiner _miner
           
protected  com.ibm.etools.systems.core.clientserver.SystemSearchString _searchString
           
protected  com.ibm.etools.systems.dstore.core.model.DataElement _status
           
protected  com.ibm.etools.systems.core.clientserver.search.SystemSearchStringMatcher _stringMatcher
           
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
IFSSearchHandler(com.ibm.etools.systems.dstore.core.model.DataStore dataStore, IFSFileSystemMiner miner, com.ibm.etools.systems.core.clientserver.SystemSearchString searchString, com.ibm.as400.access.IFSFile theFile, com.ibm.etools.systems.dstore.core.model.DataElement status)
           
 
Method Summary
 void cancel()
           
protected  void convert(com.ibm.etools.systems.dstore.core.model.DataElement deObj, String absPath, com.ibm.etools.systems.core.clientserver.search.SystemSearchLineMatch[] lineMatches)
          Converts from system line matches to data elements that will be sent back.
protected  boolean doesFilePatternMatch(String compareStr)
           
protected  boolean hasSearchedDirectory(com.ibm.as400.access.IFSFile file)
           
protected  void internalSearch(com.ibm.as400.access.IFSFile theFile, int depth)
           
protected  boolean internalSearchWithinFile(com.ibm.etools.systems.dstore.core.model.DataElement remoteFile, String absPath, com.ibm.as400.access.IFSFile theFile)
           
 boolean isCancelled()
           
 boolean isDone()
           
 void run()
           
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_alreadySearched

protected HashSet _alreadySearched

_isCancelled

protected boolean _isCancelled

_isDone

protected boolean _isDone

_depth

protected int _depth

_as400

protected com.ibm.as400.access.AS400 _as400

_dataStore

protected com.ibm.etools.systems.dstore.core.model.DataStore _dataStore

_miner

protected IFSFileSystemMiner _miner

_status

protected com.ibm.etools.systems.dstore.core.model.DataElement _status

_searchString

protected com.ibm.etools.systems.core.clientserver.SystemSearchString _searchString

_stringMatcher

protected com.ibm.etools.systems.core.clientserver.search.SystemSearchStringMatcher _stringMatcher

_fileNameMatcher

protected com.ibm.etools.systems.core.clientserver.search.SystemSearchFileNameMatcher _fileNameMatcher
Constructor Detail

IFSSearchHandler

public IFSSearchHandler(com.ibm.etools.systems.dstore.core.model.DataStore dataStore,
                        IFSFileSystemMiner miner,
                        com.ibm.etools.systems.core.clientserver.SystemSearchString searchString,
                        com.ibm.as400.access.IFSFile theFile,
                        com.ibm.etools.systems.dstore.core.model.DataElement status)
Method Detail

run

public void run()
Specified by:
run in interface Runnable

isCancelled

public boolean isCancelled()
Specified by:
isCancelled in interface com.ibm.etools.systems.universal.miners.ICancellableHandler

isDone

public boolean isDone()
Specified by:
isDone in interface com.ibm.etools.systems.universal.miners.ICancellableHandler

cancel

public void cancel()
Specified by:
cancel in interface com.ibm.etools.systems.universal.miners.ICancellableHandler

hasSearchedDirectory

protected boolean hasSearchedDirectory(com.ibm.as400.access.IFSFile file)

internalSearch

protected void internalSearch(com.ibm.as400.access.IFSFile theFile,
                              int depth)

internalSearchWithinFile

protected boolean internalSearchWithinFile(com.ibm.etools.systems.dstore.core.model.DataElement remoteFile,
                                           String absPath,
                                           com.ibm.as400.access.IFSFile theFile)

doesFilePatternMatch

protected boolean doesFilePatternMatch(String compareStr)

convert

protected void convert(com.ibm.etools.systems.dstore.core.model.DataElement deObj,
                       String absPath,
                       com.ibm.etools.systems.core.clientserver.search.SystemSearchLineMatch[] lineMatches)
Converts from system line matches to data elements that will be sent back.

Parameters:
deObj - the element representing the file for which matches have been found.
absPath - the absolute path of the file.
lineMatches - an array of line matches, or empty if no matches.

iSeries Remote Systems
v6.0.1

Copyright © 2005 IBM Corp. All Rights Reserved.

Note: This documentation is for part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.