package net.rrm.ehour.update;
import com.google.common.base.Optional;
import org.apache.commons.lang.StringUtils;
public abstract class VersionNumberSanitizer {
public static final int MAX_DIGITS_VERSION_NO = 4;
public static Optional<Integer> sanitize(String version) {
if (version == null) {
return Optional.absent();
}
String stripped = version.replaceAll("\\D", "");
if (StringUtils.isEmpty(stripped)) {
return Optional.absent();
}
try {
return Optional.of(Integer.valueOf(StringUtils.rightPad(stripped, MAX_DIGITS_VERSION_NO, '0')));
} catch (NumberFormatException nfe) {
return Optional.absent();
}
}
}