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 2005/10/25 21:09:36 UTC

svn commit: r328453 - in /cocoon/blocks/portal/trunk/java/org/apache/cocoon: components/persistence/ portal/application/ portal/aspect/impl/ portal/coplet/ portal/coplet/status/ portal/layout/ portal/persistence/ portal/persistence/castor/ portal/pluto...

Author: cziegeler
Date: Tue Oct 25 12:08:53 2005
New Revision: 328453

URL: http://svn.apache.org/viewcvs?rev=328453&view=rev
Log:
Fix castor marshalling bug with duplicate ids; add debug statements and create interface for customizable persistence converter

Added:
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/Converter.java   (with props)
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/ConverterException.java
      - copied, changed from r328375, cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/ConverterException.java
Removed:
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/components/persistence/
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/application/
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/aspect/impl/
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/status/
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/ConverterException.java
Modified:
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletBaseData.java
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletData.java
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletInstanceData.java
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/AbstractLayout.java
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/CastorSourceConverter.java
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/copletbasedata.xml
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/copletdata.xml
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/copletinstancedata.xml
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/portal-castor.roles
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/services/PropertyManagerServiceImpl.java
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/profile/impl/GroupBasedProfileManager.java
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/profile/impl/MapProfileLS.java
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/serialization/IncludingHTMLSerializer.java
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/source/CopletSource.java
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/source/CopletSourceFactory.java
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/tools/copletManagement/generation/XMLProfileGenerator.java

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletBaseData.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletBaseData.java?rev=328453&r1=328452&r2=328453&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletBaseData.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletBaseData.java Tue Oct 25 12:08:53 2005
@@ -71,4 +71,12 @@
 	public void setCopletAdapterName(String name) {
 		this.copletAdapterName = name;
 	}
+
+    /**
+     * @see java.lang.Object#toString()
+     */
+    public String toString() {
+        return "CopletBaseData (" + this.hashCode() +
+               "), id=" + this.getId() + ", coplet-adapter=" + this.getCopletAdapterName();
+    }
 }

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletData.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletData.java?rev=328453&r1=328452&r2=328453&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletData.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletData.java Tue Oct 25 12:08:53 2005
@@ -194,4 +194,12 @@
         }
         this.allowedRoles = buffer.toString();
     }
+
+    /**
+     * @see java.lang.Object#toString()
+     */
+    public String toString() {
+        return "CopletData (" + this.hashCode() +
+               "), id=" + this.getId() + ", coplet-base-data=" + this.getCopletBaseData().getId();
+    }
 }

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletInstanceData.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletInstanceData.java?rev=328453&r1=328452&r2=328453&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletInstanceData.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletInstanceData.java Tue Oct 25 12:08:53 2005
@@ -230,4 +230,12 @@
         }
         this.size = size;
     }
+
+    /**
+     * @see java.lang.Object#toString()
+     */
+    public String toString() {
+        return "CopletInstanceData (" + this.hashCode() +
+               "), id=" + this.getId() + ", coplet-data=" + this.getCopletData().getId();
+    }
 }

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/AbstractLayout.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/AbstractLayout.java?rev=328453&r1=328452&r2=328453&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/AbstractLayout.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/AbstractLayout.java Tue Oct 25 12:08:53 2005
@@ -146,5 +146,4 @@
         return "Layout (" + this.getClass() + '.' + this.hashCode() +
                "), name=" + this.name + ", id=" + (this.getId() == null ? "" : this.getId());
     }
-
 }

Added: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/Converter.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/Converter.java?rev=328453&view=auto
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/Converter.java (added)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/Converter.java Tue Oct 25 12:08:53 2005
@@ -0,0 +1,61 @@
+/*
+ * Copyright 2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.portal.persistence;
+
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.Map;
+
+/**
+ * This is a component that converts a profile (= object tree) to a persistence
+ * format.
+ *
+ * @version $Id$
+ */
+public interface Converter {
+
+    /** The role to lookup this component. */
+    public static final String ROLE = Converter.class.getName();
+
+    /**
+     * Load an object from the given input stream. 
+     * @param stream      The input stream with the data.
+     * @param profileType {@link org.apache.cocoon.portal.profile.ProfileLS}
+     * @param references  A map of references referenced from the profile.
+     * @param parameters  An optional map of parameters for the conversion.
+     * @return The loaded object.
+     * @throws ConverterException
+     */
+    Object getObject(InputStream stream,
+                     String      profileType,
+                     Map         references,
+                     Map         parameters)
+    throws ConverterException;
+
+    /**
+     * Save an object to a given stream.
+     * @param stream The output stream.
+     * @param profileType {@link org.apache.cocoon.portal.profile.ProfileLS}
+     * @param object The object to save.
+     * @param parameters  An optional map of parameters for the conversion.
+     * @throws ConverterException
+     */
+    void storeObject(OutputStream stream,
+                     String       profileType,
+                     Object       object,
+                     Map          parameters)
+    throws ConverterException;
+}

