SmartFrog 3.10.000

org.smartfrog.services.filesystem.filestore
Class LocalFilestoreImpl

java.lang.Object
  extended by org.smartfrog.sfcore.reference.RemoteReferenceResolverHelperImpl
      extended by org.smartfrog.sfcore.prim.PrimImpl
          extended by org.smartfrog.services.filesystem.FileUsingComponentImpl
              extended by org.smartfrog.services.filesystem.filestore.LocalFilestoreImpl
All Implemented Interfaces:
java.rmi.Remote, FileIntf, LocalFilestore, FileUsingComponent, UriIntf, MessageKeys, Diagnostics, Liveness, Prim, RemoteReferenceResolver, RemoteReferenceResolverHelper

public class LocalFilestoreImpl
extends FileUsingComponentImpl
implements LocalFilestore


Field Summary
static java.lang.String ERROR_NOT_A_DIRECTORY
          Error string if our repository is not a directory.
 
Fields inherited from class org.smartfrog.services.filesystem.FileUsingComponentImpl
file
 
Fields inherited from class org.smartfrog.sfcore.prim.PrimImpl
refLivenessDelay, refLivenessFactor, sfCompleteName, sfContext, sfDeployHooks, sfDeployWithHooks, sfExportRef, sfIsDeployed, sfIsStarted, sfIsTerminated, sfIsTerminating, sfLivenessCount, sfLivenessDelay, sfLivenessFactor, sfLivenessSender, sfParent, sfStartHooks, sfTerminateWithHooks, termLock
 
Fields inherited from interface org.smartfrog.services.filesystem.FileUsingComponent
ATTR_ABSOLUTE_PATH, ATTR_FILENAME, ATTR_URI
 
Fields inherited from interface org.smartfrog.services.filesystem.FileIntf
ATTR_DELETE_ON_EXIT, ATTR_DIR, ATTR_EXISTS, ATTR_IS_DIRECTORY, ATTR_IS_EMPTY, ATTR_IS_FILE, ATTR_IS_HIDDEN, ATTR_LENGTH, ATTR_MUST_BE_DIR, ATTR_MUST_BE_FILE, ATTR_MUST_EXIST, ATTR_MUST_READ, ATTR_MUST_WRITE, ATTR_SHORTNAME, ATTR_TEST_ON_LIVENESS, ATTR_TEST_ON_STARTUP, ATTR_TIMESTAMP
 
