diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/sword2/Swordv2IT.java b/dspace-server-webapp/src/test/java/org/dspace/app/sword2/Swordv2IT.java index 64e3db7dfc..a6dcfde49c 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/sword2/Swordv2IT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/sword2/Swordv2IT.java @@ -237,7 +237,7 @@ public class Swordv2IT extends AbstractWebClientIntegrationTest { String editLink = response.getHeaders().getLocation().toString(); // Body should include that link as the rel="edit" URL - assertThat(response.getBody(), containsString("")); + assertThat(response.getBody(), containsString(" values = itemService.getMetadata(item, "dc", "date", "accessioned", Item.ANY); + Date date = new Date(); + if (values != null && values.size() > 0) { + String strDate = values.get(0).getValue(); + date = new DCDate(strDate).toDate(); + } + return date; + } } diff --git a/dspace-swordv2/src/main/java/org/dspace/sword2/ReceiptGenerator.java b/dspace-swordv2/src/main/java/org/dspace/sword2/ReceiptGenerator.java index b452698514..725ae5e734 100644 --- a/dspace-swordv2/src/main/java/org/dspace/sword2/ReceiptGenerator.java +++ b/dspace-swordv2/src/main/java/org/dspace/sword2/ReceiptGenerator.java @@ -8,8 +8,6 @@ package org.dspace.sword2; import java.sql.SQLException; -import java.text.ParseException; -import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -28,6 +26,7 @@ import org.dspace.core.Constants; import org.dspace.core.Context; import org.dspace.services.ConfigurationService; import org.dspace.services.factory.DSpaceServicesFactory; +import org.dspace.util.MultiFormatDateParser; import org.swordapp.server.DepositReceipt; import org.swordapp.server.SwordError; import org.swordapp.server.SwordServerException; @@ -284,14 +283,8 @@ public class ReceiptGenerator { List dcv = itemService.getMetadataByMetadataString( result.getItem(), "dc.date.issued"); if (dcv != null && !dcv.isEmpty()) { - try { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - Date published = sdf.parse(dcv.get(0).getValue()); - receipt.getWrappedEntry().setPublished(published); - } catch (ParseException e) { - // we tried, but never mind - log.warn("Couldn't add published date", e); - } + Date published = MultiFormatDateParser.parse(dcv.get(0).getValue()); + receipt.getWrappedEntry().setPublished(published); } } @@ -305,14 +298,8 @@ public class ReceiptGenerator { List dcv = itemService.getMetadataByMetadataString( item, "dc.date.issued"); if (dcv != null && dcv.size() == 1) { - try { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - Date published = sdf.parse(dcv.get(0).getValue()); - receipt.getWrappedEntry().setPublished(published); - } catch (ParseException e) { - // we tried, but never mind - log.warn("Couldn't add published date", e); - } + Date published = MultiFormatDateParser.parse(dcv.get(0).getValue()); + receipt.getWrappedEntry().setPublished(published); } } @@ -329,14 +316,8 @@ public class ReceiptGenerator { List dcv = itemService.getMetadataByMetadataString( result.getItem(), config); if (dcv != null && dcv.size() == 1) { - try { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - Date updated = sdf.parse(dcv.get(0).getValue()); - receipt.getWrappedEntry().setUpdated(updated); - } catch (ParseException e) { - // we tried, but never mind - log.warn("Couldn't add last updated date", e); - } + Date updated = MultiFormatDateParser.parse(dcv.get(0).getValue()); + receipt.getWrappedEntry().setUpdated(updated); } } @@ -352,14 +333,8 @@ public class ReceiptGenerator { List dcv = itemService.getMetadataByMetadataString( item, config); if (dcv != null && dcv.size() == 1) { - try { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - Date updated = sdf.parse(dcv.get(0).getValue()); - receipt.getWrappedEntry().setUpdated(updated); - } catch (ParseException e) { - // we tried, but never mind - log.warn("Couldn't add last updated date", e); - } + Date updated = MultiFormatDateParser.parse(dcv.get(0).getValue()); + receipt.getWrappedEntry().setUpdated(updated); } } }