SmartFrog 3.10.000

org.smartfrog.services.os.java
Class JavaPackageImpl

java.lang.Object
  extended by org.smartfrog.sfcore.reference.RemoteReferenceResolverHelperImpl
      extended by org.smartfrog.sfcore.prim.PrimImpl
          extended by org.smartfrog.services.os.java.JavaPackageImpl
All Implemented Interfaces:
java.rmi.Remote, JavaPackage, MessageKeys, Diagnostics, Liveness, Prim, RemoteReferenceResolver, RemoteReferenceResolverHelper

public class JavaPackageImpl
extends PrimImpl
implements JavaPackage

created Sep 30, 2004 11:58:59 AM


Field Summary
 
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.os.java.JavaPackage
ATTR_CLASSPATH, ATTR_CLASSPATHLIST, ATTR_REQUIRED_CLASSES, ATTR_REQUIRED_RESOURCES, ATTR_SOURCE, ATTR_URICLASSPATH, ATTR_URICLASSPATHLIST, ATTR_USECODEBASE
 
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
JavaPackageImpl()
           
 
Method Summary
 void checkForRequiredClasses()
          look into the classpath and load the classes, then verify that any needed declared required classes are actually present.
 java.util.Vector getUriClasspathList()
          get the vector of uris
 void readValuesAndSetUpClasspath()
          this method does the core of the work read in the attributes fetch the current codebase if needed flatten the filelist extract URIs from everything merge duplicates create (and set) the output attributes
 void sfDeploy()
          Called after instantiation for deployment purposed.
 void sfStart()
          Can be called to start components.
 
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, sfTerminateWith, sfValues, terminateComponent, terminateNotifying, toString
 
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
 

Constructor Detail

JavaPackageImpl

public JavaPackageImpl()
                throws java.rmi.RemoteException
Throws:
java.rmi.RemoteException
Method Detail

sfDeploy

public void sfDeploy()
              throws SmartFrogException,
                     java.rmi.RemoteException
Called after instantiation for deployment purposed. 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

readValuesAndSetUpClasspath

public void readValuesAndSetUpClasspath()
                                 throws SmartFrogException,
                                        java.rmi.RemoteException
this method does the core of the work
  1. read in the attributes
  2. fetch the current codebase if needed
  3. flatten the filelist
  4. extract URIs from everything
  5. merge duplicates
  6. create (and set) the output attributes

    Throws:
    SmartFrogException
    java.rmi.RemoteException

checkForRequiredClasses

public void checkForRequiredClasses()
                             throws SmartFrogException
look into the classpath and load the classes, then verify that any needed declared required classes are actually present. Throw a liveness exception if not

Throws:
SmartFrogException

getUriClasspathList

public java.util.Vector getUriClasspathList()
get the vector of uris

Specified by:
getUriClasspathList in interface JavaPackage
Returns:
the classpath as a vector

SmartFrog CORE 3.10.000

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