You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by mg...@apache.org on 2015/01/27 13:56:25 UTC
[3/3] isis git commit: ISIS-1012 Introduce IsisConverterLocator - a
locator for the best IConverter for ObjectAdapters
ISIS-1012 Introduce IsisConverterLocator - a locator for the best IConverter for ObjectAdapters
Deprecate WicketViewerSettings#getDatePickerPattern(). Instead each converter should use either #getDatePattern() or #getDateTimePattern() depending on its type
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/75d20903
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/75d20903
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/75d20903
Branch: refs/heads/ISIS-1012-date-patterns
Commit: 75d209033ddbb803352a1f108eb34514f289d7af
Parents: 7be058f
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Tue Jan 27 14:54:56 2015 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Tue Jan 27 14:54:56 2015 +0200
----------------------------------------------------------------------
.../wicket/model/isis/WicketViewerSettings.java | 6 ++
.../scalars/IsisConverterLocator.java | 61 ++++++++++++++++++++
.../isisapplib/DateConverterForApplibDate.java | 4 +-
.../DateConverterForApplibDateTime.java | 4 +-
.../jdkdates/DateConverterForJavaSqlDate.java | 4 +-
.../jdkdates/DateConverterForJavaUtilDate.java | 4 +-
.../jodatime/DateConverterForJodaDateTime.java | 4 +-
.../jodatime/DateConverterForJodaLocalDate.java | 4 +-
.../DateConverterForJodaLocalDateTime.java | 4 +-
.../jodatime/JodaLocalDateTimePanel.java | 1 +
.../scalars/reference/ReferencePanel.java | 11 ++--
.../ObjectAdapterMementoProviderAbstract.java | 25 +++++++-
.../valuechoices/ValueChoicesSelect2Panel.java | 12 ++--
.../DateConverterForApplibDateTest.java | 2 -
.../DateConverterForApplibDateTimeTest.java | 2 -
.../DateConverterForJavaUtilDateTest.java | 2 -
.../FixedObjectAdapterMementoProviderTest.java | 6 +-
17 files changed, 123 insertions(+), 33 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/75d20903/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/isis/WicketViewerSettings.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/isis/WicketViewerSettings.java b/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/isis/WicketViewerSettings.java
index a3b9491..bc41422 100644
--- a/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/isis/WicketViewerSettings.java
+++ b/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/isis/WicketViewerSettings.java
@@ -31,6 +31,12 @@ public interface WicketViewerSettings extends Serializable {
public String getDatePattern();
public String getDateTimePattern();
public String getTimestampPattern();
+
+ /**
+ * @deprecated Not used since 1.8.0. Each Date scalar panel will use {@linkplain #getDatePattern()}
+ * or {@linkplain #getDateTimePattern()} depending on its date type
+ */
+ @Deprecated
public String getDatePickerPattern();
http://git-wip-us.apache.org/repos/asf/isis/blob/75d20903/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/IsisConverterLocator.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/IsisConverterLocator.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/IsisConverterLocator.java
new file mode 100644
index 0000000..d67e003
--- /dev/null
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/IsisConverterLocator.java
@@ -0,0 +1,61 @@
+package org.apache.isis.viewer.wicket.ui.components.scalars;
+
+import org.apache.wicket.Application;
+import org.apache.wicket.IConverterLocator;
+import org.apache.wicket.util.convert.IConverter;
+import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.core.metamodel.facets.propparam.renderedadjusted.RenderedAdjustedFacet;
+import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import org.apache.isis.viewer.wicket.model.isis.WicketViewerSettings;
+import org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib.DateConverterForApplibDate;
+import org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib.DateConverterForApplibDateTime;
+import org.apache.isis.viewer.wicket.ui.components.scalars.jdkdates.DateConverterForJavaSqlDate;
+import org.apache.isis.viewer.wicket.ui.components.scalars.jdkdates.DateConverterForJavaSqlTimestamp;
+import org.apache.isis.viewer.wicket.ui.components.scalars.jdkdates.DateConverterForJavaUtilDate;
+import org.apache.isis.viewer.wicket.ui.components.scalars.jodatime.DateConverterForJodaDateTime;
+import org.apache.isis.viewer.wicket.ui.components.scalars.jodatime.DateConverterForJodaLocalDate;
+import org.apache.isis.viewer.wicket.ui.components.scalars.jodatime.DateConverterForJodaLocalDateTime;
+
+/**
+ * A locator for IConverters for ObjectAdapters
+ */
+public class IsisConverterLocator {
+
+ /**
+ * Locates the best IConverter implementation for a given {@link org.apache.isis.core.metamodel.adapter.ObjectAdapter}
+ *
+ * @param objectAdapter The object adapter to locate converter for
+ * @param wicketViewerSettings The date related settings
+ * @return The best converter for the object adapter's type
+ */
+ public static IConverter<Object> findConverter(final ObjectAdapter objectAdapter, final WicketViewerSettings wicketViewerSettings) {
+ ObjectSpecification objectSpecification = objectAdapter.getSpecification();
+ RenderedAdjustedFacet renderedAdjustedFacet = objectSpecification.getFacet(RenderedAdjustedFacet.class);
+ int adjustBy = renderedAdjustedFacet != null ? renderedAdjustedFacet.value() : 0;
+ Class<?> correspondingClass = objectSpecification.getCorrespondingClass();
+
+ IConverter converter = null;
+ if (java.util.Date.class == correspondingClass) {
+ converter = new DateConverterForJavaUtilDate(wicketViewerSettings, adjustBy);
+ } else if (java.sql.Date.class == correspondingClass) {
+ converter = new DateConverterForJavaSqlDate(wicketViewerSettings, adjustBy);
+ } else if (org.apache.isis.applib.value.Date.class == correspondingClass) {
+ converter = new DateConverterForApplibDate(wicketViewerSettings, adjustBy);
+ } else if (org.apache.isis.applib.value.DateTime.class == correspondingClass) {
+ converter = new DateConverterForApplibDateTime(wicketViewerSettings, adjustBy);
+ } else if (org.joda.time.LocalDate.class == correspondingClass) {
+ converter = new DateConverterForJodaLocalDate(wicketViewerSettings, adjustBy);
+ } else if (org.joda.time.LocalDateTime.class == correspondingClass) {
+ converter = new DateConverterForJodaLocalDateTime(wicketViewerSettings, adjustBy);
+ } else if (org.joda.time.DateTime.class == correspondingClass) {
+ converter = new DateConverterForJodaDateTime(wicketViewerSettings, adjustBy);
+ } else if (java.sql.Timestamp.class == correspondingClass) {
+ converter = new DateConverterForJavaSqlTimestamp(wicketViewerSettings, adjustBy);
+ } else if (Application.exists()) {
+ IConverterLocator converterLocator = Application.get().getConverterLocator();
+ converter = converterLocator.getConverter(correspondingClass);
+ }
+
+ return converter;
+ }
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/75d20903/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/DateConverterForApplibDate.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/DateConverterForApplibDate.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/DateConverterForApplibDate.java
index ee201cc..cf0b098 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/DateConverterForApplibDate.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/DateConverterForApplibDate.java
@@ -31,7 +31,7 @@ public class DateConverterForApplibDate extends DateConverterAbstract<org.apache
private final DateConverterForJavaUtilDate converter;
public DateConverterForApplibDate(WicketViewerSettings settings, int adjustBy) {
- this(settings.getDatePattern(), settings.getDatePickerPattern(), adjustBy);
+ this(settings.getDatePattern(), settings.getDatePattern(), adjustBy);
}
private DateConverterForApplibDate(String datePattern, String datePickerPattern, int adjustBy) {
@@ -51,4 +51,4 @@ public class DateConverterForApplibDate extends DateConverterAbstract<org.apache
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/75d20903/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/DateConverterForApplibDateTime.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/DateConverterForApplibDateTime.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/DateConverterForApplibDateTime.java
index 35106a8..222c8f8 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/DateConverterForApplibDateTime.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/DateConverterForApplibDateTime.java
@@ -31,7 +31,7 @@ public class DateConverterForApplibDateTime extends DateConverterAbstract<org.ap
private final DateConverterForJavaUtilDate converter;
public DateConverterForApplibDateTime(WicketViewerSettings settings, int adjustBy) {
- super(org.apache.isis.applib.value.DateTime.class, settings.getDatePattern(), settings.getDateTimePattern(), settings.getDatePickerPattern(), adjustBy); // not used
+ super(org.apache.isis.applib.value.DateTime.class, settings.getDatePattern(), settings.getDateTimePattern(), settings.getDateTimePattern(), adjustBy); // not used
converter = new DateConverterForJavaUtilDate(settings, adjustBy);
}
@@ -47,4 +47,4 @@ public class DateConverterForApplibDateTime extends DateConverterAbstract<org.ap
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/75d20903/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/DateConverterForJavaSqlDate.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/DateConverterForJavaSqlDate.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/DateConverterForJavaSqlDate.java
index 1e7554a..2fa56ee 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/DateConverterForJavaSqlDate.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/DateConverterForJavaSqlDate.java
@@ -32,7 +32,7 @@ public class DateConverterForJavaSqlDate extends DateConverterForJavaAbstract<ja
private static final long serialVersionUID = 1L;
public DateConverterForJavaSqlDate(WicketViewerSettings settings, int adjustBy) {
- this(settings.getDatePattern(), settings.getDatePickerPattern(), adjustBy);
+ this(settings.getDatePattern(), settings.getDatePattern(), adjustBy);
}
private DateConverterForJavaSqlDate(String datePattern, String datePickerPattern, int adjustBy) {
@@ -68,4 +68,4 @@ public class DateConverterForJavaSqlDate extends DateConverterForJavaAbstract<ja
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/75d20903/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/DateConverterForJavaUtilDate.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/DateConverterForJavaUtilDate.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/DateConverterForJavaUtilDate.java
index e85fff8..c487cb5 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/DateConverterForJavaUtilDate.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/DateConverterForJavaUtilDate.java
@@ -32,7 +32,7 @@ public class DateConverterForJavaUtilDate extends DateConverterForJavaAbstract<j
private static final long serialVersionUID = 1L;
public DateConverterForJavaUtilDate(WicketViewerSettings settings, int adjustBy) {
- this(settings.getDatePattern(), settings.getDateTimePattern(), settings.getDatePickerPattern(), adjustBy);
+ this(settings.getDatePattern(), settings.getDateTimePattern(), settings.getDateTimePattern(), adjustBy);
}
public DateConverterForJavaUtilDate(String datePattern, String dateTimePattern, String datePickerPattern, int adjustBy) {
super(java.util.Date.class, datePattern, dateTimePattern, datePickerPattern, adjustBy);
@@ -71,4 +71,4 @@ public class DateConverterForJavaUtilDate extends DateConverterForJavaAbstract<j
return adjusted;
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/75d20903/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/DateConverterForJodaDateTime.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/DateConverterForJodaDateTime.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/DateConverterForJodaDateTime.java
index f08ab6e..c267cf2 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/DateConverterForJodaDateTime.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/DateConverterForJodaDateTime.java
@@ -30,7 +30,7 @@ public class DateConverterForJodaDateTime extends DateConverterForJodaAbstract<D
private static final long serialVersionUID = 1L;
public DateConverterForJodaDateTime(WicketViewerSettings settings, int adjustBy) {
- this(settings.getDatePattern(), settings.getDateTimePattern(), settings.getDatePickerPattern(), adjustBy);
+ this(settings.getDatePattern(), settings.getDateTimePattern(), settings.getDateTimePattern(), adjustBy);
}
private DateConverterForJodaDateTime(String datePattern, String dateTimePattern, String datePickerPattern, int adjustBy) {
@@ -61,4 +61,4 @@ public class DateConverterForJodaDateTime extends DateConverterForJodaAbstract<D
return value.plusDays(adjustBy).toString(getFormatterForDateTimePattern());
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/75d20903/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/DateConverterForJodaLocalDate.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/DateConverterForJodaLocalDate.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/DateConverterForJodaLocalDate.java
index b895973..8479328 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/DateConverterForJodaLocalDate.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/DateConverterForJodaLocalDate.java
@@ -30,7 +30,7 @@ public class DateConverterForJodaLocalDate extends DateConverterForJodaAbstract<
private static final long serialVersionUID = 1L;
public DateConverterForJodaLocalDate(WicketViewerSettings settings, int adjustBy) {
- this(settings.getDatePattern(), settings.getDatePickerPattern(), adjustBy);
+ this(settings.getDatePattern(), settings.getDatePattern(), adjustBy);
}
private DateConverterForJodaLocalDate(String datePattern, String datePickerPattern, int adjustBy) {
@@ -58,4 +58,4 @@ public class DateConverterForJodaLocalDate extends DateConverterForJodaAbstract<
return value.plusDays(adjustBy).toString(getFormatterForDatePattern());
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/75d20903/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/DateConverterForJodaLocalDateTime.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/DateConverterForJodaLocalDateTime.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/DateConverterForJodaLocalDateTime.java
index d93750b..ec1509f 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/DateConverterForJodaLocalDateTime.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/DateConverterForJodaLocalDateTime.java
@@ -30,7 +30,7 @@ public class DateConverterForJodaLocalDateTime extends DateConverterForJodaAbstr
private static final long serialVersionUID = 1L;
public DateConverterForJodaLocalDateTime(WicketViewerSettings settings, int adjustBy) {
- this(settings.getDatePattern(), settings.getDateTimePattern(), settings.getDatePickerPattern(), adjustBy);
+ this(settings.getDatePattern(), settings.getDateTimePattern(), settings.getDateTimePattern(), adjustBy);
}
private DateConverterForJodaLocalDateTime(String datePattern, String dateTimePattern, String datePickerPattern, int adjustBy) {
@@ -64,4 +64,4 @@ public class DateConverterForJodaLocalDateTime extends DateConverterForJodaAbstr
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/75d20903/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDateTimePanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDateTimePanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDateTimePanel.java
index e7caecf..d2cbaee 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDateTimePanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDateTimePanel.java
@@ -40,6 +40,7 @@ public class JodaLocalDateTimePanel extends ScalarPanelTextFieldDatePickerAbstra
init(new DateConverterForJodaLocalDateTime(getSettings(), getAdjustBy()));
}
+ // TODO mgrigorov: Check whether this is really needed after fixing ISIS-1012
@Override
protected TextField<LocalDateTime> createTextField(final String id) {
return new TextFieldWithDateTimePicker<>(id, new TextFieldValueModel<LocalDateTime>(this), cls, converter);
http://git-wip-us.apache.org/repos/asf/isis/blob/75d20903/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
index 4834279..34c8f38 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
@@ -19,6 +19,7 @@
package org.apache.isis.viewer.wicket.ui.components.scalars.reference;
+import javax.inject.Inject;
import java.util.List;
import com.google.common.collect.Lists;
import com.vaynberg.wicket.select2.ChoiceProvider;
@@ -40,6 +41,7 @@ import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager.ConcurrencyChec
import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
import org.apache.isis.core.metamodel.facets.object.autocomplete.AutoCompleteFacet;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import org.apache.isis.viewer.wicket.model.isis.WicketViewerSettings;
import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
import org.apache.isis.viewer.wicket.model.mementos.ObjectAdapterMemento;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
@@ -372,7 +374,7 @@ public class ReferencePanel extends ScalarPanelAbstract {
// called by setProviderAndCurrAndPending
private ChoiceProvider<ObjectAdapterMemento> providerForObjectAutoComplete() {
- return new ObjectAdapterMementoProviderAbstract(getModel()) {
+ return new ObjectAdapterMementoProviderAbstract(getModel(), wicketViewerSettings) {
private static final long serialVersionUID = 1L;
@@ -388,7 +390,7 @@ public class ReferencePanel extends ScalarPanelAbstract {
// called by setProviderAndCurrAndPending
private ChoiceProvider<ObjectAdapterMemento> providerForParamOrPropertyAutoComplete() {
- return new ObjectAdapterMementoProviderAbstract(getModel()) {
+ return new ObjectAdapterMementoProviderAbstract(getModel(), wicketViewerSettings) {
private static final long serialVersionUID = 1L;
@@ -407,7 +409,7 @@ public class ReferencePanel extends ScalarPanelAbstract {
// called by setProviderAndCurrAndPending
private ObjectAdapterMementoProviderAbstract providerForChoices(final List<ObjectAdapterMemento> choiceMementos) {
- return new ObjectAdapterMementoProviderAbstract(getModel()) {
+ return new ObjectAdapterMementoProviderAbstract(getModel(), wicketViewerSettings) {
private static final long serialVersionUID = 1L;
@Override
protected List<ObjectAdapterMemento> obtainMementos(String unused) {
@@ -499,6 +501,7 @@ public class ReferencePanel extends ScalarPanelAbstract {
return autoCompleteFacet != null;
}
-
+ @Inject
+ private WicketViewerSettings wicketViewerSettings;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/75d20903/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/ObjectAdapterMementoProviderAbstract.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/ObjectAdapterMementoProviderAbstract.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/ObjectAdapterMementoProviderAbstract.java
index 956b436..0fd2104 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/ObjectAdapterMementoProviderAbstract.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/ObjectAdapterMementoProviderAbstract.java
@@ -18,17 +18,22 @@ package org.apache.isis.viewer.wicket.ui.components.widgets;
import java.util.Collection;
import java.util.List;
+import java.util.Locale;
import com.google.common.base.Function;
import com.google.common.collect.Collections2;
import com.google.common.collect.Lists;
import com.vaynberg.wicket.select2.TextChoiceProvider;
+import org.apache.wicket.util.convert.IConverter;
+import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager.ConcurrencyChecking;
import org.apache.isis.core.metamodel.adapter.oid.RootOid;
import org.apache.isis.core.metamodel.adapter.oid.RootOidDefault;
+import org.apache.isis.viewer.wicket.model.isis.WicketViewerSettings;
import org.apache.isis.viewer.wicket.model.mementos.ObjectAdapterMemento;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
+import org.apache.isis.viewer.wicket.ui.components.scalars.IsisConverterLocator;
public abstract class ObjectAdapterMementoProviderAbstract extends TextChoiceProvider<ObjectAdapterMemento> {
@@ -38,14 +43,28 @@ public abstract class ObjectAdapterMementoProviderAbstract extends TextChoicePro
private static final String NULL_DISPLAY_TEXT = "";
private final ScalarModel scalarModel;
+ private final WicketViewerSettings wicketViewerSettings;
- public ObjectAdapterMementoProviderAbstract(final ScalarModel scalarModel){
+ public ObjectAdapterMementoProviderAbstract(final ScalarModel scalarModel, WicketViewerSettings wicketViewerSettings) {
this.scalarModel = scalarModel;
+ this.wicketViewerSettings = wicketViewerSettings;
}
@Override
protected String getDisplayText(ObjectAdapterMemento choice) {
- return choice != null? choice.getObjectAdapter(ConcurrencyChecking.NO_CHECK).titleString(null) : NULL_DISPLAY_TEXT;
+ String displayText = NULL_DISPLAY_TEXT;
+ if (choice != null) {
+ ObjectAdapter objectAdapter = choice.getObjectAdapter(ConcurrencyChecking.NO_CHECK);
+ IConverter<Object> converter = IsisConverterLocator.findConverter(objectAdapter, wicketViewerSettings);
+ if (converter != null) {
+ // TODO mgrigorov: use the Session locale ?!
+ displayText = converter.convertToString(objectAdapter.getObject(), Locale.ENGLISH);
+ } else {
+ displayText = objectAdapter.titleString(null);
+ }
+ }
+
+ return displayText;
}
@Override
@@ -85,4 +104,4 @@ public abstract class ObjectAdapterMementoProviderAbstract extends TextChoicePro
protected ScalarModel getScalarModel() {
return scalarModel;
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/75d20903/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
index 2a51161..3932e14 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
@@ -16,6 +16,7 @@
*/
package org.apache.isis.viewer.wicket.ui.components.widgets.valuechoices;
+import javax.inject.Inject;
import java.util.Collection;
import java.util.List;
import com.google.common.base.Function;
@@ -34,6 +35,7 @@ import org.apache.wicket.model.Model;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager.ConcurrencyChecking;
import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
+import org.apache.isis.viewer.wicket.model.isis.WicketViewerSettings;
import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
import org.apache.isis.viewer.wicket.model.mementos.ObjectAdapterMemento;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
@@ -143,10 +145,9 @@ public class ValueChoicesSelect2Panel extends ScalarPanelAbstract implements Sca
protected ChoiceProvider<ObjectAdapterMemento> newChoiceProvider(final List<ObjectAdapterMemento> choicesMementos) {
- return new FixedObjectAdapterMementoProvider(getScalarModel(), choicesMementos);
+ return new FixedObjectAdapterMementoProvider(getScalarModel(), choicesMementos, wicketViewerSettings);
}
-
static class FixedObjectAdapterMementoProvider extends ObjectAdapterMementoProviderAbstract {
private static final long serialVersionUID = 1L;
@@ -154,8 +155,9 @@ public class ValueChoicesSelect2Panel extends ScalarPanelAbstract implements Sca
public FixedObjectAdapterMementoProvider(
final ScalarModel scalarModel,
- final List<ObjectAdapterMemento> choicesMementos) {
- super(scalarModel);
+ final List<ObjectAdapterMemento> choicesMementos,
+ final WicketViewerSettings wicketViewerSettings) {
+ super(scalarModel, wicketViewerSettings);
this.choicesMementos = choicesMementos;
}
@@ -278,4 +280,6 @@ public class ValueChoicesSelect2Panel extends ScalarPanelAbstract implements Sca
return scalarModel;
}
+ @Inject
+ private WicketViewerSettings wicketViewerSettings;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/75d20903/component/viewer/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/DateConverterForApplibDateTest.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/DateConverterForApplibDateTest.java b/component/viewer/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/DateConverterForApplibDateTest.java
index 26b11f7..2d8f93a 100644
--- a/component/viewer/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/DateConverterForApplibDateTest.java
+++ b/component/viewer/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/DateConverterForApplibDateTest.java
@@ -50,8 +50,6 @@ public class DateConverterForApplibDateTest {
{
allowing(settings).getDatePattern();
will(returnValue("yyyy-MM-dd"));
- allowing(settings).getDatePickerPattern();
- will(returnValue("yy-mm-dd"));
}
});
}
http://git-wip-us.apache.org/repos/asf/isis/blob/75d20903/component/viewer/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/DateConverterForApplibDateTimeTest.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/DateConverterForApplibDateTimeTest.java b/component/viewer/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/DateConverterForApplibDateTimeTest.java
index 0f5bfbf..a664690 100644
--- a/component/viewer/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/DateConverterForApplibDateTimeTest.java
+++ b/component/viewer/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/DateConverterForApplibDateTimeTest.java
@@ -52,8 +52,6 @@ public class DateConverterForApplibDateTimeTest {
will(returnValue("yyyy-MM-dd"));
allowing(settings).getDateTimePattern();
will(returnValue("yyyy-MM-dd HH:mm"));
- allowing(settings).getDatePickerPattern();
- will(returnValue("yy-mm-dd"));
}
});
}
http://git-wip-us.apache.org/repos/asf/isis/blob/75d20903/component/viewer/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/DateConverterForJavaUtilDateTest.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/DateConverterForJavaUtilDateTest.java b/component/viewer/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/DateConverterForJavaUtilDateTest.java
index 8adad30..fafe62e 100644
--- a/component/viewer/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/DateConverterForJavaUtilDateTest.java
+++ b/component/viewer/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/DateConverterForJavaUtilDateTest.java
@@ -49,8 +49,6 @@ public class DateConverterForJavaUtilDateTest {
will(returnValue("yyyy-MM-dd"));
allowing(settings).getDateTimePattern();
will(returnValue("yyyy-MM-dd HH:mm"));
- allowing(settings).getDatePickerPattern();
- will(returnValue("yy-mm-dd"));
}
});
}
http://git-wip-us.apache.org/repos/asf/isis/blob/75d20903/component/viewer/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/FixedObjectAdapterMementoProviderTest.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/FixedObjectAdapterMementoProviderTest.java b/component/viewer/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/FixedObjectAdapterMementoProviderTest.java
index 7f508d3..c151c44 100644
--- a/component/viewer/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/FixedObjectAdapterMementoProviderTest.java
+++ b/component/viewer/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/FixedObjectAdapterMementoProviderTest.java
@@ -28,6 +28,7 @@ import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
+import org.apache.isis.viewer.wicket.model.isis.WicketViewerSettings;
import org.apache.isis.viewer.wicket.model.mementos.ObjectAdapterMemento;
import static org.hamcrest.CoreMatchers.is;
@@ -53,7 +54,8 @@ public class FixedObjectAdapterMementoProviderTest {
mockMemento1, mockMemento2
);
- provider = new ValueChoicesSelect2Panel.FixedObjectAdapterMementoProvider(null, mementos);
+ WicketViewerSettings wicketViewerSettings = context.mock(WicketViewerSettings.class);
+ provider = new ValueChoicesSelect2Panel.FixedObjectAdapterMementoProvider(null, mementos, wicketViewerSettings);
}
@Test
@@ -79,4 +81,4 @@ public class FixedObjectAdapterMementoProviderTest {
return mock;
}
-}
\ No newline at end of file
+}