Author: snoopdave
Date: Tue Jul 31 06:42:33 2007
New Revision: 561329

URL: http://svn.apache.org/viewvc?view=rev&rev=561329
Log:
Restoring ability to get instance from injector, need this to add custom 
managers and other extensions to backend.

Modified:
    
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/GuiceWebloggerProvider.java
    
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/WebloggerFactory.java
    
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/WebloggerProvider.java

Modified: 
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/GuiceWebloggerProvider.java
URL: 
http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/GuiceWebloggerProvider.java?view=diff&rev=561329&r1=561328&r2=561329
==============================================================================
--- 
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/GuiceWebloggerProvider.java
 (original)
+++ 
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/GuiceWebloggerProvider.java
 Tue Jul 31 06:42:33 2007
@@ -30,10 +30,10 @@
 public class GuiceWebloggerProvider implements WebloggerProvider {
     
     // Guice injector
-    private final Injector injector;
+    protected final Injector injector;
     
     // maintain our own singleton instance of Weblogger
-    private Weblogger webloggerInstance = null;
+    protected Weblogger webloggerInstance = null;
     
     
     /**
@@ -95,4 +95,10 @@
         return webloggerInstance;
     }
     
+    /**
+     * Get injected instance, for custom managers.
+     */
+    public <T> T getInstance(Class<T> type) {
+        return injector.getInstance(type);
+    }   
 }

Modified: 
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/WebloggerFactory.java
URL: 
http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/WebloggerFactory.java?view=diff&rev=561329&r1=561328&r2=561329
==============================================================================
--- 
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/WebloggerFactory.java
 (original)
+++ 
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/WebloggerFactory.java
 Tue Jul 31 06:42:33 2007
@@ -65,6 +65,18 @@
     
     
     /**
+     * Get injected instance, for custom managers.
+     */
+    public <T> T getInstance(Class<T> type) {
+        if (webloggerProvider == null) {
+            throw new IllegalStateException("Roller Weblogger has not been 
bootstrapped yet");
+        }
+        
+        return webloggerProvider.getInstance(type);
+    }
+    
+    
+    /**
      * Bootstrap the Roller Weblogger business tier, uses default 
WebloggerProvider.
      *
      * Bootstrapping the application effectively instantiates all the necessary

Modified: 
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/WebloggerProvider.java
URL: 
http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/WebloggerProvider.java?view=diff&rev=561329&r1=561328&r2=561329
==============================================================================
--- 
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/WebloggerProvider.java
 (original)
+++ 
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/WebloggerProvider.java
 Tue Jul 31 06:42:33 2007
@@ -35,4 +35,9 @@
      */
     public Weblogger getWeblogger();
     
+    
+    /**
+     * Get injected instance, for custom managers.
+     */
+    public <T> T getInstance(Class<T> type);
 }


Reply via email to