X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.eclipse.ui%2Fsrc%2Forg%2Fargeo%2Feclipse%2Fui%2Ffs%2FNioFileLabelProvider.java;fp=org.argeo.eclipse.ui%2Fsrc%2Forg%2Fargeo%2Feclipse%2Fui%2Ffs%2FNioFileLabelProvider.java;h=6b2c06d50ae89b8044889bf0223f54c1d05f2d52;hb=503f2f9ae7bc2167a3c41d1937fc63c299c16027;hp=d8cb1d83befd08062fb9964be3c068b9de36ca5d;hpb=d2e617c3adda3874dd0fbc26ebe83f64814293c1;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.eclipse.ui/src/org/argeo/eclipse/ui/fs/NioFileLabelProvider.java b/org.argeo.eclipse.ui/src/org/argeo/eclipse/ui/fs/NioFileLabelProvider.java index d8cb1d83b..6b2c06d50 100644 --- a/org.argeo.eclipse.ui/src/org/argeo/eclipse/ui/fs/NioFileLabelProvider.java +++ b/org.argeo.eclipse.ui/src/org/argeo/eclipse/ui/fs/NioFileLabelProvider.java @@ -3,15 +3,26 @@ package org.argeo.eclipse.ui.fs; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; +import java.nio.file.attribute.FileTime; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; import org.argeo.eclipse.ui.EclipseUiUtils; import org.eclipse.jface.viewers.ColumnLabelProvider; /** Expect a {@link Path} as input element */ public class NioFileLabelProvider extends ColumnLabelProvider { + private final static FileTime EPOCH = FileTime.fromMillis(0); private static final long serialVersionUID = 2160026425187796930L; private final String propName; + private DateFormat dateFormat = new SimpleDateFormat("YYYY-MM-dd hh:mm"); + // TODO use new formatting + // DateTimeFormatter formatter = + // DateTimeFormatter.ofLocalizedDateTime( FormatStyle.SHORT ) + // .withLocale( Locale.UK ) + // .withZone( ZoneId.systemDefault() ); public NioFileLabelProvider(String propName) { this.propName = propName; } @@ -19,19 +30,20 @@ public class NioFileLabelProvider extends ColumnLabelProvider { @Override public String getText(Object element) { try { + Path path; if (element instanceof ParentDir) { - switch (propName) { - case FsUiConstants.PROPERTY_SIZE: - return "-"; - case FsUiConstants.PROPERTY_LAST_MODIFIED: - return "-"; - // return Files.getLastModifiedTime(((ParentDir) element).getPath()).toString(); - case FsUiConstants.PROPERTY_TYPE: - return "Folder"; - } - } - - Path path = (Path) element; +// switch (propName) { +// case FsUiConstants.PROPERTY_SIZE: +// return "-"; +// case FsUiConstants.PROPERTY_LAST_MODIFIED: +// return "-"; +// // return Files.getLastModifiedTime(((ParentDir) element).getPath()).toString(); +// case FsUiConstants.PROPERTY_TYPE: +// return "Folder"; +// } + path = ((ParentDir) element).getPath(); + } else + path = (Path) element; switch (propName) { case FsUiConstants.PROPERTY_SIZE: if (Files.isDirectory(path)) @@ -39,7 +51,13 @@ public class NioFileLabelProvider extends ColumnLabelProvider { else return FsUiUtils.humanReadableByteCount(Files.size(path), false); case FsUiConstants.PROPERTY_LAST_MODIFIED: - return Files.getLastModifiedTime(path).toString(); + if (Files.isDirectory(path)) + return "-"; + FileTime time = Files.getLastModifiedTime(path); + if (time.equals(EPOCH)) + return "-"; + else + return dateFormat.format(new Date(time.toMillis())); case FsUiConstants.PROPERTY_TYPE: if (Files.isDirectory(path)) return "Folder";