String resolution = request.param("size"); if ("".equals(resolution)) { return Long.toString(v.singles()); } else if ("k".equals(resolution)) { return Long.toString(v.kilo()); } else if ("m".equals(resolution)) { return Long.toString(v.mega()); } else if ("g".equals(resolution)) { return Long.toString(v.giga()); } else if ("t".equals(resolution)) { return Long.toString(v.tera()); } else if ("p".equals(resolution)) { return Long.toString(v.peta()); } else { return v.toString();
public static SizeValue parseSizeValue(String sValue, SizeValue defaultValue) throws ElasticsearchParseException { if (sValue == null) { return defaultValue; } long singles; try { if (sValue.endsWith("k") || sValue.endsWith("K")) { singles = (long) (Double.parseDouble(sValue.substring(0, sValue.length() - 1)) * SizeUnit.C1); } else if (sValue.endsWith("m") || sValue.endsWith("M")) { singles = (long) (Double.parseDouble(sValue.substring(0, sValue.length() - 1)) * SizeUnit.C2); } else if (sValue.endsWith("g") || sValue.endsWith("G")) { singles = (long) (Double.parseDouble(sValue.substring(0, sValue.length() - 1)) * SizeUnit.C3); } else if (sValue.endsWith("t") || sValue.endsWith("T")) { singles = (long) (Double.parseDouble(sValue.substring(0, sValue.length() - 1)) * SizeUnit.C4); } else if (sValue.endsWith("p") || sValue.endsWith("P")) { singles = (long) (Double.parseDouble(sValue.substring(0, sValue.length() - 1)) * SizeUnit.C5); } else { singles = Long.parseLong(sValue); } } catch (NumberFormatException e) { throw new ElasticsearchParseException("failed to parse [{}]", e, sValue); } return new SizeValue(singles, SizeUnit.SINGLE); }
@Override public String toString() { long singles = singles(); double value = singles; String suffix = ""; if (singles >= SizeUnit.C5) { value = petaFrac(); suffix = "p"; } else if (singles >= SizeUnit.C4) { value = teraFrac(); suffix = "t"; } else if (singles >= SizeUnit.C3) { value = gigaFrac(); suffix = "g"; } else if (singles >= SizeUnit.C2) { value = megaFrac(); suffix = "m"; } else if (singles >= SizeUnit.C1) { value = kiloFrac(); suffix = "k"; } return Strings.format1Decimals(value, suffix); }
public double gigaFrac() { return ((double) singles()) / SizeUnit.C3; }
@Override public RestResponse buildResponse(ConsistencyCheckResponse response) throws Exception { XContentBuilder builder = XContentFactory.jsonBuilder(); builder.startObject(); builder.field("ok", true); builder.startObject("state"); response.getState().toXContent(builder, ToXContent.EMPTY_PARAMS); builder.startArray("files"); for (File file : response.getFiles()) { Instant instant = new Instant(file.lastModified()); builder.startObject() .field("path", file.getAbsolutePath()) .field("lastmodified", instant.toDateTime().toString()) .field("size", new SizeValue(file.length(), SizeUnit.SINGLE).toString()) .field("totalspace", new SizeValue(file.getTotalSpace(), SizeUnit.SINGLE).toString()) .field("usablespace", new SizeValue(file.getUsableSpace(), SizeUnit.SINGLE).toString()) .field("freespace", new SizeValue(file.getFreeSpace(), SizeUnit.SINGLE).toString()) .endObject(); } builder.endArray(); builder.endObject(); return new BytesRestResponse(OK, builder); } });
public long getKilo() { return kilo(); }
public long getTera() { return tera(); }
public long getGiga() { return giga(); }
public long getMega() { return mega(); }
public long getPeta() { return peta(); }
public double getGigaFrac() { return gigaFrac(); }
public double getKiloFrac() { return kiloFrac(); }
public double teraFrac() { return ((double) singles()) / SizeUnit.C4; }
public long getKilo() { return kilo(); }
public long getTera() { return tera(); }
public long getGiga() { return giga(); }
public long getMega() { return mega(); }
public long getPeta() { return peta(); }
public double getGigaFrac() { return gigaFrac(); }