Hey,

what happened here during my commit (is there another simone user in apache
projects ?) Did I do something wrong (but all the rest went ok !) ?

Simon 

> -----Original Message-----
> From: jBoss CVS Development [mailto:[EMAIL PROTECTED]] 
> Sent: marted� 17 ottobre 2000 1:32
> To: [EMAIL PROTECTED]
> Subject: [jBoss-Dev] CVS update: jboss/src/main/org/jboss/ejb/plugins
> EntityInstanceInterceptor.java
> 
> 
>   User: simone  
>   Date: 00/10/16 16:32:26
> 
>   Modified:    src/java/org/apache/icalendar/properties Attendee.java
>                         PropWithPeople.java
>   Added:       src/java/org/apache/icalendar/properties
>                         AttendeeFactory.java CategoriesFactory.java
>                         CommentFactory.java ContactFactory.java
>                         ExceptionDateFactory.java
>                         ExceptionRecurFactory.java RDateFactory.java
>                         RecurPropFactory.java RelatedPropFactory.java
>                         RequestStatusFactory.java 
> ResourcesFactory.java
>   Log:
>   Removed allowed fields hashtable parameter on the 
> set(ServletRequest,String)
>   methods
>   
>   Revision  Changes    Path
>   1.5       +73 -0     
> icalendar/src/java/org/apache/icalendar/properties/Attendee.java
>   
>   Index: Attendee.java
>   ===================================================================
>   RCS file: 
> /products/cvs/jetspeed/icalendar/src/java/org/apache/icalendar
> /properties/Attendee.java,v
>   retrieving revision 1.4
>   retrieving revision 1.5
>   diff -u -r1.4 -r1.5
>   --- Attendee.java   2000/10/03 18:25:41     1.4
>   +++ Attendee.java   2000/10/16 23:32:20     1.5
>   @@ -57,6 +57,8 @@
>    
>    import com.workingdogs.village.*;
>    
>   +import javax.servlet.*;
>   +
>    /**
>     * The purpose of this class is to define the Attendee 
> property of the
>     * iCalendar protocol (rfc2445)
>   @@ -665,6 +667,77 @@
>        public String toICal() throws ICalendarException
>        {
>            return toICal(ATTENDEE_DESIGNATOR);
>   +    }    
>   +
>   +    /**
>   +     * The purpose of this method is to set the user type 
> from a servlet
>   +     * request.
>   +     * @param req The servlet request where the 
> information is stored.
>   +     * @param usertypefn The field name where the user 
> type is stored.
>   +     */
>   +    protected void setUserType(ServletRequest req,
>   +           String usertypefn) throws ICalendarException
>   +    {
>   +        if(req != null)
>   +        {
>   +            if(req.getParameter(usertypefn) != null)
>   +            {
>   +                setUserType((String) req.getParameter(usertypefn));
>   +            }
>   +        }
>   +    }    
>   +          
>   +    /**
>   +     * The purpose of this method is to set the 
> participation from a servlet
>   +     * request.
>   +     * @param req The servlet request where the 
> information is stored.
>   +     * @param participate The field name where the new 
> participation value
>   +     *        is stored.
>   +     */
>   +    protected void setParticipation(ServletRequest req, 
>   +           String participate) throws ICalendarException
>   +    {
>   +        if(req != null)
>   +        {
>   +            if((req.getParameter(participate) != null))
>   +            {
>   +                setParticipation(req.getParameter(participate));
>   +            }
>   +        }
>   +    }    
>   +
>   +    /**
>   +     * The purpose of this method is to set the role from 
> a servlet request.
>   +     * @param req The servlet request where the 
> information is stored.
>   +     * @param rolefn The field name where the role is stored.
>   +     */
>   +    protected void setRole(ServletRequest req, 
>   +           String rolefn) throws ICalendarException
>   +    {
>   +        if(req != null)
>   +        {
>   +            if(req.getParameter(rolefn) != null)
>   +            {
>   +                setRole(req.getParameter(rolefn));
>   +            }
>   +        }
>   +    }    
>   +
>   +    /**
>   +     * The purpose of this method is to set the RSVP from 
> a servlet request.
>   +     * @param req The servlet request where the 
> information is stored.
>   +     * @param rsvpfn The field name where the rsvp is stored.
>   +     */
>   +    protected void setRSVP(ServletRequest req, String rsvpfn)
>   +           throws ICalendarException
>   +    {
>   +        if(req != null)
>   +        {
>   +            if(req.getParameter(rsvpfn) != null)
>   +            {
>   +                setRSVP(req.getParameter(rsvpfn));
>   +            }
>   +        }
>        }    
>    
>        protected String paramstoICal() throws ICalendarException
>   
>   
>   
>   1.4       +73 -0     
> icalendar/src/java/org/apache/icalendar/properties/PropWithPeople.java
>   
>   Index: PropWithPeople.java
>   ===================================================================
>   RCS file: 
> /products/cvs/jetspeed/icalendar/src/java/org/apache/icalendar
> /properties/PropWithPeople.java,v
>   retrieving revision 1.3
>   retrieving revision 1.4
>   diff -u -r1.3 -r1.4
>   --- PropWithPeople.java     2000/09/28 20:22:43     1.3
>   +++ PropWithPeople.java     2000/10/16 23:32:23     1.4
>   @@ -52,6 +52,7 @@
>    import org.apache.icalendar.util.*;
>    import org.apache.icalendar.parameters.*;
>    import com.workingdogs.village.*;
>   +import javax.servlet.*;
>    
>    /**
>     * The purpose of this method is to define all the common 
> elements of
>   @@ -372,6 +373,78 @@
>                    {
>                        setValue(currentValue.asString());
>                    }
>   +            }
>   +        }
>   +    }    
>   +
>   +    /**
>   +     * The purpose of this method is to set the commen 
> name parameter
>   +     * from a servlet request.
>   +     * @param req The servlet request where the 
> information is stored.
>   +     * @param cnfn The common name field name
>   +     */
>   +    protected void setCommonName(ServletRequest req, String cnfn)
>   +           throws ICalendarException
>   +    {
>   +        if(req != null)
>   +        {
>   +            if(req.getParameter(cnfn) != null)
>   +            {
>   +                setCommonName(req.getParameter(cnfn));
>   +            }
>   +        }
>   +    }
>   +
>   +    /**
>   +     * The purpose of this method is to set the directory parameter
>   +     * from a servlet request.
>   +     * @param req The servlet request where the 
> information is stored.
>   +     * @param dirfn The directory field name
>   +     */
>   +    protected void setDirectoryParameter(ServletRequest req, 
>   +           String dirfn) throws ICalendarException
>   +    {
>   +        if(req != null)
>   +        {
>   +            if(req.getParameter(dirfn) != null)
>   +            {
>   +                setDirectoryParameter(req.getParameter(dirfn));
>   +            }
>   +        }
>   +    }    
>   +    
>   +    /**
>   +     * The purpose of this method is to set the sent by parameter
>   +     * from a servlet request.
>   +     * @param req The servlet request where the 
> information is stored.
>   +     * @param sentbyfn The field name where the sent by 
> parameter is stored.
>   +     */
>   +    public void setSentByParameter(ServletRequest req,
>   +           String sentbyfn) throws ICalendarException
>   +    {
>   +        if(req != null)
>   +        {
>   +            if(req.getParameter(sentbyfn) != null)
>   +            {
>   +                setSentByParameter(req.getParameter(sentbyfn));
>   +            }
>   +        }
>   +    }    
>   +
>   +    /**
>   +     * The purpose of this method is to set the value of 
> this property from
>   +     * a servlet request.
>   +     * @param req The servlet request where the 
> information is stored.
>   +     * @param valuefn The field name where the value is stored.
>   +     */
>   +    public void setValue(ServletRequest req, String valuefn)
>   +           throws ICalendarException
>   +    {
>   +        if(req != null)
>   +        {
>   +            if(req.getParameter(valuefn) != null)
>   +            {
>   +                setValue(req.getParameter(valuefn));
>                }
>            }
>        }    
>   
>   
>   
>   1.1                  
> icalendar/src/java/org/apache/icalendar/properties/AttendeeFac
> tory.java
>   
>   Index: AttendeeFactory.java
>   ===================================================================
>   package org.apache.icalendar.properties;
>   
>   import org.apache.icalendar.util.*;
>   import org.apache.icalendar.properties.peer.*;
>   import org.apache.icalendar.vobjects.*;
>   import java.util.*;
>   
>   public class AttendeeFactory
>   {
>       public static Vector getRelatedAttendees(TopParent 
> parent) throws Exception
>       {
>           return 
> AttendeePeer.doSelect(PeerUtils.getRelatedCriteria(parent,
>                  AttendeePeer.PARENTS_TABLE, 
> AttendeePeer.PARENTS_ID));
>       }
>   }    
>   
>   
>   
>   1.1                  
> icalendar/src/java/org/apache/icalendar/properties/CategoriesF
> actory.java
>   
>   Index: CategoriesFactory.java
>   ===================================================================
>   package org.apache.icalendar.properties;
>   
>   import org.apache.icalendar.util.*;
>   import org.apache.icalendar.properties.peer.*;
>   import org.apache.icalendar.vobjects.*;
>   import java.util.*;
>   
>   public class CategoriesFactory
>   {
>       public static Vector getRelatedCategories(TopParent 
> parent) throws Exception
>       {
>           return CategoriesPeer.doSelect(PeerUtils.getRelatedCriteria(
>                  parent, CategoriesPeer.PARENTS_TABLE,
>                  CategoriesPeer.PARENTS_ID));
>       }
>   }    
>   
>   
>   
>   1.1                  
> icalendar/src/java/org/apache/icalendar/properties/CommentFactory.java
>   
>   Index: CommentFactory.java
>   ===================================================================
>   package org.apache.icalendar.properties;
>   
>   import org.apache.icalendar.util.*;
>   import org.apache.icalendar.properties.peer.*;
>   import org.apache.icalendar.vobjects.*;
>   import java.util.*;
>   
>   public class CommentFactory
>   {
>       public static Vector getRelatedComments(TopParent 
> parent) throws Exception
>       {
>           return 
> CommentPeer.doSelect(PeerUtils.getRelatedCriteria(parent,
>                  CommentPeer.PARENTS_TABLE, CommentPeer.PARENTS_ID));
>       }
>   }    
>   
>   
>   
>   1.1                  
> icalendar/src/java/org/apache/icalendar/properties/ContactFactory.java
>   
>   Index: ContactFactory.java
>   ===================================================================
>   package org.apache.icalendar.properties;
>   
>   import org.apache.icalendar.util.*;
>   import org.apache.icalendar.properties.peer.*;
>   import org.apache.icalendar.vobjects.*;
>   import java.util.*;
>   
>   public class ContactFactory
>   {
>       public static Vector getRelatedContacts(TopParent 
> parent) throws Exception
>       {
>           return 
> ContactPeer.doSelect(PeerUtils.getRelatedCriteria(parent,
>                  ContactPeer.PARENTS_TABLE, ContactPeer.PARENTS_ID));
>       }
>   }    
>   
>   
>   
>   1.1                  
> icalendar/src/java/org/apache/icalendar/properties/ExceptionDa
> teFactory.java
>   
>   Index: ExceptionDateFactory.java
>   ===================================================================
>   package org.apache.icalendar.properties;
>   
>   import org.apache.icalendar.util.*;
>   import org.apache.icalendar.properties.peer.*;
>   import org.apache.icalendar.vobjects.*;
>   import java.util.*;
>   
>   public class ExceptionDateFactory
>   {
>       public static Vector getRelatedExceptionDates(TopParent 
> parent) throws 
>              Exception
>       {
>           return 
> ExceptionDatePeer.doSelect(PeerUtils.getRelatedCriteria(
>                  parent, ExceptionDatePeer.PARENTS_TABLE,
>                  ExceptionDatePeer.PARENTS_ID));
>       }
>   }    
>   
>   
>   
> 
>   Modified:    src/main/org/jboss/ejb/plugins
>                         EntityInstanceInterceptor.java
>   Log:
>   Updated for the new cache structure. Changed the sync 
> object used by the locking logic
>   
>   Revision  Changes    Path
>   1.17      +15 -13    
> jboss/src/main/org/jboss/ejb/plugins/EntityInstanceInterceptor.java
>   
>   Index: EntityInstanceInterceptor.java
>   ===================================================================
>   RCS file: 
> /products/cvs/ejboss/jboss/src/main/org/jboss/ejb/plugins/Enti
> tyInstanceInterceptor.java,v
>   retrieving revision 1.16
>   retrieving revision 1.17
>   diff -u -r1.16 -r1.17
>   --- EntityInstanceInterceptor.java  2000/10/09 20:15:37     1.16
>   +++ EntityInstanceInterceptor.java  2000/10/16 23:32:26     1.17
>   @@ -43,7 +43,7 @@
>    *   @see <related>
>    *   @author Rickard �berg ([EMAIL PROTECTED])
>    *   @author <a href="[EMAIL PROTECTED]">Marc Fleury</a>
>   -*   @version $Revision: 1.16 $
>   +*   @version $Revision: 1.17 $
>    */
>    public class EntityInstanceInterceptor
>    extends AbstractInterceptor
>   @@ -89,9 +89,9 @@
>             ctx.unlock();
>             
>             // Still free? Not free if create() was called 
> successfully
>   -         if (mi.getEnterpriseContext().getId() == null)
>   +         if (ctx.getId() == null)
>             {
>   -          
> container.getInstancePool().free(mi.getEnterpriseContext());
>   +          container.getInstancePool().free(ctx);
>             } 
>             else
>             {
>   @@ -112,12 +112,13 @@
>           CacheKey key = (CacheKey) mi.getId();
>           
>           // Get cache
>   -       InstanceCache cache = 
> ((EntityContainer)getContainer()).getInstanceCache();
>   -       
>   +       EnterpriseInstanceCache cache = 
> (EnterpriseInstanceCache)container.getInstanceCache();
>   +       Object mutex = cache.getLock(key);
>   +      
>           EnterpriseContext ctx = null;
>           
>           // We synchronize the locking logic (so that the 
> invoke is unsynchronized and can be reentrant)
>   -       synchronized (cache)
>   +       synchronized (mutex)
>           {
>             do
>             {
>   @@ -194,21 +195,21 @@
>           {
>             // Discard instance
>             // EJB 1.1 spec 12.3.1
>   -         
> ((EntityContainer)getContainer()).getInstanceCache().remove(key.id);
>   +         
> ((EntityContainer)getContainer()).getInstanceCache().remove(key);
>             
>             throw e;
>           } catch (RuntimeException e)
>           {
>             // Discard instance
>             // EJB 1.1 spec 12.3.1
>   -         
> ((EntityContainer)getContainer()).getInstanceCache().remove(key.id);
>   +         
> ((EntityContainer)getContainer()).getInstanceCache().remove(key);
>             
>             throw e;
>           } catch (Error e)
>           {
>             // Discard instance
>             // EJB 1.1 spec 12.3.1
>   -         
> ((EntityContainer)getContainer()).getInstanceCache().remove(key.id);
>   +         
> ((EntityContainer)getContainer()).getInstanceCache().remove(key);
>             
>             throw e;
>           } finally
>   @@ -217,7 +218,7 @@
>             if (ctx != null)
>             {
>              
>   -          synchronized (ctx) {
>   +          synchronized (mutex) {
>                  
>                  // unlock the context
>                  ctx.unlock();
>   @@ -225,14 +226,16 @@
>                  if (ctx.getId() == null)                             
>                  {
>                     // Remove from cache
>   -                 cache.remove(key.id);
>   +                 cache.remove(key);
>                     
>                     // It has been removed -> send to free pool
>                     container.getInstancePool().free(ctx);
>                  }
>                  
>                  // notify the thread waiting on ctx
>   -              ctx.notifyAll();
>   +                     synchronized (ctx) {
>   +                           ctx.notifyAll();
>   +                     }
>              }
>             }
>           }
>   @@ -283,4 +286,3 @@
>           return false;
>        }
>    }
>   -
>   
>   
>   
> 

Reply via email to