in cloud-vmware-server/src/main/java/jetbrains/buildServer/clouds/vmware/connector/VMWareApiConnectorImpl.java [723:743]
private String getLatestSnapshot(final String snapshotNameMask, final Map<String, VirtualMachineSnapshotTree> snapshotList) {
if (snapshotNameMask == null)
return null;
if (!snapshotNameMask.contains("*") && !snapshotNameMask.contains("?")) {
return snapshotList.containsKey(snapshotNameMask) ? snapshotNameMask : null;
}
Date latestTime = new Date(0);
String latestSnapshotName = null;
for (Map.Entry<String, VirtualMachineSnapshotTree> entry : snapshotList.entrySet()) {
final String snapshotNameMaskRegex = StringUtil.convertWildcardToRegexp(snapshotNameMask);
final Pattern pattern = Pattern.compile(snapshotNameMaskRegex);
if (pattern.matcher(entry.getKey()).matches()) {
final Date snapshotTime = entry.getValue().getCreateTime().getTime();
if (latestTime.before(snapshotTime)) {
latestTime = snapshotTime;
latestSnapshotName = entry.getKey();
}
}
}
return latestSnapshotName;
}