You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by vg...@apache.org on 2007/03/30 18:13:22 UTC
svn commit: r524153 - in
/cocoon/trunk/blocks/cocoon-template/cocoon-template-impl:
src/main/java/org/apache/cocoon/template/script/DefaultScriptManager.java
status.xml
Author: vgritsenko
Date: Fri Mar 30 09:13:22 2007
New Revision: 524153
URL: http://svn.apache.org/viewvc?view=rev&rev=524153
Log:
bug fix.
it should work, but can't compile atm.
Modified:
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/DefaultScriptManager.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/status.xml
Modified: cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/DefaultScriptManager.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/DefaultScriptManager.java?view=diff&rev=524153&r1=524152&r2=524153
==============================================================================
--- cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/DefaultScriptManager.java (original)
+++ cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/DefaultScriptManager.java Fri Mar 30 09:13:22 2007
@@ -16,42 +16,46 @@
*/
package org.apache.cocoon.template.script;
+import org.apache.cocoon.ProcessingException;
+import org.apache.cocoon.components.source.SourceUtil;
+import org.apache.cocoon.template.environment.ParsingContext;
+import org.apache.cocoon.template.expression.StringTemplateParser;
+import org.apache.cocoon.template.script.event.StartDocument;
+import org.apache.cocoon.util.location.LocationUtils;
+
import org.apache.avalon.framework.activity.Disposable;
import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.avalon.framework.service.ServiceException;
import org.apache.avalon.framework.service.ServiceManager;
-import org.apache.avalon.framework.service.ServiceSelector;
import org.apache.avalon.framework.service.Serviceable;
import org.apache.avalon.framework.thread.ThreadSafe;
-import org.apache.cocoon.ProcessingException;
-import org.apache.cocoon.components.source.SourceUtil;
-import org.apache.cocoon.template.environment.ParsingContext;
-import org.apache.cocoon.template.expression.StringTemplateParser;
-import org.apache.cocoon.template.script.event.StartDocument;
import org.apache.excalibur.source.Source;
import org.apache.excalibur.source.SourceException;
import org.apache.excalibur.source.SourceResolver;
import org.apache.excalibur.source.SourceValidity;
import org.apache.excalibur.store.Store;
+
import org.xml.sax.Locator;
import org.xml.sax.SAXParseException;
/**
* @version $Id$
*/
-public class DefaultScriptManager
- extends AbstractLogEnabled
- implements Serviceable, Disposable, ScriptManager, ThreadSafe {
+public class DefaultScriptManager extends AbstractLogEnabled
+ implements Serviceable, Disposable, ScriptManager,
+ ThreadSafe {
+
+ private static final String JX_STORE_PREFIX = "jxtg:";
+
+ private String stringTemplateParserName;
private ServiceManager manager;
- private final static String JX_STORE_PREFIX = "jxtg:";
private Store store;
private InstructionFactory instructionFactory;
- private ServiceSelector stringTemplateParserSelector;
private StringTemplateParser stringTemplateParser;
- private String stringTemplateParserName = "jxtg";
public DefaultScriptManager() {
+ stringTemplateParserName = "jxtg";
}
/**
@@ -59,27 +63,23 @@
*/
public void service(ServiceManager manager) throws ServiceException {
this.manager = manager;
- this.store = (Store) this.manager.lookup(Store.TRANSIENT_STORE);
- this.instructionFactory = (InstructionFactory) this.manager.lookup(InstructionFactory.ROLE);
- this.stringTemplateParserSelector = (ServiceSelector) this.manager.lookup(StringTemplateParser.ROLE
- + "Selector");
- this.stringTemplateParser = (StringTemplateParser) this.stringTemplateParserSelector
- .select(this.stringTemplateParserName);
+ this.store = (Store) manager.lookup(Store.TRANSIENT_STORE);
+ this.instructionFactory = (InstructionFactory) manager.lookup(InstructionFactory.ROLE);
+ this.stringTemplateParser = (StringTemplateParser)
+ manager.lookup(StringTemplateParser.ROLE + "/" + stringTemplateParserName);
}
/**
* @see org.apache.avalon.framework.activity.Disposable#dispose()
*/
public void dispose() {
- if ( this.manager != null ) {
+ if (stringTemplateParser != null) {
+ manager.release(stringTemplateParser);
+ stringTemplateParser = null;
+ }
+ if (this.manager != null) {
this.manager.release(this.store);
this.manager.release(this.instructionFactory);
- if ( this.stringTemplateParserSelector != null ) {
- this.stringTemplateParserSelector.release(this.stringTemplateParser);
- this.manager.release(this.stringTemplateParserSelector);
- this.stringTemplateParserSelector = null;
- this.stringTemplateParser = null;
- }
this.store = null;
this.instructionFactory = null;
this.manager = null;
@@ -142,14 +142,19 @@
}
} catch (SourceException se) {
throw SourceUtil.handle("Error during resolving of '" + uri + "'.", se);
- } catch (Exception exc) {
- throw new SAXParseException(exc.getMessage(), location, exc);
+ } catch (ProcessingException e) {
+ throw ProcessingException.throwLocated(null, e, LocationUtils.getLocation(location));
+ } catch (Exception e) {
+ throw new SAXParseException(e.getMessage(), location, e);
} finally {
- if (input != null)
+ if (input != null) {
resolver.release(input);
- if (resolver != null)
+ }
+ if (resolver != null) {
manager.release(resolver);
+ }
}
+
return doc;
}
-}
\ No newline at end of file
+}
Modified: cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/status.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/status.xml?view=diff&rev=524153&r1=524152&r2=524153
==============================================================================
--- cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/status.xml (original)
+++ cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/status.xml Fri Mar 30 09:13:22 2007
@@ -66,6 +66,9 @@
<!-- The following list contains the changes since the latest 2.1.x version. -->
<changes>
<release version="@version@" date="@date@">
+ <action dev="VG" type="fix">
+ Fix exception handling in script manager. Do not wrap processing exception into SAXException.
+ </action>
<action dev="JH" type="fix" fixes-bug="COCOON-1866" due-to="Ellis Pritchard" due-to-email="ellis@nukinetics.com">
Fix an ArrrayIndexOutOfBoundsException with jx:comment.
</action>
Re: Block sharing
Posted by Vadim Gritsenko <va...@reverycodes.com>.
Reinhard Poetz wrote:
> Vadim Gritsenko wrote:
>> When we are going to stop block sharing, again?
>
> as soon as somebody does the actual work of replacing svn:externals with
> real stuff. Two months ago we agreed that we do it at the end of March
> and then release 2.1.11.
Removed externals from blocks/template. Do I need to do something more? Remove
2.2 specific files from 2.1's copy? Add status.xml or such to 2.2?
Vadim
Block sharing
Posted by Reinhard Poetz <re...@apache.org>.
Vadim Gritsenko wrote:
> When we are going to stop block sharing, again?
as soon as somebody does the actual work of replacing svn:externals with real
stuff. Two months ago we agreed that we do it at the end of March and then
release 2.1.11.
--
Reinhard Pötz Independent Consultant, Trainer & (IT)-Coach
{Software Engineering, Open Source, Web Applications, Apache Cocoon}
web(log): http://www.poetz.cc
--------------------------------------------------------------------
Re: svn commit: r524153 - in /cocoon/trunk/blocks/cocoon-template/cocoon-template-impl:
src/main/java/org/apache/cocoon/template/script/DefaultScriptManager.java
status.xml
Posted by Vadim Gritsenko <va...@reverycodes.com>.
Grzegorz Kossakowski wrote:
> vgritsenko@apache.org napisał(a):
>> Author: vgritsenko
>> Date: Fri Mar 30 09:13:22 2007
>> New Revision: 524153
>>
>> URL: http://svn.apache.org/viewvc?view=rev&rev=524153
>> Log:
>> bug fix.
>>
>> it should work, but can't compile atm.
>
> Unfortunately, this breaks 2.1.x branch, see:
> http://cocoon.zones.apache.org/demos/21branch/
> Any idea why it cannot find
> org.apache.cocoon.template.expression.StringTemplateParser/jxtg component?
Ouch. I forgot that block is shared with 2.1. It can't find it because 2.1 does
not support 'flattened' container - you have to have Selector.
When we are going to stop block sharing, again?
Vadim
Re: svn commit: r524153 - in /cocoon/trunk/blocks/cocoon-template/cocoon-template-impl:
src/main/java/org/apache/cocoon/template/script/DefaultScriptManager.java
status.xml
Posted by Grzegorz Kossakowski <gk...@apache.org>.
vgritsenko@apache.org napisał(a):
> Author: vgritsenko
> Date: Fri Mar 30 09:13:22 2007
> New Revision: 524153
>
> URL: http://svn.apache.org/viewvc?view=rev&rev=524153
> Log:
> bug fix.
>
> it should work, but can't compile atm.
>
Unfortunately, this breaks 2.1.x branch, see:
http://cocoon.zones.apache.org/demos/21branch/
Any idea why it cannot find
org.apache.cocoon.template.expression.StringTemplateParser/jxtg component?
--
Grzegorz Kossakowski
http://reflectingonthevicissitudes.wordpress.com/