@RequiresSession public Map<String, List<HostConfigMapping>> findSelectedHostsByTypes( final long clusterId, Collection<String> types) { populateCache(); Map<String, List<HostConfigMapping>> mappingsByType = new HashMap<String, List<HostConfigMapping>>(); for (String type : types) { if (!mappingsByType.containsKey(type)) { mappingsByType.put(type, new ArrayList<HostConfigMapping>()); } } if (!types.isEmpty()) { List<HostConfigMapping> mappings = new ArrayList<HostConfigMapping>(); for (Set<HostConfigMapping> entries : hostConfigMappingByHost.values()) { for (HostConfigMapping entry : entries) { if (types.contains(entry.getType()) && entry.getClusterId().equals(clusterId)) mappings.add(new HostConfigMappingImpl(entry)); } } for (HostConfigMapping mapping : mappings) { mappingsByType.get(mapping.getType()).add(mapping); } } return mappingsByType; }
public HostConfigMappingEntity buildHostConfigMappingEntity(HostConfigMapping hostConfigMapping) { HostConfigMappingEntity hostConfigMappingEntity = new HostConfigMappingEntity(); hostConfigMappingEntity.setClusterId(hostConfigMapping.getClusterId()); hostConfigMappingEntity.setCreateTimestamp(hostConfigMapping.getCreateTimestamp()); hostConfigMappingEntity.setHostName(hostConfigMapping.getHostName()); hostConfigMappingEntity.setSelected(hostConfigMapping.getSelected()); hostConfigMappingEntity.setServiceName(hostConfigMapping.getServiceName()); hostConfigMappingEntity.setType(hostConfigMapping.getType()); hostConfigMappingEntity.setUser(hostConfigMapping.getUser()); hostConfigMappingEntity.setVersion(hostConfigMapping.getVersion()); return hostConfigMappingEntity; }