haul        2004/04/27 15:23:08

  Modified:    src/blocks/databases/java/org/apache/cocoon/acting/modular
                        DatabaseAction.java
  Log:
  make action threadsafe (again?)
  add equals / hashCode methods to LookupKey
  
  Revision  Changes    Path
  1.8       +30 -2     
cocoon-2.1/src/blocks/databases/java/org/apache/cocoon/acting/modular/DatabaseAction.java
  
  Index: DatabaseAction.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/databases/java/org/apache/cocoon/acting/modular/DatabaseAction.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- DatabaseAction.java       28 Mar 2004 20:51:24 -0000      1.7
  +++ DatabaseAction.java       27 Apr 2004 22:23:08 -0000      1.8
  @@ -31,6 +31,8 @@
   import org.apache.avalon.framework.service.ServiceException;
   import org.apache.avalon.framework.service.ServiceManager;
   import org.apache.avalon.framework.service.ServiceSelector;
  +import org.apache.avalon.framework.thread.ThreadSafe;
  +
   import org.apache.cocoon.Constants;
   import org.apache.cocoon.ProcessingException;
   import org.apache.cocoon.acting.AbstractComplementaryConfigurableAction;
  @@ -91,7 +93,7 @@
    * @see org.apache.cocoon.components.modules.database
    * @see org.apache.cocoon.util.JDBCTypeConversions
    */
  -public abstract class DatabaseAction  extends 
AbstractComplementaryConfigurableAction implements Configurable, Disposable {
  +public abstract class DatabaseAction  extends 
AbstractComplementaryConfigurableAction implements Configurable, Disposable, 
ThreadSafe {
   
       // 
========================================================================
       // constants
  @@ -186,6 +188,32 @@
               this.tableConf = tableConf;
               this.modeTypes = modeTypes;
           }
  +        
  +             /* (non-Javadoc)
  +              * @see java.lang.Object#equals(java.lang.Object)
  +              */
  +             public boolean equals(Object obj) {
  +            boolean result = false;
  +            if (obj != null && obj instanceof LookUpKey) {
  +                LookUpKey luk = (LookUpKey) obj;
  +                result = true;
  +                result = result && (luk.tableConf == null ? 
  +                            this.tableConf == null : 
luk.tableConf.equals(this.tableConf));
  +                result = result && (luk.modeTypes == null ?
  +                            this.modeTypes == null : 
luk.modeTypes.equals(this.modeTypes));
  +            }
  +            
  +                     return result;
  +             }
  +        
  +             /* (non-Javadoc)
  +              * @see java.lang.Object#hashCode()
  +              */
  +             public int hashCode() {
  +                     return (this.tableConf != null ? 
  +                    this.tableConf.hashCode() : 
  +                        (this.modeTypes != null ? this.modeTypes.hashCode() 
: super.hashCode()));
  +             }
       }
   
   
  
  
  

Reply via email to