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/07/14 16:44:07 UTC
svn commit: r219043 - in /cocoon:
blocks/forms/trunk/java/org/apache/cocoon/forms/binding/
blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/
blocks/portal/trunk/java/org/apache/cocoon/portal/
blocks/portal/trunk/java/org/apache/cocoon/portal/a...
Author: cziegeler
Date: Thu Jul 14 07:44:06 2005
New Revision: 219043
URL: http://svn.apache.org/viewcvs?rev=219043&view=rev
Log:
Sync deprecation logging with 2.1.x :(
Remove use of deprecated Publisher
Added:
cocoon/trunk/src/java/org/apache/cocoon/util/Deprecation.java (with props)
cocoon/trunk/src/java/org/apache/cocoon/util/DeprecationException.java (with props)
Removed:
cocoon/trunk/src/java/org/apache/cocoon/util/log/DeprecationLogger.java
Modified:
cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/binding/StructJXPathBindingBuilder.java
cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/ActionDefinitionBuilder.java
cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/RepeaterActionDefinitionBuilder.java
cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/RowActionDefinitionBuilder.java
cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/StructDefinitionBuilder.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalComponentManager.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/acting/CopletSetDataAction.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/adapter/impl/ApplicationCopletAdapter.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/adapter/impl/CachingURICopletAdapter.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/adapter/impl/URICopletAdapter.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplets/basket/BasketManagerImpl.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/impl/DefaultEventAspectContext.java
cocoon/trunk/src/java/org/apache/cocoon/Cocoon.java
cocoon/trunk/src/test/org/apache/cocoon/core/container/ContainerTestCase.java
cocoon/trunk/src/test/org/apache/cocoon/test/core/TestBootstrapEnvironment.java
Modified: cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/binding/StructJXPathBindingBuilder.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/binding/StructJXPathBindingBuilder.java?rev=219043&r1=219042&r2=219043&view=diff
==============================================================================
--- cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/binding/StructJXPathBindingBuilder.java (original)
+++ cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/binding/StructJXPathBindingBuilder.java Thu Jul 14 07:44:06 2005
@@ -16,7 +16,7 @@
package org.apache.cocoon.forms.binding;
import org.apache.cocoon.forms.util.DomHelper;
-import org.apache.cocoon.util.log.DeprecationLogger;
+import org.apache.cocoon.util.Deprecation;
import org.w3c.dom.Element;
/**
@@ -38,7 +38,7 @@
public JXPathBindingBase buildBinding(Element bindingElm, JXPathBindingManager.Assistant assistant)
throws BindingException {
- DeprecationLogger.log("'fb:struct' is deprecated and replaced by 'fb:group' at " + DomHelper.getLocation(bindingElm));
+ Deprecation.logger.info("'fb:struct' is deprecated and replaced by 'fb:group' at " + DomHelper.getLocation(bindingElm));
try {
String widgetId = DomHelper.getAttribute(bindingElm, "id");
CommonAttributes commonAtts = JXPathBindingBuilderBase.getCommonAttributes(bindingElm);
Modified: cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/ActionDefinitionBuilder.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/ActionDefinitionBuilder.java?rev=219043&r1=219042&r2=219043&view=diff
==============================================================================
--- cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/ActionDefinitionBuilder.java (original)
+++ cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/ActionDefinitionBuilder.java Thu Jul 14 07:44:06 2005
@@ -19,7 +19,7 @@
import org.apache.cocoon.forms.event.ActionListener;
import org.apache.cocoon.forms.util.DomHelper;
-import org.apache.cocoon.util.log.DeprecationLogger;
+import org.apache.cocoon.util.Deprecation;
import org.w3c.dom.Element;
/**
@@ -48,7 +48,7 @@
if (actionCommand == null) {
actionCommand = DomHelper.getAttribute(widgetElement, "action-command", null);
if (actionCommand != null) {
- DeprecationLogger.log("The 'action-command' attribute is deprecated and replaced by 'command', at " +
+ Deprecation.logger.info("The 'action-command' attribute is deprecated and replaced by 'command', at " +
DomHelper.getLocation(widgetElement));
}
}
Modified: cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/RepeaterActionDefinitionBuilder.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/RepeaterActionDefinitionBuilder.java?rev=219043&r1=219042&r2=219043&view=diff
==============================================================================
--- cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/RepeaterActionDefinitionBuilder.java (original)
+++ cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/RepeaterActionDefinitionBuilder.java Thu Jul 14 07:44:06 2005
@@ -20,7 +20,7 @@
import org.apache.cocoon.forms.Constants;
import org.apache.cocoon.forms.event.ActionListener;
import org.apache.cocoon.forms.util.DomHelper;
-import org.apache.cocoon.util.log.DeprecationLogger;
+import org.apache.cocoon.util.Deprecation;
import org.w3c.dom.Element;
/**
@@ -62,7 +62,7 @@
if (actionCommand == null) {
actionCommand = DomHelper.getAttribute(widgetElement, "action-command", null);
if (actionCommand != null) {
- DeprecationLogger.log("The 'action-command' attribute is deprecated and replaced by 'command', at " +
+ Deprecation.logger.info("The 'action-command' attribute is deprecated and replaced by 'command', at " +
DomHelper.getLocation(widgetElement));
}
}
Modified: cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/RowActionDefinitionBuilder.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/RowActionDefinitionBuilder.java?rev=219043&r1=219042&r2=219043&view=diff
==============================================================================
--- cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/RowActionDefinitionBuilder.java (original)
+++ cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/RowActionDefinitionBuilder.java Thu Jul 14 07:44:06 2005
@@ -20,7 +20,7 @@
import org.apache.cocoon.forms.Constants;
import org.apache.cocoon.forms.event.ActionListener;
import org.apache.cocoon.forms.util.DomHelper;
-import org.apache.cocoon.util.log.DeprecationLogger;
+import org.apache.cocoon.util.Deprecation;
import org.w3c.dom.Element;
/**
@@ -39,7 +39,7 @@
if (actionCommand == null) {
actionCommand = DomHelper.getAttribute(widgetElement, "action-command", null);
if (actionCommand != null) {
- DeprecationLogger.log("The 'action-command' attribute is deprecated and replaced by 'command', at " +
+ Deprecation.logger.info("The 'action-command' attribute is deprecated and replaced by 'command', at " +
DomHelper.getLocation(widgetElement));
}
}
Modified: cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/StructDefinitionBuilder.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/StructDefinitionBuilder.java?rev=219043&r1=219042&r2=219043&view=diff
==============================================================================
--- cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/StructDefinitionBuilder.java (original)
+++ cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/StructDefinitionBuilder.java Thu Jul 14 07:44:06 2005
@@ -18,7 +18,7 @@
import org.w3c.dom.Element;
import org.apache.cocoon.forms.Constants;
import org.apache.cocoon.forms.util.DomHelper;
-import org.apache.cocoon.util.log.DeprecationLogger;
+import org.apache.cocoon.util.Deprecation;
/**
* Builds {StructDefinition}s.
@@ -43,7 +43,7 @@
}
definition.makeImmutable();
- DeprecationLogger.log("Use of 'fd:struct' is deprecated. Use 'fd:group' instead, at " + definition.getLocation());
+ Deprecation.logger.info("Use of 'fd:struct' is deprecated. Use 'fd:group' instead, at " + definition.getLocation());
return definition;
}
}
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalComponentManager.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalComponentManager.java?rev=219043&r1=219042&r2=219043&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalComponentManager.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalComponentManager.java Thu Jul 14 07:44:06 2005
@@ -15,7 +15,6 @@
*/
package org.apache.cocoon.portal;
-import org.apache.cocoon.core.Core;
import org.apache.cocoon.portal.coplet.CopletFactory;
import org.apache.cocoon.portal.event.EventManager;
import org.apache.cocoon.portal.layout.LayoutFactory;
@@ -57,26 +56,20 @@
* Get the coplet factory.
*/
CopletFactory getCopletFactory();
-
+
/**
- * Get the layout factory.
+ * Get the layout factory
*/
LayoutFactory getLayoutFactory();
-
+
/**
- * Get the event manager.
+ * Get the event manager
*/
EventManager getEventManager();
/**
- * Get the portal manager.
+ * Get the portal manager
* @since 2.1.8
*/
PortalManager getPortalManager();
-
- /**
- * Return the Cocoon core.
- * @since 2.2
- */
- Core getCore();
}
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/acting/CopletSetDataAction.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/acting/CopletSetDataAction.java?rev=219043&r1=219042&r2=219043&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/acting/CopletSetDataAction.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/acting/CopletSetDataAction.java Thu Jul 14 07:44:06 2005
@@ -28,7 +28,7 @@
import org.apache.cocoon.portal.Constants;
import org.apache.cocoon.portal.PortalService;
import org.apache.cocoon.portal.event.Event;
-import org.apache.cocoon.portal.event.Publisher;
+import org.apache.cocoon.portal.event.EventManager;
import org.apache.cocoon.portal.event.impl.CopletJXPathEvent;
/**
@@ -69,7 +69,7 @@
// if the value is null or empty, the value is not set!
final String[] names = parameters.getNames();
if ( names != null ) {
- final Publisher publisher = portalService.getComponentManager().getEventManager().getPublisher();
+ final EventManager publisher = portalService.getComponentManager().getEventManager();
for(int i=0; i<names.length; i++) {
final String path = names[i];
final String value = parameters.getParameter(path, null );
@@ -77,7 +77,7 @@
final Event event = new CopletJXPathEvent(portalService.getComponentManager().getProfileManager().getCopletInstanceData(copletId),
path,
value);
- publisher.publish(event);
+ publisher.send(event);
}
}
}
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/adapter/impl/ApplicationCopletAdapter.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/adapter/impl/ApplicationCopletAdapter.java?rev=219043&r1=219042&r2=219043&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/adapter/impl/ApplicationCopletAdapter.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/adapter/impl/ApplicationCopletAdapter.java Thu Jul 14 07:44:06 2005
@@ -27,7 +27,7 @@
import org.apache.cocoon.portal.coplet.CopletData;
import org.apache.cocoon.portal.coplet.CopletFactory;
import org.apache.cocoon.portal.coplet.CopletInstanceData;
-import org.apache.cocoon.portal.event.Event;
+import org.apache.cocoon.portal.event.CopletInstanceEvent;
import org.apache.cocoon.portal.event.impl.CopletLinkEvent;
import org.apache.cocoon.portal.layout.CompositeLayout;
import org.apache.cocoon.portal.layout.Item;
@@ -73,7 +73,7 @@
* There is a special CopletLinkEvent with the uri "createNewCopletInstance", which is the
* trigger to create a new instance of the one that is the target of the event.
*/
- public void handleCopletInstanceEvent(Event e) {
+ public void handleCopletInstanceEvent(CopletInstanceEvent e) {
super.handleCopletInstanceEvent(e);
if ( e instanceof CopletLinkEvent ) {
@@ -198,9 +198,8 @@
* @return True if the error content has been rendered, otherwise false
* @throws SAXException
*/
- protected boolean renderErrorContent(
- CopletInstanceData coplet,
- ContentHandler handler)
+ protected boolean renderErrorContent(CopletInstanceData coplet,
+ ContentHandler handler)
throws SAXException {
handler.startDocument();
XMLUtils.startElement(handler, "p");
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/adapter/impl/CachingURICopletAdapter.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/adapter/impl/CachingURICopletAdapter.java?rev=219043&r1=219042&r2=219043&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/adapter/impl/CachingURICopletAdapter.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/adapter/impl/CachingURICopletAdapter.java Thu Jul 14 07:44:06 2005
@@ -19,9 +19,9 @@
import org.apache.avalon.framework.parameters.Parameters;
import org.apache.cocoon.components.sax.XMLByteStreamCompiler;
import org.apache.cocoon.components.sax.XMLByteStreamInterpreter;
+import org.apache.cocoon.portal.PortalService;
import org.apache.cocoon.portal.coplet.CopletInstanceData;
import org.apache.cocoon.portal.event.CopletInstanceEvent;
-import org.apache.cocoon.portal.event.Event;
import org.xml.sax.ContentHandler;
import org.xml.sax.SAXException;
@@ -34,7 +34,7 @@
*
* @author <a href="mailto:gerald.kahrer@rizit.at">Gerald Kahrer</a>
*
- * @version CVS $Id: CachingURICopletAdapter.java,v 1.6 2004/06/21 11:09:45 cziegeler Exp $
+ * @version CVS $Id$
*/
public class CachingURICopletAdapter
extends URICopletAdapter
@@ -184,25 +184,21 @@
coplet.setAttribute(CACHE_VALIDITY, CACHE_INVALID);
}
- /* (non-Javadoc)
- * @see org.apache.cocoon.portal.event.Subscriber#inform(org.apache.cocoon.portal.event.Event)
+ /**
+ * @see org.apache.cocoon.portal.event.Receiver
*/
- public void inform(Event e) {
- if (e instanceof CopletInstanceEvent) {
- if ( this.getLogger().isInfoEnabled() ) {
- this.getLogger().info("CopletInstanceEvent " + e + " caught by CachingURICopletAdapter");
- }
- this.handleCopletInstanceEvent(e);
+ public void inform(CopletInstanceEvent e, PortalService service) {
+ if ( this.getLogger().isInfoEnabled() ) {
+ this.getLogger().info("CopletInstanceEvent " + e + " caught by CachingURICopletAdapter");
}
- super.inform(e);
+ this.handleCopletInstanceEvent(e);
+ super.inform(e, service);
}
/**
* This adapter listens for CopletInstanceEvents. Each event sets the cache invalid.
*/
- public void handleCopletInstanceEvent(Event e) {
- final CopletInstanceEvent event = (CopletInstanceEvent) e;
-
+ public void handleCopletInstanceEvent(CopletInstanceEvent event) {
final CopletInstanceData coplet = (CopletInstanceData) event.getTarget();
this.setCacheInvalid(coplet);
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/adapter/impl/URICopletAdapter.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/adapter/impl/URICopletAdapter.java?rev=219043&r1=219042&r2=219043&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/adapter/impl/URICopletAdapter.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/adapter/impl/URICopletAdapter.java Thu Jul 14 07:44:06 2005
@@ -38,10 +38,8 @@
import org.apache.cocoon.portal.PortalService;
import org.apache.cocoon.portal.coplet.CopletInstanceData;
import org.apache.cocoon.portal.event.CopletInstanceEvent;
-import org.apache.cocoon.portal.event.Event;
import org.apache.cocoon.portal.event.EventManager;
-import org.apache.cocoon.portal.event.Filter;
-import org.apache.cocoon.portal.event.Subscriber;
+import org.apache.cocoon.portal.event.Receiver;
import org.apache.excalibur.source.Source;
import org.apache.excalibur.source.SourceResolver;
import org.xml.sax.ContentHandler;
@@ -57,7 +55,7 @@
*/
public class URICopletAdapter
extends AbstractCopletAdapter
- implements Disposable, Subscriber, Initializable, Contextualizable {
+ implements Disposable, Receiver, Initializable, Contextualizable {
/** The source resolver */
protected SourceResolver resolver;
@@ -80,6 +78,9 @@
this.resolver = (SourceResolver)this.manager.lookup(SourceResolver.ROLE);
}
+ /**
+ * @see org.apache.cocoon.portal.coplet.adapter.impl.AbstractCopletAdapter#streamContent(org.apache.cocoon.portal.coplet.CopletInstanceData, org.xml.sax.ContentHandler)
+ */
public void streamContent(CopletInstanceData coplet, ContentHandler contentHandler)
throws SAXException {
final String uri = (String)coplet.getCopletData().getAttribute("uri");
@@ -90,8 +91,8 @@
}
public void streamContent(final CopletInstanceData coplet,
- final String uri,
- final ContentHandler contentHandler)
+ final String uri,
+ final ContentHandler contentHandler)
throws SAXException {
Source copletSource = null;
PortalService portalService = null;
@@ -138,8 +139,8 @@
this.manager.release(portalService);
}
}
-
- /* (non-Javadoc)
+
+ /**
* @see org.apache.avalon.framework.activity.Disposable#dispose()
*/
public void dispose() {
@@ -147,7 +148,7 @@
EventManager eventManager = null;
try {
eventManager = (EventManager)this.manager.lookup(EventManager.ROLE);
- eventManager.getRegister().unsubscribe( this );
+ eventManager.unsubscribe(this);
} catch (Exception ignore) {
// ignore
} finally {
@@ -160,49 +161,28 @@
}
}
- /* (non-Javadoc)
- * @see org.apache.cocoon.portal.event.Subscriber#getEventType()
- */
- public Class getEventType() {
- return CopletInstanceEvent.class;
- }
-
- /* (non-Javadoc)
- * @see org.apache.cocoon.portal.event.Subscriber#getFilter()
- */
- public Filter getFilter() {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.apache.cocoon.portal.event.Subscriber#inform(org.apache.cocoon.portal.event.Event)
+ /**
+ * @see Receiver
*/
- public void inform(Event e) {
- CopletInstanceEvent event = (CopletInstanceEvent)e;
- PortalService service = null;
- try {
- service = (PortalService)this.manager.lookup(PortalService.ROLE);
- List list = (List)service.getTemporaryAttribute(URICopletAdapter.class.getName());
- if ( list == null ) {
- list = new ArrayList();
- }
+ public void inform(CopletInstanceEvent event, PortalService service) {
+ List list = (List)service.getTemporaryAttribute(URICopletAdapter.class.getName());
+ if ( list == null ) {
+ list = new ArrayList();
+ }
+ if ( !list.contains(event.getTarget()) ) {
list.add(event.getTarget());
- service.setTemporaryAttribute(URICopletAdapter.class.getName(), list);
- } catch (ServiceException ignore ) {
- // ignore
- } finally {
- this.manager.release(service);
}
+ service.setTemporaryAttribute(URICopletAdapter.class.getName(), list);
}
- /* (non-Javadoc)
+ /**
* @see org.apache.avalon.framework.activity.Initializable#initialize()
*/
public void initialize() throws Exception {
EventManager eventManager = null;
try {
eventManager = (EventManager)this.manager.lookup(EventManager.ROLE);
- eventManager.getRegister().subscribe( this );
+ eventManager.subscribe( this );
} finally {
this.manager.release( eventManager );
}
@@ -260,5 +240,4 @@
}
return false;
}
-
}
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplets/basket/BasketManagerImpl.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplets/basket/BasketManagerImpl.java?rev=219043&r1=219042&r2=219043&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplets/basket/BasketManagerImpl.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplets/basket/BasketManagerImpl.java Thu Jul 14 07:44:06 2005
@@ -63,10 +63,8 @@
import org.apache.cocoon.portal.coplets.basket.events.ShowBasketEvent;
import org.apache.cocoon.portal.coplets.basket.events.ShowItemEvent;
import org.apache.cocoon.portal.coplets.basket.events.UploadItemEvent;
-import org.apache.cocoon.portal.event.Event;
import org.apache.cocoon.portal.event.EventManager;
-import org.apache.cocoon.portal.event.Filter;
-import org.apache.cocoon.portal.event.Subscriber;
+import org.apache.cocoon.portal.event.Receiver;
import org.apache.cocoon.portal.layout.impl.CopletLayout;
import org.apache.cocoon.servlet.multipart.Part;
import org.apache.cocoon.servlet.multipart.PartOnDisk;
@@ -81,7 +79,7 @@
*/
public class BasketManagerImpl
extends AbstractLogEnabled
-implements BasketManager, Serviceable, Subscriber, Contextualizable, Initializable, Disposable, Parameterizable, ThreadSafe {
+implements BasketManager, Serviceable, Receiver, Contextualizable, Initializable, Disposable, Parameterizable, ThreadSafe {
/** The service manager */
protected ServiceManager manager;
@@ -172,30 +170,16 @@
EventManager eventManager = null;
try {
eventManager = (EventManager) this.manager.lookup(EventManager.ROLE);
- eventManager.getRegister().subscribe(this);
+ eventManager.subscribe(this);
} finally {
this.manager.release(eventManager);
}
}
- /* (non-Javadoc)
- * @see org.apache.cocoon.portal.event.Subscriber#getEventType()
- */
- public Class getEventType() {
- return ContentStoreEvent.class;
- }
-
- /* (non-Javadoc)
- * @see org.apache.cocoon.portal.event.Subscriber#getFilter()
- */
- public Filter getFilter() {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.apache.cocoon.portal.event.Subscriber#inform(org.apache.cocoon.portal.event.Event)
+ /**
+ * @see Receiver
*/
- public void inform(Event event) {
+ public void inform(ContentStoreEvent event, PortalService service) {
// dispatch
final Session session = ContextHelper.getRequest(this.context).getSession();
if ( event instanceof AddItemEvent ) {
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/impl/DefaultEventAspectContext.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/impl/DefaultEventAspectContext.java?rev=219043&r1=219042&r2=219043&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/impl/DefaultEventAspectContext.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/impl/DefaultEventAspectContext.java Thu Jul 14 07:44:06 2005
@@ -24,7 +24,7 @@
import org.apache.cocoon.portal.event.Publisher;
import org.apache.cocoon.portal.event.aspect.EventAspect;
import org.apache.cocoon.portal.event.aspect.EventAspectContext;
-import org.apache.cocoon.util.log.DeprecationLogger;
+import org.apache.cocoon.util.Deprecation;
/**
*
@@ -79,7 +79,7 @@
* Get the publisher
*/
public Publisher getEventPublisher() {
- DeprecationLogger.log("The getEventPublisher() method in the EventAspectContext is deprecated.");
+ Deprecation.logger.info("The getEventPublisher() method in the EventAspectContext is deprecated.");
return this.publisher;
}
Modified: cocoon/trunk/src/java/org/apache/cocoon/Cocoon.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/java/org/apache/cocoon/Cocoon.java?rev=219043&r1=219042&r2=219043&view=diff
==============================================================================
--- cocoon/trunk/src/java/org/apache/cocoon/Cocoon.java (original)
+++ cocoon/trunk/src/java/org/apache/cocoon/Cocoon.java Thu Jul 14 07:44:06 2005
@@ -46,7 +46,6 @@
import org.apache.cocoon.environment.Request;
import org.apache.cocoon.environment.Session;
import org.apache.cocoon.environment.internal.EnvironmentHelper;
-import org.apache.cocoon.util.log.DeprecationLogger;
import org.apache.commons.lang.SystemUtils;
import org.apache.excalibur.source.Source;
@@ -171,7 +170,6 @@
*/
public void setLoggerManager(LoggerManager loggerManager) {
this.loggerManager = loggerManager;
- DeprecationLogger.logger = this.loggerManager.getLoggerForCategory("deprecation");
}
/* (non-Javadoc)
Added: cocoon/trunk/src/java/org/apache/cocoon/util/Deprecation.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/java/org/apache/cocoon/util/Deprecation.java?rev=219043&view=auto
==============================================================================
--- cocoon/trunk/src/java/org/apache/cocoon/util/Deprecation.java (added)
+++ cocoon/trunk/src/java/org/apache/cocoon/util/Deprecation.java Thu Jul 14 07:44:06 2005
@@ -0,0 +1,206 @@
+/*
+ * 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.util;
+
+import org.apache.avalon.framework.logger.ConsoleLogger;
+import org.apache.avalon.framework.logger.Logger;
+import org.apache.commons.lang.enums.ValuedEnum;
+
+/**
+ * This class provides a special static "deprecation" logger.
+ * All deprecated code should use this logger to log messages into the
+ * deprecation logger. This makes it easier for users to find out if they're
+ * using deprecated stuff.
+ * <p>
+ * Additionally, it is possible to set the forbidden level of deprecation messages (default
+ * is to forbid ERROR, i.e. allow up to WARN). Messages equal to or above the forbidden level
+ * will lead to throwing a {@link DeprecationException}. Setting the forbidden level to
+ * FATAL_ERROR allows running legacy applications using deprecated features (tolerant mode), and
+ * setting the forbidden level to DEBUG will run in strict mode, forbidding all deprecations.
+ * <p>
+ * Note that according to the above, issuing a fatalError log always raises an exception, and
+ * can therefore be used when detecting old features that have been totally removed.
+ *
+ * @version $Id$
+ */
+public class Deprecation {
+
+ /**
+ * The deprecation logger.
+ */
+ public static final Logger logger = new LoggerWrapper(new ConsoleLogger());
+
+ private static final int DEBUG_VALUE = 0;
+ private static final int INFO_VALUE = 1;
+ private static final int WARN_VALUE = 2;
+ private static final int ERROR_VALUE = 3;
+ private static final int FATAL_VALUE = 3;
+ private static final int FATAL_ERROR_VALUE = 4;
+
+ /**
+ * Debug deprecation messages indicate features that are no more considered "current"
+ * or "best practice", but for which no removal is currently foreseen.
+ */
+ public static final LogLevel DEBUG = new LogLevel("DEBUG", DEBUG_VALUE);
+
+ /**
+ * Info deprecation messages indicate features that are no more considered "current"
+ * or "best practice", and that will probably be removed in future releases.
+ */
+ public static final LogLevel INFO = new LogLevel("INFO", INFO_VALUE);
+
+ /**
+ * Warning deprecation messages indicate features that will be removed in the next major
+ * version (e.g. 2.1.x --> 2.2.0). Such features should not be used if the application is
+ * planned to be migrated to newer Cocoon versions.
+ */
+ public static final LogLevel WARN = new LogLevel("WARN", WARN_VALUE);
+
+ /**
+ * Error deprecation messages indicate features that will be removed in the next minor
+ * version (e.g. 2.1.6 --> 2.1.7). Although still functional, users are stronly invited to
+ * not use them.
+ */
+ public static final LogLevel ERROR = new LogLevel("ERROR", ERROR_VALUE);
+
+ /**
+ * Fatal error deprecation messages indicate features that used to exist but have been removed
+ * in the current version. Logging such a message always throws a {@link DeprecationException}.
+ */
+ public static final LogLevel FATAL_ERROR = new LogLevel("FATAL_ERROR", FATAL_ERROR_VALUE);
+
+ public static final class LogLevel extends ValuedEnum {
+ private LogLevel(String text, int value) {
+ super(text, value);
+ }
+
+ public static LogLevel getLevel(String level) {
+ return (LogLevel)ValuedEnum.getEnum(LogLevel.class, level);
+ }
+ }
+
+ public static void setLogger(Logger newLogger) {
+ // Note: the "logger" attribute is not of type LoggerWrapper so that it appears
+ // as a standard Logger in the javadocs.
+ ((LoggerWrapper)logger).setLogger(newLogger);
+ }
+
+ public static void setForbiddenLevel(LogLevel level) {
+ // If null, reset to the default level
+ if (level == null) {
+ level = ERROR;
+ }
+ ((LoggerWrapper)logger).setForbiddenLevel(level);
+ }
+
+ /**
+ * Wraps a logger, and throws an DeprecatedException if the message level is
+ * higher than the allowed one.
+ */
+ private static class LoggerWrapper implements Logger {
+
+ private Logger realLogger;
+ // up to warn is allowed
+ private int forbiddenLevel = ERROR_VALUE;
+
+ public LoggerWrapper(Logger logger) {
+ this.realLogger = logger;
+ }
+
+ public void setLogger(Logger logger) {
+ // Unwrap a wrapped logger
+ while(logger instanceof LoggerWrapper) {
+ logger = ((LoggerWrapper)logger).realLogger;
+ }
+ this.realLogger = logger;
+ }
+
+ public void setForbiddenLevel(LogLevel level) {
+ this.forbiddenLevel = level.getValue();
+ }
+
+ private void throwException(int level, String message) {
+ if (level >= this.forbiddenLevel) {
+ throw new DeprecationException(message);
+ }
+ }
+
+ private boolean isThrowingException(int level) {
+ return level >= this.forbiddenLevel;
+ }
+
+ public void debug(String message) {
+ realLogger.debug(message);
+ throwException(DEBUG_VALUE, message);
+ }
+ public void debug(String message, Throwable thr) {
+ realLogger.debug(message, thr);
+ throwException(DEBUG_VALUE, message);
+ }
+ public void info(String message) {
+ realLogger.info(message);
+ throwException(INFO_VALUE, message);
+ }
+ public void info(String message, Throwable thr) {
+ realLogger.info(message, thr);
+ throwException(INFO_VALUE, message);
+ }
+ public void warn(String message) {
+ realLogger.warn(message);
+ throwException(WARN_VALUE, message);
+ }
+ public void warn(String message, Throwable thr) {
+ realLogger.warn(message, thr);
+ throwException(WARN_VALUE, message);
+ }
+ public void error(String message) {
+ realLogger.error(message);
+ throwException(ERROR_VALUE, message);
+ }
+ public void error(String message, Throwable thr) {
+ realLogger.error(message, thr);
+ throwException(ERROR_VALUE, message);
+ }
+ public void fatalError(String message) {
+ realLogger.fatalError(message);
+ throwException(FATAL_VALUE, message);
+ }
+ public void fatalError(String message, Throwable thr) {
+ realLogger.fatalError(message, thr);
+ throwException(FATAL_VALUE, message);
+ }
+ public boolean isDebugEnabled() {
+ // Enable level also if it is set to throw an exception, so that
+ // logging the message occurs, and then throws it.
+ return isThrowingException(DEBUG_VALUE) || realLogger.isDebugEnabled();
+ }
+ public boolean isInfoEnabled() {
+ return isThrowingException(INFO_VALUE) || realLogger.isInfoEnabled();
+ }
+ public boolean isWarnEnabled() {
+ return isThrowingException(WARN_VALUE) || realLogger.isWarnEnabled();
+ }
+ public boolean isErrorEnabled() {
+ return isThrowingException(ERROR_VALUE) || realLogger.isErrorEnabled();
+ }
+ public boolean isFatalErrorEnabled() {
+ return true;
+ }
+ public Logger getChildLogger(String message) {
+ return realLogger.getChildLogger(message);
+ }
+ }
+}
Propchange: cocoon/trunk/src/java/org/apache/cocoon/util/Deprecation.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cocoon/trunk/src/java/org/apache/cocoon/util/Deprecation.java
------------------------------------------------------------------------------
svn:keywords = Id
Added: cocoon/trunk/src/java/org/apache/cocoon/util/DeprecationException.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/java/org/apache/cocoon/util/DeprecationException.java?rev=219043&view=auto
==============================================================================
--- cocoon/trunk/src/java/org/apache/cocoon/util/DeprecationException.java (added)
+++ cocoon/trunk/src/java/org/apache/cocoon/util/DeprecationException.java Thu Jul 14 07:44:06 2005
@@ -0,0 +1,29 @@
+/*
+ * 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.util;
+
+
+/**
+ * An exception that indicates unauthorized use of a deprecated feature, or an
+ * attempt to use a old feature that has been removed.
+ *
+ * @version $Id$
+ */
+public class DeprecationException extends RuntimeException {
+ public DeprecationException(String message) {
+ super(message);
+ }
+}
Propchange: cocoon/trunk/src/java/org/apache/cocoon/util/DeprecationException.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cocoon/trunk/src/java/org/apache/cocoon/util/DeprecationException.java
------------------------------------------------------------------------------
svn:keywords = Id
Modified: cocoon/trunk/src/test/org/apache/cocoon/core/container/ContainerTestCase.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/test/org/apache/cocoon/core/container/ContainerTestCase.java?rev=219043&r1=219042&r2=219043&view=diff
==============================================================================
--- cocoon/trunk/src/test/org/apache/cocoon/core/container/ContainerTestCase.java (original)
+++ cocoon/trunk/src/test/org/apache/cocoon/core/container/ContainerTestCase.java Thu Jul 14 07:44:06 2005
@@ -39,7 +39,6 @@
import org.apache.cocoon.core.Core;
import org.apache.cocoon.core.CoreUtil;
import org.apache.cocoon.core.MutableSettings;
-import org.apache.cocoon.util.log.DeprecationLogger;
/**
* JUnit TestCase for Cocoon Components.
@@ -150,7 +149,6 @@
String level = System.getProperty("junit.test.loglevel", "" + ConsoleLogger.LEVEL_WARN);
this.logger = new ConsoleLogger(Integer.parseInt(level));
- DeprecationLogger.logger = this.logger;
this.prepare();
}
Modified: cocoon/trunk/src/test/org/apache/cocoon/test/core/TestBootstrapEnvironment.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/test/org/apache/cocoon/test/core/TestBootstrapEnvironment.java?rev=219043&r1=219042&r2=219043&view=diff
==============================================================================
--- cocoon/trunk/src/test/org/apache/cocoon/test/core/TestBootstrapEnvironment.java (original)
+++ cocoon/trunk/src/test/org/apache/cocoon/test/core/TestBootstrapEnvironment.java Thu Jul 14 07:44:06 2005
@@ -26,7 +26,6 @@
import org.apache.cocoon.core.MutableSettings;
import org.apache.cocoon.core.Settings;
import org.apache.cocoon.environment.Context;
-import org.apache.cocoon.util.log.DeprecationLogger;
public class TestBootstrapEnvironment
implements BootstrapEnvironment {
@@ -48,7 +47,6 @@
this.environmentContext = environmentContext;
this.logger = logger;
- DeprecationLogger.logger = this.logger;
}
/**