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 2004/09/02 11:02:17 UTC
svn commit: rev 37364 - in cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal: layout/impl profile/impl
Author: cziegeler
Date: Thu Sep 2 02:02:16 2004
New Revision: 37364
Modified:
cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/impl/CopletLayout.java
cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/GroupBasedProfileManager.java
Log:
Fix bug in copy
Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/impl/CopletLayout.java
==============================================================================
--- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/impl/CopletLayout.java (original)
+++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/impl/CopletLayout.java Thu Sep 2 02:02:16 2004
@@ -15,8 +15,6 @@
*/
package org.apache.cocoon.portal.layout.impl;
-import java.util.Map;
-
import org.apache.cocoon.portal.coplet.CopletInstanceData;
import org.apache.cocoon.portal.layout.AbstractLayout;
import org.apache.cocoon.portal.layout.Layout;
@@ -48,7 +46,7 @@
protected Object clone() throws CloneNotSupportedException {
CopletLayout clone = (CopletLayout)super.clone();
- this.copletInstanceData = null;
+ clone.copletInstanceData = null;
return clone;
}
@@ -56,16 +54,13 @@
/* (non-Javadoc)
* @see org.apache.cocoon.portal.layout.Layout#copy()
*/
- public Layout copy(Map copletInstanceDatas) {
+ public Layout copy() {
CopletLayout clone = (CopletLayout)super.copy();
- if (copletInstanceDatas == null) {
- clone.copletInstanceData = this.copletInstanceData;
- } else {
- if ( this.copletInstanceData != null ) {
- clone.copletInstanceData = this.copletInstanceData.copy();
- }
-
+
+ if ( this.copletInstanceData != null ) {
+ clone.copletInstanceData = this.copletInstanceData.copy();
}
+
return clone;
}
}
Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/GroupBasedProfileManager.java
==============================================================================
--- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/GroupBasedProfileManager.java (original)
+++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/GroupBasedProfileManager.java Thu Sep 2 02:02:16 2004
@@ -109,6 +109,13 @@
}
}
+ protected void storeUserProfile(String layoutKey, PortalService service, UserProfile profile) {
+ if ( layoutKey == null ) {
+ layoutKey = this.getDefaultLayoutKey();
+ }
+ service.setAttribute(KEY_PREFIX + layoutKey, profile);
+ }
+
/**
* Prepares the object by using the specified factory.
*/
@@ -369,14 +376,15 @@
try {
loader = (ProfileLS)this.manager.lookup( ProfileLS.ROLE );
final UserProfile profile = new UserProfile();
-
+ this.storeUserProfile(layoutKey, service, profile);
+
// first "load" the global data
profile.setCopletBaseDatas( this.getGlobalBaseDatas(loader, info, service) );
profile.setCopletDatas( this.getGlobalDatas(loader, info, service) );
// now load the user/group specific data
if ( !this.getCopletInstanceDatas(loader, profile, info, service, CATEGORY_USER) ) {
- if ( !this.getCopletInstanceDatas(loader, profile, info, service, CATEGORY_GROUP)) {
+ if ( info.getGroup() == null || !this.getCopletInstanceDatas(loader, profile, info, service, CATEGORY_GROUP)) {
if ( !this.getCopletInstanceDatas(loader, profile, info, service, CATEGORY_GLOBAL) ) {
throw new ProcessingException("No profile for copletinstancedatas found.");
}
@@ -384,7 +392,7 @@
}
if ( !this.getLayout(loader, profile, info, service, CATEGORY_USER) ) {
- if ( !this.getLayout(loader, profile, info, service, CATEGORY_GROUP)) {
+ if ( info.getGroup() == null || !this.getLayout(loader, profile, info, service, CATEGORY_GROUP)) {
if ( !this.getLayout(loader, profile, info, service, CATEGORY_GLOBAL) ) {
throw new ProcessingException("No profile for layout found.");
}