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); - } + } } /**