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/03/13 14:08:47 UTC

isis git commit: ISIS-1081, ISIS-1006 Use GuiceBeanProvider to get the configured PageClassRegistry

Repository: isis
Updated Branches:
  refs/heads/master 946e4404d -> d11ab3f45


ISIS-1081, ISIS-1006 Use GuiceBeanProvider to get the configured PageClassRegistry


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/d11ab3f4
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/d11ab3f4
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/d11ab3f4

Branch: refs/heads/master
Commit: d11ab3f4541a8d5f35d153bba78af3ed663b636c
Parents: 946e440
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Fri Mar 13 15:08:14 2015 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Fri Mar 13 15:08:14 2015 +0200

----------------------------------------------------------------------
 .../viewer/services/DeepLinkServiceWicket.java  | 21 ++++++--------------
 1 file changed, 6 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/d11ab3f4/core/viewer-wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/services/DeepLinkServiceWicket.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/services/DeepLinkServiceWicket.java b/core/viewer-wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/services/DeepLinkServiceWicket.java
index 5296b7e..143d796 100644
--- a/core/viewer-wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/services/DeepLinkServiceWicket.java
+++ b/core/viewer-wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/services/DeepLinkServiceWicket.java
@@ -18,6 +18,7 @@
  */
 package org.apache.isis.viewer.wicket.viewer.services;
 
+import javax.inject.Inject;
 import java.net.URI;
 import java.net.URISyntaxException;
 import org.apache.wicket.Page;
@@ -26,6 +27,7 @@ import org.apache.wicket.request.cycle.RequestCycle;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.isis.applib.annotation.DomainService;
 import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.applib.services.guice.GuiceBeanProvider;
 import org.apache.isis.applib.services.linking.DeepLinkService;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault;
@@ -35,7 +37,6 @@ import org.apache.isis.viewer.wicket.model.models.EntityModel;
 import org.apache.isis.viewer.wicket.model.models.PageType;
 import org.apache.isis.viewer.wicket.ui.pages.PageClassRegistry;
 import org.apache.isis.viewer.wicket.viewer.registries.pages.PageClassListDefault;
-import org.apache.isis.viewer.wicket.viewer.registries.pages.PageClassRegistryDefault;
 
 /**
  * An implementation of {@link org.apache.isis.applib.services.linking.DeepLinkService}
@@ -44,20 +45,6 @@ import org.apache.isis.viewer.wicket.viewer.registries.pages.PageClassRegistryDe
 @DomainService
 public class DeepLinkServiceWicket implements DeepLinkService {
 
-    private final PageClassRegistry pageClassRegistry;
-
-    /**
-     * Note: we instantiate {@link org.apache.isis.viewer.wicket.viewer.registries.pages.PageClassRegistryDefault} and
-     * {@link org.apache.isis.viewer.wicket.viewer.registries.pages.PageClassListDefault} because there is no easy
-     * way to inject these objects.  In other words we do <i>not</i> honour any custom implementations of these service
-     * that are bound in {@link org.apache.isis.viewer.wicket.viewer.IsisWicketModule}.  We expect to address this
-     * limitation as and when we refactor to using CDI.
-     */
-    public DeepLinkServiceWicket() {
-        this.pageClassRegistry = new PageClassRegistryDefault(new PageClassListDefault());
-    }
-
-
     @Programmatic
     @Override
     public URI deepLinkFor(final Object domainObject) {
@@ -66,6 +53,7 @@ public class DeepLinkServiceWicket implements DeepLinkService {
         final ObjectAdapter objectAdapter = adapterManager.adapterFor(domainObject);
         final PageParameters pageParameters = EntityModel.createPageParameters(objectAdapter);
 
+        PageClassRegistry pageClassRegistry = guiceBeanProvider.lookup(PageClassRegistry.class);
         final Class<? extends Page> pageClass = pageClassRegistry.getPageClass(PageType.ENTITY);
 
         final RequestCycle requestCycle = RequestCycle.get();
@@ -85,4 +73,7 @@ public class DeepLinkServiceWicket implements DeepLinkService {
     protected PersistenceSession getPersistenceSession() {
         return IsisContext.getPersistenceSession();
     }
+
+    @Inject
+    private GuiceBeanProvider guiceBeanProvider;
 }