You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2014/11/11 09:22:24 UTC
[04/10] isis git commit: ISIS-537: can now select different views for
standalone collections.
ISIS-537: can now select different views for standalone collections.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/c1f5281d
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/c1f5281d
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/c1f5281d
Branch: refs/heads/ISIS-939
Commit: c1f5281d97ba77fa9055f99ec650654f977cf641
Parents: cb2bea9
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Mon Nov 10 20:37:13 2014 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Mon Nov 10 20:37:13 2014 +0000
----------------------------------------------------------------------
.../model/models/EntityCollectionModel.java | 2 -
.../viewer/wicket/model/models/EntityModel.java | 72 +------------------
.../wicket/model/models/ModelAbstract.java | 76 +++++++++++++++++++-
3 files changed, 78 insertions(+), 72 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/c1f5281d/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java b/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java
index 41c831b..6afdecd 100644
--- a/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java
+++ b/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java
@@ -23,11 +23,9 @@ import java.io.Serializable;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
-
import com.google.common.base.Function;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
-
import org.apache.isis.core.commons.factory.InstanceUtil;
import org.apache.isis.core.commons.lang.ClassUtil;
import org.apache.isis.core.commons.lang.Closure;
http://git-wip-us.apache.org/repos/asf/isis/blob/c1f5281d/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java b/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
index 6c66859..e293e9b 100644
--- a/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
+++ b/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
@@ -23,11 +23,8 @@ import java.io.Serializable;
import java.util.Map;
import java.util.Set;
import com.google.common.collect.Maps;
-import org.apache.wicket.Component;
import org.apache.wicket.model.Model;
import org.apache.wicket.request.mapper.parameter.PageParameters;
-import org.apache.wicket.util.string.PrependingStringBuffer;
-import org.apache.wicket.util.string.Strings;
import org.apache.isis.applib.annotation.BookmarkPolicy;
import org.apache.isis.applib.services.memento.MementoService.Memento;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
@@ -46,8 +43,6 @@ import org.apache.isis.core.metamodel.spec.SpecificationLoaderSpi;
import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
import org.apache.isis.core.runtime.services.memento.MementoServiceDefault;
import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.wicket.model.hints.UiHintContainer;
-import org.apache.isis.viewer.wicket.model.hints.UiHintPathSignificant;
import org.apache.isis.viewer.wicket.model.mementos.ObjectAdapterMemento;
import org.apache.isis.viewer.wicket.model.mementos.PageParameterNames;
import org.apache.isis.viewer.wicket.model.mementos.PropertyMemento;
@@ -59,7 +54,7 @@ import org.apache.isis.viewer.wicket.model.mementos.PropertyMemento;
* So that the model is {@link Serializable}, the {@link ObjectAdapter} is
* stored as a {@link ObjectAdapterMemento}.
*/
-public class EntityModel extends BookmarkableModel<ObjectAdapter> implements UiHintContainer {
+public class EntityModel extends BookmarkableModel<ObjectAdapter> {
private static final long serialVersionUID = 1L;
@@ -154,7 +149,7 @@ public class EntityModel extends BookmarkableModel<ObjectAdapter> implements UiH
public EntityModel(final PageParameters pageParameters) {
this(ObjectAdapterMemento.createPersistent(rootOidFrom(pageParameters)));
- hintPageParameterSerializer.pageParametersToHints(pageParameters, this.hints);
+ hintPageParameterSerializer.pageParametersToHints(pageParameters, getHints());
}
public EntityModel(final ObjectAdapter adapter) {
this(ObjectAdapterMemento.createOrNull(adapter));
@@ -183,7 +178,7 @@ public class EntityModel extends BookmarkableModel<ObjectAdapter> implements UiH
@Override
public PageParameters getPageParameters() {
PageParameters pageParameters = createPageParameters(getObject());
- hintPageParameterSerializer.hintsToPageParameters(hints, pageParameters);
+ hintPageParameterSerializer.hintsToPageParameters(getHints(), pageParameters);
return pageParameters;
}
@@ -466,67 +461,6 @@ public class EntityModel extends BookmarkableModel<ObjectAdapter> implements UiH
- // //////////////////////////////////////////////////////////
- // Hint support
- // //////////////////////////////////////////////////////////
-
- private final Map<String, String> hints = Maps.newTreeMap();
-
- public String getHint(final Component component, final String key) {
- if(component == null) {
- return null;
- }
- String hintKey = hintKey(component, key);
- return hints.get(hintKey);
- }
-
- @Override
- public void setHint(Component component, String key, String value) {
- if(component == null) {
- return;
- }
- String hintKey = hintKey(component, key);
- if(value != null) {
- hints.put(hintKey, value);
- } else {
- clearHint(component, hintKey);
- }
- }
-
- @Override
- public void clearHint(Component component, String key) {
- if(component == null) {
- return;
- }
- String hintKey = hintKey(component, key);
- hints.remove(hintKey);
- }
-
-
- private static String hintKey(Component component, String key) {
- return hintPathFor(component) + "-" + key;
- }
-
- private static String hintPathFor(Component component)
- {
- return Strings.afterFirstPathComponent(fullHintPathFor(component), Component.PATH_SEPARATOR);
- }
-
- private static String fullHintPathFor(Component component)
- {
- final PrependingStringBuffer buffer = new PrependingStringBuffer(32);
- for (Component c = component; c != null; c = c.getParent())
- {
- if(c instanceof UiHintPathSignificant) {
- if (buffer.length() > 0)
- {
- buffer.prepend(Component.PATH_SEPARATOR);
- }
- buffer.prepend(c.getId());
- }
- }
- return buffer.toString();
- }
// //////////////////////////////////////////////////////////
http://git-wip-us.apache.org/repos/asf/isis/blob/c1f5281d/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ModelAbstract.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ModelAbstract.java b/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ModelAbstract.java
index 4556cd2..8e65177 100644
--- a/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ModelAbstract.java
+++ b/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ModelAbstract.java
@@ -20,18 +20,25 @@
package org.apache.isis.viewer.wicket.model.models;
import java.util.List;
+import java.util.Map;
+import com.google.common.collect.Maps;
+import org.apache.wicket.Component;
import org.apache.wicket.model.LoadableDetachableModel;
+import org.apache.wicket.util.string.PrependingStringBuffer;
+import org.apache.wicket.util.string.Strings;
import org.apache.isis.core.commons.authentication.AuthenticationSession;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
import org.apache.isis.core.runtime.system.context.IsisContext;
import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
+import org.apache.isis.viewer.wicket.model.hints.UiHintContainer;
+import org.apache.isis.viewer.wicket.model.hints.UiHintPathSignificant;
/**
* Adapter for {@link LoadableDetachableModel}s, providing access to some of the
* Isis' dependencies.
*/
-public abstract class ModelAbstract<T> extends LoadableDetachableModel<T> {
+public abstract class ModelAbstract<T> extends LoadableDetachableModel<T> implements UiHintContainer {
private static final long serialVersionUID = 1L;
@@ -42,6 +49,73 @@ public abstract class ModelAbstract<T> extends LoadableDetachableModel<T> {
super(t);
}
+
+ // //////////////////////////////////////////////////////////
+ // Hint support
+ // //////////////////////////////////////////////////////////
+
+ private final Map<String, String> hints = Maps.newTreeMap();
+
+ public String getHint(final Component component, final String key) {
+ if(component == null) {
+ return null;
+ }
+ String hintKey = hintKey(component, key);
+ return hints.get(hintKey);
+ }
+
+ @Override
+ public void setHint(Component component, String key, String value) {
+ if(component == null) {
+ return;
+ }
+ String hintKey = hintKey(component, key);
+ if(value != null) {
+ hints.put(hintKey, value);
+ } else {
+ clearHint(component, hintKey);
+ }
+ }
+
+ @Override
+ public void clearHint(Component component, String key) {
+ if(component == null) {
+ return;
+ }
+ String hintKey = hintKey(component, key);
+ hints.remove(hintKey);
+ }
+
+
+ private static String hintKey(Component component, String key) {
+ return hintPathFor(component) + "-" + key;
+ }
+
+ private static String hintPathFor(Component component)
+ {
+ return Strings.afterFirstPathComponent(fullHintPathFor(component), Component.PATH_SEPARATOR);
+ }
+
+ private static String fullHintPathFor(Component component)
+ {
+ final PrependingStringBuffer buffer = new PrependingStringBuffer(32);
+ for (Component c = component; c != null; c = c.getParent())
+ {
+ if(c instanceof UiHintPathSignificant) {
+ if (buffer.length() > 0)
+ {
+ buffer.prepend(Component.PATH_SEPARATOR);
+ }
+ buffer.prepend(c.getId());
+ }
+ }
+ return buffer.toString();
+ }
+
+ protected Map<String, String> getHints() {
+ return hints;
+ }
+
// //////////////////////////////////////////////////////////////
// Dependencies
// //////////////////////////////////////////////////////////////