Fields inherited from interface org.smartfrog.sfcore.common.MessageKeys
CANNOT_LINK_TO_PREDICATE, COMPONENT_TERMINATED, COPY_FAILED, COPY_SERIALIZE_FAILED, ERROR_NO_SECURITY_BUT_REQUIRED, ILLEGAL_BOOLEAN_PARAMETER, ILLEGAL_NUMERIC_PARAMETER, ILLEGAL_STRING_PARAMETER, ILLEGAL_VECTOR_PARAMETER, LIVENESS_SEND_FAILURE, LIVENESS_SEND_FAILURE_IN, MISSING_PARAMETER, MSG_CLASS_NOT_FOUND, MSG_CONNECT_ERR, MSG_CONT_OTHER_DEPLOY, MSG_DEPLOY_COMP_TERMINATED, MSG_DEPLOY_SUCCESS, MSG_DEPLOYWITH_PHASE_FAILED, MSG_DETACH_SUCCESS, MSG_DETACH_TERMINATE_SUCCESS, MSG_ERR_DEPLOY_FROM_URL, MSG_ERR_PARSE, MSG_ERR_RESOLVE_PHASE, MSG_ERR_SF_RUNNING, MSG_ERR_TERM, MSG_FAILED_INET_ADDRESS_LOOKUP, MSG_FAILED_TO_CONTACT_PARENT, MSG_FILE_NOT_FOUND, MSG_HOOK_ACTION_FAILED, MSG_ILLEGAL_ACCESS, MSG_ILLEGAL_CLASS_TYPE, MSG_ILLEGAL_CLASS_TYPE_EXPECTING_GOT, MSG_ILLEGAL_REFERENCE, MSG_INPUTSTREAM_NULL, MSG_INSTANTIATION_ERROR, MSG_INVALID_OBJECT_TYPE, MSG_INVOCATION_TARGET, MSG_LANG_NOT_FOUND, MSG_LIVENESS_START_FAILED, MSG_LOADING_URL, MSG_METHOD_NOT_FOUND, MSG_NON_REP_ATTRIB, MSG_NOT_COMPONENT_REFERENCE, MSG_NOT_FOUND_ATTRIBUTE, MSG_NOT_FOUND_REFERENCE, MSG_NOT_VALUE_REFERENCE, MSG_NULL_DEF_METHOD, MSG_NULL_URL, MSG_OBJECT_REGISTRATION_FAILED, MSG_PARENT_LOCATION_FAILED, MSG_PING_SUCCESS, MSG_RANDM_ERR, MSG_REMOTE_CONNECT_ERR, MSG_REPEATED_ATTRIBUTE, MSG_SF_DEAD, MSG_SF_READY, MSG_SF_TERMINATED, MSG_STACKTRACE_FOLLOWS, MSG_START_COMP_TERMINATED, MSG_TERMINATE_SUCCESS, MSG_UNHANDLED_EXCEPTION, MSG_UNKNOWN_HOST, MSG_UNRESOLVED_REFERENCE, MSG_UNRESOLVED_REFERENCE_IN, MSG_UPDATE_SUCCESS, MSG_URL_NOT_FOUND, MSG_URL_TO_PARSE_NOT_FOUND, MSG_WARNING_LIVENESS_ENABLED, MSG_WARNING_STACKTRACE_DISABLED, MSG_WARNING_STACKTRACE_ENABLED, ROOT_MUST_BE_COMPONENT, WARN_NO_SECURITY
 
Constructor Summary
LocalFilestoreImpl()
          Constructor.
 
Method Summary
 FileEntry createNewFile(java.lang.String prefix, java.lang.String suffix)
          Create a new temp file
 boolean delete(java.net.URI uri)
          Delete an entry
 AddedFilestore getFilestore()
          Get the filestore
 FileEntry lookup(java.net.URI uri)
          look up a file from a URI
 void sfDeploy()
          Called after instantiation for deployment purposes.
 void sfStart()
          Can be called to start components.
 void sfTerminateWith(TerminationRecord status)
          Provides hook for subclasses to implement useful termination behavior.
 FileEntry uploadNewFile(java.lang.String prefix, java.lang.String suffix, byte[] content, java.lang.Object metadata)
          Create a new temp file
 
Methods inherited from class org.smartfrog.services.filesystem.FileUsingComponentImpl
bind, bind, bind, bind, deleteFileIfNeeded, getAbsolutePath, getFile, getURI, setAbsolutePath, toString
 
Methods inherited from class org.smartfrog.sfcore.prim.PrimImpl
equals, hashCode, registerWithProcessCompound, sfAddAttribute, sfAttributeKeyFor, sfAttributes, sfCompleteName, sfCompleteNameSafe, sfContainsAttribute, sfContainsValue, sfContext, sfDeployedHost, sfDeployedProcessName, sfDeployWith, sfDetach, sfDetachAndTerminate, sfDiagnosticsReport, sfDumpState, sfExport, sfExportRef, sfExportRef, sfGetApplicationLog, sfGetCoreLog, sfGetLog, sfIsDeployed, sfIsRemote, sfIsStarted, sfIsTerminated, sfIsTerminating, sfLivenessFailure, sfLog, sfParent, sfParentageChanged, sfPing, sfRemoveAttribute, sfReplaceAttribute, sfResolve, sfResolve, sfResolveHere, sfResolveHere, sfResolveParent, sfSetLog, sfStartLivenessSender, sfStopLivenessSender, sfTerminate, sfTerminatedWith, sfTerminateQuietlyWith, sfValues, terminateComponent, terminateNotifying
 