Propchange: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/Converter.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/Converter.java
------------------------------------------------------------------------------
    svn:keywords = Id

Copied: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/ConverterException.java (from r328375, cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/ConverterException.java)
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/ConverterException.java?p2=cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/ConverterException.java&p1=cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/ConverterException.java&r1=328375&r2=328453&rev=328453&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/ConverterException.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/ConverterException.java Tue Oct 25 12:08:53 2005
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.cocoon.portal.persistence.castor;
+package org.apache.cocoon.portal.persistence;
 
 import org.apache.avalon.framework.CascadingException;
 

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/CastorSourceConverter.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/CastorSourceConverter.java?rev=328453&r1=328452&r2=328453&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/CastorSourceConverter.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/CastorSourceConverter.java Tue Oct 25 12:08:53 2005
@@ -34,7 +34,8 @@
 import org.apache.avalon.framework.service.Serviceable;
 import org.apache.avalon.framework.thread.ThreadSafe;
 import org.apache.cocoon.components.source.SourceUtil;
-import org.apache.cocoon.portal.profile.ProfileLS;
+import org.apache.cocoon.portal.persistence.Converter;
+import org.apache.cocoon.portal.persistence.ConverterException;
 import org.apache.excalibur.source.Source;
 import org.apache.excalibur.source.SourceResolver;
 import org.exolab.castor.mapping.Mapping;
@@ -58,10 +59,7 @@
  */
 public class CastorSourceConverter
     extends AbstractLogEnabled
