in src/main/java/com/amazonaws/services/simpleworkflow/flow/worker/ComponentVersion.java [102:136]
public boolean isVersion(int version, boolean replaying) {
if (maximumSupportedImplementationVersion < version) {
throw new IncompatibleWorkflowDefinition("version=" + version
+ " is larger than maximumSupportedImplementationVersion=" + maximumSupportedImplementationVersion
+ " for \"" + componentName + "\" component.");
}
if (minimumSupportedImplementationVersion > version) {
throw new IncompatibleWorkflowDefinition("version=" + version
+ " is smaller than minimumSupportedImplementationVersion=" + minimumSupportedImplementationVersion
+ " for \"" + componentName + "\" component.");
}
if (maxSkippedVersion != null && maxSkippedVersion <= version) {
return false;
}
if (currentVersion >= version) {
return true;
}
else if (replaying) {
if (version == minimumSupportedImplementationVersion) {
currentVersion = version;
return true;
}
if (maxSkippedVersion == null || maxSkippedVersion < version) {
maxSkippedVersion = version;
}
return false;
}
else {
if (maximumAllowedImplementationVersion < version) {
return false;
}
currentVersion = version;
return true;
}
}