package org.eclipse.linuxtools.tmf.ui.project.wizards.importtrace;
import java.io.File;
+import java.text.DecimalFormat;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
// --------------------
column = new TreeViewerColumn(traceTypeViewer, SWT.NONE);
- column.getColumn().setWidth(COL_WIDTH);
+ column.getColumn().setWidth(500);
column.getColumn().setText(Messages.ImportTraceWizardImportCaption);
column.setLabelProvider(new ColumnLabelProvider() {
@Override
return null;
}
});
+ // --------------------
+ // Column 3
+ // --------------------
+
+ column = new TreeViewerColumn(traceTypeViewer, SWT.NONE);
+
+ column.getColumn().setWidth(80);
+ column.getColumn().setText(Messages.ImportTraceWizardScanPageSize);
+ column.getColumn().setAlignment(SWT.RIGHT);
+ column.setLabelProvider(new ColumnLabelProvider() {
+
+ @Override
+ public String getText(Object element) {
+ if (element instanceof FileAndName) {
+
+ FileAndName elem = (FileAndName) element;
+ long len = recurseSize(elem.getFile());
+ if (len > 0) {
+ double sizeb10 = Math.log10(len);
+ DecimalFormat df = new DecimalFormat();
+ df.setMaximumFractionDigits(2);
+ df.setMinimumFractionDigits(0);
+ if (sizeb10 > 12) {
+ final double tbSize = len / 1024.0 / 1024 / 1024 / 1024;
+ return df.format(tbSize) + Messages.ImportTraceWizardScanPageTerabyte;
+ }
+ if (sizeb10 > 9) {
+ final double gbSize = len / 1024.0 / 1024 / 1024;
+ return df.format(gbSize) + Messages.ImportTraceWizardScanPageGigabyte;
+ }
+ if (sizeb10 > 6) {
+ final double mbSize = len / 1024.0 / 1024;
+ return df.format(mbSize) + Messages.ImportTraceWizardScanPageMegabyte;
+ }
+ if (sizeb10 > 3) {
+ final double kbSize = len / 1024.0;
+ return df.format(kbSize) + Messages.ImportTraceWizardScanPageKilobyte;
+ }
+ }
+ return Long.toString(len) + Messages.ImportTraceWizardScanPagebyte;
+
+ }
+ return null;
+ }
+
+ private long recurseSize(File file) {
+ if (file.isFile() && file.canRead()) {
+ return file.length();
+ }
+ long size = 0;
+ if (file.exists() && file.isDirectory() && file.canRead()) {
+ final File[] listFiles = file.listFiles();
+ if (listFiles != null) {
+ for (File child : listFiles) {
+ if (child.isFile() && child.canRead()) {
+ size += child.length();
+ } else if (child.isDirectory()) {
+ size += recurseSize(child);
+ } else {
+ Activator.getDefault().logError("Unknown \"file\" type for " + child + ' ' + child.toString()); //$NON-NLS-1$
+ }
+ }
+ }
+ }
+ return size;
+ }
+ });
init();
getBatchWizard().setTracesToScan(fTracesToScan);
public static String ImportTraceWizardRemove;
public static String ImportTraceWizardDirectoryTitle;
public static String ImportTraceWizardDirectoryHint;
+ /**
+ * @since 2.2
+ */
+ public static String ImportTraceWizardScanPagebyte;
+
+ /**
+ * @since 2.2
+ */
+ public static String ImportTraceWizardScanPageGigabyte;
+
+ /**
+ * @since 2.2
+ */
+ public static String ImportTraceWizardScanPageKilobyte;
+
+ /**
+ * @since 2.2
+ */
+ public static String ImportTraceWizardScanPageMegabyte;
+
public static String ImportTraceWizardScanPageRenameError;
+ /**
+ * @since 2.2
+ */
public static String ImportTraceWizardScanPageSelectAtleastOne;
+
+ /**
+ * @since 2.2
+ */
+ public static String ImportTraceWizardScanPageSize;
public static String ImportTraceWizardSelectAll;
+ /**
+ * @since 2.2
+ */
+ public static String ImportTraceWizardScanPageTerabyte;
+
public static String ImportTraceWizardScanPageTitle;
public static String ImportTraceWizardSelectTraceTypePageTitle;
public static String ImportTraceWizardPageOptionsTitle;
ImportTraceWizardRemove=Remove
ImportTraceWizardDirectoryTitle=Pick directories and files to scan
ImportTraceWizardDirectoryHint=Select at least one file or directory to scan
+ImportTraceWizardScanPagebyte=\ B
+ImportTraceWizardScanPageGigabyte=\ GB
+ImportTraceWizardScanPageKilobyte=\ KB
+ImportTraceWizardScanPageMegabyte=\ MB
ImportTraceWizardScanPageRenameError=Each selected trace must have a unique name, please rename.
ImportTraceWizardScanPageSelectAtleastOne=Select at least one trace to import
+ImportTraceWizardScanPageSize=Size
ImportTraceWizardSelectAll=Select All
+ImportTraceWizardScanPageTerabyte=\ TB
ImportTraceWizardScanPageTitle=Valid traces
ImportTraceWizardSelectTraceTypePageTitle=Available trace types
ImportTraceWizardPageOptionsTitle=Select Target Project