org.sandev.TaskHeap.ExternalSync
Class ExternalSyncNode

java.lang.Object
  extended byorg.sandev.TaskHeap.ExternalSync.ExternalSyncNodeDecl
      extended byorg.sandev.TaskHeap.ExternalSync.ExternalSyncNodeBase
          extended byorg.sandev.TaskHeap.ExternalSync.ExternalSyncNode
All Implemented Interfaces:
org.sandev.basics.nodecommon.Controllable, org.sandev.basics.nodecommon.Loggable, org.sandev.basics.nodecommon.Messageable

public class ExternalSyncNode
extends ExternalSyncNodeBase

Implementation of the ExternalSync node.


Field Summary
 
Fields inherited from class org.sandev.TaskHeap.ExternalSync.ExternalSyncNodeBase
ctrlwrappers, helperNodes, incomingSyncExternalPlanSync, incomingSyncPing, LOGDEBUG, LOGERROR, LOGFATAL, logger, LOGINFO, logLevel, LOGLEVEL_DEBUG, LOGLEVEL_ERROR, LOGLEVEL_FATAL, LOGLEVEL_INFO, LOGLEVEL_WARN, LOGWARN, messager, nodeInstance, parent, sandNodeErrorMessage, sandNodeState, SANDNODESTATE_FAILED, SANDNODESTATE_FAILING, SANDNODESTATE_RESUMING, SANDNODESTATE_RUNNING, SANDNODESTATE_STARTING, SANDNODESTATE_STOPPED, SANDNODESTATE_STOPPING, SANDNODESTATE_SUSPENDED, SANDNODESTATE_SUSPENDING, SANDNODESTATE_UNDEFINED, sandRoot
 
Fields inherited from class org.sandev.TaskHeap.ExternalSync.ExternalSyncNodeDecl
externalPlanFailure, externalPlanSuccess, httpAgentID
 
Fields inherited from interface org.sandev.basics.nodecommon.Controllable
OPERATION_FAIL, OPERATION_RESUME, OPERATION_SHUTDOWN, OPERATION_STARTUP, OPERATION_STR_FAIL, OPERATION_STR_RESUME, OPERATION_STR_SHUTDOWN, OPERATION_STR_STARTUP, OPERATION_STR_SUSPEND, OPERATION_STR_UNDEFINED, OPERATION_STRINGS, OPERATION_SUSPEND, OPERATION_UNDEFINED, SHUTDOWN_ERROR_RESTART_GLOBAL, SHUTDOWN_ERROR_RESTART_LOCAL, SHUTDOWN_ERROR_TERMINATE, SHUTDOWN_NORMAL, STATE_FAILED, STATE_FAILING, STATE_RESUMING, STATE_RUNNING, STATE_STARTING, STATE_STOPPED, STATE_STOPPING, STATE_STR_FAILED, STATE_STR_FAILING, STATE_STR_RESUMING, STATE_STR_RUNNING, STATE_STR_STARTING, STATE_STR_STOPPED, STATE_STR_STOPPING, STATE_STR_SUSPENDED, STATE_STR_SUSPENDING, STATE_STR_UNDEFINED, STATE_STRINGS, STATE_SUSPENDED, STATE_SUSPENDING, STATE_UNDEFINED
 
Constructor Summary
ExternalSyncNode()
           
 
Method Summary
 java.lang.String getDeploymentPrefix()
          Return the prefix for this deployment.
 ExternalPlanSync onReceive(ExternalPlanSync eps)
          Retrieve the timeEstimate for the referenced plan from the published report given as the URL.
 org.sandev.basics.sandmessages.Ping onReceive(org.sandev.basics.sandmessages.Ping msg)
          React to incoming ping requests
protected  void readDataFromReport(ExternalPlan ep)
          Given an ExternalPlan, return the exported data report file for it as specified in the URL.
protected  void readDataFromReport(ExternalPlan ep, java.net.HttpURLConnection conn)
          Read the data from the open URL connection to update the given ExternalPlan timeEstimate.
 
