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 2006/12/14 22:29:23 UTC
svn commit: r487355 -
/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/impl/StaticProfileManager.java
Author: cziegeler
Date: Thu Dec 14 13:29:22 2006
New Revision: 487355
URL: http://svn.apache.org/viewvc?view=rev&rev=487355
Log:
Update manager
Modified:
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/impl/StaticProfileManager.java
Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/impl/StaticProfileManager.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/impl/StaticProfileManager.java?view=diff&rev=487355&r1=487354&r2=487355
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/impl/StaticProfileManager.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/impl/StaticProfileManager.java Thu Dec 14 13:29:22 2006
@@ -50,9 +50,9 @@
protected String profilesPath;
- protected final StaticBucketMap copletInstanceDataManagers = new StaticBucketMap();
- protected final StaticBucketMap copletDataManagers = new StaticBucketMap();
- protected final StaticBucketMap copletBaseDataManagers = new StaticBucketMap();
+ protected final StaticBucketMap copletInstances = new StaticBucketMap();
+ protected final StaticBucketMap copletDefinitions = new StaticBucketMap();
+ protected final StaticBucketMap copletTypes = new StaticBucketMap();
protected static final String LAYOUTKEY_PREFIX = StaticProfileManager.class.getName() + "/Layout/";
@@ -80,13 +80,16 @@
return layout;
}
- Collection c = getCopletInstanceDataManager();
+ // put instances into map
+ Collection c = this.loadCopletInstances();
final Map objectMap = new HashMap();
final Iterator i = c.iterator();
while ( i.hasNext() ) {
CopletInstance current = (CopletInstance)i.next();
objectMap.put(current.getId(), current);
}
+
+ // load layout
final Map map = new LinkedMap();
map.put("base", this.profilesPath);
map.put("portalname", this.portalService.getPortalName());
@@ -103,7 +106,9 @@
// get Layout specified in the map
Layout layout = (Layout) adapter.loadProfile(map, ProfileLS.PROFILETYPE_LAYOUT, objectMap);
- Map layouts = new HashMap();
+ layout = this.processLayout(null, layout);
+
+ final Map layouts = new HashMap();
layouts.put(null, layout); //save root with null as key
cacheLayouts(layouts, layout);
@@ -148,17 +153,16 @@
throws Exception {
final String portalName = this.portalService.getPortalName();
// ensure that profile is loaded
- this.getCopletInstanceDataManager();
- return (Map)this.copletDataManagers.get(portalName);
+ this.loadCopletInstances();
+ return (Map)this.copletDefinitions.get(portalName);
}
- private Collection getCopletInstanceDataManager()
+ private Collection loadCopletInstances()
throws Exception {
String portalName = this.portalService.getPortalName();
- Collection copletInstanceDataManager =
- (Collection) this.copletInstanceDataManagers.get(portalName);
- if (copletInstanceDataManager != null) {
- return copletInstanceDataManager;
+ Collection instances = (Collection) this.copletInstances.get(portalName);
+ if (instances != null) {
+ return instances;
}
ProfileLS adapter = null;
@@ -171,40 +175,43 @@
map.put("profile", "coplet");
map.put("name", "basedata");
Collection cBase = (Collection) adapter.loadProfile(map, ProfileLS.PROFILETYPE_COPLETTYPE, null);
- final Map copletBaseDataManager = new HashMap();
+ cBase = this.processCopletTypes(cBase);
+ final Map types = new HashMap();
Iterator i = cBase.iterator();
while ( i.hasNext() ) {
final CopletDefinition current = (CopletDefinition)i.next();
- copletBaseDataManager.put(current.getId(), current);
+ types.put(current.getId(), current);
}
- this.copletBaseDataManagers.put(portalName, copletBaseDataManager);
-
- //CopletDefinition
+ this.copletTypes.put(portalName, types);
+ // CopletDefinition
map.clear();
map.put("base", this.profilesPath);
map.put("portalname", this.portalService.getPortalName());
map.put("profile", "coplet");
map.put("name", "data");
- Collection c = (Collection) adapter.loadProfile(map, ProfileLS.PROFILETYPE_COPLETDEFINITION, copletBaseDataManager);
- final Map copletDataManager = new HashMap();
+ Collection c = (Collection) adapter.loadProfile(map, ProfileLS.PROFILETYPE_COPLETDEFINITION, types);
+ c = this.processCopletDefinitions(c);
+ final Map definitions = new HashMap();
i = c.iterator();
while ( i.hasNext() ) {
final CopletDefinition current = (CopletDefinition)i.next();
- copletDataManager.put(current.getId(), current);
+ definitions.put(current.getId(), current);
}
+ this.copletDefinitions.put(portalName, definitions);
+
//CopletInstanceData
map.clear();
map.put("base", this.profilesPath);
map.put("portalname", this.portalService.getPortalName());
map.put("profile", "coplet");
map.put("name", "instancedata");
- copletInstanceDataManager = (Collection) adapter.loadProfile(map, ProfileLS.PROFILETYPE_COPLETINSTANCE, copletDataManager);
+ instances = (Collection) adapter.loadProfile(map, ProfileLS.PROFILETYPE_COPLETINSTANCE, definitions);
+ instances = this.processCopletInstances(null, instances);
// store managers
- this.copletInstanceDataManagers.put(portalName, copletInstanceDataManager);
- this.copletDataManagers.put(portalName, copletDataManager);
- return copletInstanceDataManager;
+ this.copletInstances.put(portalName, instances);
+ return instances;
} finally {
this.manager.release(adapter);
}
@@ -217,7 +224,7 @@
// TODO - we should store a map in the static profile manager
// instead of going through the collection each time
try {
- final Iterator i = this.getCopletInstanceDataManager().iterator();
+ final Iterator i = this.loadCopletInstances().iterator();
while ( i.hasNext() ) {
final CopletInstance current = (CopletInstance) i.next();
if ( current.getId().equals(copletID) ) {
@@ -235,7 +242,7 @@
*/
public CopletDefinition getCopletDefinition(String copletDataId) {
try {
- Iterator i = getCopletInstanceDataManager().iterator();
+ Iterator i = loadCopletInstances().iterator();
boolean found = false;
CopletInstance current = null;
while ( !found && i.hasNext() ) {
@@ -259,7 +266,7 @@
public List getCopletInstances(CopletDefinition data) {
List coplets = new ArrayList();
try {
- Iterator iter = getCopletInstanceDataManager().iterator();
+ Iterator iter = loadCopletInstances().iterator();
while (iter.hasNext()){
CopletInstance current = (CopletInstance) iter.next();
if (current.getCopletDefinition().equals(data)) {
@@ -298,7 +305,7 @@
*/
public Collection getCopletInstances() {
try {
- return this.getCopletInstanceDataManager();
+ return this.loadCopletInstances();
} catch (Exception e) {
throw new ProfileException("Error in getCopletInstanceDatas.", e);
}
@@ -308,14 +315,14 @@
* @see org.apache.cocoon.portal.profile.ProfileManager#getCopletType(java.lang.String)
*/
public CopletType getCopletType(String id) {
- return (CopletType)((Map)this.copletBaseDataManagers.get(this.portalService.getPortalName())).get(id);
+ return (CopletType)((Map)this.copletTypes.get(this.portalService.getPortalName())).get(id);
}
/**
* @see org.apache.cocoon.portal.profile.ProfileManager#getCopletTypes()
*/
public Collection getCopletTypes() {
- return ((Map)this.copletBaseDataManagers.get(this.portalService.getPortalName())).values();
+ return ((Map)this.copletTypes.get(this.portalService.getPortalName())).values();
}
/**