in cloud-vmware-server/src/main/java/jetbrains/buildServer/clouds/vmware/connector/VMWareApiConnectorImpl.java [664:687]
private String getFullMORPath(@NotNull final ManagedEntity entity, @Nullable final Datacenter dc) {
final ManagedObjectReference mor = entity.getMOR();
final Pair<String, String> morPair = Pair.create(mor.getType(), mor.getVal());
final String existingPath = MANAGED_ENTITIES_NAMES_CACHE.getIfPresent(morPair);
if (existingPath != null)
return existingPath;
final ManagedEntity parent = entity.getParent();
final String entityName = entity.getName();
boolean skipName =
(mor.getType().equals(FOLDER_TYPE) && (entityName.equals(SPEC_FOLDER) || !FOLDER_PATTERN.matcher(morPair.getSecond()).matches() )) ||
(mor.getType().equals(RESPOOL_TYPE) && entityName.equals(SPEC_RESPOOL));
if (parent == null){
final String name = skipName ? "" : entityName;
MANAGED_ENTITIES_NAMES_CACHE.put(morPair, name);
return name;
} else {
final String fullMORPath = getFullMORPath(parent, dc);
final String delimiter = fullMORPath.isEmpty() ? "" : "/";
final String name = skipName ? fullMORPath : fullMORPath + delimiter + entityName;
MANAGED_ENTITIES_NAMES_CACHE.put(morPair, name);
return name;
}
}