public int compare(Template o1, Template o2) { try { Identifier id1 = APILocator.getIdentifierAPI().find(o1.getIdentifier()); if (id1.getHostId() == null) id1 = null; Identifier id2 = APILocator.getIdentifierAPI().find(o2.getIdentifier()); if (id2.getHostId() == null) id2 = null; if (id1 != null && id2 != null && id1.getHostId().equals(baseHostId) && id2.getHostId().equals(baseHostId)) { return o1.getTitle().compareTo(o2.getTitle()); } if (id1 != null && id1.getHostId().equals(baseHostId)) { return -1; } if (id2 != null && id2.getHostId().equals(baseHostId)) { return 1; } return id1 == null || id2 == null || id1.getHostId().equals(id2.getHostId()) ? o1.getTitle().compareTo(o2.getTitle()) : id1.getHostId().compareTo(id2.getHostId()); } catch (DotDataException e) { } return 0; }
private Map<String, Object> buildTemplateMap(Template template) throws DotDataException, DotStateException, DotSecurityException { if (template == null) return null; Host parentHost = null; if (template instanceof TemplateWrapper) { parentHost = ((TemplateWrapper) template).getHost(); } else { try { parentHost = templateAPI.getTemplateHost(template); } catch (DotDataException e) { Logger.warn(this, "Could not find host for template = " + template.getIdentifier()); } } Map<String, Object> templateMap = template.getMap(); if (parentHost != null) { templateMap.put("hostName", parentHost.getHostname()); templateMap.put("hostId", parentHost.getIdentifier()); templateMap.put("fullTitle", parentHost.getHostname() + " " + templateMap.get("title")); } else { templateMap.put("fullTitle", templateMap.get("title")); } return templateMap; }