@Override public JsonElement serialize(InstanceInfo instanceInfo, Type typeOfSrc, JsonSerializationContext context) { JsonObject result = new JsonObject(); if (AwsDataCenterInfo.class.isAssignableFrom(instanceInfo.getDataCenterInfo().getClass())) { final AwsDataCenterInfo dataCenterInfo = (AwsDataCenterInfo) instanceInfo.getDataCenterInfo(); result.addProperty("instId", dataCenterInfo.getInstanceId()); if(dataCenterInfo.getPublicAddress() != null) { result.addProperty("ip", dataCenterInfo.getPublicAddress().getIpAddress()); result.addProperty("hostname", dataCenterInfo.getPublicAddress().getHostName()); } result.addProperty("zone", dataCenterInfo.getZone()); result.addProperty("reg", dataCenterInfo.getRegion()); } result.addProperty("appId", instanceInfo.getApp()); result.addProperty("status", instanceInfo.getStatus().name()); result.addProperty("vip", instanceInfo.getVipAddress()); return result; } }
@Override public int hashCode() { int result = id != null ? id.hashCode() : 0; result = 31 * result + (appGroup != null ? appGroup.hashCode() : 0); result = 31 * result + (app != null ? app.hashCode() : 0); result = 31 * result + (asg != null ? asg.hashCode() : 0); result = 31 * result + (vipAddress != null ? vipAddress.hashCode() : 0); result = 31 * result + (secureVipAddress != null ? secureVipAddress.hashCode() : 0); result = 31 * result + (ports != null ? ports.hashCode() : 0); result = 31 * result + (status != null ? status.hashCode() : 0); result = 31 * result + (homePageUrl != null ? homePageUrl.hashCode() : 0); result = 31 * result + (statusPageUrl != null ? statusPageUrl.hashCode() : 0); result = 31 * result + (healthCheckUrls != null ? healthCheckUrls.hashCode() : 0); result = 31 * result + (metaData != null ? metaData.hashCode() : 0); result = 31 * result + (dataCenterInfo != null ? dataCenterInfo.hashCode() : 0); return result; }
value = Integer.parseInt(args[1]); } else if (field.getValueType().equals(InstanceInfo.Status.class)) { value = InstanceInfo.Status.valueOf(args[1]); } else { value = args[1];
private Collection<InstanceInfo> applyFiltering(Collection<InstanceInfo> instanceInfoList) { if (searchTerm != null && !searchTerm.isEmpty()) { List<InstanceInfo> result = new ArrayList<>(); for (InstanceInfo instanceInfo : instanceInfoList) { final String app = instanceInfo.getApp(); if (containsIn(instanceInfo.getApp()) || containsIn(instanceInfo.getVipAddress()) || (instanceInfo.getStatus() != null && containsIn(instanceInfo.getStatus().name()))) { result.add(instanceInfo); } } numFilteredRecords = result.size(); return result; } else { numFilteredRecords = instanceInfoList.size(); return instanceInfoList; } }
@Override public int compare(InstanceInfo o1, InstanceInfo o2) { if (o1 != null && o2 != null && o1.getStatus() != null && o2.getStatus() != null) { return o2.getStatus().name().compareTo(o1.getStatus().name()); } if (o1 != null && o1.getStatus() != null) { return -1; } if (o2 != null && o2.getStatus() != null) { return 1; } return 0; } });
@Override public int compare(InstanceInfo o1, InstanceInfo o2) { if (o1 != null && o2 != null && o1.getStatus() != null && o2.getStatus() != null) { return o1.getStatus().name().compareTo(o2.getStatus().name()); } if (o1 != null && o1.getStatus() != null) { return 1; } if (o2 != null && o2.getStatus() != null) { return -1; } return 0; } });
@Override public InstanceInfo.Status fromV1(com.netflix.appinfo.InstanceInfo.InstanceStatus v1Status) { return InstanceInfo.Status.toEnum(v1Status.name()); }
private void refresh() { final Map<String, InstanceInfo> regCache = registryCache.getCache(); List<RegistryItem> registryItemsCurrent = new ArrayList<>(); for (Map.Entry<String, InstanceInfo> instanceInfo : regCache.entrySet()) { registryItemsCurrent.add(new RegistryItem(instanceInfo.getKey(), instanceInfo.getValue().getApp(), instanceInfo.getValue().getVipAddress(), instanceInfo.getValue().getStatus().name())); } if (isCurrentSnapshotSafeToRefresh(registryItemsCurrent.size())) { registryItemsRef.set(registryItemsCurrent); } }
public static ByteBuf format(HealthStatusUpdate<?> healthStatusUpdate) { SubsystemDescriptor<?> descriptor = healthStatusUpdate.getDescriptor(); Map<String, Object> descriptorMap = new HashMap<>(); descriptorMap.put("className", descriptor.getSubsystemClass().getCanonicalName()); descriptorMap.put("title", descriptor.getTitle()); descriptorMap.put("description", descriptor.getDescription()); Map<String, Object> rootMap = new HashMap<>(); rootMap.put("status", healthStatusUpdate.getStatus().name()); rootMap.put("descriptor", descriptorMap); return Json.toByteBufJson(rootMap); } }