diff --git a/src/main/java/edu/harvard/iq/dataverse/DataCitation.java b/src/main/java/edu/harvard/iq/dataverse/DataCitation.java index 30d9928f59a..845a9e6670b 100644 --- a/src/main/java/edu/harvard/iq/dataverse/DataCitation.java +++ b/src/main/java/edu/harvard/iq/dataverse/DataCitation.java @@ -141,7 +141,7 @@ public DataCitation(FileMetadata fm, boolean direct) { getCommonValuesFrom(dsv); // file Title for direct File citation - fileTitle = fm.getLabel(); + fileTitle = fm.getLabelForOriginal(); DataFile df = fm.getDataFile(); // File description diff --git a/src/main/java/edu/harvard/iq/dataverse/DataFile.java b/src/main/java/edu/harvard/iq/dataverse/DataFile.java index 45604a5472b..f58fb5328a9 100644 --- a/src/main/java/edu/harvard/iq/dataverse/DataFile.java +++ b/src/main/java/edu/harvard/iq/dataverse/DataFile.java @@ -506,6 +506,11 @@ public Long getOriginalFileSize() { return null; } + public String getFriendlyOriginalFileSize() { + Long size = (getOriginalFileSize()==null) ? filesize : getOriginalFileSize(); + return getFriendlySize(size); + } + public String getOriginalFileName() { if (isTabularData()) { DataTable dataTable = getDataTable(); @@ -518,7 +523,7 @@ public String getOriginalFileName() { } - private String getDerivedOriginalFileName() { + public String getDerivedOriginalFileName() { FileMetadata fm = getFileMetadata(); String filename = fm.getLabel(); String originalExtension = FileUtil.generateOriginalExtension(getOriginalFileFormat()); @@ -668,8 +673,12 @@ public void setFilesize(long filesize) { * @return */ public String getFriendlySize() { - if (filesize != null) { - return FileSizeChecker.bytesToHumanReadable(filesize); + return getFriendlySize(filesize); + } + + private String getFriendlySize(Long size) { + if (size != null) { + return FileSizeChecker.bytesToHumanReadable(size); } else { return BundleUtil.getStringFromBundle("file.sizeNotAvailable"); } diff --git a/src/main/java/edu/harvard/iq/dataverse/FileMetadata.java b/src/main/java/edu/harvard/iq/dataverse/FileMetadata.java index 9de4c5b4f3a..778e240b87f 100644 --- a/src/main/java/edu/harvard/iq/dataverse/FileMetadata.java +++ b/src/main/java/edu/harvard/iq/dataverse/FileMetadata.java @@ -180,6 +180,14 @@ public void setLabel(String label) { this.label = label; } + public String getLabelForOriginal() { + if(dataFile.isTabularData()) { + return dataFile.getDerivedOriginalFileName(); + } else { + return label; + } + } + public FileMetadata() { variableMetadatas = new ArrayList(); varGroups = new ArrayList(); diff --git a/src/main/webapp/file-info-fragment.xhtml b/src/main/webapp/file-info-fragment.xhtml index 18d7d0e5230..3eefce7cafa 100644 --- a/src/main/webapp/file-info-fragment.xhtml +++ b/src/main/webapp/file-info-fragment.xhtml @@ -67,19 +67,19 @@ - #{fileMetadata.label} + #{fileMetadata.labelForOriginal} - #{fileMetadata.label} + #{fileMetadata.labelForOriginal}
- + - - + +
@@ -91,7 +91,7 @@
-
+
+
- #{FilePage.fileMetadata.label} + #{FilePage.fileMetadata.labelForOriginal}
@@ -590,11 +590,11 @@ #{FilePage.file.retention.reason} - + #{bundle['file.metadataTab.fileMetadata.size.label']} - #{FilePage.file.friendlySize} + #{FilePage.file.friendlyOriginalFileSize}