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/