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$ }
@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; } }
private String formatDataRead(UIMessages messages, long totalBytesRead, long bytesReadInCurrentInterval) { Pair<SizeUnit, Double> dataReadInCurrentInterval = SizeConverter.autoConvert(bytesReadInCurrentInterval, SizeUnit.BYTES); Pair<SizeUnit, Double> dataRead = SizeConverter.autoConvert(totalBytesRead, SizeUnit.BYTES); return messages.bytesReadInCurrentProfileInterval(formatSize(dataReadInCurrentInterval.getSecond()), dataReadInCurrentInterval.getFirst().name(), formatSize(dataRead.getSecond()), dataRead.getFirst().toString()); }
@Test public void testGetMathOperationSafeOperands() { List<Pair<SizeUnit, Double>> expected = Arrays.asList( new Pair<>(SizeUnit.KiB, 1D), new Pair<>(SizeUnit.KiB, 1D), new Pair<>(SizeUnit.KiB, 1024D), new Pair<>(SizeUnit.KiB, 1024D * 1024D)); List<Pair<SizeUnit, Double>> actual = SizeConverter.getMathOperationSafeOperands( new Pair<>(SizeUnit.BYTES, 1024D), new Pair<>(SizeUnit.KiB, 1D), new Pair<>(SizeUnit.MiB, 1D), new Pair<>(SizeUnit.GiB, 1D) ); assertEquals(expected, actual); } }
private String formatDataWritten(UIMessages messages, long totalBytesWritten, long bytesWrittenInCurrentInterval) { Pair<SizeUnit, Double> dataWrittenInCurrentInterval = SizeConverter.autoConvert(bytesWrittenInCurrentInterval, SizeUnit.BYTES); Pair<SizeUnit, Double> dataWritten = SizeConverter.autoConvert(totalBytesWritten, SizeUnit.BYTES); return messages.bytesWrittenInCurrentProfileInterval(formatSize(dataWrittenInCurrentInterval.getSecond()), dataWrittenInCurrentInterval.getFirst().toString(), formatSize(dataWritten.getSecond()), dataWritten.getFirst().toString()); }
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)); } } }
private void updateBrickSize() { long totalSize = 0; // Calculate and show the total size of all selected device so that user can get an idea of what will be his // brick // capacity. if (getStorageDevices().getSelectedItems() != null) { for (StorageDevice storageDevice : getStorageDevices().getSelectedItems()) { totalSize += storageDevice.getSize(); } } Pair<SizeUnit, Double> convertedSize = SizeConverter.autoConvert(totalSize, SizeUnit.MiB); setBrickSize(convertedSize); }
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 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); }
@Test public void testCobvertGBToBytes() { long gigabytes = 3L; long bytes = SizeConverter.convert(gigabytes, SizeConverter.SizeUnit.GiB, SizeConverter.SizeUnit.BYTES).longValue(); assertEquals(3221225472L, bytes); }
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());