private String renderGibibyteSize(long size) { long sizeInGiB = (unit == SizeUnit.GiB) ? size : SizeConverter.convert(size, unit, SizeUnit.GiB).longValue(); return messages.gibibytes(sizeInGiB >= 1 ? String.valueOf(sizeInGiB) : "< 1"); //$NON-NLS-1$ }
private String renderHumanReadableSize(long size) { long sizeInBytes = SizeConverter.convert(size, unit, SizeUnit.BYTES).longValue(); if(sizeInBytes >= SizeConverter.BYTES_IN_GB) { return messages.gibibytes(String.valueOf( SizeConverter.convert(sizeInBytes, SizeUnit.BYTES, SizeUnit.GiB).longValue())); } else if(sizeInBytes >= SizeConverter.BYTES_IN_MB) { return messages.megabytes(String.valueOf( SizeConverter.convert(sizeInBytes, SizeUnit.BYTES, SizeUnit.MiB).longValue())); } else if(sizeInBytes >= SizeConverter.BYTES_IN_KB) { return messages.kilobytes(String.valueOf( SizeConverter.convert(sizeInBytes, SizeUnit.BYTES, SizeUnit.KiB).longValue())); } else { return messages.bytes(String.valueOf(sizeInBytes)); } } }
@SafeVarargs public static List<Pair<SizeUnit, Double>> getMathOperationSafeOperands(Pair<SizeUnit, Double>... operands) { List<Pair<SizeUnit, Double>> operationReadyOperands = new ArrayList<>(); List<Pair<SizeUnit, Double>> convertedOperands = new ArrayList<>(); for (Pair<SizeUnit, Double> operand : operands) { convertedOperands.add(autoConvert(operand.getSecond().longValue(), operand.getFirst())); } SizeUnit finalUnit = leastUnitInList(convertedOperands); for (Pair<SizeUnit, Double> operand : convertedOperands) { if(operand.getFirst() != finalUnit) { operationReadyOperands.add(new Pair<>(finalUnit, convert(operand.getSecond().longValue(), operand.getFirst(), finalUnit).doubleValue())); } else { operationReadyOperands.add(operand); } } return operationReadyOperands; } }
public static Pair<SizeUnit, Double> autoConvert(long size, SizeUnit inUnit) { for (Pair<Long, SizeUnit> currentUnitPair : SizeUnit.weightToUnit) { if (size / Math.pow(CONVERT_FACTOR, currentUnitPair.getFirst() - inUnit.getUnitWeight()) >= 1) { return new Pair<>(currentUnitPair.getSecond(), SizeConverter.convert(size, inUnit, currentUnitPair.getSecond()).doubleValue()); } } return new Pair<>(SizeUnit.BYTES, (double) size); }
@Test public void testConvertMiBToEiB() { double mib = 15 * Math.pow(1024, 4); int eib = SizeConverter.convert((long)mib, SizeUnit.MiB, SizeUnit.EiB).intValue(); assertEquals(15, eib); }
@Test public void testConvertTiBToYiB() { double tib = 100 * Math.pow(1024, 4); int yib = SizeConverter.convert((long)tib, SizeUnit.TiB, SizeUnit.YiB).intValue(); assertEquals(100, yib); }
@Test public void testConvertPiBToZiB() { double pib = 15 * Math.pow(1024, 2); int zib = SizeConverter.convert((long)pib, SizeUnit.PiB, SizeUnit.ZiB).intValue(); assertEquals(15, zib); }
@Test public void testConvertMegaBytesToTB() { long mb = 5 * 1024 * 1024; int tbs = SizeConverter.convert(mb, SizeUnit.MiB, SizeUnit.TiB).intValue(); assertEquals(5, tbs); }
@Test public void testCobvertGBToBytes() { long gigabytes = 3L; long bytes = SizeConverter.convert(gigabytes, SizeConverter.SizeUnit.GiB, SizeConverter.SizeUnit.BYTES).longValue(); assertEquals(3221225472L, bytes); }
@Test public void testConvertMBToBytes() { long megabytes = 3L; long bytes = SizeConverter.convert(megabytes, SizeConverter.SizeUnit.MiB, SizeConverter.SizeUnit.BYTES).longValue(); assertEquals(3145728, bytes); }
@Test public void testConvertBytestoMB() { long bytes = 3160000L; int megabytes = SizeConverter.convert(bytes, SizeConverter.SizeUnit.BYTES, SizeConverter.SizeUnit.MiB).intValue(); assertEquals(3, megabytes); }
@Test public void testConvertBytestoGB() { long bytes = 3221228000L; int gigabytes = SizeConverter.convert(bytes, SizeConverter.SizeUnit.BYTES, SizeConverter.SizeUnit.GiB).intValue(); assertEquals(3, gigabytes); }
model.setAvailable(SizeConverter.convert(entity.getAvailableDiskSize().longValue(), SizeConverter.SizeUnit.GiB, SizeConverter.SizeUnit.BYTES).longValue()); model.setUsed(SizeConverter.convert(entity.getUsedDiskSize().longValue(), SizeConverter.SizeUnit.GiB, SizeConverter.SizeUnit.BYTES).longValue()); model.setCommitted(SizeConverter.convert(entity.getCommittedDiskSize(), SizeConverter.SizeUnit.GiB, SizeConverter.SizeUnit.BYTES).longValue()); if (entity.getStorageFormat()!= null) {
model.setSize(SizeConverter.convert((long)entity.getDeviceSize(), SizeConverter.SizeUnit.GiB, SizeConverter.SizeUnit.BYTES).longValue());