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 2017/01/19 11:25:28 UTC
isis git commit: ISIS-785: huzzah... can now invoke actions also with
a collection of objects.
Repository: isis
Updated Branches:
refs/heads/maint-1.13.3 fadb7ec78 -> d62089eb7
ISIS-785: huzzah... can now invoke actions also with a collection of objects.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/d62089eb
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/d62089eb
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/d62089eb
Branch: refs/heads/maint-1.13.3
Commit: d62089eb7cd875192665ac76a1c8c23e4e618d80
Parents: fadb7ec
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Jan 19 11:25:18 2017 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Jan 19 11:25:18 2017 +0000
----------------------------------------------------------------------
.../model/mementos/ObjectAdapterMemento.java | 16 ++-----
.../viewer/wicket/model/models/EntityModel.java | 2 +-
.../models/ScalarModelWithMultiPending.java | 50 --------------------
.../scalars/reference/ReferencePanel.java | 12 ++---
.../components/scalars/reference/Select2.java | 34 +++++--------
5 files changed, 25 insertions(+), 89 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/d62089eb/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/mementos/ObjectAdapterMemento.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/mementos/ObjectAdapterMemento.java b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/mementos/ObjectAdapterMemento.java
index d6d820e..3b7505e 100644
--- a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/mementos/ObjectAdapterMemento.java
+++ b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/mementos/ObjectAdapterMemento.java
@@ -89,9 +89,10 @@ public class ObjectAdapterMemento implements Serializable {
@Override
public ObjectAdapter asAdapter(
final ObjectAdapterMemento oam,
+ final ConcurrencyChecking concurrencyChecking,
final PersistenceSession persistenceSession,
final SpecificationLoader specificationLoader) {
- return oam.getObjectAdapter(ConcurrencyChecking.CHECK, persistenceSession, specificationLoader);
+ return oam.type.getAdapter(oam, concurrencyChecking, persistenceSession, specificationLoader);
}
@Override
@@ -124,7 +125,7 @@ public class ObjectAdapterMemento implements Serializable {
@Override
public ObjectAdapter asAdapter(
final ObjectAdapterMemento oam,
- final PersistenceSession persistenceSession,
+ final ConcurrencyChecking concurrencyChecking, final PersistenceSession persistenceSession,
final SpecificationLoader specificationLoader) {
final List<Object> listOfPojos =
Lists.newArrayList(
@@ -167,7 +168,7 @@ public class ObjectAdapterMemento implements Serializable {
public abstract ObjectAdapter asAdapter(
final ObjectAdapterMemento oam,
- final PersistenceSession persistenceSession,
+ final ConcurrencyChecking concurrencyChecking, final PersistenceSession persistenceSession,
final SpecificationLoader specificationLoader);
public abstract int hashCode(final ObjectAdapterMemento oam);
@@ -446,12 +447,6 @@ public class ObjectAdapterMemento implements Serializable {
return list;
}
- public ObjectAdapter asAdapter(
- final PersistenceSession persistenceSession,
- final SpecificationLoader specificationLoader) {
- return sort.asAdapter(this, persistenceSession, specificationLoader);
- }
-
public void resetVersion(
final PersistenceSession persistenceSession,
@@ -480,8 +475,7 @@ public class ObjectAdapterMemento implements Serializable {
final ConcurrencyChecking concurrencyChecking,
final PersistenceSession persistenceSession,
final SpecificationLoader specificationLoader) {
- ensureScalar();
- return type.getAdapter(this, concurrencyChecking, persistenceSession, specificationLoader);
+ return sort.asAdapter(this, concurrencyChecking, persistenceSession, specificationLoader);
}
/**
http://git-wip-us.apache.org/repos/asf/isis/blob/d62089eb/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
index 74c1c3a..d9692df 100644
--- a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
+++ b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
@@ -361,7 +361,7 @@ public class EntityModel extends BookmarkableModel<ObjectAdapter> implements UiH
final ObjectAdapterMemento memento,
final PersistenceSession persistenceSession,
final SpecificationLoader specificationLoader) {
- super.setObject(memento.asAdapter(persistenceSession, specificationLoader));
+ super.setObject(memento.getObjectAdapter(ConcurrencyChecking.CHECK, persistenceSession, specificationLoader));
adapterMemento = memento;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/d62089eb/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModelWithMultiPending.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModelWithMultiPending.java b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModelWithMultiPending.java
index 1a824cc..9ada5fd 100644
--- a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModelWithMultiPending.java
+++ b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModelWithMultiPending.java
@@ -18,19 +18,11 @@ package org.apache.isis.viewer.wicket.model.models;
import java.io.Serializable;
import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import com.google.common.collect.FluentIterable;
-import com.google.common.collect.Lists;
import org.apache.wicket.model.Model;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-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.collections.modify.CollectionFacet;
import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
import org.apache.isis.viewer.wicket.model.mementos.ObjectAdapterMemento;
@@ -101,47 +93,5 @@ public interface ScalarModelWithMultiPending extends Serializable {
};
}
- public static ObjectAdapter toAdapter(
- final ArrayList<ObjectAdapterMemento> ownerPending,
- final PersistenceSession persistenceSession,
- final SpecificationLoader specificationLoader) {
- final ArrayList<Object> listOfPojos = Lists
- .newArrayList(FluentIterable.from(ownerPending).transform(
- ObjectAdapterMemento.Functions
- .toPojo(persistenceSession, specificationLoader))
- .toList());
- return persistenceSession.adapterFor(listOfPojos);
- }
-
- public static ArrayList<ObjectAdapterMemento> asMementoList(
- final ObjectAdapterMemento objectAdapterMemento,
- final PersistenceSession persistenceSession,
- final SpecificationLoader specificationLoader) {
-
- if(objectAdapterMemento == null) {
- return Lists.newArrayList();
- }
-
- final ObjectAdapter objectAdapter = objectAdapterMemento.getObjectAdapter(ConcurrencyChecking.NO_CHECK,
- persistenceSession, specificationLoader);
- if(objectAdapter == null) {
- return Lists.newArrayList();
- }
-
- final List<ObjectAdapter> objectAdapters = CollectionFacet.Utils.convertToAdapterList(objectAdapter);
-
- return Lists.newArrayList(
- FluentIterable.from(objectAdapters)
- .transform(ObjectAdapterMemento.Functions.fromAdapter())
- .toList());
- }
-
- public static ObjectAdapterMemento toAdapterMemento(
- final Collection<ObjectAdapterMemento> modelObject,
- final PersistenceSession persistenceSession,
- final SpecificationLoader specificationLoader) {
-
- return ObjectAdapterMemento.createForList(modelObject);
- }
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/d62089eb/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
index d23e63f..b0d009f 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
@@ -383,12 +383,12 @@ public class ReferencePanel extends ScalarPanelAbstract {
// called by setProviderAndCurrAndPending
private void resetIfCurrentNotInChoices(final Select2 select2, final List<ObjectAdapterMemento> choiceMementos) {
- final ObjectAdapterMemento curr = select2.getModelObject(getPersistenceSession(), getSpecificationLoader());
+ final ObjectAdapterMemento curr = select2.getModelObject();
if(!getModel().isCollection()) {
if(curr == null) {
- select2.getModel(getPersistenceSession(), getSpecificationLoader()).setObject(null);
+ select2.getModel().setObject(null);
getModel().setObject(null);
return;
}
@@ -396,11 +396,11 @@ public class ReferencePanel extends ScalarPanelAbstract {
if(!curr.containedIn(choiceMementos, getPersistenceSession(), getSpecificationLoader())) {
if(!choiceMementos.isEmpty() && autoSelect()) {
final ObjectAdapterMemento newAdapterMemento = choiceMementos.get(0);
- select2.getModel(getPersistenceSession(), getSpecificationLoader()).setObject(newAdapterMemento);
+ select2.getModel().setObject(newAdapterMemento);
getModel().setObject(newAdapterMemento.getObjectAdapter(ConcurrencyChecking.NO_CHECK,
getPersistenceSession(), getSpecificationLoader()));
} else {
- select2.getModel(getPersistenceSession(), getSpecificationLoader()).setObject(null);
+ select2.getModel().setObject(null);
getModel().setObject(null);
}
}
@@ -490,11 +490,11 @@ public class ReferencePanel extends ScalarPanelAbstract {
// flush changes to pending
ObjectAdapterMemento convertedInput =
- select2.getConvertedInput(getPersistenceSession(), getSpecificationLoader());
+ select2.getConvertedInput();
getModel().setPending(convertedInput);
if(select2 != null) {
- select2.getModel(getPersistenceSession(), getSpecificationLoader()).setObject(convertedInput);
+ select2.getModel().setObject(convertedInput);
}
final ObjectAdapter adapter = convertedInput!=null?convertedInput.getObjectAdapter(ConcurrencyChecking.NO_CHECK,
http://git-wip-us.apache.org/repos/asf/isis/blob/d62089eb/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/Select2.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/Select2.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/Select2.java
index e650d3b..d82773c 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/Select2.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/Select2.java
@@ -30,10 +30,7 @@ import org.wicketstuff.select2.Select2Choice;
import org.wicketstuff.select2.Select2MultiChoice;
import org.wicketstuff.select2.Settings;
-import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
-import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
import org.apache.isis.viewer.wicket.model.mementos.ObjectAdapterMemento;
-import org.apache.isis.viewer.wicket.model.models.ScalarModelWithMultiPending;
public class Select2 implements Serializable {
@@ -90,28 +87,24 @@ public class Select2 implements Serializable {
select2MultiChoice.setProvider(providerForChoices);
}
- public ObjectAdapterMemento getModelObject(
- final PersistenceSession persistenceSession,
- final SpecificationLoader specificationLoader) {
+ public ObjectAdapterMemento getModelObject() {
if (select2Choice != null) {
return select2Choice.getModelObject();
} else {
final Collection<ObjectAdapterMemento> modelObject = select2MultiChoice.getModelObject();
- return ScalarModelWithMultiPending.Util
- .toAdapterMemento(modelObject, persistenceSession, specificationLoader);
+
+ return ObjectAdapterMemento.createForList(modelObject);
}
}
- public IModel<ObjectAdapterMemento> getModel(
- final PersistenceSession persistenceSession,
- final SpecificationLoader specificationLoader) {
+ public IModel<ObjectAdapterMemento> getModel() {
if (select2Choice != null) {
return select2Choice.getModel();
} else {
final IModel<Collection<ObjectAdapterMemento>> model = select2MultiChoice.getModel();
final Collection<ObjectAdapterMemento> modelObject = model.getObject();
- final ObjectAdapterMemento memento = ScalarModelWithMultiPending.Util
- .toAdapterMemento(modelObject, persistenceSession, specificationLoader);
+
+ final ObjectAdapterMemento memento = ObjectAdapterMemento.createForList(modelObject);
return new IModel<ObjectAdapterMemento>() {
@Override
public ObjectAdapterMemento getObject() {
@@ -120,26 +113,25 @@ public class Select2 implements Serializable {
@Override
public void setObject(final ObjectAdapterMemento memento) {
- final ArrayList<ObjectAdapterMemento> mementos = ScalarModelWithMultiPending.Util
- .asMementoList(memento, persistenceSession, specificationLoader);
+
+ final ArrayList<ObjectAdapterMemento> mementos = memento.getList();
model.setObject(mementos);
}
- @Override public void detach() {
-
+ @Override
+ public void detach() {
}
};
}
}
- public ObjectAdapterMemento getConvertedInput(
- final PersistenceSession persistenceSession,
- final SpecificationLoader specificationLoader) {
+ public ObjectAdapterMemento getConvertedInput() {
if (select2Choice != null) {
return select2Choice.getConvertedInput();
} else {
final Collection<ObjectAdapterMemento> convertedInput = select2MultiChoice.getConvertedInput();
- return ScalarModelWithMultiPending.Util.toAdapterMemento(convertedInput, persistenceSession, specificationLoader);
+
+ return ObjectAdapterMemento.createForList(convertedInput);
}
}
}