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 2007/02/12 16:32:53 UTC
svn commit: r506488 - in
/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main:
java/org/apache/cocoon/portal/event/impl/
java/org/apache/cocoon/portal/services/
java/org/apache/cocoon/portal/services/impl/
resources/org/apache/cocoon/portal/
Author: cziegeler
Date: Mon Feb 12 07:32:52 2007
New Revision: 506488
URL: http://svn.apache.org/viewvc?view=rev&rev=506488
Log:
Convert the link service from avalon to spring bean
Modified:
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/impl/DefaultEventConverter.java
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/services/LinkService.java
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/services/impl/DefaultLinkService.java
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/services/impl/PageLabelLinkService.java
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/cocoon-portal-components.xml
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/portal.roles
Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/impl/DefaultEventConverter.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/impl/DefaultEventConverter.java?view=diff&rev=506488&r1=506487&r2=506488
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/impl/DefaultEventConverter.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/impl/DefaultEventConverter.java Mon Feb 12 07:32:52 2007
@@ -39,9 +39,6 @@
* the current user session. Each event is then converted to a string just containing
* the index of the event in this list. This list is cleared when the session is closed.
*
- * In addition, this component can be configured with additional event converters
- * that convert a specific event.
- *
* TODO - What happens if two event classes have the same hash?
*
* @version $Id$
@@ -63,9 +60,6 @@
*/
protected Map factories = new HashMap();
- /** All configured event converters. */
- protected Map converters = new HashMap();
-
/** The configured mappings. */
protected Map mappings;
@@ -95,57 +89,6 @@
}
}
- /**
- * @see org.apache.avalon.framework.configuration.Configurable#configure(org.apache.avalon.framework.configuration.Configuration)
- public void configure(Configuration config) throws ConfigurationException {
- Configuration[] mappings = config.getChild("mappings").getChildren("mapping");
- for( int i=0; i<mappings.length; i++) {
- final Configuration current = mappings[i];
- final String key = current.getAttribute("name");
- final String eventClass = current.getAttribute("event-class");
- final Constructor c = this.getConstructor(eventClass);
- final long hash = HashUtil.hash(eventClass);
- final String hashKey = Long.toString(hash);
- this.factories.put(hashKey, key);
- this.factories.put(key, c);
- }
- Configuration[] helpers = config.getChild("converters").getChildren("converter");
- for( int i=0; i<helpers.length; i++) {
- final Configuration current = helpers[i];
- final String role = current.getAttribute("role");
- final String eventClass = current.getAttribute("event-class");
- final String name = current.getAttribute("name", null);
- try {
- final EventConverter converter = (EventConverter)this.manager.lookup(role);
- final long hash = HashUtil.hash(eventClass);
- final String hashKey = Long.toString(hash);
- if ( name != null ) {
- this.factories.put(name, converter);
- this.factories.put(hashKey, name);
- } else {
- this.factories.put(hashKey, converter);
- }
- this.converters.put(eventClass, converter);
- } catch (ServiceException e) {
- throw new ConfigurationException("Unable to lookup event converter: " + role, e);
- }
- }
- }
- */
-
- /**
- * @see org.apache.cocoon.portal.impl.AbstractComponent#dispose()
- public void dispose() {
- if ( this.manager != null ) {
- final Iterator i = this.converters.values().iterator();
- while ( i.hasNext() ) {
- this.manager.release(i.next());
- }
- }
- super.dispose();
- }
- */
-
protected Constructor getConstructor(String factory) {
try {
final Class factoryClass = ClassUtils.loadClass(factory);
@@ -163,11 +106,6 @@
public String encode(Event event) {
final String eventClassName = event.getClass().getName();
String data = null;
- // first check if we have a converter registered for this event
- EventConverter registeredConverter = (EventConverter)this.converters.get(eventClassName);
- if ( registeredConverter != null ) {
- data = registeredConverter.encode(event);
- }
// if this is a convertable event just return
// the used factory and the data.
if ( data == null && event instanceof ConvertableEvent ) {
Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/services/LinkService.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/services/LinkService.java?view=diff&rev=506488&r1=506487&r2=506488
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/services/LinkService.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/services/LinkService.java Mon Feb 12 07:32:52 2007
@@ -125,15 +125,6 @@
String encodeURL(String url);
/**
- * A list of parameters that should be filtered when
- * coplets are called. The list might consist of either
- * a parameter name (string) or a prefix (string). A prefix
- * ends with a '*'.
- * @return A list of strings. This method always returns a list.
- */
- List getInternalParameterNames();
-
- /**
* Test if the parameter is an internal one.
*/
boolean isInternalParameterName(String name);
Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/services/impl/DefaultLinkService.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/services/impl/DefaultLinkService.java?view=diff&rev=506488&r1=506487&r2=506488
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/services/impl/DefaultLinkService.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/services/impl/DefaultLinkService.java Mon Feb 12 07:32:52 2007
@@ -22,15 +22,12 @@
import java.util.List;
import java.util.StringTokenizer;
-import org.apache.avalon.framework.parameters.ParameterException;
-import org.apache.avalon.framework.parameters.Parameterizable;
-import org.apache.avalon.framework.parameters.Parameters;
import org.apache.cocoon.environment.ObjectModelHelper;
import org.apache.cocoon.environment.Request;
import org.apache.cocoon.environment.Response;
import org.apache.cocoon.portal.event.ComparableEvent;
import org.apache.cocoon.portal.event.Event;
-import org.apache.cocoon.portal.impl.AbstractComponent;
+import org.apache.cocoon.portal.impl.AbstractBean;
import org.apache.cocoon.portal.services.LinkService;
import org.apache.cocoon.util.NetUtils;
@@ -39,9 +36,8 @@
* @version $Id$
*/
public class DefaultLinkService
- extends AbstractComponent
- implements LinkService,
- Parameterizable {
+ extends AbstractBean
+ implements LinkService {
/** Default port used for http. */
protected int defaultPort = 80;
@@ -49,28 +45,34 @@
/** Default port used for https. */
protected int defaultSecurePort = 443;
- /** List of internal parameters. */
- protected List internalParameters = new ArrayList();
-
/** List of matchers for internal parameters. */
protected List internalParametersMatchers = new ArrayList();
- /**
- * @see org.apache.avalon.framework.parameters.Parameterizable#parameterize(org.apache.avalon.framework.parameters.Parameters)
- */
- public void parameterize(Parameters params) throws ParameterException {
- this.defaultPort = params.getParameterAsInteger("defaultPort", this.defaultPort);
- this.defaultSecurePort = params.getParameterAsInteger("defaultSecurePort", this.defaultSecurePort);
- final String internalParams = params.getParameter("internalParameters", "cocoon-*");
- final StringTokenizer st = new StringTokenizer(internalParams, ",");
- while ( st.hasMoreTokens() ) {
- final String parameter = st.nextToken();
- this.internalParameters.add(parameter);
- if ( parameter.endsWith("*") ) {
- this.internalParametersMatchers.add(new PrefixParameterMatcher(parameter));
- } else {
- this.internalParametersMatchers.add(new ConstantParameterMatcher(parameter));
- }
+ public DefaultLinkService() {
+ this.setInternalParameters("cocoon-*");
+ }
+
+ public void setDefaultPort(int defaultPort) {
+ this.defaultPort = defaultPort;
+ }
+
+ public void setDefaultSecurePort(int defaultSecurePort) {
+ this.defaultSecurePort = defaultSecurePort;
+ }
+
+ public void setInternalParameters(String internalParams) {
+ if ( internalParams == null ) {
+ this.internalParametersMatchers.clear();
+ } else {
+ final StringTokenizer st = new StringTokenizer(internalParams, ",");
+ while ( st.hasMoreTokens() ) {
+ final String parameter = st.nextToken();
+ if ( parameter.endsWith("*") ) {
+ this.internalParametersMatchers.add(new PrefixParameterMatcher(parameter));
+ } else {
+ this.internalParametersMatchers.add(new ConstantParameterMatcher(parameter));
+ }
+ }
}
}
@@ -318,13 +320,6 @@
return buffer.toString();
}
- /**
- * @see org.apache.cocoon.portal.services.LinkService#getInternalParameterNames()
- */
- public List getInternalParameterNames() {
- return this.internalParameters;
- }
-
/**
* @see org.apache.cocoon.portal.services.LinkService#isInternalParameterName(java.lang.String)
*/
Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/services/impl/PageLabelLinkService.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/services/impl/PageLabelLinkService.java?view=diff&rev=506488&r1=506487&r2=506488
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/services/impl/PageLabelLinkService.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/services/impl/PageLabelLinkService.java Mon Feb 12 07:32:52 2007
@@ -45,11 +45,11 @@
/**
* @see org.apache.avalon.framework.service.Serviceable#service(org.apache.avalon.framework.service.ServiceManager)
- */
public void service(ServiceManager aManager) throws ServiceException {
super.service(aManager);
this.labelManager = (PageLabelManager)this.manager.lookup(PageLabelManager.ROLE);
}
+ */
/**
* Get the uri for the coplet containing event
@@ -202,7 +202,6 @@
/**
* @see org.apache.avalon.framework.activity.Disposable#dispose()
- */
public void dispose() {
if (this.manager != null) {
if (this.labelManager != null) {
@@ -212,6 +211,7 @@
}
super.dispose();
}
+ */
/**
* Generates the page label.
Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/cocoon-portal-components.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/cocoon-portal-components.xml?view=diff&rev=506488&r1=506487&r2=506488
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/cocoon-portal-components.xml (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/cocoon-portal-components.xml Mon Feb 12 07:32:52 2007
@@ -26,9 +26,20 @@
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd">
- <!-- Event Converter -->
- <bean name="org.apache.cocoon.portal.event.EventConverter"
- class="org.apache.cocoon.portal.event.impl.DefaultEventConverter"
- init-method="init" scope="singleton"/>
+ <!--+
+ | Portal Event Converter.
+ |
+ +-->
+ <bean name="org.apache.cocoon.portal.event.EventConverter"
+ class="org.apache.cocoon.portal.event.impl.DefaultEventConverter"
+ init-method="init" scope="singleton"/>
+
+ <!--+
+ | Portal Link Service.
+ |
+ +-->
+ <bean name="org.apache.cocoon.portal.services.LinkService"
+ class="org.apache.cocoon.portal.services.LinkService"
+ scope="singleton"/>
</beans>
Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/portal.roles
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/portal.roles?view=diff&rev=506488&r1=506487&r2=506488
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/portal.roles (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/portal.roles Mon Feb 12 07:32:52 2007
@@ -209,14 +209,6 @@
shorthand="page-label-manager"/>
<!--+
- | Portal Link Service.
- |
- +-->
- <role name="org.apache.cocoon.portal.services.LinkService"
- default-class="org.apache.cocoon.portal.services.impl.DefaultLinkService"
- shorthand="portal-link-service"/>
-
- <!--+
| Layout Factory.
|
+-->