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 2013/02/08 19:29:51 UTC

[31/32] git commit: ISIS-328: done

ISIS-328: done


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

Branch: refs/heads/master
Commit: e0fe2580018817ea9026dfb205023bf88c0b55ba
Parents: ed11bc0
Author: Dan Haywood <da...@apache.org>
Authored: Fri Feb 8 17:52:59 2013 +0000
Committer: Dan Haywood <da...@apache.org>
Committed: Fri Feb 8 18:00:51 2013 +0000

----------------------------------------------------------------------
 .../wicket/viewer/IsisWicketApplication.java       |   11 +++++++-
 .../core/runtime/system/context/IsisContext.java   |   22 +++++++++++++-
 2 files changed, 30 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/e0fe2580/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
index 79fcdf3..e1cebfe 100644
--- a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
+++ b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
@@ -29,6 +29,8 @@ import com.google.inject.Inject;
 import com.google.inject.Injector;
 import com.google.inject.Module;
 
+import net.sf.cglib.transform.impl.AddInitTransformer;
+
 import org.apache.log4j.Logger;
 import org.apache.wicket.Application;
 import org.apache.wicket.ConverterLocator;
@@ -72,6 +74,7 @@ import org.apache.isis.viewer.wicket.ui.pages.BookmarkedPagesModelProvider;
 import org.apache.isis.viewer.wicket.ui.pages.PageClassList;
 import org.apache.isis.viewer.wicket.ui.pages.PageClassRegistry;
 import org.apache.isis.viewer.wicket.ui.pages.PageClassRegistryAccessor;
+import org.apache.isis.viewer.wicket.viewer.integration.isis.IsisContextForWicket;
 import org.apache.isis.viewer.wicket.viewer.integration.isis.WicketServer;
 import org.apache.isis.viewer.wicket.viewer.integration.isis.WicketServerPrototype;
 import org.apache.isis.viewer.wicket.viewer.integration.wicket.AuthenticatedWebSessionForIsis;
@@ -121,7 +124,6 @@ import org.apache.isis.viewer.wicket.viewer.integration.wicket.WebRequestCycleFo
 public class IsisWicketApplication extends AuthenticatedWebApplication implements ComponentFactoryRegistryAccessor, PageClassRegistryAccessor, AuthenticationSessionProvider, BookmarkedPagesModelProvider {
 
     private static final long serialVersionUID = 1L;
-    @SuppressWarnings("unused")
     private static final Logger LOG = Logger.getLogger(IsisWicketApplication.class);
 
     /**
@@ -195,6 +197,13 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
         this.bookmarkedPagesModel = new BookmarkedPagesModel();
 
         initWicketComponentInjection(injector);
+        
+    }
+    
+    @Override
+    protected void onDestroy() {
+        IsisContext.shutdown();
+        super.onDestroy();
     }
 
     protected IsisInjectModule newIsisModule(final DeploymentType deploymentType, final IsisConfigurationBuilder isisConfigurationBuilder) {

http://git-wip-us.apache.org/repos/asf/isis/blob/e0fe2580/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/IsisContext.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/IsisContext.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/IsisContext.java
index bc36b2a..640d7ad 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/IsisContext.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/IsisContext.java
@@ -19,8 +19,11 @@
 
 package org.apache.isis.core.runtime.system.context;
 
+import java.lang.reflect.Method;
 import java.util.List;
 
+import javax.annotation.PreDestroy;
+
 import org.apache.log4j.Logger;
 
 import org.apache.isis.applib.profiles.Localization;
@@ -33,6 +36,8 @@ import org.apache.isis.core.commons.debug.DebugList;
 import org.apache.isis.core.commons.debug.DebuggableWithTitle;
 import org.apache.isis.core.commons.exceptions.IsisException;
 import org.apache.isis.core.metamodel.adapter.oid.OidMarshaller;
+import org.apache.isis.core.metamodel.adapter.util.InvokeUtils;
+import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.SpecificationLoaderSpi;
 import org.apache.isis.core.runtime.authentication.AuthenticationManager;
 import org.apache.isis.core.runtime.authorization.AuthorizationManager;
@@ -71,7 +76,7 @@ public abstract class IsisContext implements DebuggableWithTitle {
     private static IsisConfiguration configuration;
 
     // ///////////////////////////////////////////////////////////
-    // Singleton & Constructor
+    // Singleton & Constructor, shutdown
     // ///////////////////////////////////////////////////////////
 
     /**
@@ -133,6 +138,15 @@ public abstract class IsisContext implements DebuggableWithTitle {
         this.replacePolicy = replacePolicy;
     }
 
+    protected void shutdownInstance() {
+        this.sessionFactory.shutdown();
+    }
+
+    public static void shutdown() {
+        getInstance().shutdownInstance();
+    }
+
+
     // ///////////////////////////////////////////////////////////
     // SessionFactory
     // ///////////////////////////////////////////////////////////
@@ -179,7 +193,7 @@ public abstract class IsisContext implements DebuggableWithTitle {
     }
 
     // ///////////////////////////////////////////////////////////
-    // open / close / shutdown
+    // open / close 
     // ///////////////////////////////////////////////////////////
 
     /**
@@ -227,6 +241,8 @@ public abstract class IsisContext implements DebuggableWithTitle {
      */
     protected abstract void closeAllSessionsInstance();
 
+    
+
     // ///////////////////////////////////////////////////////////
     // getSession()
     // ///////////////////////////////////////////////////////////
@@ -257,6 +273,7 @@ public abstract class IsisContext implements DebuggableWithTitle {
     // Static Convenience methods (session management)
     // ///////////////////////////////////////////////////////////
 
+
     /**
      * Convenience method to open a new {@link IsisSession}.
      * 
@@ -550,4 +567,5 @@ public abstract class IsisContext implements DebuggableWithTitle {
         debug.appendln("context ", this);
     }
 
+
 }