Two kinds of failures could happen during a submission:
A SubmitterListener may throw a Throwable in any of its methods.
Submitter.submit may throw a Throwable while performing SVN operations.
The failure of a SubmitterListener should not prevent the Submitter from uploading others' data. Moreover, Submitter will pass the same boolean value to SubmitterListener.postSubmit(boolean) of all SubmitterListeners. That is, if a SubmitterListner fails in SubmitterListener.preLock() and Submitter succeeds to perform its SVN operations, the Submitter will pass true to SubmitterListener.postSubmit(boolean) of all SubmitterListeners including the faulty one. In other words, the boolean flag passed to SubmitterListener.postSubmit(boolean) just indicates the success of Submitter in performing its SVN operations.
Consequently, the clients should keep protect against their failures. That is, clients are responsible for remembering their failures in one step for future steps. In other words, the SubmitterListeners should be aware that if it fails in one method, the Submitter may still invoke the next methods on it.
Two kinds of failures could happen during a submission:
SubmitterListener
may throw aThrowable
in any of its methods.Submitter.submit
may throw aThrowable
while performing SVN operations.The failure of a
SubmitterListener
should not prevent theSubmitter
from uploading others' data. Moreover,Submitter
will pass the same boolean value toSubmitterListener.postSubmit(boolean)
of allSubmitterListener
s. That is, if aSubmitterListner
fails inSubmitterListener.preLock()
andSubmitter
succeeds to perform its SVN operations, theSubmitter
will passtrue
toSubmitterListener.postSubmit(boolean)
of allSubmitterListener
s including the faulty one. In other words, the boolean flag passed toSubmitterListener.postSubmit(boolean)
just indicates the success ofSubmitter
in performing its SVN operations.Consequently, the clients should keep protect against their failures. That is, clients are responsible for remembering their failures in one step for future steps. In other words, the
SubmitterListener
s should be aware that if it fails in one method, theSubmitter
may still invoke the next methods on it.