You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by sn...@apache.org on 2007/06/04 05:46:17 UTC
svn commit: r544039 - in /roller/branches/roller_guice:
apps/planet/src/java/org/apache/roller/planet/business/
apps/planet/src/java/org/apache/roller/planet/business/hibernate/
apps/planet/src/java/org/apache/roller/planet/business/jpa/ apps/weblogger...
Author: snoopdave
Date: Sun Jun 3 20:46:15 2007
New Revision: 544039
URL: http://svn.apache.org/viewvc?view=rev&rev=544039
Log:
Further refinements of Roller Guice implementation
Modified:
roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/DatabaseProvider.java
roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/PlanetFactory.java
roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/hibernate/HibernateConnectionProvider.java
roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/hibernate/HibernatePlanetImpl.java
roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/jpa/JPAPersistenceStrategy.java
roller/branches/roller_guice/apps/weblogger/properties.xmlf
roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/DatabaseProvider.java
roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/RollerFactory.java
roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/hibernate/HibernateConnectionProvider.java
roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/hibernate/RollerModule.java
roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy.java
roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/IndexManager.java
roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/IndexManagerImpl.java
roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/operations/AddEntryOperation.java
roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/operations/ReIndexEntryOperation.java
roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/operations/RebuildWebsiteIndexOperation.java
roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/operations/RemoveEntryOperation.java
roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/operations/RemoveWebsiteIndexOperation.java
roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/planet/business/jpa/JPARollerPlanetPersistenceStrategy.java
roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/ui/core/RollerContext.java
roller/branches/roller_guice/tools/roller-planet/roller-planet-business.jar
Modified: roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/DatabaseProvider.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/DatabaseProvider.java?view=diff&rev=544039&r1=544038&r2=544039
==============================================================================
--- roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/DatabaseProvider.java (original)
+++ roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/DatabaseProvider.java Sun Jun 3 20:46:15 2007
@@ -51,35 +51,18 @@
public abstract class DatabaseProvider {
private static Log log = LogFactory.getLog(DatabaseProvider.class);
public enum ConfigurationType {JNDI_NAME, JDBC_PROPERTIES;}
-
- private static DatabaseProvider databaseProvider = null;
-
- protected ConfigurationType type = ConfigurationType.JNDI_NAME;
+
+ protected ConfigurationType type = ConfigurationType.JNDI_NAME;
protected String jndiName = null;
- protected DataSource dataSource = null;
+ protected DataSource dataSource = null;
protected String jdbcDriverClass = null;
protected String jdbcConnectionURL = null;
protected String jdbcPassword = null;
protected String jdbcUsername = null;
protected Properties props = null;
-
- // Singleton
- protected DatabaseProvider() {}
-
-
- // Needed by HibernateConnectionProvider, it's not instantiated by Guice
- public static DatabaseProvider getDatabaseProvider() {
- return databaseProvider;
- }
-
-
- @com.google.inject.Inject
- private void setDatabaseProvider(DatabaseProvider dbprovider) {
- databaseProvider = dbprovider;
- }
-
+
protected void init(
ConfigurationType type,
Modified: roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/PlanetFactory.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/PlanetFactory.java?view=diff&rev=544039&r1=544038&r2=544039
==============================================================================
--- roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/PlanetFactory.java (original)
+++ roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/PlanetFactory.java Sun Jun 3 20:46:15 2007
@@ -37,8 +37,7 @@
* Let's just be doubling certain this class cannot be instantiated.
*/
private PlanetFactory() {} // hello planetary citizens
-
-
+
static {
String moduleClassname = PlanetConfig.getProperty("guice.backend.module");
@@ -51,12 +50,18 @@
throw new RuntimeException("Error instantiating backend module" + moduleClassname, e);
}
}
-
-
+
/**
* Static accessor for the instance of Roller
*/
public static Planet getPlanet() {
return injector.getInstance(Planet.class);
}
+
+ /**
+ * TODO_GUICE: elimiate the need for PlanetFactory.getInjector()
+ */
+ public static Injector getInjector() {
+ return injector;
+ }
}
Modified: roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/hibernate/HibernateConnectionProvider.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/hibernate/HibernateConnectionProvider.java?view=diff&rev=544039&r1=544038&r2=544039
==============================================================================
--- roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/hibernate/HibernateConnectionProvider.java (original)
+++ roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/hibernate/HibernateConnectionProvider.java Sun Jun 3 20:46:15 2007
@@ -6,6 +6,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.roller.planet.business.DatabaseProvider;
+import org.apache.roller.planet.business.PlanetFactory;
import org.hibernate.HibernateException;
import org.hibernate.connection.ConnectionProvider;
@@ -18,15 +19,16 @@
*/
public class HibernateConnectionProvider implements ConnectionProvider {
private static Log log = LogFactory.getLog(HibernateConnectionProvider.class);
+ private DatabaseProvider databaseProvider = null;
/** No-op: we get our configuration from Roller's DatabaseProvider */
public void configure(Properties properties) throws HibernateException {
- // no-op
+ databaseProvider = PlanetFactory.getInjector().getInstance(DatabaseProvider.class);
}
/** Get connecetion from Roller's Database provider */
public Connection getConnection() throws SQLException {
- return DatabaseProvider.getDatabaseProvider().getConnection();
+ return databaseProvider.getConnection();
}
/** Close connection by calling connection.close() */
Modified: roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/hibernate/HibernatePlanetImpl.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/hibernate/HibernatePlanetImpl.java?view=diff&rev=544039&r1=544038&r2=544039
==============================================================================
--- roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/hibernate/HibernatePlanetImpl.java (original)
+++ roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/hibernate/HibernatePlanetImpl.java Sun Jun 3 20:46:15 2007
@@ -58,6 +58,7 @@
* Create HibernatePlanetImpl using Hibernate XML config file or config
* file plus JDBC overrides from planet-custom.properties.
*/
+ @com.google.inject.Inject
public HibernatePlanetImpl(
HibernatePersistenceStrategy strategy,
PlanetManager planetManager,
Modified: roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/jpa/JPAPersistenceStrategy.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/jpa/JPAPersistenceStrategy.java?view=diff&rev=544039&r1=544038&r2=544039
==============================================================================
--- roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/jpa/JPAPersistenceStrategy.java (original)
+++ roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/jpa/JPAPersistenceStrategy.java Sun Jun 3 20:46:15 2007
@@ -62,7 +62,8 @@
* Construct by finding JPA EntityManagerFactory.
* @throws org.apache.roller.PlanetException on any error
*/
- public JPAPersistenceStrategy() throws PlanetException {
+ @com.google.inject.Inject
+ public JPAPersistenceStrategy(DatabaseProvider dbProvider) throws PlanetException {
// Pull in any properties defined in JMAEMF.properties config file
Properties emfProps = loadPropertiesFromResourceName(
@@ -79,7 +80,6 @@
}
}
- DatabaseProvider dbProvider = DatabaseProvider.getDatabaseProvider();
if (dbProvider.getType() == DatabaseProvider.ConfigurationType.JNDI_NAME) {
// We're doing JNDI, so set OpenJPA JNDI name property
String jndiName = "java:comp/env/" + dbProvider.getJndiName();
Modified: roller/branches/roller_guice/apps/weblogger/properties.xmlf
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/apps/weblogger/properties.xmlf?view=diff&rev=544039&r1=544038&r2=544039
==============================================================================
--- roller/branches/roller_guice/apps/weblogger/properties.xmlf (original)
+++ roller/branches/roller_guice/apps/weblogger/properties.xmlf Sun Jun 3 20:46:15 2007
@@ -188,6 +188,7 @@
<fileset refid="mail.jars"/>
<fileset refid="roller-core.jars" />
<fileset refid="xmlrpc.jars"/>
+ <fileset refid="roller-planet.jars" />
<!-- JPA bytecode enhancement apparently wants JPA classes everywhere -->
<fileset refid="jpa.jars" />
</path>
@@ -201,7 +202,6 @@
<path id="presentation.path">
<path refid="base.path"/>
<fileset refid="presentation.jars"/>
- <fileset refid="roller-planet.jars" />
<fileset refid="struts.jars"/>
<fileset refid="struts2.jars"/>
<fileset refid="servlet.jars"/>
Modified: roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/DatabaseProvider.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/DatabaseProvider.java?view=diff&rev=544039&r1=544038&r2=544039
==============================================================================
--- roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/DatabaseProvider.java (original)
+++ roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/DatabaseProvider.java Sun Jun 3 20:46:15 2007
@@ -27,7 +27,6 @@
import javax.sql.DataSource;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.roller.planet.PlanetException;
/**
* Encapsulates Roller database configuration via JDBC properties or JNDI.
@@ -51,35 +50,18 @@
public abstract class DatabaseProvider {
private static Log log = LogFactory.getLog(DatabaseProvider.class);
public enum ConfigurationType {JNDI_NAME, JDBC_PROPERTIES;}
-
- private static DatabaseProvider databaseProvider = null;
-
- protected ConfigurationType type = ConfigurationType.JNDI_NAME;
+
+ protected ConfigurationType type = ConfigurationType.JNDI_NAME;
protected String jndiName = null;
- protected DataSource dataSource = null;
+ protected DataSource dataSource = null;
protected String jdbcDriverClass = null;
protected String jdbcConnectionURL = null;
protected String jdbcPassword = null;
protected String jdbcUsername = null;
protected Properties props = null;
-
- // Singleton
- protected DatabaseProvider() {}
-
-
- // Needed by HibernateConnectionProvider, it's not instantiated by Guice
- public static DatabaseProvider getDatabaseProvider() {
- return databaseProvider;
- }
-
-
- @com.google.inject.Inject
- private void setDatabaseProvider(DatabaseProvider dbprovider) {
- databaseProvider = dbprovider;
- }
-
+
protected void init(
ConfigurationType type,
Modified: roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/RollerFactory.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/RollerFactory.java?view=diff&rev=544039&r1=544038&r2=544039
==============================================================================
--- roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/RollerFactory.java (original)
+++ roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/RollerFactory.java Sun Jun 3 20:46:15 2007
@@ -42,7 +42,6 @@
static {
-
String moduleClassname = RollerConfig.getProperty("guice.backend.module");
try {
Class moduleClass = Class.forName(moduleClassname);
@@ -51,9 +50,29 @@
} catch (Throwable e) {
// Fatal misconfiguration, cannot recover
throw new RuntimeException("Error instantiating backend module" + moduleClassname, e);
- }
-
- try {
+ }
+ }
+
+
+ /**
+ * Static accessor for the instance of Roller
+ */
+ public static Roller getRoller() {
+ return injector.getInstance(Roller.class);
+ }
+
+ /**
+ * TODO_GUICE: elimiate the need for RollerFactory.getInjector()
+ */
+ public static Injector getInjector() {
+ return injector;
+ }
+
+ /**
+ * TODO_GUICE: figure out the right place for this ping and search init
+ */
+ public static void bootstrap() {
+ try {
// Initialize common targets from the configuration
PingConfig.initializeCommonTargets();
@@ -71,25 +90,12 @@
log.info("Ping usage has been disabled. Removing any existing auto ping configurations.");
RollerFactory.getRoller().getAutopingManager().removeAllAutoPings();
}
+
+ RollerFactory.getRoller().getIndexManager().bootstrap();
+
} catch (WebloggerException e) {
log.error("ERROR configing ping managers", e);
}
-
- }
-
-
- /**
- * Static accessor for the instance of Roller
- */
- public static Roller getRoller() {
- return injector.getInstance(Roller.class);
- }
-
- /**
- * TODO: elimiate the need for RollerFactory.getInjector()
- */
- public static Injector getInjector() {
- return injector;
}
}
Modified: roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/hibernate/HibernateConnectionProvider.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/hibernate/HibernateConnectionProvider.java?view=diff&rev=544039&r1=544038&r2=544039
==============================================================================
--- roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/hibernate/HibernateConnectionProvider.java (original)
+++ roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/hibernate/HibernateConnectionProvider.java Sun Jun 3 20:46:15 2007
@@ -5,8 +5,8 @@
import java.util.Properties;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.roller.weblogger.WebloggerException;
import org.apache.roller.weblogger.business.DatabaseProvider;
+import org.apache.roller.weblogger.business.RollerFactory;
import org.hibernate.HibernateException;
import org.hibernate.connection.ConnectionProvider;
@@ -22,11 +22,14 @@
private DatabaseProvider databaseProvider = null;
/** No-op: we get our configuration from Roller's DatabaseProvider */
- public void configure(Properties properties) throws HibernateException {}
+ public void configure(Properties properties) throws HibernateException {
+ // This class is created by Hibermate, so we do self-injection here
+ databaseProvider = RollerFactory.getInjector().getInstance(DatabaseProvider.class);
+ }
/** Get connecetion from Roller's Database provider */
public Connection getConnection() throws SQLException {
- return DatabaseProvider.getDatabaseProvider().getConnection();
+ return databaseProvider.getConnection();
}
/** Close connection by calling connection.close() */
Modified: roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/hibernate/RollerModule.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/hibernate/RollerModule.java?view=diff&rev=544039&r1=544038&r2=544039
==============================================================================
--- roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/hibernate/RollerModule.java (original)
+++ roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/hibernate/RollerModule.java Sun Jun 3 20:46:15 2007
@@ -56,7 +56,7 @@
binder.bind(Roller.class).to(HibernateRollerImpl.class);
binder.bind(HibernatePersistenceStrategy.class);
- binder.bind(org.apache.roller.planet.business.hibernate.HibernatePersistenceStrategy.class);
+ binder.bind(org.apache.roller.weblogger.planet.business.hibernate.HibernateRollerPlanetPersistenceStrategy.class);
binder.bind(AutoPingManager.class).to( HibernateAutoPingManagerImpl.class);
binder.bind(BookmarkManager.class).to( HibernateBookmarkManagerImpl.class);
Modified: roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy.java?view=diff&rev=544039&r1=544038&r2=544039
==============================================================================
--- roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy.java (original)
+++ roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy.java Sun Jun 3 20:46:15 2007
@@ -61,7 +61,8 @@
* Construct by finding JPA EntityManagerFactory.
* @throws org.apache.roller.WebloggerException on any error
*/
- public JPAPersistenceStrategy() throws WebloggerException {
+ @com.google.inject.Inject
+ public JPAPersistenceStrategy(DatabaseProvider dbProvider) throws WebloggerException {
// Pull in any properties defined in JMAEMF.properties config file
Properties emfProps = loadPropertiesFromResourceName(
@@ -78,7 +79,6 @@
}
}
- DatabaseProvider dbProvider = DatabaseProvider.getDatabaseProvider();
if (dbProvider.getType() == DatabaseProvider.ConfigurationType.JNDI_NAME) {
// We're doing JNDI, so set OpenJPA JNDI name property
String jndiName = "java:comp/env/" + dbProvider.getJndiName();
Modified: roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/IndexManager.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/IndexManager.java?view=diff&rev=544039&r1=544038&r2=544039
==============================================================================
--- roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/IndexManager.java (original)
+++ roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/IndexManager.java Sun Jun 3 20:46:15 2007
@@ -47,6 +47,9 @@
/** Execute operation immediately */
public abstract void executeIndexOperationNow(final IndexOperation op);
+ /** Init index manager by checking and rebuilding index */
+ public void bootstrap();
+
/**
* Release all resources associated with Roller session.
*/
Modified: roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/IndexManagerImpl.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/IndexManagerImpl.java?view=diff&rev=544039&r1=544038&r2=544039
==============================================================================
--- roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/IndexManagerImpl.java (original)
+++ roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/IndexManagerImpl.java Sun Jun 3 20:46:15 2007
@@ -45,7 +45,6 @@
import EDU.oswego.cs.dl.util.concurrent.ReadWriteLock;
import EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock;
import org.apache.roller.weblogger.config.RollerConfig;
-import org.apache.roller.weblogger.business.RollerFactory;
import org.apache.commons.lang.StringUtils;
/**
@@ -59,6 +58,7 @@
// =============================================
private IndexReader reader;
+ private Roller roller;
static Log mLogger = LogFactory.getFactory().getInstance(
IndexManagerImpl.class);
@@ -92,7 +92,13 @@
* @param indexDir -
* the path to the index directory
*/
- public IndexManagerImpl() {
+ @com.google.inject.Inject
+ public IndexManagerImpl(Roller roller) {
+ this.roller = roller;
+ }
+
+ public void bootstrap() {
+
// check config to see if the internal search is enabled
String enabled = RollerConfig.getProperty("search.enabled");
if("false".equalsIgnoreCase(enabled))
@@ -171,31 +177,31 @@
public void rebuildWebsiteIndex() throws WebloggerException {
scheduleIndexOperation(
- new RebuildWebsiteIndexOperation(this, null));
+ new RebuildWebsiteIndexOperation(roller, this, null));
}
public void rebuildWebsiteIndex(Weblog website) throws WebloggerException {
scheduleIndexOperation(
- new RebuildWebsiteIndexOperation(this, website));
+ new RebuildWebsiteIndexOperation(roller, this, website));
}
public void removeWebsiteIndex(Weblog website) throws WebloggerException {
scheduleIndexOperation(
- new RemoveWebsiteIndexOperation(this, website));
+ new RemoveWebsiteIndexOperation(roller, this, website));
}
public void addEntryIndexOperation(WeblogEntry entry) throws WebloggerException {
- AddEntryOperation addEntry = new AddEntryOperation(this, entry);
+ AddEntryOperation addEntry = new AddEntryOperation(roller, this, entry);
scheduleIndexOperation(addEntry);
}
public void addEntryReIndexOperation(WeblogEntry entry) throws WebloggerException {
- ReIndexEntryOperation reindex = new ReIndexEntryOperation(this, entry);
+ ReIndexEntryOperation reindex = new ReIndexEntryOperation(roller, this, entry);
scheduleIndexOperation(reindex);
}
public void removeEntryIndexOperation(WeblogEntry entry) throws WebloggerException {
- RemoveEntryOperation removeOp = new RemoveEntryOperation(this, entry);
+ RemoveEntryOperation removeOp = new RemoveEntryOperation(roller, this, entry);
executeIndexOperationNow(removeOp);
}
@@ -221,7 +227,7 @@
// only if search is enabled
if(this.searchEnabled) {
mLogger.debug("Starting scheduled index operation: "+op.getClass().getName());
- RollerFactory.getRoller().getThreadManager().executeInBackground(op);
+ roller.getThreadManager().executeInBackground(op);
}
} catch (InterruptedException e) {
mLogger.error("Error executing operation", e);
@@ -236,7 +242,7 @@
// only if search is enabled
if(this.searchEnabled) {
mLogger.debug("Executing index operation now: "+op.getClass().getName());
- RollerFactory.getRoller().getThreadManager().executeInForeground(op);
+ roller.getThreadManager().executeInForeground(op);
}
} catch (InterruptedException e) {
mLogger.error("Error executing operation", e);
Modified: roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/operations/AddEntryOperation.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/operations/AddEntryOperation.java?view=diff&rev=544039&r1=544038&r2=544039
==============================================================================
--- roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/operations/AddEntryOperation.java (original)
+++ roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/operations/AddEntryOperation.java Sun Jun 3 20:46:15 2007
@@ -26,7 +26,6 @@
import org.apache.roller.weblogger.WebloggerException;
import org.apache.roller.weblogger.business.search.IndexManagerImpl;
import org.apache.roller.weblogger.business.Roller;
-import org.apache.roller.weblogger.business.RollerFactory;
import org.apache.roller.weblogger.business.WeblogManager;
import org.apache.roller.weblogger.pojos.WeblogEntry;
@@ -44,14 +43,16 @@
//~ Instance fields ========================================================
private WeblogEntry data;
+ private Roller roller;
//~ Constructors ===========================================================
/**
* Adds a web log entry into the index.
*/
- public AddEntryOperation(IndexManagerImpl mgr,WeblogEntry data) {
+ public AddEntryOperation(Roller roller, IndexManagerImpl mgr,WeblogEntry data) {
super(mgr);
+ this.roller = roller;
this.data = data;
}
@@ -64,14 +65,13 @@
// the weblog object passed in as a detached object which is proned to
// lazy initialization problems, so requery for the object now
try {
- WeblogManager wMgr = RollerFactory.getRoller().getWeblogManager();
+ WeblogManager wMgr = roller.getWeblogManager();
this.data = wMgr.getWeblogEntry(this.data.getId());
} catch (WebloggerException ex) {
mLogger.error("Error getting weblogentry object", ex);
return;
}
- Roller roller = RollerFactory.getRoller();
try {
if (writer != null) {
writer.addDocument(getDocument(data));
Modified: roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/operations/ReIndexEntryOperation.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/operations/ReIndexEntryOperation.java?view=diff&rev=544039&r1=544038&r2=544039
==============================================================================
--- roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/operations/ReIndexEntryOperation.java (original)
+++ roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/operations/ReIndexEntryOperation.java Sun Jun 3 20:46:15 2007
@@ -29,7 +29,6 @@
import org.apache.roller.weblogger.business.search.IndexManagerImpl;
import org.apache.roller.weblogger.business.search.FieldConstants;
import org.apache.roller.weblogger.business.Roller;
-import org.apache.roller.weblogger.business.RollerFactory;
import org.apache.roller.weblogger.business.WeblogManager;
import org.apache.roller.weblogger.pojos.WeblogEntry;
@@ -47,14 +46,16 @@
//~ Instance fields ========================================================
private WeblogEntry data;
+ private Roller roller;
//~ Constructors ===========================================================
/**
* Adds a web log entry into the index.
*/
- public ReIndexEntryOperation(IndexManagerImpl mgr,WeblogEntry data) {
+ public ReIndexEntryOperation(Roller roller, IndexManagerImpl mgr,WeblogEntry data) {
super(mgr);
+ this.roller = roller;
this.data = data;
}
@@ -66,7 +67,7 @@
// the weblog object passed in as a detached object which is proned to
// lazy initialization problems, so requery for the object now
try {
- WeblogManager wMgr = RollerFactory.getRoller().getWeblogManager();
+ WeblogManager wMgr = roller.getWeblogManager();
this.data = wMgr.getWeblogEntry(this.data.getId());
} catch (WebloggerException ex) {
mLogger.error("Error getting weblogentry object", ex);
@@ -86,7 +87,6 @@
}
IndexWriter writer = beginWriting();
- Roller roller = RollerFactory.getRoller();
try {
if (writer != null) {
writer.addDocument(getDocument(data));
Modified: roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/operations/RebuildWebsiteIndexOperation.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/operations/RebuildWebsiteIndexOperation.java?view=diff&rev=544039&r1=544038&r2=544039
==============================================================================
--- roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/operations/RebuildWebsiteIndexOperation.java (original)
+++ roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/operations/RebuildWebsiteIndexOperation.java Sun Jun 3 20:46:15 2007
@@ -34,7 +34,6 @@
import org.apache.roller.weblogger.business.search.FieldConstants;
import org.apache.roller.weblogger.business.search.IndexUtil;
import org.apache.roller.weblogger.business.Roller;
-import org.apache.roller.weblogger.business.RollerFactory;
import org.apache.roller.weblogger.business.UserManager;
import org.apache.roller.weblogger.business.WeblogManager;
import org.apache.roller.weblogger.pojos.WeblogEntry;
@@ -54,6 +53,7 @@
//~ Instance fields ========================================================
private Weblog website;
+ private Roller roller;
//~ Constructors ===========================================================
@@ -62,8 +62,9 @@
*
* @param website The website to rebuild the index for, or null for all users.
*/
- public RebuildWebsiteIndexOperation(IndexManagerImpl mgr, Weblog website) {
+ public RebuildWebsiteIndexOperation(Roller roller, IndexManagerImpl mgr, Weblog website) {
super(mgr);
+ this.roller = roller;
this.website = website;
}
@@ -77,7 +78,7 @@
// lazy initialization problems, so requery for the object now
if(this.website != null) {
try {
- UserManager uMgr = RollerFactory.getRoller().getUserManager();
+ UserManager uMgr = roller.getUserManager();
this.website = uMgr.getWebsite(this.website.getId());
} catch (WebloggerException ex) {
mLogger.error("Error getting website object", ex);
@@ -111,7 +112,6 @@
IndexWriter writer = beginWriting();
- Roller roller = RollerFactory.getRoller();
try {
if (writer != null) {
WeblogManager weblogManager = roller.getWeblogManager();
Modified: roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/operations/RemoveEntryOperation.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/operations/RemoveEntryOperation.java?view=diff&rev=544039&r1=544038&r2=544039
==============================================================================
--- roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/operations/RemoveEntryOperation.java (original)
+++ roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/operations/RemoveEntryOperation.java Sun Jun 3 20:46:15 2007
@@ -25,7 +25,7 @@
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.Term;
import org.apache.roller.weblogger.WebloggerException;
-import org.apache.roller.weblogger.business.RollerFactory;
+import org.apache.roller.weblogger.business.Roller;
import org.apache.roller.weblogger.business.WeblogManager;
import org.apache.roller.weblogger.business.search.IndexManagerImpl;
import org.apache.roller.weblogger.business.search.FieldConstants;
@@ -46,11 +46,13 @@
//~ Instance fields ========================================================
private WeblogEntry data;
+ private Roller roller;
//~ Constructors ===========================================================
- public RemoveEntryOperation(IndexManagerImpl mgr,WeblogEntry data) {
+ public RemoveEntryOperation(Roller roller, IndexManagerImpl mgr,WeblogEntry data) {
super(mgr);
+ this.roller = roller;
this.data = data;
}
@@ -62,7 +64,7 @@
// the weblog object passed in as a detached object which is proned to
// lazy initialization problems, so requery for the object now
try {
- WeblogManager wMgr = RollerFactory.getRoller().getWeblogManager();
+ WeblogManager wMgr = roller.getWeblogManager();
this.data = wMgr.getWeblogEntry(this.data.getId());
} catch (WebloggerException ex) {
mLogger.error("Error getting weblogentry object", ex);
Modified: roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/operations/RemoveWebsiteIndexOperation.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/operations/RemoveWebsiteIndexOperation.java?view=diff&rev=544039&r1=544038&r2=544039
==============================================================================
--- roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/operations/RemoveWebsiteIndexOperation.java (original)
+++ roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/operations/RemoveWebsiteIndexOperation.java Sun Jun 3 20:46:15 2007
@@ -26,7 +26,7 @@
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.Term;
import org.apache.roller.weblogger.WebloggerException;
-import org.apache.roller.weblogger.business.RollerFactory;
+import org.apache.roller.weblogger.business.Roller;
import org.apache.roller.weblogger.business.UserManager;
import org.apache.roller.weblogger.business.search.IndexManagerImpl;
import org.apache.roller.weblogger.business.search.FieldConstants;
@@ -48,6 +48,7 @@
//~ Instance fields ========================================================
private Weblog website;
+ private Roller roller;
//~ Constructors ===========================================================
@@ -55,8 +56,9 @@
* Create a new operation that will recreate an index.
* @param website The website to rebuild the index for, or null for all sites.
*/
- public RemoveWebsiteIndexOperation(IndexManagerImpl mgr, Weblog website) {
+ public RemoveWebsiteIndexOperation(Roller roller, IndexManagerImpl mgr, Weblog website) {
super(mgr);
+ this.roller = roller;
this.website = website;
}
@@ -69,7 +71,7 @@
// the weblog object passed in as a detached object which is proned to
// lazy initialization problems, so requery for the object now
try {
- UserManager uMgr = RollerFactory.getRoller().getUserManager();
+ UserManager uMgr = roller.getUserManager();
this.website = uMgr.getWebsite(this.website.getId());
} catch (WebloggerException ex) {
mLogger.error("Error getting website object", ex);
Modified: roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/planet/business/jpa/JPARollerPlanetPersistenceStrategy.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/planet/business/jpa/JPARollerPlanetPersistenceStrategy.java?view=diff&rev=544039&r1=544038&r2=544039
==============================================================================
--- roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/planet/business/jpa/JPARollerPlanetPersistenceStrategy.java (original)
+++ roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/planet/business/jpa/JPARollerPlanetPersistenceStrategy.java Sun Jun 3 20:46:15 2007
@@ -41,7 +41,8 @@
* Construct by finding using DatabaseProvider and RollerConfig.
* @throws org.apache.roller.PlanetException on any error
*/
- public JPARollerPlanetPersistenceStrategy() throws PlanetException {
+ @com.google.inject.Inject
+ public JPARollerPlanetPersistenceStrategy(DatabaseProvider dbProvider) throws PlanetException {
// Pull in any properties defined in JMAEMF.properties config file
Properties emfProps = loadPropertiesFromResourceName(
@@ -58,7 +59,6 @@
}
}
- DatabaseProvider dbProvider = DatabaseProvider.getDatabaseProvider();
if (dbProvider.getType() == DatabaseProvider.ConfigurationType.JNDI_NAME) {
// We're doing JNDI, so set OpenJPA JNDI name property
String jndiName = "java:comp/env/" + dbProvider.getJndiName();
Modified: roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/ui/core/RollerContext.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/ui/core/RollerContext.java?view=diff&rev=544039&r1=544038&r2=544039
==============================================================================
--- roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/ui/core/RollerContext.java (original)
+++ roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/ui/core/RollerContext.java Sun Jun 3 20:46:15 2007
@@ -117,7 +117,7 @@
// is set to ${webapp.context}
RollerConfig.setThemesDir(servletContext.getRealPath("/")+File.separator+"themes");
- try {
+ try {
// Parts of database upgrade are not included in migration scripts
upgradeDatabaseIfNeeded();
@@ -130,6 +130,9 @@
// This will cause instantiation and initialziation of Roller impl
Roller roller = RollerFactory.getRoller();
+ // TODO_GUICE: eliminate need this RollerFactory.bootstrap()
+ RollerFactory.bootstrap();
+
// And this will schedule all configured tasks
roller.getThreadManager().startTasks();
@@ -167,13 +170,13 @@
/**
* Trigger any database upgrade work that needs to be done.
*/
- private void upgradeDatabaseIfNeeded() throws Exception {
+ private void upgradeDatabaseIfNeeded() throws Exception {
- // TODO_GUICE: elimiate the need for RollerFactory.getInjector()
- // This should cause injection of DatabaseProvider singleton
- RollerFactory.getInjector().getInstance(DatabaseProvider.class);
+ // TODO_GUICE: address this little ugliness after table auto-create/update is in place
+ DatabaseProvider databaseProvider =
+ RollerFactory.getInjector().getInstance(DatabaseProvider.class);
- Connection con = DatabaseProvider.getDatabaseProvider().getConnection();
+ Connection con = databaseProvider.getConnection();
UpgradeDatabase.upgradeDatabase(con, RollerFactory.getRoller().getVersion());
con.close();
}
Modified: roller/branches/roller_guice/tools/roller-planet/roller-planet-business.jar
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/tools/roller-planet/roller-planet-business.jar?view=diff&rev=544039&r1=544038&r2=544039
==============================================================================
Binary files - no diff available.