-    implements Serviceable, Configurable, Initializable, ThreadSafe {
-
-    /** The role to lookup this component. */
-    public static final String ROLE = CastorSourceConverter.class.getName();
+    implements Serviceable, Configurable, Initializable, ThreadSafe, Converter {
 
     protected Map mappingSources = new HashMap();
     protected ServiceManager manager;
@@ -72,10 +70,17 @@
     /** This object resolves the references between the different profile files. */
     protected ReferenceResolver idResolver = new ReferenceResolver();
 
-    public Object getObject(InputStream stream, Map parameters) throws ConverterException {
+    /**
+     * @see org.apache.cocoon.portal.persistence.Converter#getObject(java.io.InputStream, java.lang.String, java.util.Map, java.util.Map)
+     */
+    public Object getObject(InputStream stream,
+                            String      mappingName,
+                            Map         references,
+                            Map         parameters)
+    throws ConverterException {
         try {
-            this.idResolver.setObjectMap((Map)parameters.get(ProfileLS.PARAMETER_OBJECTMAP));
-            Unmarshaller unmarshaller = (Unmarshaller)((Object[])this.mappings.get(parameters.get(ProfileLS.PARAMETER_PROFILETYPE)))[1];
+            this.idResolver.setObjectMap(references);
+            Unmarshaller unmarshaller = (Unmarshaller)((Object[])this.mappings.get(mappingName))[1];
             Object result = unmarshaller.unmarshal(new InputSource(stream));
             stream.close();
             return result;
@@ -86,15 +91,24 @@
         }
     }
 
-	public void storeObject(OutputStream stream, Map parameters, Object object) throws ConverterException {
+	/**
+	 * @see org.apache.cocoon.portal.persistence.Converter#storeObject(java.io.OutputStream, java.lang.String, java.lang.Object, java.util.Map)
+	 */
+	public void storeObject(OutputStream stream,
+                            String       mappingName,
+                            Object       object,
+                            Map          parameters)
+    throws ConverterException {
         Writer writer = new OutputStreamWriter(stream);
 		try {
 			Marshaller marshaller = new Marshaller( writer );
-			marshaller.setMapping((Mapping)((Object[])this.mappings.get(parameters.get(ProfileLS.PARAMETER_PROFILETYPE)))[0]);
+			marshaller.setMapping((Mapping)((Object[])this.mappings.get(mappingName))[0]);
             boolean suppressXSIType = this.defaultSuppressXSIType;
-            Boolean value = (Boolean)parameters.get("suppressXSIType");
-            if (value != null) {
-                suppressXSIType = value.booleanValue();
+            if ( parameters != null ) {
+                Boolean value = (Boolean)parameters.get("suppressXSIType");
+                if (value != null) {
+                    suppressXSIType = value.booleanValue();
+                }
             }
             marshaller.setSuppressXSIType(suppressXSIType);
 			marshaller.marshal(object);

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/copletbasedata.xml
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/copletbasedata.xml?rev=328453&r1=328452&r2=328453&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/copletbasedata.xml (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/copletbasedata.xml Tue Oct 25 12:08:53 2005
@@ -28,7 +28,7 @@
     </field>
   </class>
 
-  <class name="org.apache.cocoon.portal.coplet.CopletBaseData" identity="id">
+  <class name="org.apache.cocoon.portal.coplet.CopletBaseData">
     <map-to xml="coplet-base-data" />
 
     <field name="id" type="java.lang.String" set-method="%1" get-method="getId">

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/copletdata.xml
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/copletdata.xml?rev=328453&r1=328452&r2=328453&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/copletdata.xml (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/copletdata.xml Tue Oct 25 12:08:53 2005
@@ -33,7 +33,7 @@
     </field>
   </class>
 
-  <class name="org.apache.cocoon.portal.coplet.CopletData" identity="id">
+  <class name="org.apache.cocoon.portal.coplet.CopletData">
     <map-to xml="coplet-data" />
     
     <field name="id" type="java.lang.String" set-method="%1" get-method="getId">

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/copletinstancedata.xml
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/copletinstancedata.xml?rev=328453&r1=328452&r2=328453&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/copletinstancedata.xml (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/copletinstancedata.xml Tue Oct 25 12:08:53 2005
@@ -52,7 +52,7 @@
     </field>
   </class>
 
-  <class name="org.apache.cocoon.portal.coplet.CopletInstanceData" identity="id">
+  <class name="org.apache.cocoon.portal.coplet.CopletInstanceData">
     <map-to xml="coplet-instance-data"/>
 
     <field name="id" type="java.lang.String" set-method="%1" get-method="getId">

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/portal-castor.roles
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/portal-castor.roles?rev=328453&r1=328452&r2=328453&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/portal-castor.roles (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/portal-castor.roles Tue Oct 25 12:08:53 2005
@@ -20,7 +20,7 @@
       | Castor Converter
       |
       +-->
-    <role name="org.apache.cocoon.portal.persistence.castor.CastorSourceConverter"
+    <role name="org.apache.cocoon.portal.persistence.Converter"
           default-class="org.apache.cocoon.portal.persistence.castor.CastorSourceConverter"
           shorthand="castor-converter"/>
 

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/services/PropertyManagerServiceImpl.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/services/PropertyManagerServiceImpl.java?rev=328453&r1=328452&r2=328453&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/services/PropertyManagerServiceImpl.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/services/PropertyManagerServiceImpl.java Tue Oct 25 12:08:53 2005
@@ -36,47 +36,18 @@
 public class PropertyManagerServiceImpl implements PropertyManagerService {
 
 	/**
-	 * Sets the given property map defined by the portlet window in its response.  
-	 * <br>
-	 * The purpose of this method is to provide the portal framework
-	 * with a new map of properties set by the portlet. The map can be empty, but not NULL
-	 * <br>
-	 * This method can be called multiple times during one request by the portlet container
-	 * 
-	 * @param window the portlet window of this property
-	 * @param request the servlet request
-	 * @param response the servlet response
-	 * @param properties the String/String array map containing the
-	 *                  properties to be set.
-	 **/
+	 * @see org.apache.pluto.services.property.PropertyManagerService#setResponseProperties(org.apache.pluto.om.window.PortletWindow, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.util.Map)
+	 */
 	public void setResponseProperties(PortletWindow window, 
-		HttpServletRequest request, 
-		HttpServletResponse response, 
-		Map properties) {
-
+                                      HttpServletRequest request, 
+                                      HttpServletResponse response,
+                                      Map properties) {
 		// do nothing
 	}
 
 	/**
-	 * Returns all properties for the given portlet window 
-	 * defined in the portal as String/String array map.
-	 * They will be made available to the portlet through the
-	 * portlet request.
-	 * <br>
-	 * The purpose of this method is to allow the portal framework
-	 * to create a map of properties and make it available to the portlet container.
-	 * <br>
-	 * This method can be called multiple times during one request by the portlet container
-	 * <br>
-	 * The return value cannot be null.
-	 *
-	 * @param window the portlet window of this property
-	 * @param request the servlet request
-	 * 
-	 * @return		a <code>Map</code> containing
-	 *                  all properties. If there are no properties of
-	 *                  that name returns an empty <code>Map</code>.    
-	 **/
+	 * @see org.apache.pluto.services.property.PropertyManagerService#getRequestProperties(org.apache.pluto.om.window.PortletWindow, javax.servlet.http.HttpServletRequest)
+	 */
 	public Map getRequestProperties(PortletWindow window, HttpServletRequest request) {
 		return Collections.EMPTY_MAP;
 	}

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/profile/impl/GroupBasedProfileManager.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/profile/impl/GroupBasedProfileManager.java?rev=328453&r1=328452&r2=328453&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/profile/impl/GroupBasedProfileManager.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/profile/impl/GroupBasedProfileManager.java Tue Oct 25 12:08:53 2005
@@ -355,7 +355,6 @@
         try {
             loader = (ProfileLS)this.manager.lookup( ProfileLS.ROLE );
             final ProfileImpl profile = new ProfileImpl(layoutKey);
-            this.storeUserProfile(layoutKey, profile);
 
             // first "load" the global data
             profile.setCopletBaseDatas( this.getGlobalBaseDatas(loader, info, layoutKey) );
@@ -378,6 +377,7 @@
                 }
             }
 
+            this.storeUserProfile(layoutKey, profile);
             return profile;
         } catch (ServiceException se) {
             throw new ProfileException("Unable to get component profilels.", se);

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/profile/impl/MapProfileLS.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/profile/impl/MapProfileLS.java?rev=328453&r1=328452&r2=328453&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/profile/impl/MapProfileLS.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/profile/impl/MapProfileLS.java Tue Oct 25 12:08:53 2005
@@ -29,7 +29,7 @@
 import org.apache.avalon.framework.service.ServiceManager;
 import org.apache.avalon.framework.service.Serviceable;
 import org.apache.avalon.framework.thread.ThreadSafe;
-import org.apache.cocoon.portal.persistence.castor.CastorSourceConverter;
+import org.apache.cocoon.portal.persistence.Converter;
 import org.apache.cocoon.portal.profile.ProfileLS;
 import org.apache.cocoon.util.NetUtils;
 import org.apache.cocoon.xml.dom.DOMUtil;
@@ -130,13 +130,16 @@
         final String uri = this.getURI( keyMap );
 
 		Source source = null;
-		CastorSourceConverter converter = null;
+		Converter converter = null;
         SourceResolver resolver = (SourceResolver) this.manager.lookup(SourceResolver.ROLE);
 		try {
 			source = resolver.resolveURI(uri);
-            converter = (CastorSourceConverter) this.manager.lookup(CastorSourceConverter.ROLE);
+            converter = (Converter) this.manager.lookup(Converter.ROLE);
 
-			return converter.getObject(source.getInputStream(), parameters);
+			return converter.getObject(source.getInputStream(),
+                                       (String)parameters.get(PARAMETER_PROFILETYPE),
+                                       (Map)parameters.get(PARAMETER_OBJECTMAP),
+                                       null);
 		} finally {
             if ( resolver != null ) {
                 resolver.release(source);
@@ -156,14 +159,17 @@
 
         // first test: modifiable source?
         SourceResolver resolver = null;
-        CastorSourceConverter converter = null;
+        Converter converter = null;
         Source source = null;
         try {
             resolver = (SourceResolver) this.manager.lookup(SourceResolver.ROLE);
             source = resolver.resolveURI(uri);
             if ( source instanceof ModifiableSource ) {
-                converter = (CastorSourceConverter) this.manager.lookup(CastorSourceConverter.ROLE);
-                converter.storeObject( ((ModifiableSource)source).getOutputStream(), parameters, profile);
+                converter = (Converter) this.manager.lookup(Converter.ROLE);
+                converter.storeObject( ((ModifiableSource)source).getOutputStream(),
+                                        (String)parameters.get(PARAMETER_PROFILETYPE),
+                                        profile,
+                                        parameters);
                 return;
             }
         } finally {
@@ -181,10 +187,13 @@
 		SAXParser parser = null;
 		try {
             resolver = (SourceResolver) this.manager.lookup(SourceResolver.ROLE);
-            converter = (CastorSourceConverter) this.manager.lookup(CastorSourceConverter.ROLE);
+            converter = (Converter) this.manager.lookup(Converter.ROLE);
 
             ByteArrayOutputStream writer = new ByteArrayOutputStream();
-            converter.storeObject(writer, parameters, profile);
+            converter.storeObject(writer,
+                                  (String)parameters.get(PARAMETER_PROFILETYPE),
+                                  profile,
+                                  parameters);
 
             buffer.append("&content=");
             try {

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/serialization/IncludingHTMLSerializer.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/serialization/IncludingHTMLSerializer.java?rev=328453&r1=328452&r2=328453&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/serialization/IncludingHTMLSerializer.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/serialization/IncludingHTMLSerializer.java Tue Oct 25 12:08:53 2005
@@ -40,16 +40,16 @@
     extends HTMLSerializer {
 	
     public static final ThreadLocal portlets = new ThreadLocal();
-    
+
     public static final String NAMESPACE = "http://apache.org/cocoon/portal/include";
-    
+
     protected LinkedList orderedPortletList = new LinkedList();
-    
+
     protected static final char token = '~';
-    
+
     protected static final char[] tokens = new char[] {token, token};
-    
-    /* (non-Javadoc)
+
+    /**
      * @see org.apache.avalon.excalibur.pool.Recyclable#recycle()
      */
     public void recycle() {
@@ -62,7 +62,7 @@
     }
 
     /**
-     * Add a portlet
+     * Add a portlet.
      */
     public static void addPortlet(String name, String content) {
         Map map = (Map) portlets.get();
@@ -72,8 +72,8 @@
         }
         map.put(name, content);
     }
-    
-    /* (non-Javadoc)
+
+    /**
      * @see org.xml.sax.ContentHandler#endElement(java.lang.String, java.lang.String, java.lang.String)
      */
     public void endElement(String uri, String loc, String raw)
@@ -83,7 +83,7 @@
         }
     }
 
-    /* (non-Javadoc)
+    /**
      * @see org.xml.sax.ContentHandler#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)
      */
     public void startElement(String uri, String loc, String raw, Attributes a)
@@ -105,7 +105,7 @@
         }
     }
 
-    /* (non-Javadoc)
+    /**
      * @see org.apache.cocoon.sitemap.SitemapOutputComponent#setOutputStream(java.io.OutputStream)
      */
     public void setOutputStream(OutputStream stream) throws IOException {
@@ -114,14 +114,14 @@
 
 }
 class ReplacingOutputStream extends OutputStream {
-    
+
     /** Stream */
     protected final OutputStream stream;
-    
+
     protected boolean inKey;
-    
+
     protected final LinkedList orderedValues;
-    
+
     /**
      * Constructor
      */
@@ -130,22 +130,22 @@
         this.orderedValues = values;
         this.inKey = false;
     }
-    
-    /* (non-Javadoc)
+
+    /**
      * @see java.io.OutputStream#close()
      */
     public void close() throws IOException {
         this.stream.close();
     }
 
-    /* (non-Javadoc)
+    /**
      * @see java.io.OutputStream#flush()
      */
     public void flush() throws IOException {
         this.stream.flush();
     }
 
-    /* (non-Javadoc)
+    /* *
      * @see java.io.OutputStream#write(byte[], int, int)
      */
     public void write(byte[] b, int off, int len) throws IOException {
@@ -196,14 +196,14 @@
         } while (!end);
     }
 
-    /* (non-Javadoc)
+    /**
      * @see java.io.OutputStream#write(byte[])
      */
     public void write(byte[] b) throws IOException {
         this.write(b, 0, b.length);
     }
 
-    /* (non-Javadoc)
+    /**
      * @see java.io.OutputStream#write(int)
      */
     public void write(int b) throws IOException {
@@ -231,4 +231,3 @@
         }        
     }
 }
-

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/source/CopletSource.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/source/CopletSource.java?rev=328453&r1=328452&r2=328453&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/source/CopletSource.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/source/CopletSource.java Tue Oct 25 12:08:53 2005
@@ -48,30 +48,30 @@
     implements Source, XMLizable, Serviceable, Contextualizable {
 
     protected ServiceManager manager;
-    
+
     protected Context context;
-    
+
     protected String uri;
     protected String copletControllerName;
     protected CopletInstanceData copletInstanceData;
-    
+
     /** The used protocol */
     protected String scheme;
-    
-    /* (non-Javadoc)
+
+    /**
      * @see org.apache.avalon.framework.service.Serviceable#service(org.apache.avalon.framework.service.ServiceManager)
      */
     public void service(ServiceManager manager) throws ServiceException {
         this.manager = manager;
     }
 
-    /* (non-Javadoc)
+    /**
      * @see org.apache.avalon.framework.context.Contextualizable#contextualize(org.apache.avalon.framework.context.Context)
      */
     public void contextualize(Context context) throws ContextException {
         this.context = context;
     }
-    
+
     public CopletSource(String location, String protocol,
                          CopletInstanceData coplet) {
         this.uri = location;
@@ -79,7 +79,7 @@
         this.copletInstanceData = coplet;
         this.copletControllerName = this.copletInstanceData.getCopletData().getCopletBaseData().getCopletAdapterName();
     }
-    
+
 	/**
 	 * @see org.apache.excalibur.source.Source#getInputStream()
 	 */
@@ -188,5 +188,4 @@
     public String getScheme() {
         return this.scheme;
     }
-
 }

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/source/CopletSourceFactory.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/source/CopletSourceFactory.java?rev=328453&r1=328452&r2=328453&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/source/CopletSourceFactory.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/source/CopletSourceFactory.java Tue Oct 25 12:08:53 2005
@@ -44,30 +44,30 @@
 
     protected ServiceManager manager;
     protected Context context;
-    
-    /* (non-Javadoc)
+
+    /**
      * @see org.apache.avalon.framework.service.Serviceable#service(org.apache.avalon.framework.service.ServiceManager)
      */
     public void service(ServiceManager serviceManager) throws ServiceException {
         this.manager = serviceManager;
     }
 
-    /* (non-Javadoc)
+    /**
      * @see org.apache.avalon.framework.context.Contextualizable#contextualize(org.apache.avalon.framework.context.Context)
      */
     public void contextualize(Context context) throws ContextException {
         this.context = context;
     }
-    
+
 	/**
 	 * @see org.apache.excalibur.source.SourceFactory#getSource(String, Map)
 	 */
 	public Source getSource(String location, Map parameters)
-		throws MalformedURLException, IOException {
-        
+    throws MalformedURLException, IOException {
+
         String uri = location;
         String protocol = null;
-        
+
         // remove the protocol
         int position = location.indexOf(':') + 1;
         if (position != 0) {
@@ -102,5 +102,4 @@
     public void release(Source source) {
         // nothing to do 
     }
-
 }

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/tools/copletManagement/generation/XMLProfileGenerator.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/tools/copletManagement/generation/XMLProfileGenerator.java?rev=328453&r1=328452&r2=328453&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/tools/copletManagement/generation/XMLProfileGenerator.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/tools/copletManagement/generation/XMLProfileGenerator.java Tue Oct 25 12:08:53 2005
@@ -27,8 +27,9 @@
 import org.apache.cocoon.ProcessingException;
 import org.apache.cocoon.components.flow.FlowHelper;
 import org.apache.cocoon.generation.ServiceableGenerator;
-import org.apache.cocoon.portal.persistence.castor.CastorSourceConverter;
-import org.apache.cocoon.portal.persistence.castor.ConverterException;
+import org.apache.cocoon.portal.persistence.Converter;
+import org.apache.cocoon.portal.persistence.ConverterException;
+import org.apache.cocoon.portal.profile.ProfileLS;
 import org.apache.commons.jxpath.DynamicPropertyHandler;
 import org.apache.commons.jxpath.JXPathBeanInfo;
 import org.apache.commons.jxpath.JXPathIntrospector;
@@ -50,7 +51,7 @@
     public void generate()
     throws IOException, SAXException, ProcessingException {
         SAXParser parser = null;
-        CastorSourceConverter converter = null;
+        Converter converter = null;
         final Object context = FlowHelper.getContextObject(this.objectModel);
         Map myMap = new HashMap();
         if (context instanceof Map) {
@@ -60,11 +61,14 @@
         }
         try {
         	Object layout = myMap.get("layout");
-        	converter = (CastorSourceConverter) this.manager.lookup(org.apache.cocoon.portal.persistence.castor.CastorSourceConverter.ROLE);
+        	converter = (Converter) this.manager.lookup(Converter.ROLE);
         	ByteArrayOutputStream os = new java.io.ByteArrayOutputStream();
         	HashMap para = new HashMap();
         	para.put("profiletype", "layout");
-        	converter.storeObject(os, para, layout);
+        	converter.storeObject(os, 
+                                  (String)para.get(ProfileLS.PARAMETER_PROFILETYPE),
+                                  layout,
+                                  null);
         	String xml = new String();
         	xml = os.toString();
             final InputSource inputSource = new InputSource(new StringReader(xml));