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 2016/06/10 15:36:27 UTC
[10/12] isis git commit: ISIS-1427: completes rationalization for
minimizing calls to IsisContext#getIsisSessionFactory static.
http://git-wip-us.apache.org/repos/asf/isis/blob/95c3ecc1/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/bulk/BulkActionsLinkFactory.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/bulk/BulkActionsLinkFactory.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/bulk/BulkActionsLinkFactory.java
index 340e202..7e5b744 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/bulk/BulkActionsLinkFactory.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/bulk/BulkActionsLinkFactory.java
@@ -37,7 +37,6 @@ import org.apache.isis.applib.services.command.Command.Executor;
import org.apache.isis.applib.services.command.CommandContext;
import org.apache.isis.applib.services.xactn.TransactionService;
import org.apache.isis.core.commons.authentication.AuthenticationSession;
-import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
import org.apache.isis.core.commons.authentication.MessageBroker;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager.ConcurrencyChecking;
@@ -45,6 +44,8 @@ import org.apache.isis.core.metamodel.adapter.version.ConcurrencyException;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.services.ServicesInjector;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
+import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
import org.apache.isis.core.runtime.system.session.IsisSessionFactory;
import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
import org.apache.isis.viewer.wicket.model.mementos.ActionMemento;
@@ -84,7 +85,7 @@ public final class BulkActionsLinkFactory implements ActionLinkFactory {
@Override
public void onClick() {
- final ObjectAction objectAction = actionMemento.getAction();
+ final ObjectAction objectAction = actionMemento.getAction(getSpecificationLoader());
final ConcurrencyChecking concurrencyChecking =
ConcurrencyChecking.concurrencyCheckingFor(objectAction.getSemantics());
@@ -93,8 +94,10 @@ public final class BulkActionsLinkFactory implements ActionLinkFactory {
final List<ObjectAdapter> toggledAdapters =
FluentIterable.from(toggleMementosList)
- .transform(ObjectAdapterMemento.Functions.fromMemento(concurrencyChecking))
- .toList();
+ .transform(
+ ObjectAdapterMemento.Functions.fromMemento(
+ concurrencyChecking, getPersistenceSession(), getSpecificationLoader()))
+ .toList();
final List<Object> domainObjects = Lists.newArrayList(Iterables.transform(toggledAdapters, ObjectAdapter.Functions.getObject()));
@@ -148,7 +151,7 @@ public final class BulkActionsLinkFactory implements ActionLinkFactory {
model.clearToggleMementosList();
toggleboxColumn.clearToggles();
final ActionModel actionModel = model.getActionModelHint();
- if(actionModel != null && actionModel.getActionMemento().getAction().getSemantics().isIdempotentInNature()) {
+ if(actionModel != null && actionModel.getActionMemento().getAction(getSpecificationLoader()).getSemantics().isIdempotentInNature()) {
ObjectAdapter resultAdapter = actionModel.getObject();
model.setObjectList(resultAdapter);
} else {
@@ -190,7 +193,7 @@ public final class BulkActionsLinkFactory implements ActionLinkFactory {
final List<ObjectAdapterMemento> toggleMementosList = Lists.newArrayList(model.getToggleMementosList());
for (ObjectAdapterMemento oam : toggleMementosList) {
// just requesting the adapter will sync the OAM's version with the objectstore
- oam.getObjectAdapter(ConcurrencyChecking.NO_CHECK);
+ oam.getObjectAdapter(ConcurrencyChecking.NO_CHECK, getPersistenceSession(), getSpecificationLoader());
}
// discard any adapters that might have been deleted
@@ -200,7 +203,8 @@ public final class BulkActionsLinkFactory implements ActionLinkFactory {
final List<ObjectAdapter> adapters = model.getObject();
model.clearToggleMementosList();
for (ObjectAdapterMemento oam : toggleMementosList) {
- final ObjectAdapter objectAdapter = oam.getObjectAdapter(ConcurrencyChecking.NO_CHECK);
+ final ObjectAdapter objectAdapter = oam.getObjectAdapter(ConcurrencyChecking.NO_CHECK,
+ getPersistenceSession(), getSpecificationLoader());
if(adapters.contains(objectAdapter)) {
// in case it has been deleted...
model.toggleSelectionOn(objectAdapter);
@@ -231,8 +235,16 @@ public final class BulkActionsLinkFactory implements ActionLinkFactory {
// Dependencies (from context)
///////////////////////////////////////////////////////
+ SpecificationLoader getSpecificationLoader() {
+ return getIsisSessionFactory().getSpecificationLoader();
+ }
+
+ PersistenceSession getPersistenceSession() {
+ return getIsisSessionFactory().getCurrentSession().getPersistenceSession();
+ }
+
public AuthenticationSession getAuthenticationSession() {
- return getServicesInjector().lookupService(AuthenticationSessionProvider.class).getAuthenticationSession();
+ return getServicesInjector().getAuthenticationSession();
}
protected MessageBroker getMessageBroker() {
http://git-wip-us.apache.org/repos/asf/isis/blob/95c3ecc1/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorHelper.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorHelper.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorHelper.java
index a105aa3..6fa6842 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorHelper.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorHelper.java
@@ -133,7 +133,7 @@ public class CollectionSelectorHelper implements Serializable {
// else @CollectionLayout#defaultView attribute
if (hasDefaultViewFacet(model)) {
- DefaultViewFacet defaultViewFacet = model.getCollectionMemento().getCollection().getFacet(DefaultViewFacet.class);
+ DefaultViewFacet defaultViewFacet = model.getCollectionMemento().getCollection(model.getSpecificationLoader()).getFacet(DefaultViewFacet.class);
for (ComponentFactory componentFactory : componentFactories) {
final String componentName = componentFactory.getName();
final String viewName = defaultViewFacet.value();
@@ -193,7 +193,7 @@ public class CollectionSelectorHelper implements Serializable {
}
final OneToManyAssociation collection =
- entityCollectionModel.getCollectionMemento().getCollection();
+ entityCollectionModel.getCollectionMemento().getCollection(entityCollectionModel.getSpecificationLoader());
RenderFacet renderFacet = collection.getFacet(RenderFacet.class);
return renderFacet != null && renderFacet.value() == Render.Type.EAGERLY;
}
@@ -205,7 +205,7 @@ public class CollectionSelectorHelper implements Serializable {
}
final OneToManyAssociation collection =
- entityCollectionModel.getCollectionMemento().getCollection();
+ entityCollectionModel.getCollectionMemento().getCollection(entityCollectionModel.getSpecificationLoader());
DefaultViewFacet defaultViewFacet = collection.getFacet(DefaultViewFacet.class);
return defaultViewFacet != null;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/95c3ecc1/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java
index 62a0e1d..ece85d6 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java
@@ -173,7 +173,8 @@ public class CollectionContentsAsAjaxTablePanel
final ObjectSpecification parentSpecIfAny =
getModel().isParented()
- ? getModel().getParentObjectAdapterMemento().getObjectAdapter(ConcurrencyChecking.NO_CHECK).getSpecification()
+ ? getModel().getParentObjectAdapterMemento().getObjectAdapter(ConcurrencyChecking.NO_CHECK,
+ getPersistenceSession(), getSpecificationLoader()).getSpecification()
: null;
@SuppressWarnings("unchecked")
http://git-wip-us.apache.org/repos/asf/isis/blob/95c3ecc1/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.java
index 835ff8f..20eb1d9 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.java
@@ -96,7 +96,8 @@ public class EntityCollectionPanel extends PanelAbstract<EntityModel> implements
CssClassAppender.appendCssClassTo(div, entityCollectionModel.getCollectionMemento().getId());
CssClassAppender.appendCssClassTo(div, entityCollectionModel.getTypeOfSpecification().getFullIdentifier().replace('.','-'));
- final OneToManyAssociation association = entityCollectionModel.getCollectionMemento().getCollection();
+ final OneToManyAssociation association = entityCollectionModel.getCollectionMemento().getCollection(
+ entityCollectionModel.getSpecificationLoader());
final ObjectAdapter objectAdapter = getModel().getObject();
final Consent visibility = association.isVisible(objectAdapter, InteractionInitiatedBy.USER, Where.OBJECT_FORMS);
http://git-wip-us.apache.org/repos/asf/isis/blob/95c3ecc1/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.java
index 9816a42..2fefb31 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.java
@@ -175,7 +175,8 @@ public class EntityIconAndTitlePanel extends PanelAbstract<EntityModel> {
public ObjectAdapter getContextAdapterIfAny() {
EntityModel model = getModel();
ObjectAdapterMemento contextAdapterMementoIfAny = model.getContextAdapterIfAny();
- return contextAdapterMementoIfAny != null? contextAdapterMementoIfAny.getObjectAdapter(ConcurrencyChecking.NO_CHECK): null;
+ return contextAdapterMementoIfAny != null? contextAdapterMementoIfAny.getObjectAdapter(ConcurrencyChecking.NO_CHECK,
+ model.getPersistenceSession(), model.getSpecificationLoader()): null;
}
static String abbreviated(final String str, final int maxLength) {
http://git-wip-us.apache.org/repos/asf/isis/blob/95c3ecc1/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditPanel.java
index b7a320d..5570903 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditPanel.java
@@ -96,14 +96,15 @@ public class PropertyEditPanel extends PanelAbstract<ScalarModel>
ObjectAdapter targetAdapter = null;
try {
targetAdapter = scalarModel.getParentObjectAdapterMemento()
- .getObjectAdapter(AdapterManager.ConcurrencyChecking.CHECK);
+ .getObjectAdapter(AdapterManager.ConcurrencyChecking.CHECK, scalarModel.getPersistenceSession(),
+ scalarModel.getSpecificationLoader());
scalarModel.toEditMode();
getComponentFactoryRegistry().addOrReplaceComponent(this, ComponentType.PROPERTY_EDIT_FORM, getScalarModel());
getComponentFactoryRegistry().addOrReplaceComponent(header, ComponentType.ENTITY_ICON_AND_TITLE, new EntityModel(targetAdapter));
- final OneToOneAssociation property = getScalarModel().getPropertyMemento().getProperty();
+ final OneToOneAssociation property = getScalarModel().getPropertyMemento().getProperty(scalarModel.getSpecificationLoader());
final String propertyName = property.getName();
final Label label = new Label(ID_PROPERTY_NAME, Model.of(propertyName));
@@ -120,7 +121,8 @@ public class PropertyEditPanel extends PanelAbstract<ScalarModel>
// been updated in the attempt
if (targetAdapter == null) {
targetAdapter = scalarModel.getParentObjectAdapterMemento()
- .getObjectAdapter(AdapterManager.ConcurrencyChecking.CHECK);
+ .getObjectAdapter(AdapterManager.ConcurrencyChecking.CHECK, getPersistenceSession(),
+ getSpecificationLoader());
}
// page redirect/handling
@@ -156,7 +158,7 @@ public class PropertyEditPanel extends PanelAbstract<ScalarModel>
ObjectAdapter targetAdapter = null;
try {
targetAdapter = getModel().getParentObjectAdapterMemento().getObjectAdapter(
- AdapterManager.ConcurrencyChecking.CHECK);
+ AdapterManager.ConcurrencyChecking.CHECK, getModel().getPersistenceSession(), getSpecificationLoader());
// no concurrency exception, so continue...
return editTargetAndProcessResults(target, feedbackForm);
@@ -167,7 +169,8 @@ public class PropertyEditPanel extends PanelAbstract<ScalarModel>
// been updated in the attempt
if (targetAdapter == null) {
targetAdapter = getModel().getParentObjectAdapterMemento().getObjectAdapter(
- AdapterManager.ConcurrencyChecking.CHECK);
+ AdapterManager.ConcurrencyChecking.CHECK, getModel().getPersistenceSession(),
+ getSpecificationLoader());
}
// page redirect/handling
@@ -211,7 +214,8 @@ public class PropertyEditPanel extends PanelAbstract<ScalarModel>
// could be programmatic flushing, so must include in the try... finally
ObjectAdapter adapter = getScalarModel().getParentObjectAdapterMemento()
- .getObjectAdapter(AdapterManager.ConcurrencyChecking.CHECK);
+ .getObjectAdapter(AdapterManager.ConcurrencyChecking.CHECK, getPersistenceSession(),
+ getSpecificationLoader());
final ObjectAdapter objectAdapter = getScalarModel().applyValue(adapter);
// (borrowed some code previously in EntityModel)
http://git-wip-us.apache.org/repos/asf/isis/blob/95c3ecc1/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditPromptHeaderPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditPromptHeaderPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditPromptHeaderPanel.java
index 49c91bd..955abc2 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditPromptHeaderPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditPromptHeaderPanel.java
@@ -41,18 +41,19 @@ public class PropertyEditPromptHeaderPanel extends PanelAbstract<ScalarModel> {
super(id, model);
ObjectAdapter targetAdapter =
- model.getParentObjectAdapterMemento().getObjectAdapter(AdapterManager.ConcurrencyChecking.NO_CHECK);
+ model.getParentObjectAdapterMemento().getObjectAdapter(AdapterManager.ConcurrencyChecking.NO_CHECK,
+ getPersistenceSession(), getSpecificationLoader());
getComponentFactoryRegistry().addOrReplaceComponent(this, ComponentType.ENTITY_ICON_AND_TITLE, new EntityModel(targetAdapter));
final Label label = new Label(ID_PROPERTY_NAME, new AbstractReadOnlyModel<String>() {
@Override
public String getObject() {
- final OneToOneAssociation property = model.getPropertyMemento().getProperty();
+ final OneToOneAssociation property = model.getPropertyMemento().getProperty(getSpecificationLoader());
return property.getName();
}
});
- final OneToOneAssociation property = model.getPropertyMemento().getProperty();
+ final OneToOneAssociation property = model.getPropertyMemento().getProperty(getSpecificationLoader());
final NamedFacet namedFacet = property.getFacet(NamedFacet.class);
if(namedFacet != null) {
label.setEscapeModelStrings(namedFacet.escaped());
http://git-wip-us.apache.org/repos/asf/isis/blob/95c3ecc1/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
index 42a5e83..bf33953 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
@@ -43,6 +43,7 @@ import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager.ConcurrencyChecking;
import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
import org.apache.isis.core.metamodel.facets.objectvalue.labelat.LabelAtFacet;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
import org.apache.isis.viewer.wicket.model.models.ActionPrompt;
import org.apache.isis.viewer.wicket.model.models.ActionPromptProvider;
@@ -268,7 +269,8 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
ScalarModel model = getModel();
final CssClassFacet facet = model.getFacet(CssClassFacet.class);
if(facet != null) {
- final ObjectAdapter parentAdapter = model.getParentObjectAdapterMemento().getObjectAdapter(ConcurrencyChecking.NO_CHECK);
+ final ObjectAdapter parentAdapter = model.getParentObjectAdapterMemento().getObjectAdapter(ConcurrencyChecking.NO_CHECK,
+ getPersistenceSession(), getSpecificationLoader());
final String cssClass = facet.cssClass(parentAdapter);
CssClassAppender.appendCssClassTo(this, cssClass);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/95c3ecc1/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 4a353a0..0d65bc8 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
@@ -45,7 +45,6 @@ import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
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.core.runtime.system.context.IsisContext;
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;
@@ -369,11 +368,12 @@ public class ReferencePanel extends ScalarPanelAbstract {
return;
}
- if(!curr.containedIn(choiceMementos)) {
+ if(!curr.containedIn(choiceMementos, getPersistenceSession(), getSpecificationLoader())) {
if(!choiceMementos.isEmpty() && autoSelect()) {
final ObjectAdapterMemento newAdapterMemento = choiceMementos.get(0);
select2Field.getModel().setObject(newAdapterMemento);
- getModel().setObject(newAdapterMemento.getObjectAdapter(ConcurrencyChecking.NO_CHECK));
+ getModel().setObject(newAdapterMemento.getObjectAdapter(ConcurrencyChecking.NO_CHECK,
+ getPersistenceSession(), getSpecificationLoader()));
} else {
select2Field.getModel().setObject(null);
getModel().setObject(null);
@@ -465,7 +465,8 @@ public class ReferencePanel extends ScalarPanelAbstract {
select2Field.getModel().setObject(convertedInput);
}
- final ObjectAdapter adapter = convertedInput!=null?convertedInput.getObjectAdapter(ConcurrencyChecking.NO_CHECK):null;
+ final ObjectAdapter adapter = convertedInput!=null?convertedInput.getObjectAdapter(ConcurrencyChecking.NO_CHECK,
+ getPersistenceSession(), getSpecificationLoader()):null;
getModel().setObject(adapter);
}
@@ -526,9 +527,8 @@ public class ReferencePanel extends ScalarPanelAbstract {
@com.google.inject.Inject
private WicketViewerSettings wicketViewerSettings;
- // REVIEW: can't inject because IsisConfiguration not serializable.
IsisConfiguration getConfiguration() {
- return IsisContext.getSessionFactory().getConfiguration();
+ return getIsisSessionFactory().getConfiguration();
}
http://git-wip-us.apache.org/repos/asf/isis/blob/95c3ecc1/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.java
index dd9eb31..8f3332d 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.java
@@ -88,7 +88,7 @@ public class StandaloneCollectionPanel extends PanelAbstract<EntityCollectionMod
addOrReplace(outerDiv);
ActionModel actionModel = entityCollectionModel.getActionModelHint();
- ObjectAction action = actionModel.getActionMemento().getAction();
+ ObjectAction action = actionModel.getActionMemento().getAction(entityCollectionModel.getSpecificationLoader());
outerDiv.addOrReplace(new Label(StandaloneCollectionPanel.ID_ACTION_NAME, Model.of(action.getName())));
CssClassAppender.appendCssClassTo(outerDiv, action.getOnType().getFullIdentifier().replace('.', '-') + "_" + action.getId());
http://git-wip-us.apache.org/repos/asf/isis/blob/95c3ecc1/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/ObjectAdapterMementoProviderAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/ObjectAdapterMementoProviderAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/ObjectAdapterMementoProviderAbstract.java
index 20b3aa8..4eb77e6 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/ObjectAdapterMementoProviderAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/ObjectAdapterMementoProviderAbstract.java
@@ -19,16 +19,23 @@ 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 org.wicketstuff.select2.TextChoiceProvider;
+
import org.apache.wicket.Session;
import org.apache.wicket.util.convert.IConverter;
import org.apache.wicket.util.string.Strings;
+import org.wicketstuff.select2.TextChoiceProvider;
+
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.specloader.SpecificationLoader;
+import org.apache.isis.core.runtime.system.context.IsisContext;
+import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
+import org.apache.isis.core.runtime.system.session.IsisSessionFactory;
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;
@@ -55,7 +62,9 @@ public abstract class ObjectAdapterMementoProviderAbstract extends TextChoicePro
return NULL_DISPLAY_TEXT;
}
- final ObjectAdapter objectAdapter = choice.getObjectAdapter(ConcurrencyChecking.NO_CHECK);
+ final ObjectAdapter objectAdapter =
+ choice.getObjectAdapter(
+ ConcurrencyChecking.NO_CHECK, getPersistenceSession(), getSpecificationLoader());
final IConverter<Object> converter = findConverter(objectAdapter);
return converter != null
? converter.convertToString(objectAdapter.getObject(), getLocale())
@@ -102,7 +111,8 @@ public abstract class ObjectAdapterMementoProviderAbstract extends TextChoicePro
matches.addAll(choicesMementos);
} else {
for (ObjectAdapterMemento candidate : choicesMementos) {
- ObjectAdapter objectAdapter = candidate.getObjectAdapter(ConcurrencyChecking.NO_CHECK);
+ ObjectAdapter objectAdapter = candidate.getObjectAdapter(ConcurrencyChecking.NO_CHECK,
+ getPersistenceSession(), getSpecificationLoader());
String title = objectAdapter.titleString(objectAdapter);
if (title.toLowerCase().contains(term.toLowerCase())) {
matches.add(candidate);
@@ -132,4 +142,23 @@ public abstract class ObjectAdapterMementoProviderAbstract extends TextChoicePro
protected ScalarModel getScalarModel() {
return scalarModel;
}
+
+
+ ///////////////////////////////////////////////////////
+ // Dependencies (from context)
+ ///////////////////////////////////////////////////////
+
+
+ protected SpecificationLoader getSpecificationLoader() {
+ return getIsisSessionFactory().getSpecificationLoader();
+ }
+
+ PersistenceSession getPersistenceSession() {
+ return getIsisSessionFactory().getCurrentSession().getPersistenceSession();
+ }
+
+ private IsisSessionFactory getIsisSessionFactory() {
+ return IsisContext.getSessionFactory();
+ }
+
}
http://git-wip-us.apache.org/repos/asf/isis/blob/95c3ecc1/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbModel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbModel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbModel.java
index 55fd1ae..599211e 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbModel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbModel.java
@@ -98,7 +98,8 @@ public class BreadcrumbModel implements Serializable {
}
public String titleFor(final EntityModel model) {
- return model.getObjectAdapterMemento().getObjectAdapter(AdapterManager.ConcurrencyChecking.NO_CHECK).titleString(null);
+ return model.getObjectAdapterMemento().getObjectAdapter(AdapterManager.ConcurrencyChecking.NO_CHECK,
+ model.getPersistenceSession(), model.getSpecificationLoader()).titleString(null);
}
public EntityModel lookup(final String oidStr) {
http://git-wip-us.apache.org/repos/asf/isis/blob/95c3ecc1/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/formcomponent/FormComponentPanelAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/formcomponent/FormComponentPanelAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/formcomponent/FormComponentPanelAbstract.java
index 3025ad5..fad497c 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/formcomponent/FormComponentPanelAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/formcomponent/FormComponentPanelAbstract.java
@@ -19,19 +19,14 @@
package org.apache.isis.viewer.wicket.ui.components.widgets.formcomponent;
-import java.util.List;
-
import org.apache.wicket.Component;
import org.apache.wicket.MarkupContainer;
import org.apache.wicket.markup.html.form.FormComponent;
import org.apache.wicket.markup.html.form.FormComponentPanel;
import org.apache.wicket.model.IModel;
-import org.apache.isis.core.commons.authentication.AuthenticationSession;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
+import org.apache.isis.core.runtime.system.session.IsisSessionFactory;
import org.apache.isis.viewer.wicket.model.hints.UiHintContainer;
import org.apache.isis.viewer.wicket.ui.ComponentType;
import org.apache.isis.viewer.wicket.ui.app.registry.ComponentFactoryRegistry;
@@ -125,31 +120,6 @@ public abstract class FormComponentPanelAbstract<T> extends FormComponentPanel<T
return cfra.getComponentFactoryRegistry();
}
- /**
- * The underlying {@link AuthenticationSession Isis session} wrapped in the
- * {@link #getWebSession() Wicket session}.
- *
- * @return
- */
- public AuthenticationSession getAuthenticationSession() {
- return IsisContext.getSessionFactory().getCurrentSession().getAuthenticationSession();
- }
-
- public DeploymentCategory getDeploymentCategory() {
- return IsisContext.getSessionFactory().getDeploymentCategory();
- }
-
- // ///////////////////////////////////////////////////////////////////
- // Dependencies (from IsisContext)
- // ///////////////////////////////////////////////////////////////////
-
- public PersistenceSession getPersistenceSession() {
- return IsisContext.getSessionFactory().getCurrentSession().getPersistenceSession();
- }
-
- protected List<ObjectAdapter> getServices() {
- return getPersistenceSession().getServices();
- }
}
http://git-wip-us.apache.org/repos/asf/isis/blob/95c3ecc1/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
index dcf12bd..172069e 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
@@ -273,7 +273,10 @@ public class ValueChoicesSelect2Panel extends ScalarPanelAbstract implements Sca
: null;
select2Field.getModel().setObject(newAdapterMemento);
getModel().setObject(
- newAdapterMemento != null? newAdapterMemento.getObjectAdapter(ConcurrencyChecking.NO_CHECK): null);
+ newAdapterMemento != null
+ ? newAdapterMemento.getObjectAdapter(
+ ConcurrencyChecking.NO_CHECK, getPersistenceSession(), getSpecificationLoader())
+ : null);
}
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/95c3ecc1/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/EmailAvailableValidator.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/EmailAvailableValidator.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/EmailAvailableValidator.java
index 697df6d..6e19fe5 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/EmailAvailableValidator.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/EmailAvailableValidator.java
@@ -44,7 +44,7 @@ public class EmailAvailableValidator implements IValidator<String> {
@Override
public void validate(final IValidatable<String> validatable) {
- getSessionFactory().doInSession(new Runnable() {
+ getIsisSessionFactory().doInSession(new Runnable() {
@Override
public void run() {
UserRegistrationService userRegistrationService = getServicesInjector().lookupService(UserRegistrationService.class);
@@ -57,10 +57,10 @@ public class EmailAvailableValidator implements IValidator<String> {
});
}ServicesInjector getServicesInjector() {
- return getSessionFactory().getServicesInjector();
+ return getIsisSessionFactory().getServicesInjector();
}
- IsisSessionFactory getSessionFactory() {
+ IsisSessionFactory getIsisSessionFactory() {
return IsisContext.getSessionFactory();
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/95c3ecc1/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/register/RegisterPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/register/RegisterPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/register/RegisterPanel.java
index a7da922..de9c583 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/register/RegisterPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/register/RegisterPanel.java
@@ -95,7 +95,7 @@ public abstract class RegisterPanel extends GenericPanel<UserDetails> {
/**
* Register user form.
*/
- private static class RegisterForm extends StatelessForm<UserDetails>
+ private class RegisterForm extends StatelessForm<UserDetails>
{
private static final long serialVersionUID = 1L;
@@ -124,13 +124,13 @@ public abstract class RegisterPanel extends GenericPanel<UserDetails> {
{
final UserDetails userDetails = getModelObject();
- getSessionFactory().doInSession(new Runnable() {
+ getIsisSessionFactory().doInSession(new Runnable() {
@Override
public void run() {
- final UserRegistrationService userRegistrationService = getSessionFactory()
+ final UserRegistrationService userRegistrationService = getIsisSessionFactory()
.getServicesInjector().lookupService(UserRegistrationService.class);
- getSessionFactory().getCurrentSession().getPersistenceSession().getTransactionManager()
+ getIsisSessionFactory().getCurrentSession().getPersistenceSession().getTransactionManager()
.executeWithinTransaction(new TransactionalClosure() {
@Override
public void execute() {
@@ -161,10 +161,6 @@ public abstract class RegisterPanel extends GenericPanel<UserDetails> {
}
}
- static IsisSessionFactory getSessionFactory() {
- return IsisContext.getSessionFactory();
- }
-
protected TextField<String> newEmailField(final UserDetails userDetails) {
// use readonly-ish model to prevent changing the email with manual form submits
TextField<String> emailField = new TextField<>(ID_EMAIL, new Model<String>() {
@@ -199,4 +195,9 @@ public abstract class RegisterPanel extends GenericPanel<UserDetails> {
usernameFormGroup.add(username);
return usernameFormGroup;
}
+
+ IsisSessionFactory getIsisSessionFactory() {
+ return IsisContext.getSessionFactory();
+ }
+
}
http://git-wip-us.apache.org/repos/asf/isis/blob/95c3ecc1/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/actionprompt/ActionPromptPage.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/actionprompt/ActionPromptPage.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/actionprompt/ActionPromptPage.java
index 66d27ff..cfeb59e 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/actionprompt/ActionPromptPage.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/actionprompt/ActionPromptPage.java
@@ -23,6 +23,7 @@ import org.apache.wicket.Component;
import org.apache.wicket.authroles.authorization.strategies.role.annotations.AuthorizeInstantiation;
import org.apache.wicket.request.mapper.parameter.PageParameters;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.viewer.wicket.model.models.ActionModel;
import org.apache.isis.viewer.wicket.ui.ComponentType;
import org.apache.isis.viewer.wicket.ui.pages.PageAbstract;
@@ -39,7 +40,7 @@ public class ActionPromptPage extends PageAbstract {
* For use with {@link Component#setResponsePage(org.apache.wicket.Page)}
*/
public ActionPromptPage(final ActionModel model) {
- super(new PageParameters(), model.getActionMemento().getAction().getName(), ComponentType.ACTION_PROMPT);
+ super(new PageParameters(), model.getActionMemento().getAction(model.getSpecificationLoader()).getName(), ComponentType.ACTION_PROMPT);
addChildComponents(themeDiv, model);
if(model.isBookmarkable()) {
@@ -48,19 +49,21 @@ public class ActionPromptPage extends PageAbstract {
addBookmarkedPages(themeDiv);
}
- public ActionPromptPage(final PageParameters pageParameters) {
- this(pageParameters, buildModel(pageParameters));
+ public ActionPromptPage(final PageParameters pageParameters, final SpecificationLoader specificationLoader) {
+ this(pageParameters, buildModel(pageParameters, specificationLoader));
}
public ActionPromptPage(final PageParameters pageParameters, final ActionModel model) {
- super(pageParameters, model.getActionMemento().getAction().getName(), ComponentType.ACTION_PROMPT);
+ super(pageParameters, model.getActionMemento().getAction(model.getSpecificationLoader()).getName(), ComponentType.ACTION_PROMPT);
addChildComponents(themeDiv, model);
// no need to bookmark because the ActionPanel will have done so for us
addBookmarkedPages(themeDiv);
}
- private static ActionModel buildModel(final PageParameters pageParameters) {
- return ActionModel.createForPersistent(pageParameters);
+ private static ActionModel buildModel(
+ final PageParameters pageParameters,
+ final SpecificationLoader specificationLoader) {
+ return ActionModel.createForPersistent(pageParameters, specificationLoader);
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/95c3ecc1/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/mmverror/MmvErrorPage.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/mmverror/MmvErrorPage.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/mmverror/MmvErrorPage.java
index 4cda181..b8e72ce 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/mmverror/MmvErrorPage.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/mmverror/MmvErrorPage.java
@@ -131,8 +131,10 @@ public class MmvErrorPage extends WebPage {
// ///////////////////////////////////////////////////
protected IsisConfiguration getConfiguration() {
- return getSessionFactory().getConfiguration();
- }IsisSessionFactory getSessionFactory() {
+ return getIsisSessionFactory().getConfiguration();
+ }
+
+ IsisSessionFactory getIsisSessionFactory() {
return IsisContext.getSessionFactory();
}
http://git-wip-us.apache.org/repos/asf/isis/blob/95c3ecc1/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/standalonecollection/StandaloneCollectionPage.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/standalonecollection/StandaloneCollectionPage.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/standalonecollection/StandaloneCollectionPage.java
index 4bbc61e..9c634c8 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/standalonecollection/StandaloneCollectionPage.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/standalonecollection/StandaloneCollectionPage.java
@@ -49,7 +49,7 @@ public class StandaloneCollectionPage extends PageAbstract {
private static String actionNameFrom(final EntityCollectionModel model) {
ActionModel actionModel = model.getActionModelHint();
if(actionModel != null) {
- return actionModel.getActionMemento().getAction().getName();
+ return actionModel.getActionMemento().getAction(actionModel.getSpecificationLoader()).getName();
}
return "Results"; // fallback, probably not required because hint should always exist on the model.
}
http://git-wip-us.apache.org/repos/asf/isis/blob/95c3ecc1/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/value/ValuePage.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/value/ValuePage.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/value/ValuePage.java
index 58e991c..b9fb447 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/value/ValuePage.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/value/ValuePage.java
@@ -62,7 +62,7 @@ public class ValuePage extends PageAbstract {
private static String actionNameFrom(final ValueModel valueModel) {
ActionModel actionModel = valueModel.getActionModelHint();
if(actionModel != null) {
- return actionModel.getActionMemento().getAction().getName();
+ return actionModel.getActionMemento().getAction(valueModel.getSpecificationLoader()).getName();
}
return "Results"; // fallback, probably not required because hint should always exist on the model.
}
http://git-wip-us.apache.org/repos/asf/isis/blob/95c3ecc1/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/voidreturn/VoidReturnPage.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/voidreturn/VoidReturnPage.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/voidreturn/VoidReturnPage.java
index a396d88..e69936d 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/voidreturn/VoidReturnPage.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/voidreturn/VoidReturnPage.java
@@ -54,7 +54,7 @@ public class VoidReturnPage extends PageAbstract {
private static String actionNameFrom(final VoidModel model) {
ActionModel actionModel = model.getActionModelHint();
if(actionModel != null) {
- return actionModel.getActionMemento().getAction().getName();
+ return actionModel.getActionMemento().getAction(model.getSpecificationLoader()).getName();
}
return "Results"; // fallback, probably not required because hint should always exist on the model.
}
http://git-wip-us.apache.org/repos/asf/isis/blob/95c3ecc1/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java
index eb936c0..bf27fcd 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java
@@ -29,6 +29,7 @@ import org.apache.isis.applib.services.i18n.TranslationService;
import org.apache.isis.core.commons.authentication.AuthenticationSession;
import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
import org.apache.isis.core.metamodel.services.ServicesInjector;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.core.runtime.system.IsisSystem;
import org.apache.isis.core.runtime.system.context.IsisContext;
import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
@@ -202,6 +203,10 @@ public abstract class PanelAbstract<T extends IModel<?>> extends Panel
return getIsisSessionFactory().getCurrentSession().getPersistenceSession();
}
+ public SpecificationLoader getSpecificationLoader() {
+ return getIsisSessionFactory().getSpecificationLoader();
+ }
+
protected ServicesInjector getServicesInjector() {
return getIsisSessionFactory().getServicesInjector();
}
@@ -211,4 +216,5 @@ public abstract class PanelAbstract<T extends IModel<?>> extends Panel
}
+
}