You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by cz...@apache.org on 2003/12/08 15:24:14 UTC

cvs commit: cocoon-2.1/src/blocks/portal/java/org/apache/cocoon/portal/event/impl DefaultEventConverter.java

cziegeler    2003/12/08 06:24:14

  Modified:    src/blocks/portal/java/org/apache/cocoon/portal/event/impl
                        DefaultEventConverter.java
  Log:
  Convert the same event only once
  
  Revision  Changes    Path
  1.3       +19 -3     cocoon-2.1/src/blocks/portal/java/org/apache/cocoon/portal/event/impl/DefaultEventConverter.java
  
  Index: DefaultEventConverter.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/portal/java/org/apache/cocoon/portal/event/impl/DefaultEventConverter.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- DefaultEventConverter.java	20 Oct 2003 13:36:42 -0000	1.2
  +++ DefaultEventConverter.java	8 Dec 2003 14:24:14 -0000	1.3
  @@ -86,6 +86,9 @@
           this.manager = manager;
       }
   
  +    /* (non-Javadoc)
  +     * @see org.apache.cocoon.portal.event.EventConverter#encode(org.apache.cocoon.portal.event.Event)
  +     */
       public String encode(Event event) {
           PortalService service = null;
           try {
  @@ -95,8 +98,12 @@
                   list = new ArrayList();
                   service.setAttribute(ENCODE_LIST, list);
               }
  -            list.add(event);
  -            return String.valueOf(list.size()-1);
  +            int index = list.indexOf(event);
  +            if ( index == -1 ) {
  +                list.add(event);
  +                index = list.size() - 1;
  +            }
  +            return String.valueOf(index);
           } catch (ServiceException ce) {
               throw new CascadingRuntimeException("Unable to lookup component.", ce);            
           } finally {
  @@ -105,6 +112,9 @@
           
       }
   
  +    /* (non-Javadoc)
  +     * @see org.apache.cocoon.portal.event.EventConverter#decode(java.lang.String)
  +     */
       public Event decode(String value) {
           if (value != null) {
               PortalService service = null;
  @@ -126,6 +136,9 @@
           return null;
       }
   
  +    /* (non-Javadoc)
  +     * @see org.apache.cocoon.portal.event.EventConverter#start()
  +     */
       public void start() {
           PortalService service = null;
           try {
  @@ -142,6 +155,9 @@
           }
       }
       
  +    /* (non-Javadoc)
  +     * @see org.apache.cocoon.portal.event.EventConverter#finish()
  +     */
       public void finish() {
           PortalService service = null;
           try {