On Tue, 27 Apr 2004 17:37:52 +0200
"Henner Kollmann" <[EMAIL PROTECTED]> wrote:

HK> > HK> Yes, we should change the DbEventInterceptorSupport so 
HK> > that it will 
HK> > HK> support the old methods and the new methods. Simply add the
HK> > HK> old style post interceptor as empty method and call it from
HK> > HK> the new interceptor methods.
HK> > HK> 
HK> > HK> So nobody must change their interceptor classes!
HK> > HK> 
HK> > 
HK> > Only people who extends directly the interface must change
HK> > methods.
HK> > 
HK> > If normally people extends DbInterceptorSupport we can make 
HK> > bigger changes without affecting old classes. We can put the 
HK> > old methods as @deprecated and create new methods which call 
HK> > the old methods with the old parameters.
HK> 
HK> That's the idea..... Philipp was a little bit angry that we have
HK> changed the interfaces without backwards compatibility - so i will
HK> not do this again...
HK> 

But when calling interceptor, we must check if the class is based on
DbInterceptorSupport use new methods, when its only based on
DbEventInterceptor use old behaviour. Then we can define a timeframe
(maybe 3.x) to move new methods to DbEventInterceptor and remove the old
methods.

This you make people happy because the change will be made in 2 steps.

HK> > 
HK> > What you think about creating a class to encapsulate the 
HK> > parameters and pass only a single parameter to the 
HK> > interceptors ? This will make easy to add pass new parameters 
HK> > to interceptors in the future.
HK> 
HK> Any suggestion about the parameter?


this class or something like this will be the parameter :

/*
 * $Header: $
 * $Revision:  $
 * $Date: $
 *
 * DbForms - a Rapid Application Development Framework
 * Copyright (C) 2001 Joachim Peer <[EMAIL PROTECTED]>
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
USA
 */
package org.dbforms.config;

import javax.servlet.http.HttpServletRequest;
import java.sql.Connection;

/****
 * <p>
 * This class encapsulate data about context when an interceptor is
called
 * </p>
 *
 *
 * @version $Revision: $
 * @author Ivan F. Martinez <[EMAIL PROTECTED]>
 */
public class InterceptorData {

   /** 
    * Current request 
    */
   private HttpServletRequest request;
   /**
    * Table where operation will/was performed
    */
   private Table table;
   /**
    * Field values for the operation
    */
   private FieldValues fieldValues;
   /**
    * DbForms configuration
    */
   private DbFormsConfig config;
   /**
    * Database connection
    */ 
   private Connection connection;

   /**
    * Construct a new instace
    *
    * @param request current request
    * @param table table where operation will/was performed
    * @param fieldValues field values for the operation
    * @param config DbForms configuration
    * @param connection Database connection
    */
   public InterceptorData(HttpServletRequest request, Table table,
     FieldValues fieldValues, DbFormsConfig config, Connection
connection) {
      this.request = request;
      this.table = table;
      this.fieldValues = fieldValues;
      this.config = config;
      this.connection = connection;
   }

   /**
    * @return HttpServletRequest current request
    */
   public HttpServletRequest getRequest() {
      return request;
   }

   /**
    * @return Table where operation will/was performed
    */
   public Table getTable() {
      return table;
   }

   /**
    * @return FieldValues for the current operation
    */
   public FieldValues getFieldValues() {
      return fieldValues;
   }

   /**
    *
    * @return current DbFormsConfig
    */
   public DbFormsConfig getConfig() {
      return config;
   }

   /**
    * get Connection used in the operation
    *
    * @return current Connection 
    */
   public Connection getConnection() {
      return connection;
   }
   
   

}

-- 


Ivan F. Martinez


-------------------------------------------------------
This SF.net email is sponsored by: The Robotic Monkeys at ThinkGeek
For a limited time only, get FREE Ground shipping on all orders of $35
or more. Hurry up and shop folks, this offer expires April 30th!
http://www.thinkgeek.com/freeshipping/?cpg=12297
_______________________________________________
DbForms Mailing List

http://www.wap-force.net/dbforms

Reply via email to