Methods inherited from class org.smartfrog.sfcore.reference.RemoteReferenceResolverHelperImpl
sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolveWithParser
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.smartfrog.sfcore.reference.RemoteReferenceResolverHelper
sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolveWithParser
 

Field Detail

ERROR_NOT_A_DIRECTORY

public static final java.lang.String ERROR_NOT_A_DIRECTORY
Error string if our repository is not a directory. "Not a directory :"

See Also:
Constant Field Values
Constructor Detail

LocalFilestoreImpl

public LocalFilestoreImpl()
                   throws java.rmi.RemoteException
Constructor.

Throws:
java.rmi.RemoteException - In case of network/rmi error
Method Detail

sfDeploy

public void sfDeploy()
              throws SmartFrogException,
                     java.rmi.RemoteException
Called after instantiation for deployment purposes. Heart monitor is started and if there is a parent the deployed component is added to the heartbeat. Subclasses can override to provide additional deployment behavior.

Specified by:
sfDeploy in interface Prim
Overrides:
sfDeploy in class PrimImpl
Throws:
SmartFrogException - error while deploying
java.rmi.RemoteException - In case of network/rmi error

sfStart

public void sfStart()
             throws SmartFrogException,
                    java.rmi.RemoteException
Can be called to start components. Subclasses should override to provide functionality Do not block in this call, but spawn off any main loops!

Specified by:
sfStart in interface Prim
Overrides:
sfStart in class PrimImpl
Throws:
SmartFrogException - failure while starting
java.rmi.RemoteException - In case of network/rmi error

sfTerminateWith

public void sfTerminateWith(TerminationRecord status)
Provides hook for subclasses to implement useful termination behavior. Deregisters component from local process compound (if ever registered)

Overrides:
sfTerminateWith in class PrimImpl
Parameters:
status - termination status

getFilestore

public AddedFilestore getFilestore()
Get the filestore

Returns:
filestore

createNewFile

public FileEntry createNewFile(java.lang.String prefix,
                               java.lang.String suffix)
                        throws SmartFrogException,
                               java.rmi.RemoteException
Create a new temp file

Specified by:
createNewFile in interface LocalFilestore
Parameters:
prefix - prefix
suffix - suffix
Returns:
a file entry describing both the file and the URL
Throws:
SmartFrogException - error while creating file
java.rmi.RemoteException - In case of network/rmi error

uploadNewFile

public FileEntry uploadNewFile(java.lang.String prefix,
                               java.lang.String suffix,
                               byte[] content,
                               java.lang.Object metadata)
                        throws SmartFrogException,
                               java.rmi.RemoteException
Create a new temp file

Specified by:
uploadNewFile in interface LocalFilestore
Parameters:
prefix - prefix
suffix - suffix
content - the actual content of the file content
metadata - any metadata
Returns:
a file entry describing both the file and the URL
Throws:
SmartFrogException - error while creating file
java.rmi.RemoteException - In case of network/rmi error

delete

public boolean delete(java.net.URI uri)
               throws SmartFrogException,
                      java.rmi.RemoteException
Delete an entry

Specified by:
delete in interface LocalFilestore
Parameters:
uri - uri of entry
Returns:
true if deletion worked
Throws:
SmartFrogException - error while deleting
java.rmi.RemoteException - In case of network/rmi error

lookup

public FileEntry lookup(java.net.URI uri)
                 throws SmartFrogException,
                        java.rmi.RemoteException
look up a file from a URI

Specified by:
lookup in interface LocalFilestore
Parameters:
uri -
Returns:
Throws:
SmartFrogException - error while lookup
java.rmi.RemoteException - In case of network/rmi error

SmartFrog CORE 3.10.000

(C) Copyright 1998-2006 Hewlett-Packard Development Company, LP