diff --git a/src/main/java/edu/harvard/iq/dataverse/DataFileServiceBean.java b/src/main/java/edu/harvard/iq/dataverse/DataFileServiceBean.java index a9a16e60ae2..094e20edf28 100644 --- a/src/main/java/edu/harvard/iq/dataverse/DataFileServiceBean.java +++ b/src/main/java/edu/harvard/iq/dataverse/DataFileServiceBean.java @@ -497,7 +497,7 @@ public DataFile findCheapAndEasy(Long id) { // If content type indicates it's tabular data, spend 2 extra queries // looking up the data table and tabular tags objects: - if (MIME_TYPE_TSV.equalsIgnoreCase(contentType)) { + if (MIME_TYPE_TSV.equalsIgnoreCase(contentType) || MIME_TYPE_TSV_ALT.equalsIgnoreCase(contentType)) { Object[] dtResult; try { dtResult = (Object[]) em.createNativeQuery("SELECT ID, UNF, CASEQUANTITY, VARQUANTITY, ORIGINALFILEFORMAT, ORIGINALFILESIZE FROM dataTable WHERE DATAFILE_ID = " + id).getSingleResult(); diff --git a/src/main/java/edu/harvard/iq/dataverse/DatasetPage.java b/src/main/java/edu/harvard/iq/dataverse/DatasetPage.java index b6c353090fe..5f596d1b556 100644 --- a/src/main/java/edu/harvard/iq/dataverse/DatasetPage.java +++ b/src/main/java/edu/harvard/iq/dataverse/DatasetPage.java @@ -1310,15 +1310,6 @@ public boolean isSuperUser(){ } return false; } - /* - TODO/OPTIMIZATION: This is still costing us N SELECT FROM GuestbookResponse queries, - where N is the number of files. This could of course be replaced by a query that'll - look up all N at once... Not sure if it's worth it; especially now that N - will always be 10, for the initial page load. -- L.A. 4.2.1 - */ - public Long getGuestbookResponseCount(FileMetadata fileMetadata) { - return guestbookResponseService.getCountGuestbookResponsesByDataFileId(fileMetadata.getDataFile().getId()); - } /** * Check Dataset related permissions * @@ -5107,15 +5098,7 @@ public String getPrivateUrlLink(PrivateUrl privateUrl) { } - public FileDownloadHelper getFileDownloadHelper() { - return fileDownloadHelper; - } - - public void setFileDownloadHelper(FileDownloadHelper fileDownloadHelper) { - this.fileDownloadHelper = fileDownloadHelper; - } - - + // todo: we should be able to remove - this is passed in the html pages to other fragments, but they could just access this service bean directly. public FileDownloadServiceBean getFileDownloadService() { return fileDownloadService; } diff --git a/src/main/java/edu/harvard/iq/dataverse/DatasetVersionDifference.java b/src/main/java/edu/harvard/iq/dataverse/DatasetVersionDifference.java index ece633dddd5..8cc25f5148e 100644 --- a/src/main/java/edu/harvard/iq/dataverse/DatasetVersionDifference.java +++ b/src/main/java/edu/harvard/iq/dataverse/DatasetVersionDifference.java @@ -36,7 +36,6 @@ public final class DatasetVersionDifference { private List changedTermsAccess = new ArrayList<>(); private List summaryDataForNote = new ArrayList<>(); private List blockDataForNote = new ArrayList<>(); - String noFileDifferencesFoundLabel = ""; private VariableMetadataUtil variableMetadataUtil; @@ -104,7 +103,6 @@ public DatasetVersionDifference(DatasetVersion newVersion, DatasetVersion origin addToSummary(null, dsfn); } } - // TODO: ? // It looks like we are going through the filemetadatas in both versions, @@ -493,7 +491,6 @@ private void addToSummary(DatasetField dsfo, DatasetField dsfn) { } private void updateBlockSummary(DatasetField dsf, int added, int deleted, int changed) { - boolean addedToAll = false; for (Object[] blockList : blockDataForNote) { DatasetField dsft = (DatasetField) blockList[0]; @@ -512,7 +509,6 @@ private void updateBlockSummary(DatasetField dsf, int added, int deleted, int ch newArray[3] = changed; blockDataForNote.add(newArray); } - } private void addToNoteSummary(DatasetField dsfo, int added, int deleted, int changed) { @@ -552,8 +548,6 @@ private boolean compareVarGroup(FileMetadata fmdo, FileMetadata fmdn) { } } - - private boolean compareFileMetadatas(FileMetadata fmdo, FileMetadata fmdn) { if (!StringUtils.equals(fmdo.getDescription(), fmdn.getDescription())) { @@ -786,7 +780,6 @@ private void initDatasetFilesDifferencesList() { datasetFilesDiffList = new ArrayList<>(); datasetFilesReplacementList = new ArrayList <>(); - // Study Files themselves are version-less; // In other words, 2 different versions can have different sets of // study files, but the files themselves don't have versions. @@ -798,13 +791,6 @@ private void initDatasetFilesDifferencesList() { // same study file, the file metadatas ARE version-specific, so some of // the fields there (filename, etc.) may be different. If this is the // case, we want to display these differences as well. - - if (originalVersion.getFileMetadatas().isEmpty() && newVersion.getFileMetadatas().isEmpty()) { - noFileDifferencesFoundLabel = "No data files in either version of the study"; - return; - } - - int i = 0; int j = 0; @@ -825,7 +811,6 @@ private void initDatasetFilesDifferencesList() { if (!replacedFiles.isEmpty()) { - replacedFiles.stream().map((replacedPair) -> { FileMetadata replacedFile = replacedPair[0]; FileMetadata newFile = replacedPair[1]; @@ -851,7 +836,6 @@ private void initDatasetFilesDifferencesList() { } - Collections.sort(fileMetadatasOriginal, (FileMetadata l1, FileMetadata l2) -> { FileMetadata fm3 = l1; //(DatasetField[]) l1.get(0); FileMetadata fm4 = l2; @@ -871,7 +855,6 @@ private void initDatasetFilesDifferencesList() { // added file. Since we are only doing this for the purposes of generating // version differences, this should be OK. // -- L.A. Aug. 2014 - Collections.sort(fileMetadatasNew, (FileMetadata l1, FileMetadata l2) -> { FileMetadata fm3 = l1; //(DatasetField[]) l1.get(0); @@ -964,14 +947,6 @@ private void initDatasetFilesDifferencesList() { j++; } - - - - - - if (datasetFilesDiffList.isEmpty()) { - noFileDifferencesFoundLabel = "These study versions have identical sets of data files"; - } } private boolean fileMetadataIsDifferent(FileMetadata fm1, FileMetadata fm2) { @@ -1080,12 +1055,8 @@ private boolean fileMetadataIsDifferent(FileMetadata fm1, FileMetadata fm2) { return true; } - //File restrictions - - value1 = fm1.isRestricted() ? "Restricted" : "Not Restricted"; - value2 = fm2.isRestricted() ? "Restricted" : "Not Restricted"; - - return !value1.equals(value2); + // File restrictions + return fm1.isRestricted() != fm2.isRestricted(); } private datasetFileDifferenceItem selectFileMetadataDiffs(FileMetadata fm1, FileMetadata fm2) { @@ -1109,7 +1080,7 @@ private datasetFileDifferenceItem selectFileMetadataDiffs(FileMetadata fm1, File } fdi.setFileProvFree1(fm1.getProvFreeForm()); - fdi.setFileRest1(fm1.isRestricted() ? "Restricted" : "Not Restricted"); + fdi.setFileRest1(fm1.isRestricted() ? BundleUtil.getStringFromBundle("restricted") : BundleUtil.getStringFromBundle("public")); fdi.setFile2Empty(true); } else if (fm1 == null) { @@ -1125,7 +1096,7 @@ private datasetFileDifferenceItem selectFileMetadataDiffs(FileMetadata fm1, File fdi.setFileCat2(fm2.getCategoriesByName().toString()); } fdi.setFileProvFree2(fm2.getProvFreeForm()); - fdi.setFileRest2(fm2.isRestricted() ? "Restricted" : "Not Restricted"); + fdi.setFileRest2(fm2.isRestricted() ? BundleUtil.getStringFromBundle("restricted") : BundleUtil.getStringFromBundle("public")); } else { // Both are non-null metadata objects. // We simply go through the 5 metadata fields, if any are @@ -1206,11 +1177,9 @@ private datasetFileDifferenceItem selectFileMetadataDiffs(FileMetadata fm1, File } // file restricted: - value1 = fm1.isRestricted() ? "Restricted" : "Not Restricted"; - value2 = fm2.isRestricted() ? "Restricted" : "Not Restricted"; - if (!value1.equals(value2)) { - fdi.setFileRest1(value1); - fdi.setFileRest2(value2); + if (fm1.isRestricted() != fm2.isRestricted() ) { + fdi.setFileRest1(fm1.isRestricted() ? BundleUtil.getStringFromBundle("restricted") : BundleUtil.getStringFromBundle("public")); + fdi.setFileRest2(fm2.isRestricted() ? BundleUtil.getStringFromBundle("restricted") : BundleUtil.getStringFromBundle("public")); } } return fdi; @@ -1314,7 +1283,7 @@ public String getEditSummaryForLog() { } if (item.fileRest1 != null || item.fileRest2 != null) { - itemDiff += System.lineSeparator() + " " + BundleUtil.getStringFromBundle("file.viewDiffDialog.restricted") + ": "; + itemDiff += System.lineSeparator() + " " + BundleUtil.getStringFromBundle("file.viewDiffDialog.fileAccess") + ": "; itemDiff += item.fileRest1 != null ? item.fileRest1 : BundleUtil.getStringFromBundle("file.viewDiffDialog.notAvailable"); itemDiff += " : "; itemDiff += item.fileRest2 != null ? item.fileRest2 : BundleUtil.getStringFromBundle("file.viewDiffDialog.notAvailable") + " "; @@ -1356,7 +1325,7 @@ public String getEditSummaryForLog() { itemDiff += item.fdi.fileProvFree1 != null ? item.fdi.fileProvFree1 : BundleUtil.getStringFromBundle("file.viewDiffDialog.notAvailable"); itemDiff += " : "; itemDiff += item.fdi.fileProvFree2 != null ? item.fdi.fileProvFree2 : BundleUtil.getStringFromBundle("file.viewDiffDialog.notAvailable") + " "; - itemDiff += System.lineSeparator() + " " + BundleUtil.getStringFromBundle("file.viewDiffDialog.restricted") + ": "; + itemDiff += System.lineSeparator() + " " + BundleUtil.getStringFromBundle("file.viewDiffDialog.fileAccess") + ": "; itemDiff += item.fdi.fileRest1 != null ? item.fdi.fileRest1 : BundleUtil.getStringFromBundle("file.viewDiffDialog.notAvailable"); itemDiff += " : "; itemDiff += item.fdi.fileRest2 != null ? item.fdi.fileRest2 : BundleUtil.getStringFromBundle("file.viewDiffDialog.notAvailable") + " "; @@ -1377,12 +1346,11 @@ public String getEditSummaryForLog() { retVal +=termsOfUseDiff; } - return retVal; } - public class DifferenceSummaryGroup{ + public class DifferenceSummaryGroup { private String displayName; private String type; @@ -1411,8 +1379,6 @@ public List getDifferenceSummaryItems() { public void setDifferenceSummaryItems(List differenceSummaryItems) { this.differenceSummaryItems = differenceSummaryItems; } - - } public class DifferenceSummaryItem { @@ -1470,9 +1436,6 @@ public boolean isMultiple() { public void setMultiple(boolean multiple) { this.multiple = multiple; } - - - } public class datasetReplaceFileItem { @@ -1733,7 +1696,6 @@ public String getFileChecksumValue() { public void setFileChecksumValue(String fileChecksumValue) { this.fileChecksumValue = fileChecksumValue; } - } public List getDatasetFilesDiffList() { @@ -1744,11 +1706,4 @@ public void setDatasetFilesDiffList(List datasetFiles this.datasetFilesDiffList = datasetFilesDiffList; } - public String getNoFileDifferencesFoundLabel() { - return noFileDifferencesFoundLabel; - } - - public void setNoFileDifferencesFoundLabel(String noFileDifferencesFoundLabel) { - this.noFileDifferencesFoundLabel = noFileDifferencesFoundLabel; - } } diff --git a/src/main/java/edu/harvard/iq/dataverse/EditDatafilesPage.java b/src/main/java/edu/harvard/iq/dataverse/EditDatafilesPage.java index 01b041fa63c..379c1d5b4a8 100644 --- a/src/main/java/edu/harvard/iq/dataverse/EditDatafilesPage.java +++ b/src/main/java/edu/harvard/iq/dataverse/EditDatafilesPage.java @@ -2453,20 +2453,6 @@ public boolean isLocked() { return false; } - public boolean isThumbnailAvailable(FileMetadata fileMetadata) { - // new and optimized logic: - // - check download permission here (should be cached - so it's free!) - // - only then ask the file service if the thumbnail is available/exists. - // the service itself no longer checks download permissions. - if (!fileDownloadHelper.canDownloadFile(fileMetadata)) { - return false; - } - - return datafileService.isThumbnailAvailable(fileMetadata.getDataFile()); - } - - - private Boolean lockedFromEditsVar; public boolean isLockedFromEdits() { diff --git a/src/main/java/edu/harvard/iq/dataverse/search/SearchIncludeFragment.java b/src/main/java/edu/harvard/iq/dataverse/search/SearchIncludeFragment.java index ac70072b7bb..f7a3b874c24 100644 --- a/src/main/java/edu/harvard/iq/dataverse/search/SearchIncludeFragment.java +++ b/src/main/java/edu/harvard/iq/dataverse/search/SearchIncludeFragment.java @@ -1201,53 +1201,52 @@ public SearchException getSearchException() { } public String tabularDataDisplayInfo(DataFile datafile) { - String ret = ""; + String tabInfo = ""; if (datafile == null) { - return null; + return ""; } if (datafile.isTabularData() && datafile.getDataTable() != null) { DataTable datatable = datafile.getDataTable(); - String unf = datatable.getUnf(); Long varNumber = datatable.getVarQuantity(); Long obsNumber = datatable.getCaseQuantity(); if (varNumber != null && varNumber.intValue() != 0) { - ret = ret.concat(varNumber + " Variables"); + tabInfo = tabInfo.concat(varNumber + " " + BundleUtil.getStringFromBundle("file.metaData.dataFile.dataTab.variables")); if (obsNumber != null && obsNumber.intValue() != 0) { - ret = ret.concat(", " + obsNumber + " Observations"); + tabInfo = tabInfo.concat(", " + obsNumber + " " + BundleUtil.getStringFromBundle("file.metaData.dataFile.dataTab.observations")); } - ret = ret.concat(" - "); - } - if (unf != null && !unf.equals("")) { - ret = ret.concat("UNF: " + unf); } } - return ret; + return tabInfo; } + + public String tabularDataUnfDisplay(DataFile datafile) { + String tabUnf = ""; - public String dataFileSizeDisplay(DataFile datafile) { if (datafile == null) { return ""; } - return datafile.getFriendlySize(); + if (datafile.isTabularData() && datafile.getDataTable() != null) { + DataTable datatable = datafile.getDataTable(); + String unf = datatable.getUnf(); + if (unf != null && !unf.equals("")) { + tabUnf = tabUnf.concat(unf); + } + } + return tabUnf; } - public String dataFileChecksumDisplay(DataFile datafile) { + public String dataFileSizeDisplay(DataFile datafile) { if (datafile == null) { return ""; } - if (datafile.getChecksumValue() != null && !StringUtils.isEmpty(datafile.getChecksumValue())) { - if (datafile.getChecksumType() != null) { - return " " + datafile.getChecksumType() + ": " + datafile.getChecksumValue() + " "; - } - } + return datafile.getFriendlySize(); - return ""; } public void setDisplayCardValues() { diff --git a/src/main/java/propertyFiles/Bundle.properties b/src/main/java/propertyFiles/Bundle.properties index 2e3cc7b2c72..e955f6822fe 100755 --- a/src/main/java/propertyFiles/Bundle.properties +++ b/src/main/java/propertyFiles/Bundle.properties @@ -8,11 +8,15 @@ datasets=Datasets newDataset=New Dataset files=Files file=File +public=Public restricted=Restricted restrictedaccess=Restricted Access find=Find search=Search language=Language +created=Created +deposited=Deposited +published=Published unpublished=Unpublished cancel=Cancel ok=OK @@ -1432,7 +1436,7 @@ dataset.versionDifferences.field=Field dataset.versionDifferences.changed=Changed dataset.versionDifferences.from=From dataset.versionDifferences.to=To -file.viewDiffDialog.restricted=Restricted +file.viewDiffDialog.fileAccess=Access dataset.host.tip=Changing the host dataverse will clear any fields you may have entered data into. dataset.template.tip=Changing the template will clear any fields you may have entered data into. dataset.noTemplate.label=None @@ -1552,7 +1556,8 @@ file.rsyncUpload.httpUploadDisabledDueToRsyncFileExisting=HTTP upload is disable file.rsyncUpload.httpUploadDisabledDueToRsyncFileExistingAndPublished=HTTP upload is disabled for this dataset because you have already uploaded files via rsync and published the dataset. file.rsyncUpload.rsyncUploadDisabledDueFileUploadedViaHttp=Upload with rsync + SSH is disabled for this dataset because you have already uploaded files via HTTP. If you would like to switch to rsync upload, then you must first remove all uploaded files from this dataset. Once this dataset is published, the chosen upload method is permanently locked in. file.rsyncUpload.rsyncUploadDisabledDueFileUploadedViaHttpAndPublished=Upload with rsync + SSH is disabled for this dataset because you have already uploaded files via HTTP and published the dataset. - +file.metaData.checksum.copy=Click to copy +file.metaData.dataFile.dataTab.unf=UNF file.metaData.dataFile.dataTab.variables=Variables file.metaData.dataFile.dataTab.observations=Observations file.addDescription=Add file description... @@ -1577,7 +1582,7 @@ file.useThisIamge=Use this image as the dataset thumbnail image file.advancedOptions=Advanced Options file.advancedIngestOptions=Advanced Ingest Options file.assignedDataverseImage.success={0} has been saved as the thumbnail for this dataset. -file.assignedTabFileTags.success=The tag(s) were successfully added for {0}. +file.assignedTabFileTags.success=The tags were successfully added for {0}. file.tabularDataTags=Tabular Data Tags file.tabularDataTags.tip=Select a tag to describe the type(s) of data this is (survey, time series, geospatial, etc). file.spss-savEncoding=Language Encoding @@ -1741,7 +1746,7 @@ file.viewDiffDialog.fileID=File ID file.viewDiffDialog.fileName=Name file.viewDiffDialog.fileType=Type file.viewDiffDialog.fileSize=Size -file.viewDiffDialog.category=Tag(s) +file.viewDiffDialog.category=Tags file.viewDiffDialog.description=Description file.viewDiffDialog.provDescription=Provenance Description file.viewDiffDialog.fileReplaced=File Replaced diff --git a/src/main/webapp/dataset.xhtml b/src/main/webapp/dataset.xhtml index 5cf8a948ee4..34b49a8658c 100644 --- a/src/main/webapp/dataset.xhtml +++ b/src/main/webapp/dataset.xhtml @@ -751,9 +751,7 @@ rendered="#{(!DatasetPage.workingVersion.deaccessioned or (DatasetPage.workingVersion.deaccessioned and DatasetPage.canUpdateDataset())) and (empty DatasetPage.editMode)}"> - - - + @@ -1155,8 +1153,9 @@ rendered="#{!empty(DatasetPage.datasetVersionDifference.datasetFilesDiffList)}"> -

- +
+ +
@@ -1165,7 +1164,7 @@ - +   @@ -1177,7 +1176,7 @@ - +   @@ -1197,7 +1196,7 @@ - +   @@ -1211,7 +1210,7 @@ - +   @@ -1381,7 +1380,6 @@ -
@@ -1411,7 +1409,6 @@ - @@ -1419,7 +1416,6 @@ - diff --git a/src/main/webapp/dataverse_template.xhtml b/src/main/webapp/dataverse_template.xhtml index 2ebc0c4184d..e461e853955 100644 --- a/src/main/webapp/dataverse_template.xhtml +++ b/src/main/webapp/dataverse_template.xhtml @@ -107,10 +107,10 @@ // Rebind bootstrap UI components bind_bsui_components(); - }); + }); function clickSupportLink() { $("[id$='headerSupportLink']").click(); - } + } //]]> diff --git a/src/main/webapp/editFilesFragment.xhtml b/src/main/webapp/editFilesFragment.xhtml index 833a6c2fd07..e5e12201fc8 100644 --- a/src/main/webapp/editFilesFragment.xhtml +++ b/src/main/webapp/editFilesFragment.xhtml @@ -326,8 +326,8 @@