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/01/18 09:03:26 UTC
svn commit: r497338 - in /cocoon/trunk/blocks:
cocoon-flowscript/cocoon-flowscript-impl/src/main/java/org/apache/cocoon/components/flow/javascript/fom/
cocoon-flowscript/cocoon-flowscript-impl/src/main/java/org/apache/cocoon/components/flow/util/
cocoo...
Author: cziegeler
Date: Thu Jan 18 00:03:26 2007
New Revision: 497338
URL: http://svn.apache.org/viewvc?view=rev&rev=497338
Log:
Reduce dependencies to Avalon
Modified:
cocoon/trunk/blocks/cocoon-flowscript/cocoon-flowscript-impl/src/main/java/org/apache/cocoon/components/flow/javascript/fom/FOM_JavaScriptInterpreter.java
cocoon/trunk/blocks/cocoon-flowscript/cocoon-flowscript-impl/src/main/java/org/apache/cocoon/components/flow/util/PipelineUtil.java
cocoon/trunk/blocks/cocoon-javaflow/cocoon-javaflow-impl/src/main/java/org/apache/cocoon/components/flow/java/AbstractContinuable.java
cocoon/trunk/blocks/cocoon-scratchpad/cocoon-scratchpad-impl/src/main/java/org/apache/cocoon/components/flow/javascript/fom/AO_FOM_JavaScriptInterpreter.java
Modified: cocoon/trunk/blocks/cocoon-flowscript/cocoon-flowscript-impl/src/main/java/org/apache/cocoon/components/flow/javascript/fom/FOM_JavaScriptInterpreter.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-flowscript/cocoon-flowscript-impl/src/main/java/org/apache/cocoon/components/flow/javascript/fom/FOM_JavaScriptInterpreter.java?view=diff&rev=497338&r1=497337&r2=497338
==============================================================================
--- cocoon/trunk/blocks/cocoon-flowscript/cocoon-flowscript-impl/src/main/java/org/apache/cocoon/components/flow/javascript/fom/FOM_JavaScriptInterpreter.java (original)
+++ cocoon/trunk/blocks/cocoon-flowscript/cocoon-flowscript-impl/src/main/java/org/apache/cocoon/components/flow/javascript/fom/FOM_JavaScriptInterpreter.java Thu Jan 18 00:03:26 2007
@@ -718,13 +718,7 @@
setupView(scope, cocoon, null);
// FIXME (SW): should we deprecate this method in favor of PipelineUtil?
PipelineUtil pipeUtil = new PipelineUtil();
- try {
- pipeUtil.contextualize(this.avalonContext);
- pipeUtil.service(this.manager);
- pipeUtil.processToStream(uri, bizData, out);
- } finally {
- pipeUtil.dispose();
- }
+ pipeUtil.processToStream(uri, bizData, out);
}
private void setupView(Scriptable scope, FOM_Cocoon cocoon, FOM_WebContinuation kont) {
Modified: cocoon/trunk/blocks/cocoon-flowscript/cocoon-flowscript-impl/src/main/java/org/apache/cocoon/components/flow/util/PipelineUtil.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-flowscript/cocoon-flowscript-impl/src/main/java/org/apache/cocoon/components/flow/util/PipelineUtil.java?view=diff&rev=497338&r1=497337&r2=497338
==============================================================================
--- cocoon/trunk/blocks/cocoon-flowscript/cocoon-flowscript-impl/src/main/java/org/apache/cocoon/components/flow/util/PipelineUtil.java (original)
+++ cocoon/trunk/blocks/cocoon-flowscript/cocoon-flowscript-impl/src/main/java/org/apache/cocoon/components/flow/util/PipelineUtil.java Thu Jan 18 00:03:26 2007
@@ -21,21 +21,16 @@
import java.io.OutputStream;
import java.util.Map;
-import org.apache.avalon.framework.activity.Disposable;
-import org.apache.avalon.framework.context.Context;
-import org.apache.avalon.framework.context.ContextException;
-import org.apache.avalon.framework.context.Contextualizable;
-import org.apache.avalon.framework.service.ServiceException;
-import org.apache.avalon.framework.service.ServiceManager;
-import org.apache.avalon.framework.service.Serviceable;
import org.apache.cocoon.ProcessingException;
-import org.apache.cocoon.components.ContextHelper;
import org.apache.cocoon.components.flow.FlowHelper;
import org.apache.cocoon.components.flow.javascript.JavaScriptFlowHelper;
import org.apache.cocoon.components.source.SourceUtil;
+import org.apache.cocoon.processing.ProcessInfoProvider;
+import org.apache.cocoon.spring.configurator.WebAppContextUtils;
import org.apache.commons.io.IOUtils;
import org.apache.excalibur.source.Source;
import org.apache.excalibur.source.SourceResolver;
+import org.springframework.web.context.WebApplicationContext;
import org.w3c.dom.Document;
import org.xml.sax.ContentHandler;
import org.xml.sax.SAXException;
@@ -47,44 +42,7 @@
*
* @version $Id$
*/
-public class PipelineUtil implements Contextualizable, Serviceable, Disposable {
-
- private Context context;
- private ServiceManager manager;
- private SourceResolver resolver;
-
- /* (non-Javadoc)
- * @see org.apache.avalon.framework.activity.Disposable#dispose()
- */
- public void dispose() {
- if (this.manager != null) {
- this.manager.release(this.resolver);
- this.manager = null;
- this.resolver = null;
- }
- }
-
- public void contextualize(Context context) throws ContextException {
- this.context = context;
-
- }
-
- public void service(ServiceManager manager) throws ServiceException {
- this.manager = manager;
- this.resolver = (SourceResolver)manager.lookup(SourceResolver.ROLE);
- }
-
- /**
- * Check that this object has been correctly set up.
- *
- * @throws IllegalStateException if not already set up.
- */
- private void checkSetup() {
- if (this.manager == null) {
- throw new IllegalStateException("Instances of " + getClass().getName() +
- " must be setup using either cocoon.createObject() or cocoon.setupObject().");
- }
- }
+public class PipelineUtil {
/**
* Process a pipeline to a stream.
@@ -96,9 +54,8 @@
*/
public void processToStream(String uri, Object viewData, OutputStream output)
throws IOException {
- checkSetup();
-
- Map objectModel = ContextHelper.getObjectModel(this.context);
+ final Map objectModel = getObjectModel();
+ final SourceResolver resolver = getSourceResolver();
// Keep the previous view data, if any (is it really necessary?), and set the new one
Object oldViewData = FlowHelper.getContextObject(objectModel);
@@ -107,7 +64,7 @@
Source src = null;
InputStream input = null;
try {
- src = this.resolver.resolveURI("cocoon:/" + uri);
+ src = resolver.resolveURI("cocoon:/" + uri);
input = src.getInputStream();
IOUtils.copy(input, output);
} finally {
@@ -119,10 +76,7 @@
// Restore the previous view data
FlowHelper.setContextObject(objectModel, oldViewData);
-
- if (src != null) {
- this.resolver.release(src);
- }
+ resolver.release(src);
}
}
@@ -135,21 +89,19 @@
*/
public void processToSAX(String uri, Object viewData, ContentHandler handler)
throws SAXException, IOException, ProcessingException {
- checkSetup();
+ final Map objectModel = getObjectModel();
+ final SourceResolver resolver = getSourceResolver();
- Map objectModel = ContextHelper.getObjectModel(this.context);
Object oldViewData = FlowHelper.getContextObject(objectModel);
FlowHelper.setContextObject(objectModel, JavaScriptFlowHelper.unwrap(viewData));
Source src = null;
try {
- src = this.resolver.resolveURI("cocoon:/" + uri);
+ src = resolver.resolveURI("cocoon:/" + uri);
SourceUtil.toSAX(src, handler);
} finally {
FlowHelper.setContextObject(objectModel, oldViewData);
- if (src != null) {
- this.resolver.release(src);
- }
+ resolver.release(src);
}
}
@@ -161,22 +113,37 @@
* @return the document
*/
public Document processToDOM(String uri, Object viewData) throws ProcessingException, SAXException, IOException {
- checkSetup();
-
- Map objectModel = ContextHelper.getObjectModel(this.context);
+ final Map objectModel = getObjectModel();
+ final SourceResolver resolver = getSourceResolver();
Object oldViewData = FlowHelper.getContextObject(objectModel);
FlowHelper.setContextObject(objectModel, JavaScriptFlowHelper.unwrap(viewData));
Source src = null;
try {
- src = this.resolver.resolveURI("cocoon:/" + uri);
+ src = resolver.resolveURI("cocoon:/" + uri);
return SourceUtil.toDOM(src);
} finally {
FlowHelper.setContextObject(objectModel, oldViewData);
- if (src != null) {
- this.resolver.release(src);
- }
+ resolver.release(src);
}
+ }
+
+ /**
+ * Helper method to get the current source resolver.
+ */
+ protected static SourceResolver getSourceResolver() {
+ final WebApplicationContext webAppContext = WebAppContextUtils.getCurrentWebApplicationContext();
+ return (SourceResolver)webAppContext.getBean(SourceResolver.ROLE);
+ }
+
+ /**
+ * Helper method to get the current object model.
+ */
+ protected static Map getObjectModel() {
+ final WebApplicationContext webAppContext = WebAppContextUtils.getCurrentWebApplicationContext();
+ final ProcessInfoProvider infoProvider =
+ (ProcessInfoProvider)webAppContext.getBean(ProcessInfoProvider.ROLE);
+ return infoProvider.getObjectModel();
}
}
Modified: cocoon/trunk/blocks/cocoon-javaflow/cocoon-javaflow-impl/src/main/java/org/apache/cocoon/components/flow/java/AbstractContinuable.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-javaflow/cocoon-javaflow-impl/src/main/java/org/apache/cocoon/components/flow/java/AbstractContinuable.java?view=diff&rev=497338&r1=497337&r2=497338
==============================================================================
--- cocoon/trunk/blocks/cocoon-javaflow/cocoon-javaflow-impl/src/main/java/org/apache/cocoon/components/flow/java/AbstractContinuable.java (original)
+++ cocoon/trunk/blocks/cocoon-javaflow/cocoon-javaflow-impl/src/main/java/org/apache/cocoon/components/flow/java/AbstractContinuable.java Thu Jan 18 00:03:26 2007
@@ -130,16 +130,12 @@
}
public void processPipelineTo( String uri, Object bizdata, OutputStream out ) {
- CocoonContinuationContext context = getContext();
PipelineUtil pipeUtil = new PipelineUtil();
try {
- pipeUtil.contextualize(context.getAvalonContext());
- pipeUtil.service(context.getServiceManager());
pipeUtil.processToStream(uri, bizdata, out);
} catch (Exception e) {
throw new CascadingRuntimeException("Cannot process pipeline to '" + uri + "'", e);
} finally {
- pipeUtil.dispose();
}
}
Modified: cocoon/trunk/blocks/cocoon-scratchpad/cocoon-scratchpad-impl/src/main/java/org/apache/cocoon/components/flow/javascript/fom/AO_FOM_JavaScriptInterpreter.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-scratchpad/cocoon-scratchpad-impl/src/main/java/org/apache/cocoon/components/flow/javascript/fom/AO_FOM_JavaScriptInterpreter.java?view=diff&rev=497338&r1=497337&r2=497338
==============================================================================
--- cocoon/trunk/blocks/cocoon-scratchpad/cocoon-scratchpad-impl/src/main/java/org/apache/cocoon/components/flow/javascript/fom/AO_FOM_JavaScriptInterpreter.java (original)
+++ cocoon/trunk/blocks/cocoon-scratchpad/cocoon-scratchpad-impl/src/main/java/org/apache/cocoon/components/flow/javascript/fom/AO_FOM_JavaScriptInterpreter.java Thu Jan 18 00:03:26 2007
@@ -756,13 +756,7 @@
throws Exception {
setupView(scope, cocoon, null);
PipelineUtil pipeUtil = new PipelineUtil();
- try {
- pipeUtil.contextualize(this.avalonContext);
- pipeUtil.service(this.manager);
- pipeUtil.processToStream(uri, bizData, out);
- } finally {
- pipeUtil.dispose();
- }
+ pipeUtil.processToStream(uri, bizData, out);
}
private void setupView(Scriptable scope,