cziegeler    2003/05/28 00:23:55

  Modified:    src/blocks/portal/java/org/apache/cocoon/portal/profile/impl
                        AuthenticationProfileManager.java
  Log:
  Cleaning up on logout
  
  Revision  Changes    Path
  1.5       +11 -7     
cocoon-2.1/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/AuthenticationProfileManager.java
  
  Index: AuthenticationProfileManager.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/AuthenticationProfileManager.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- AuthenticationProfileManager.java 28 May 2003 07:14:41 -0000      1.4
  +++ AuthenticationProfileManager.java 28 May 2003 07:23:55 -0000      1.5
  @@ -136,28 +136,32 @@
           ComponentSelector adapterSelector = null;
           try {
               adapterSelector = 
(ComponentSelector)this.manager.lookup(CopletAdapter.ROLE+"Selector");
  -            service = (PortalService) this.manager.lookup(PortalService.ROLE);
  +            service = (PortalService)this.manager.lookup(PortalService.ROLE);
   
  -            attribute = 
AuthenticationProfileManager.class.getName()+"/"+service.getPortalName()+"/CopletInstanceData";
  -            CopletInstanceDataManager copletInstanceDataManager = 
(CopletInstanceDataManager)service.getAttribute(attribute);
  -            
  +            String portalPrefix = 
AuthenticationProfileManager.class.getName()+"/"+service.getPortalName();
  +
  +            CopletInstanceDataManager copletInstanceDataManager = 
(CopletInstanceDataManager)service.getAttribute(portalPrefix+"/CopletInstanceData");
               Iterator iter = 
copletInstanceDataManager.getCopletInstanceData().values().iterator();
               while ( iter.hasNext() ) {
                   CopletInstanceData cid = (CopletInstanceData) iter.next();
                   CopletAdapter adapter = null;
                   try {
  -                    adapter = (CopletAdapter) 
adapterSelector.select(cid.getCopletData().getCopletBaseData().getCopletAdapterName());
  +                    adapter = 
(CopletAdapter)adapterSelector.select(cid.getCopletData().getCopletBaseData().getCopletAdapterName());
                       adapter.logout( cid );
                   } finally {
                       adapterSelector.release( adapter );
                   }
               }
  +
  +            service.removeAttribute(portalPrefix+"/CopletData");
  +            service.removeAttribute(portalPrefix+"/CopletInstanceData");
  +            service.removeAttribute(portalPrefix+"/Layout");
           } catch (ComponentException e) {
               throw new CascadingRuntimeException("Unable to lookup portal service.", 
e);
           } finally {
               this.manager.release(service);
               this.manager.release(adapterSelector);
  -        }        
  +        }
       }
       
       /**
  
  
  

Reply via email to