You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ge...@apache.org on 2005/04/28 04:11:39 UTC
svn commit: r165087 - in
/jakarta/commons/proper/chain/trunk/src/java/org/apache/commons/chain/generic:
DispatchLookupCommand.java LookupCommand.java
Author: germuska
Date: Wed Apr 27 19:11:38 2005
New Revision: 165087
URL: http://svn.apache.org/viewcvs?rev=165087&view=rev
Log:
Refactoring to make it easier for lookups to work against a CatalogFactory of any origin, instead of being bound to the static singleton instance returned by CatalogFactory.getInstance()
Modified:
jakarta/commons/proper/chain/trunk/src/java/org/apache/commons/chain/generic/DispatchLookupCommand.java
jakarta/commons/proper/chain/trunk/src/java/org/apache/commons/chain/generic/LookupCommand.java
Modified: jakarta/commons/proper/chain/trunk/src/java/org/apache/commons/chain/generic/DispatchLookupCommand.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/chain/trunk/src/java/org/apache/commons/chain/generic/DispatchLookupCommand.java?rev=165087&r1=165086&r2=165087&view=diff
==============================================================================
--- jakarta/commons/proper/chain/trunk/src/java/org/apache/commons/chain/generic/DispatchLookupCommand.java (original)
+++ jakarta/commons/proper/chain/trunk/src/java/org/apache/commons/chain/generic/DispatchLookupCommand.java Wed Apr 27 19:11:38 2005
@@ -16,6 +16,7 @@
package org.apache.commons.chain.generic;
+import org.apache.commons.chain.CatalogFactory;
import org.apache.commons.chain.Command;
import org.apache.commons.chain.Context;
import org.apache.commons.chain.Filter;
@@ -50,6 +51,24 @@
public class DispatchLookupCommand extends LookupCommand implements Filter {
+ // -------------------------------------------------------------- Constructors
+
+ /**
+ * Create an instance with an unspecified <code>catalogFactory</code> property.
+ * This property can be set later using <code>setProperty</code>, or if it is not set,
+ * the static singleton instance from <code>CatalogFactory.getInstance()</code> will be used.
+ *
+ */
+ public DispatchLookupCommand() { super(); };
+
+ /**
+ * Create an instance and initialize the <code>catalogFactory</code> property
+ * to given <code>factory</code>/
+ */
+ public DispatchLookupCommand(CatalogFactory factory) {
+ super(factory);
+ }
+
// ------------------------------------------------------- Static Variables
/**
Modified: jakarta/commons/proper/chain/trunk/src/java/org/apache/commons/chain/generic/LookupCommand.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/chain/trunk/src/java/org/apache/commons/chain/generic/LookupCommand.java?rev=165087&r1=165086&r2=165087&view=diff
==============================================================================
--- jakarta/commons/proper/chain/trunk/src/java/org/apache/commons/chain/generic/LookupCommand.java (original)
+++ jakarta/commons/proper/chain/trunk/src/java/org/apache/commons/chain/generic/LookupCommand.java Wed Apr 27 19:11:38 2005
@@ -45,11 +45,40 @@
public class LookupCommand implements Filter {
+ // -------------------------------------------------------------- Constructors
+
+ /**
+ * Create an instance with an unspecified <code>catalogFactory</code> property.
+ * This property can be set later using <code>setProperty</code>, or if it is not set,
+ * the static singleton instance from <code>CatalogFactory.getInstance()</code> will be used.
+ *
+ */
+ public LookupCommand() { }
+
+ /**
+ * Create an instance and initialize the <code>catalogFactory</code> property
+ * to given <code>factory</code>/
+ */
+ public LookupCommand(CatalogFactory factory) {
+ this.catalogFactory = factory;
+ }
+
+
// -------------------------------------------------------------- Properties
- private String catalogName = null;
+ private CatalogFactory catalogFactory = null;
+
+ /**
+ * <p>Set the {@link CatalogFactory} from which lookups will be
+ * performed.</p>
+ */
+ public void setCatalogFactory(CatalogFactory catalogFactory) {
+ this.catalogFactory = catalogFactory;
+ }
+
+ private String catalogName = null;
/**
* <p>Return the name of the {@link Catalog} to be searched, or
@@ -268,15 +297,16 @@
* to <code>false</code>
*/
protected Command getCommand(Context context) {
+ CatalogFactory lookupFactory = this.catalogFactory;
+ if (lookupFactory == null) lookupFactory = CatalogFactory.getInstance();
- CatalogFactory catalogFactory = CatalogFactory.getInstance();
String catalogName = getCatalogName();
Catalog catalog = null;
if (catalogName == null) {
// use default catalog
- catalog = catalogFactory.getCatalog();
+ catalog = lookupFactory.getCatalog();
} else {
- catalog = catalogFactory.getCatalog(catalogName);
+ catalog = lookupFactory.getCatalog(catalogName);
}
if (catalog == null) {
if (catalogName == null) {
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org