diff --git a/io/plugins/eu.esdihumboldt.hale.io.csv.ui/src/eu/esdihumboldt/hale/io/csv/ui/TypeSelectionPage.java b/io/plugins/eu.esdihumboldt.hale.io.csv.ui/src/eu/esdihumboldt/hale/io/csv/ui/TypeSelectionPage.java index d5dccb9e18..9fa433863d 100644 --- a/io/plugins/eu.esdihumboldt.hale.io.csv.ui/src/eu/esdihumboldt/hale/io/csv/ui/TypeSelectionPage.java +++ b/io/plugins/eu.esdihumboldt.hale.io.csv.ui/src/eu/esdihumboldt/hale/io/csv/ui/TypeSelectionPage.java @@ -16,11 +16,17 @@ package eu.esdihumboldt.hale.io.csv.ui; +import java.util.Arrays; +import java.util.List; + import javax.xml.namespace.QName; import org.eclipse.jface.layout.GridDataFactory; +import org.eclipse.jface.viewers.ArrayContentProvider; +import org.eclipse.jface.viewers.ComboViewer; import org.eclipse.jface.viewers.ISelectionChangedListener; import org.eclipse.jface.viewers.SelectionChangedEvent; +import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; @@ -51,6 +57,7 @@ public class TypeSelectionPage extends InstanceReaderConfigurationPage implement private Spinner skipNlinesSpinner; private Label setTypeLabel; private Label skipNlinesLabels; + private ComboViewer dateFormatterCombo; /** * default constructor @@ -122,16 +129,36 @@ public void selectionChanged(SelectionChangedEvent event) { skipNlinesSpinner.setIncrement(1); skipNlinesSpinner.setPageIncrement(10); +// create date formatter combo + Label dateFormatterLabel = new Label(page, SWT.NONE); + dateFormatterLabel.setText("Format for imported date values"); + dateFormatterCombo = new ComboViewer(page, SWT.READ_ONLY); + dateFormatterCombo.setContentProvider(ArrayContentProvider.getInstance()); + List list = createDatePatternsList(); + dateFormatterCombo.setInput(list); + dateFormatterCombo.setSelection(new StructuredSelection(list.get(0))); + page.pack(); setPageComplete(false); } + private List createDatePatternsList() { + return Arrays.asList( + // Standard date formats + "yyyy-MM-dd", "yy-MM-dd", "dd-MM-yyyy", "MM-dd-yyyy", "yyyy/MM/dd", "dd/MM/yyyy", + "dd/MMM/yyyy", "MM/dd/yyyy", "yyyy.MM.dd", "dd.MM.yyyy", "MM.dd.yyyy", "yyyyMMdd", + // Custom date format + "MMMM d, yyyy"); + } + @Override public boolean updateConfiguration(InstanceReader provider) { provider.setParameter(CommonSchemaConstants.PARAM_SKIP_N_LINES, Value.of(skipNlinesSpinner.getSelection())); + provider.setParameter(CommonSchemaConstants.PARAM_DATE_FORMATTER, + Value.of(dateFormatterCombo.getSelection())); if (sel.getSelectedObject() != null) { QName name = sel.getSelectedObject().getName(); String param_name = name.toString(); diff --git a/io/plugins/eu.esdihumboldt.hale.io.xls/src/eu/esdihumboldt/hale/io/xls/reader/ReaderSettings.java b/io/plugins/eu.esdihumboldt.hale.io.xls/src/eu/esdihumboldt/hale/io/xls/reader/ReaderSettings.java index dc9b133e86..baf9193321 100644 --- a/io/plugins/eu.esdihumboldt.hale.io.xls/src/eu/esdihumboldt/hale/io/xls/reader/ReaderSettings.java +++ b/io/plugins/eu.esdihumboldt.hale.io.xls/src/eu/esdihumboldt/hale/io/xls/reader/ReaderSettings.java @@ -201,7 +201,8 @@ else if (skipType) { } // read dateFormat - String dateFormatString = reader.getParameter(PARAMETER_DATE_FORMAT).as(String.class); + String dateFormatString = reader.getParameter(ReaderSettings.PARAMETER_DATE_FORMAT) + .as(String.class); // apply to all sheets as default for (SheetInfo sheet : sheets) {