Use factory bean in integration project for repository

This commit is contained in:
dsyer
2008-07-30 08:56:19 +00:00
parent a6eb539b0e
commit c6e0c85731
3 changed files with 71 additions and 55 deletions

View File

@@ -23,7 +23,7 @@ import org.springframework.util.StringUtils;
* Value object used to carry information about the status of a
* {@link RepeatOperations}.
*
* ExitStatus is immutable and therefore thread-safe.
* ExitStatus is immutable and therefore thread-safe.
*
* @author Dave Syer
*
@@ -31,15 +31,25 @@ import org.springframework.util.StringUtils;
public class ExitStatus implements Serializable {
/**
* Convenient constant value representing unknown state - assumed
* not continuable.
* Convenient constant value representing unknown state - assumed not
* continuable.
*/
public static final ExitStatus UNKNOWN = new ExitStatus(false, "UNKNOWN");
/**
* Convenient constant value representing unfinished processing.
*/
public static final ExitStatus CONTINUABLE = new ExitStatus(true, "CONTINUABLE");
public static final ExitStatus CONTINUABLE = new ExitStatus(true,
"CONTINUABLE");
/**
* Convenient constant value representing continuable state where processing
* is still taking place, so no further action is required. Used for
* asynchronous execution scenarios where the processing is happening in
* another thread or process and the caller is not required to wait for the
* result.
*/
public static final ExitStatus EXECUTING = new ExitStatus(true, "EXECUTING");
/**
* Convenient constant value representing finished processing.
@@ -71,7 +81,8 @@ public class ExitStatus implements Serializable {
this(continuable, exitCode, "");
}
public ExitStatus(boolean continuable, String exitCode, String exitDescription) {
public ExitStatus(boolean continuable, String exitCode,
String exitDescription) {
super();
this.continuable = continuable;
this.exitCode = exitCode;
@@ -110,12 +121,14 @@ public class ExitStatus implements Serializable {
* Create a new {@link ExitStatus} with a logical combination of the
* continuable flag.
*
* @param continuable true if the caller thinks it is safe to continue.
* @param continuable
* true if the caller thinks it is safe to continue.
* @return a new {@link ExitStatus} with {@link #isContinuable()} the
* logical and of the current value and the argument provided.
* logical and of the current value and the argument provided.
*/
public ExitStatus and(boolean continuable) {
return new ExitStatus(this.continuable && continuable, this.exitCode, this.exitDescription);
return new ExitStatus(this.continuable && continuable, this.exitCode,
this.exitDescription);
}
/**
@@ -126,15 +139,17 @@ public class ExitStatus implements Serializable {
*
* If the input is null just return this.
*
* @param status an {@link ExitStatus} to combine with this one.
* @param status
* an {@link ExitStatus} to combine with this one.
* @return a new {@link ExitStatus} with {@link #isContinuable()} the
* logical and of the current value and the argument provided.
* logical and of the current value and the argument provided.
*/
public ExitStatus and(ExitStatus status) {
if (status == null) {
return this;
}
ExitStatus result = and(status.continuable).addExitDescription(status.exitDescription);
ExitStatus result = and(status.continuable).addExitDescription(
status.exitDescription);
if (result.continuable || !status.continuable) {
result = result.replaceExitCode(status.exitCode);
}
@@ -147,7 +162,8 @@ public class ExitStatus implements Serializable {
* @see java.lang.Object#toString()
*/
public String toString() {
return "continuable=" + continuable + ";exitCode=" + exitCode + ";exitDescription=" + exitDescription;
return "continuable=" + continuable + ";exitCode=" + exitCode
+ ";exitDescription=" + exitDescription;
}
/**
@@ -172,12 +188,13 @@ public class ExitStatus implements Serializable {
}
/**
* Add an exit code to an existing {@link ExitStatus}. If there is already a
* code present tit will be replaced.
* Add an exit code to an existing {@link ExitStatus}. If there is already
* a code present tit will be replaced.
*
* @param code the code to add
* @param code
* the code to add
* @return a new {@link ExitStatus} with the same properties but a new exit
* code.
* code.
*/
public ExitStatus replaceExitCode(String code) {
return new ExitStatus(continuable, code, exitDescription);
@@ -189,7 +206,8 @@ public class ExitStatus implements Serializable {
* @return true if the exit code is "RUNNING" or "UNKNOWN"
*/
public boolean isRunning() {
return "RUNNING".equals(this.exitCode) || "UNKNOWN".equals(this.exitCode);
return "RUNNING".equals(this.exitCode)
|| "UNKNOWN".equals(this.exitCode);
}
/**
@@ -197,12 +215,14 @@ public class ExitStatus implements Serializable {
* already a description present the two will be concatenated with a
* semicolon.
*
* @param description the description to add
* @param description
* the description to add
* @return a new {@link ExitStatus} with the same properties but a new exit
* description
* description
*/
public ExitStatus addExitDescription(String description) {
if (StringUtils.hasText(exitDescription) && StringUtils.hasText(description)
if (StringUtils.hasText(exitDescription)
&& StringUtils.hasText(description)
&& !exitDescription.equals(description)) {
description = exitDescription + "; " + description;
}