Methods inherited from class org.sandev.TaskHeap.ExternalSync.ExternalSyncNodeBase
addWrapper, deliver, fieldHasFlag, getExternalPlanFailure, getExternalPlanFailureDefaultValue, getExternalPlanFailureFieldPrintValue, getExternalPlanFailureFlag, getExternalPlanFailureInvalidValue, getExternalPlanFailureLengthMax, getExternalPlanFailureLengthNorm, getExternalPlanFailureMetatype, getExternalPlanFailurePrintValue, getExternalPlanFailureRange, getExternalPlanFailureValidityCheck, getExternalPlanSuccess, getExternalPlanSuccessDefaultValue, getExternalPlanSuccessFieldPrintValue, getExternalPlanSuccessFlag, getExternalPlanSuccessInvalidValue, getExternalPlanSuccessLengthMax, getExternalPlanSuccessLengthNorm, getExternalPlanSuccessMetatype, getExternalPlanSuccessPrintValue, getExternalPlanSuccessRange, getExternalPlanSuccessValidityCheck, getHelperNodes, getHttpAgentID, getHttpAgentIDDefaultValue, getHttpAgentIDFieldPrintValue, getHttpAgentIDFlag, getHttpAgentIDInvalidValue, getHttpAgentIDLengthMax, getHttpAgentIDLengthNorm, getHttpAgentIDMetatype, getHttpAgentIDPrintValue, getHttpAgentIDRange, getHttpAgentIDValidityCheck, getIDCache, getIncomingSyncExternalPlanSync, getIncomingSyncExternalPlanSyncDefaultValue, getIncomingSyncExternalPlanSyncFieldPrintValue, getIncomingSyncExternalPlanSyncFlag, getIncomingSyncExternalPlanSyncInvalidValue, getIncomingSyncExternalPlanSyncMetatype, getIncomingSyncExternalPlanSyncPrintValue, getIncomingSyncExternalPlanSyncRange, getIncomingSyncExternalPlanSyncValidityCheck, getIncomingSyncPing, getIncomingSyncPingDefaultValue, getIncomingSyncPingFieldPrintValue, getIncomingSyncPingFlag, getIncomingSyncPingInvalidValue, getIncomingSyncPingMetatype, getIncomingSyncPingPrintValue, getIncomingSyncPingRange, getIncomingSyncPingValidityCheck, getLogger, getLoggerDefaultValue, getLoggerFieldPrintValue, getLoggerFlag, getLoggerInvalidValue, getLoggerMetatype, getLoggerPrintValue, getLoggerRange, getLoggerValidityCheck, getLogLevel, getLogLevelActualVals, getLogLevelDefaultValue, getLogLevelEnumSummary, getLogLevelFieldPrintValue, getLogLevelFlag, getLogLevelInvalidValue, getLogLevelKeyVals, getLogLevelMetatype, getLogLevelPrintVals, getLogLevelPrintValue, getLogLevelRange, getLogLevelValidityCheck, getMessager, getMessagerDefaultValue, getMessagerFieldPrintValue, getMessagerFlag, getMessagerInvalidValue, getMessagerMetatype, getMessagerPrintValue, getMessagerRange, getMessagerValidityCheck, getNodeInstance, getNodeInstanceDefaultValue, getNodeInstanceFieldPrintValue, getNodeInstanceFlag, getNodeInstanceInvalidValue, getNodeInstanceMetatype, getNodeInstanceName, getNodeInstancePrintValue, getNodeInstanceRange, getNodeInstanceValidityCheck, getParent, getSandNodeErrorMessage, getSandNodeErrorMessageDefaultValue, getSandNodeErrorMessageFieldPrintValue, getSandNodeErrorMessageFlag, getSandNodeErrorMessageInvalidValue, getSandNodeErrorMessageLengthMax, getSandNodeErrorMessageLengthNorm, getSandNodeErrorMessageMetatype, getSandNodeErrorMessagePrintValue, getSandNodeErrorMessageRange, getSandNodeErrorMessageValidityCheck, getSandNodeState, getSandNodeStateActualVals, getSandNodeStateDefaultValue, getSandNodeStateEnumSummary, getSandNodeStateFieldPrintValue, getSandNodeStateFlag, getSandNodeStateInvalidValue, getSandNodeStateKeyVals, getSandNodeStateMetatype, getSandNodeStatePrintVals, getSandNodeStatePrintValue, getSandNodeStateRange, getSandNodeStateValidityCheck, getSandRoot, getServername, init, log, log, logLevelActual2Print, logLevelLabelToValue, logLevelPrint2Actual, logLevelPrint2Key, logLevelValueToLabel, notifyStateChange, onFailure, onRestart, onResume, onShutdown, onStartup, onSuspend, receive, receive, receive, restart, resume, sandNodeStateActual2Print, sandNodeStateLabelToValue, sandNodeStatePrint2Actual, sandNodeStatePrint2Key, sandNodeStateValueToLabel, setExternalPlanFailure, setExternalPlanFailure, setExternalPlanSuccess, setExternalPlanSuccess, setHelperNodes, setHttpAgentID, setHttpAgentID, setIncomingSyncExternalPlanSync, setIncomingSyncExternalPlanSync, setIncomingSyncPing, setIncomingSyncPing, setLogger, setLogger, setLogLevel, setMessager, setMessager, setNodeInstance, setNodeInstance, setParent, setSandNodeErrorMessage, setSandNodeErrorMessage, setSandNodeState, setSandRoot, setupSecureReceive, setupSubscriptions, shutdown, startup, suspend, systemwideShutdown, validTransition
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExternalSyncNode

public ExternalSyncNode()
Method Detail

onReceive

public org.sandev.basics.sandmessages.Ping onReceive(org.sandev.basics.sandmessages.Ping msg)
                                              throws org.sandev.basics.structs.SandException
React to incoming ping requests

Overrides:
onReceive in class ExternalSyncNodeBase
Throws:
org.sandev.basics.structs.SandException

onReceive

public ExternalPlanSync onReceive(ExternalPlanSync eps)
                           throws org.sandev.basics.structs.SandException
Retrieve the timeEstimate for the referenced plan from the published report given as the URL. In the given ExternalPlan, update the timeEstimate and note the fetch status as the lastModifiedReason.

Failure to retrieve the referenced plan information does not trigger an exception. Instead, the failure reason is recorded in the lastModifiedReason of the given ExternalPlan which is then returned. Things like typos in URLs or misreads because of a Plan being deleted are recoverable conditions that can be reported as message to the user.

Overrides:
onReceive in class ExternalSyncNodeBase
Throws:
org.sandev.basics.structs.SandException

getDeploymentPrefix

public java.lang.String getDeploymentPrefix()
Return the prefix for this deployment.


readDataFromReport

protected void readDataFromReport(ExternalPlan ep)
                           throws java.io.IOException
Given an ExternalPlan, return the exported data report file for it as specified in the URL. Throws if any problem was encountered reading the data.

Throws:
java.io.IOException

readDataFromReport

protected void readDataFromReport(ExternalPlan ep,
                                  java.net.HttpURLConnection conn)
                           throws java.io.IOException
Read the data from the open URL connection to update the given ExternalPlan timeEstimate.

Throws:
java.io.IOException