Re: [M10N] new pom structure

2005-10-26 Thread Jorg Heymans

Reinhard Poetz wrote:

 Jorg, could you show us a concrete example how this directory structure
 will look like (where is block.xml, the root-sitemap, BLOCK-INF, the
 compiled classes, the JARs, ...)?

Yes I'll cook something up in the whiteboard.


Jorg



Re: [HEADS-UP] Testers wanted for the upcoming Cocoon 2.1.8

2005-10-26 Thread Jorg Heymans


Pier Fumagalli wrote:

 Can't see the stacktraces... It works on mine! :-P
 (And I can't disable AWT, as I'm on OS/X)

Well, looking at [1], bcel is using java.awt.Color to do graph coloring.

Though I don't understand much about graph coloring in general, I feel
that they could've done with some integer constants representing colors
rather than using the actual Color class.

I've installed X on my server and started in headless mode, the javaflow
samples work now.


[1]
http://svn.apache.org/viewcvs.cgi/jakarta/bcel/trunk/src/java/org/apache/bcel/verifier/structurals/Subroutines.java?rev=292117view=markup



Re: [HEADS-UP] Testers wanted for the upcoming Cocoon 2.1.8

2005-10-26 Thread Bertrand Delacretaz

Le 25 oct. 05, à 01:29, Torsten Curdt a écrit :


...The javaflow OJB example gives a PersistenceBrokerException Used
ConnectionManager instance could not obtain a connection...


These database issues were fixed yesterday by Sylvain (thanks!), the 
demos were all trying to run hsqldb on the same port.



Same problem for the databases block. I assume hsqldb is not working
on the zones installation.


should be fixed as well.


The proxy block Examples fails

The JSF block Documentation for this demo gives a 
ResourceNotFoundException:

No pipeline matched request: samples/blocks/faces/cardemo/javadocs
map:mount - context://samples/blocks/faces/sitemap.xmap - 107:68
I assume the version on zones is built without javadocs?

None of the examples from the Ajax block were working for me.

Seems like the XSLTAL examples always returns XML instead of HTML


fixed, serializer type was wrong, I'm updating the zone right now



Could not create an index on the querybean example

Hope these problems are only zones related *sigh*..


I haven't tested except where indicated.

-Bertrand



Re: [HEADS-UP] Testers wanted for the upcoming Cocoon 2.1.8

2005-10-26 Thread Bertrand Delacretaz

Le 25 oct. 05, à 12:14, Pier Fumagalli a écrit :


On 25 Oct 2005, at 10:08, Jeroen Reijn wrote:

- CAPTCHA validation sample is does not make sense. There is no  
string shown on the right.
http://cocoon.zones.apache.org/demos/21branch/samples/blocks/forms/ 
captcha/


Uh... That's a 500:

HTTP ERROR: 500 Internal Server Error


Fixed by running the zone demos with -Djava.awt.headless=true as  
suggested, thanks!


Can someone add me to the users in the zone, so that I can check  
what's wrong with it?


useradd pier done, including auto_home setup as per  
http://www.apache.org/dev/solaris-zones.html


-Bertrand



Reverting the property search order in CoreUtils

2005-10-26 Thread Sylvain Wallez

Hi all,

Trying to set the hslqdb server port using the property lookup system in 
trunk, I found that the lookup order actually makes it not much useful.


From what I understand, the properties files are read in the following 
order:

- WEB-INF/properties/*
- WEB-INF/properties/{run-mode}/*
- custom property providers (where are they defined?)
- work directory and logkit config from web.xml
- an optional user-specific property file, either pointed to by the 
org.apache.cocoon.setting property, or the 
~/.cocoon/settings.properties file

- system properties.

Cool, even if it would be good to extend lookup in web.xml to any 
servlet and/or context parameter (some admins will want to configure 
everything using their J2EE deployment tools).


Now the problem comes from the property search order, which follows the 
exact same path, meaning the most generic properties (in 
WEB-INF/properties) hide any overriding in specific properties (user 
settings, system properties).


I reverted the property lookup order, and this now works just fine :-)

Sylvain

--
Sylvain WallezAnyware Technologies
http://people.apache.org/~sylvain http://www.anyware-tech.com
Apache Software Foundation Member Research  Technology Director



Re: [HEADS-UP] Testers wanted for the upcoming Cocoon 2.1.8

2005-10-26 Thread Steven Noels

On 26 Oct 2005, at 10:31, Bertrand Delacretaz wrote:

useradd pier done, including auto_home setup as per 
http://www.apache.org/dev/solaris-zones.html


done vadim as well - as he asked for this many moons ago

/Steven
--
Steven Noelshttp://outerthought.org/
Outerthought  Open Source Java  XML
stevenn at outerthought.orgstevenn at apache.org



Re: [HEADS-UP] Testers wanted for the upcoming Cocoon 2.1.8

2005-10-26 Thread Torsten Curdt

Can't see the stacktraces... It works on mine! :-P
(And I can't disable AWT, as I'm on OS/X)



Well, looking at [1], bcel is using java.awt.Color to do graph  
coloring.


Though I don't understand much about graph coloring in general, I feel
that they could've done with some integer constants representing  
colors

rather than using the actual Color class.


Don't get me started on what could have been done differently
...well, *better* in BCEL :-P

I've installed X on my server and started in headless mode, the  
javaflow

samples work now.


Thanks for the testing

cheers
--
Torsten



PGP.sig
Description: This is a digitally signed message part


Re: HSQLDB broken on the zone

2005-10-26 Thread Sylvain Wallez

Sylvain Wallez wrote:

Hi all,

Up to now, I couldn't see the SQL samples running on the zone. It says :

java.sql.SQLException: Connection is broken: Transfer corrupted
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.jdbcConnection.getAutoCommit(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 

at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 


at java.lang.reflect.Method.invoke(Method.java:324)
at 
org.apache.avalon.excalibur.datasource.AbstractJdbcConnection.invoke(AbstractJdbcConnection.java:397) 




Any hint?


Fixed. The 3 Cocoon instances running on the zone were using the same 
port (9002) for the HSQL server.


I made the port configurable using a new entry in build.properties for 
2.1, and the property lookup system in trunk. The 2.1.7 demo has no way 
to change the port, so it uses 9002.


Database demos are now running smoothly :-)

Sylvain

--
Sylvain WallezAnyware Technologies
http://people.apache.org/~sylvain http://www.anyware-tech.com
Apache Software Foundation Member Research  Technology Director



[jira] Created: (COCOON-1661) Portal Sample broken : SQLException

2005-10-26 Thread Philippe Gassmann (JIRA)
Portal Sample broken : SQLException
---

 Key: COCOON-1661
 URL: http://issues.apache.org/jira/browse/COCOON-1661
 Project: Cocoon
Type: Bug
  Components: Blocks: Portal  
Versions: 2.1.8-dev (Current SVN)
Reporter: Philippe Gassmann
Priority: Blocker


An exception occurs when trying to load the portal sample : 

java.sql.SQLException: Connection is broken: Transfer corrupted
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.jdbcConnection.getAutoCommit(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at 
org.apache.avalon.excalibur.datasource.AbstractJdbcConnection.invoke(AbstractJdbcConnection.java:397)
at $Proxy22.getAutoCommit(Unknown Source)
at 
org.apache.avalon.excalibur.datasource.JdbcConnectionFactory.newInstance(JdbcConnectionFactory.java:223)
at 
org.apache.avalon.excalibur.pool.InstrumentedResourceLimitingPool.newPoolable(InstrumentedResourceLimitingPool.java:655)
at 
org.apache.avalon.excalibur.pool.ValidatedResourceLimitingPool.newPoolable(ValidatedResourceLimitingPool.java:145)
at 
org.apache.avalon.excalibur.datasource.ResourceLimitingJdbcConnectionPool.newPoolable(ResourceLimitingJdbcConnectionPool.java:91)
at 
org.apache.avalon.excalibur.pool.InstrumentedResourceLimitingPool.get(InstrumentedResourceLimitingPool.java:371)
at 
org.apache.avalon.excalibur.pool.ValidatedResourceLimitingPool.get(ValidatedResourceLimitingPool.java:97)
at 
org.apache.avalon.excalibur.datasource.ResourceLimitingJdbcDataSource.getConnection(ResourceLimitingJdbcDataSource.java:188)
at 
org.apache.cocoon.ojb.components.ConnectionFactoryImpl.lookupConnection(ConnectionFactoryImpl.java:129)
at 
org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.getConnection(Unknown 
Source)
at 
org.apache.ojb.broker.accesslayer.StatementManager.getPreparedStatement(Unknown 
Source)
at 
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeQuery(Unknown Source)
at org.apache.ojb.broker.accesslayer.RsQueryObject.performQuery(Unknown 
Source)
at org.apache.ojb.broker.accesslayer.RsIterator.init(Unknown Source)
at 
org.apache.ojb.broker.core.RsIteratorFactoryImpl.createRsIterator(Unknown 
Source)
at 
org.apache.ojb.broker.core.PersistenceBrokerImpl.getRsIteratorFromQuery(Unknown 
Source)
at 
org.apache.ojb.broker.core.PersistenceBrokerImpl.getIteratorFromQuery(Unknown 
Source)
at 
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown 
Source)
at 
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown 
Source)
at 
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown 
Source)
at 
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknown 
Source)
at 
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(Unknown
 Source)
at 
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(Unknown
 Source)
at 
org.apache.cocoon.portal.security.DBSecurityHandler.login(DBSecurityHandler.java:50)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at 
org.apache.avalon.excalibur.component.ComponentProxyGenerator$ComponentInvocationHandler.invoke(ComponentProxyGenerator.java:143)
at $Proxy18.login(Unknown Source)
at 
org.osoco.cowarp.impl.StandardApplicationManager.login(StandardApplicationManager.java:193)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at 
org.apache.avalon.excalibur.component.ComponentProxyGenerator$ComponentInvocationHandler.invoke(ComponentProxyGenerator.java:143)
at $Proxy17.login(Unknown Source)
at org.osoco.cowarp.acting.LoginAction.act(LoginAction.java:61)
at 
org.apache.cocoon.components.treeprocessor.sitemap.ActTypeNode.invoke(ActTypeNode.java:119)
at 
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:46)
at 

[jira] Commented: (COCOON-1661) Portal Sample broken : SQLException

2005-10-26 Thread Bertrand Delacretaz (JIRA)
[ 
http://issues.apache.org/jira/browse/COCOON-1661?page=comments#action_12355954 
] 

Bertrand Delacretaz commented on COCOON-1661:
-

It works for me at 
http://cocoon.zones.apache.org/demos/21branch/samples/blocks/portal/portal 
which runs the latest SVN code from this morning, are you seeing something 
different?

 Portal Sample broken : SQLException
 ---

  Key: COCOON-1661
  URL: http://issues.apache.org/jira/browse/COCOON-1661
  Project: Cocoon
 Type: Bug
   Components: Blocks: Portal
 Versions: 2.1.8-dev (Current SVN)
 Reporter: Philippe Gassmann
 Priority: Blocker


 An exception occurs when trying to load the portal sample : 
 java.sql.SQLException: Connection is broken: Transfer corrupted
   at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
   at org.hsqldb.jdbc.jdbcConnection.getAutoCommit(Unknown Source)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:324)
   at 
 org.apache.avalon.excalibur.datasource.AbstractJdbcConnection.invoke(AbstractJdbcConnection.java:397)
   at $Proxy22.getAutoCommit(Unknown Source)
   at 
 org.apache.avalon.excalibur.datasource.JdbcConnectionFactory.newInstance(JdbcConnectionFactory.java:223)
   at 
 org.apache.avalon.excalibur.pool.InstrumentedResourceLimitingPool.newPoolable(InstrumentedResourceLimitingPool.java:655)
   at 
 org.apache.avalon.excalibur.pool.ValidatedResourceLimitingPool.newPoolable(ValidatedResourceLimitingPool.java:145)
   at 
 org.apache.avalon.excalibur.datasource.ResourceLimitingJdbcConnectionPool.newPoolable(ResourceLimitingJdbcConnectionPool.java:91)
   at 
 org.apache.avalon.excalibur.pool.InstrumentedResourceLimitingPool.get(InstrumentedResourceLimitingPool.java:371)
   at 
 org.apache.avalon.excalibur.pool.ValidatedResourceLimitingPool.get(ValidatedResourceLimitingPool.java:97)
   at 
 org.apache.avalon.excalibur.datasource.ResourceLimitingJdbcDataSource.getConnection(ResourceLimitingJdbcDataSource.java:188)
   at 
 org.apache.cocoon.ojb.components.ConnectionFactoryImpl.lookupConnection(ConnectionFactoryImpl.java:129)
   at 
 org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.getConnection(Unknown 
 Source)
   at 
 org.apache.ojb.broker.accesslayer.StatementManager.getPreparedStatement(Unknown
  Source)
   at 
 org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeQuery(Unknown Source)
   at org.apache.ojb.broker.accesslayer.RsQueryObject.performQuery(Unknown 
 Source)
   at org.apache.ojb.broker.accesslayer.RsIterator.init(Unknown Source)
   at 
 org.apache.ojb.broker.core.RsIteratorFactoryImpl.createRsIterator(Unknown 
 Source)
   at 
 org.apache.ojb.broker.core.PersistenceBrokerImpl.getRsIteratorFromQuery(Unknown
  Source)
   at 
 org.apache.ojb.broker.core.PersistenceBrokerImpl.getIteratorFromQuery(Unknown 
 Source)
   at 
 org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown 
 Source)
   at 
 org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown 
 Source)
   at 
 org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown 
 Source)
   at 
 org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknown 
 Source)
   at 
 org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(Unknown
  Source)
   at 
 org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(Unknown
  Source)
   at 
 org.apache.cocoon.portal.security.DBSecurityHandler.login(DBSecurityHandler.java:50)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:324)
   at 
 org.apache.avalon.excalibur.component.ComponentProxyGenerator$ComponentInvocationHandler.invoke(ComponentProxyGenerator.java:143)
   at $Proxy18.login(Unknown Source)
   at 
 org.osoco.cowarp.impl.StandardApplicationManager.login(StandardApplicationManager.java:193)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:324)
   at 
 org.apache.avalon.excalibur.component.ComponentProxyGenerator$ComponentInvocationHandler.invoke(ComponentProxyGenerator.java:143)
   at 

[jira] Commented: (COCOON-1661) Portal Sample broken : SQLException

2005-10-26 Thread Philippe Gassmann (JIRA)
[ 
http://issues.apache.org/jira/browse/COCOON-1661?page=comments#action_12355956 
] 

Philippe Gassmann commented on COCOON-1661:
---

Yes, I'm seeing this exception with the today 1:00pm svn after a clean and 
build :  I ran the following commands on my terminal : 
svn up
./build.sh clean
./build.sh
./cocoon.sh servlet

after that I go to http://localhost:/samples/blocks/portal/

And I can't see the portal, just this exception.

 Portal Sample broken : SQLException
 ---

  Key: COCOON-1661
  URL: http://issues.apache.org/jira/browse/COCOON-1661
  Project: Cocoon
 Type: Bug
   Components: Blocks: Portal
 Versions: 2.1.8-dev (Current SVN)
 Reporter: Philippe Gassmann
 Priority: Blocker


 An exception occurs when trying to load the portal sample : 
 java.sql.SQLException: Connection is broken: Transfer corrupted
   at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
   at org.hsqldb.jdbc.jdbcConnection.getAutoCommit(Unknown Source)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:324)
   at 
 org.apache.avalon.excalibur.datasource.AbstractJdbcConnection.invoke(AbstractJdbcConnection.java:397)
   at $Proxy22.getAutoCommit(Unknown Source)
   at 
 org.apache.avalon.excalibur.datasource.JdbcConnectionFactory.newInstance(JdbcConnectionFactory.java:223)
   at 
 org.apache.avalon.excalibur.pool.InstrumentedResourceLimitingPool.newPoolable(InstrumentedResourceLimitingPool.java:655)
   at 
 org.apache.avalon.excalibur.pool.ValidatedResourceLimitingPool.newPoolable(ValidatedResourceLimitingPool.java:145)
   at 
 org.apache.avalon.excalibur.datasource.ResourceLimitingJdbcConnectionPool.newPoolable(ResourceLimitingJdbcConnectionPool.java:91)
   at 
 org.apache.avalon.excalibur.pool.InstrumentedResourceLimitingPool.get(InstrumentedResourceLimitingPool.java:371)
   at 
 org.apache.avalon.excalibur.pool.ValidatedResourceLimitingPool.get(ValidatedResourceLimitingPool.java:97)
   at 
 org.apache.avalon.excalibur.datasource.ResourceLimitingJdbcDataSource.getConnection(ResourceLimitingJdbcDataSource.java:188)
   at 
 org.apache.cocoon.ojb.components.ConnectionFactoryImpl.lookupConnection(ConnectionFactoryImpl.java:129)
   at 
 org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.getConnection(Unknown 
 Source)
   at 
 org.apache.ojb.broker.accesslayer.StatementManager.getPreparedStatement(Unknown
  Source)
   at 
 org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeQuery(Unknown Source)
   at org.apache.ojb.broker.accesslayer.RsQueryObject.performQuery(Unknown 
 Source)
   at org.apache.ojb.broker.accesslayer.RsIterator.init(Unknown Source)
   at 
 org.apache.ojb.broker.core.RsIteratorFactoryImpl.createRsIterator(Unknown 
 Source)
   at 
 org.apache.ojb.broker.core.PersistenceBrokerImpl.getRsIteratorFromQuery(Unknown
  Source)
   at 
 org.apache.ojb.broker.core.PersistenceBrokerImpl.getIteratorFromQuery(Unknown 
 Source)
   at 
 org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown 
 Source)
   at 
 org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown 
 Source)
   at 
 org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown 
 Source)
   at 
 org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknown 
 Source)
   at 
 org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(Unknown
  Source)
   at 
 org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(Unknown
  Source)
   at 
 org.apache.cocoon.portal.security.DBSecurityHandler.login(DBSecurityHandler.java:50)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:324)
   at 
 org.apache.avalon.excalibur.component.ComponentProxyGenerator$ComponentInvocationHandler.invoke(ComponentProxyGenerator.java:143)
   at $Proxy18.login(Unknown Source)
   at 
 org.osoco.cowarp.impl.StandardApplicationManager.login(StandardApplicationManager.java:193)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:324)
   at 
 

[jira] Closed: (COCOON-1661) Portal Sample broken : SQLException

2005-10-26 Thread Sylvain Wallez (JIRA)
 [ http://issues.apache.org/jira/browse/COCOON-1661?page=all ]
 
Sylvain Wallez closed COCOON-1661:
--

Resolution: Fixed

The problem was because the 3 Cocoon versions running on the zone where using 
the same port number for the hsqldb server.

This is now fixed, and each instance uses a different port number

 Portal Sample broken : SQLException
 ---

  Key: COCOON-1661
  URL: http://issues.apache.org/jira/browse/COCOON-1661
  Project: Cocoon
 Type: Bug
   Components: Blocks: Portal
 Versions: 2.1.8-dev (Current SVN)
 Reporter: Philippe Gassmann
 Priority: Blocker


 An exception occurs when trying to load the portal sample : 
 java.sql.SQLException: Connection is broken: Transfer corrupted
   at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
   at org.hsqldb.jdbc.jdbcConnection.getAutoCommit(Unknown Source)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:324)
   at 
 org.apache.avalon.excalibur.datasource.AbstractJdbcConnection.invoke(AbstractJdbcConnection.java:397)
   at $Proxy22.getAutoCommit(Unknown Source)
   at 
 org.apache.avalon.excalibur.datasource.JdbcConnectionFactory.newInstance(JdbcConnectionFactory.java:223)
   at 
 org.apache.avalon.excalibur.pool.InstrumentedResourceLimitingPool.newPoolable(InstrumentedResourceLimitingPool.java:655)
   at 
 org.apache.avalon.excalibur.pool.ValidatedResourceLimitingPool.newPoolable(ValidatedResourceLimitingPool.java:145)
   at 
 org.apache.avalon.excalibur.datasource.ResourceLimitingJdbcConnectionPool.newPoolable(ResourceLimitingJdbcConnectionPool.java:91)
   at 
 org.apache.avalon.excalibur.pool.InstrumentedResourceLimitingPool.get(InstrumentedResourceLimitingPool.java:371)
   at 
 org.apache.avalon.excalibur.pool.ValidatedResourceLimitingPool.get(ValidatedResourceLimitingPool.java:97)
   at 
 org.apache.avalon.excalibur.datasource.ResourceLimitingJdbcDataSource.getConnection(ResourceLimitingJdbcDataSource.java:188)
   at 
 org.apache.cocoon.ojb.components.ConnectionFactoryImpl.lookupConnection(ConnectionFactoryImpl.java:129)
   at 
 org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.getConnection(Unknown 
 Source)
   at 
 org.apache.ojb.broker.accesslayer.StatementManager.getPreparedStatement(Unknown
  Source)
   at 
 org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeQuery(Unknown Source)
   at org.apache.ojb.broker.accesslayer.RsQueryObject.performQuery(Unknown 
 Source)
   at org.apache.ojb.broker.accesslayer.RsIterator.init(Unknown Source)
   at 
 org.apache.ojb.broker.core.RsIteratorFactoryImpl.createRsIterator(Unknown 
 Source)
   at 
 org.apache.ojb.broker.core.PersistenceBrokerImpl.getRsIteratorFromQuery(Unknown
  Source)
   at 
 org.apache.ojb.broker.core.PersistenceBrokerImpl.getIteratorFromQuery(Unknown 
 Source)
   at 
 org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown 
 Source)
   at 
 org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown 
 Source)
   at 
 org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown 
 Source)
   at 
 org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknown 
 Source)
   at 
 org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(Unknown
  Source)
   at 
 org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(Unknown
  Source)
   at 
 org.apache.cocoon.portal.security.DBSecurityHandler.login(DBSecurityHandler.java:50)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:324)
   at 
 org.apache.avalon.excalibur.component.ComponentProxyGenerator$ComponentInvocationHandler.invoke(ComponentProxyGenerator.java:143)
   at $Proxy18.login(Unknown Source)
   at 
 org.osoco.cowarp.impl.StandardApplicationManager.login(StandardApplicationManager.java:193)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:324)
   at 
 org.apache.avalon.excalibur.component.ComponentProxyGenerator$ComponentInvocationHandler.invoke(ComponentProxyGenerator.java:143)
   at 

[jira] Created: (COCOON-1662) Portal basket ample does not work well with uploaded items

2005-10-26 Thread Philippe Gassmann (JIRA)
Portal basket ample does not work well with uploaded items
--

 Key: COCOON-1662
 URL: http://issues.apache.org/jira/browse/COCOON-1662
 Project: Cocoon
Type: Bug
  Components: Blocks: Portal  
Versions: 2.1.8-dev (Current SVN), 2.1.7
Reporter: Philippe Gassmann


It seems not to be possible to view or download an uploaded file in the basket 
sample : when I try to view, it just write in the Content coplet : 
The item is not XML. 

This is true, but it should be possible to download this file even it is not 
XML.


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Commented: (COCOON-1661) Portal Sample broken : SQLException

2005-10-26 Thread Sylvain Wallez (JIRA)
[ 
http://issues.apache.org/jira/browse/COCOON-1661?page=comments#action_12355959 
] 

Sylvain Wallez commented on COCOON-1661:


Sorry, by reading Bertrand's comment, I thought it was about the zone, which is 
now fixed. No it happens that you had the same exact problem on your PC :-)
(Philppe is sitting about 10 meters away from me)

 Portal Sample broken : SQLException
 ---

  Key: COCOON-1661
  URL: http://issues.apache.org/jira/browse/COCOON-1661
  Project: Cocoon
 Type: Bug
   Components: Blocks: Portal
 Versions: 2.1.8-dev (Current SVN)
 Reporter: Philippe Gassmann
 Priority: Blocker


 An exception occurs when trying to load the portal sample : 
 java.sql.SQLException: Connection is broken: Transfer corrupted
   at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
   at org.hsqldb.jdbc.jdbcConnection.getAutoCommit(Unknown Source)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:324)
   at 
 org.apache.avalon.excalibur.datasource.AbstractJdbcConnection.invoke(AbstractJdbcConnection.java:397)
   at $Proxy22.getAutoCommit(Unknown Source)
   at 
 org.apache.avalon.excalibur.datasource.JdbcConnectionFactory.newInstance(JdbcConnectionFactory.java:223)
   at 
 org.apache.avalon.excalibur.pool.InstrumentedResourceLimitingPool.newPoolable(InstrumentedResourceLimitingPool.java:655)
   at 
 org.apache.avalon.excalibur.pool.ValidatedResourceLimitingPool.newPoolable(ValidatedResourceLimitingPool.java:145)
   at 
 org.apache.avalon.excalibur.datasource.ResourceLimitingJdbcConnectionPool.newPoolable(ResourceLimitingJdbcConnectionPool.java:91)
   at 
 org.apache.avalon.excalibur.pool.InstrumentedResourceLimitingPool.get(InstrumentedResourceLimitingPool.java:371)
   at 
 org.apache.avalon.excalibur.pool.ValidatedResourceLimitingPool.get(ValidatedResourceLimitingPool.java:97)
   at 
 org.apache.avalon.excalibur.datasource.ResourceLimitingJdbcDataSource.getConnection(ResourceLimitingJdbcDataSource.java:188)
   at 
 org.apache.cocoon.ojb.components.ConnectionFactoryImpl.lookupConnection(ConnectionFactoryImpl.java:129)
   at 
 org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.getConnection(Unknown 
 Source)
   at 
 org.apache.ojb.broker.accesslayer.StatementManager.getPreparedStatement(Unknown
  Source)
   at 
 org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeQuery(Unknown Source)
   at org.apache.ojb.broker.accesslayer.RsQueryObject.performQuery(Unknown 
 Source)
   at org.apache.ojb.broker.accesslayer.RsIterator.init(Unknown Source)
   at 
 org.apache.ojb.broker.core.RsIteratorFactoryImpl.createRsIterator(Unknown 
 Source)
   at 
 org.apache.ojb.broker.core.PersistenceBrokerImpl.getRsIteratorFromQuery(Unknown
  Source)
   at 
 org.apache.ojb.broker.core.PersistenceBrokerImpl.getIteratorFromQuery(Unknown 
 Source)
   at 
 org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown 
 Source)
   at 
 org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown 
 Source)
   at 
 org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown 
 Source)
   at 
 org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknown 
 Source)
   at 
 org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(Unknown
  Source)
   at 
 org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(Unknown
  Source)
   at 
 org.apache.cocoon.portal.security.DBSecurityHandler.login(DBSecurityHandler.java:50)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:324)
   at 
 org.apache.avalon.excalibur.component.ComponentProxyGenerator$ComponentInvocationHandler.invoke(ComponentProxyGenerator.java:143)
   at $Proxy18.login(Unknown Source)
   at 
 org.osoco.cowarp.impl.StandardApplicationManager.login(StandardApplicationManager.java:193)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:324)
   at 
 org.apache.avalon.excalibur.component.ComponentProxyGenerator$ComponentInvocationHandler.invoke(ComponentProxyGenerator.java:143)
  

[docs] Updating Daisy on the zone (again)

2005-10-26 Thread Bruno Dumon
Hi,

I'd like to update the Daisy on the zone again (now to version 1.4-M2,
last time was to an SVN snapshot) which fixes some problems. I propose
to do that today at 16 pm CEST. The server will be down for a few
seconds, and editing sessions will be interrupted.

I'll give a notice when it's done.

-- 
Bruno Dumon http://outerthought.org/
Outerthought - Open Source, Java  XML Competence Support Center
[EMAIL PROTECTED]  [EMAIL PROTECTED]



[jira] Commented: (COCOON-1658) Somewhere output is held...

2005-10-26 Thread Vadim Gritsenko (JIRA)
[ 
http://issues.apache.org/jira/browse/COCOON-1658?page=comments#action_12355965 
] 

Vadim Gritsenko commented on COCOON-1658:
-

(where is reply button in jira?)

 So, my question is why is the buffer right now set to unlimited?
 Is there any specific caveat for this?

If you are using caching pipeline then complete response will have to be 
buffered in any case. For non caching pipelines, complete response will have to 
be buffered if serializer requires content length to be set. For all other 
cases... I think this outputBuffer is not really needed.

 Somewhere output is held...
 ---

  Key: COCOON-1658
  URL: http://issues.apache.org/jira/browse/COCOON-1658
  Project: Cocoon
 Type: Bug
   Components: * Cocoon Core
 Versions: 2.1.8-dev (Current SVN)
 Reporter: Pier Fumagalli
 Priority: Critical


 Cocoon standard, as of right now, built without any blocks.
 I modify the default sitemap adding one simple entry:
 map:match pattern=bigtest
   map:generate src=bigtest.xml/
   map:serialize type=xml/
 /map:match
 The file bigtest.xml is a 100Mb XML file that I simply want to generate and 
 serialize (minimal test, no transformers that can do anything weird).
 I then open my terminal and do a curl http://localhost:/bigtest  
 /dev/null, to have an idea of the thrughput for this file.
 Apparently, the output is held for roughly 25 seconds, nothing comes out, no 
 bytes are serialized. All of a sudden, the entire 100 megabytes are 
 serialized in one big lump (and it takes 5 seconds to do so).
 This happens if the pipeline is configured as being caching or noncaching 
 (nothing changes).
 In the first 25 seconds, the JVM running Cocoon uses 100% of my processor 
 (so, it's doing something), and the TOP shows something _really_ strange.
 My JVM grows of roughly 200 megabytes in size (note, I start Cocoon, post the 
 big request, close cocoon).
 This is a trace from my TOP:
   PID COMMAND  %CPU   TIME   #TH #PRTS #MREGS RPRVT  RSHRD  RSIZE  VSIZE
 -
 12498 java 0.1%  0:03.01  19   357   240  25.1M  28.7M  25.4M   735M
 12498 java87.2%  0:06.22  19   403   242  54.2M+ 28.7M  55.1M+  735M-
 12498 java75.7%  0:10.88  19   403   242  78.3M  28.7M  79.2M   735M
 12498 java80.2%  0:14.78  19   403   242   129M  28.7M   130M   735M
 12498 java84.3%  0:19.77  19   403   242   168M+ 28.7M   169M+  735M
 12498 java77.4%  0:23.67  19   403   242   231M  28.7M   232M   735M
 12498 java40.7%  0:27.92  19   403   242   231M+ 28.7M   232M+  735M+
 12498 java 0.1%  0:28.18  20   408   245   231M  28.7M   232M   735M
 Something tells me that we are indeed caching all the content in a big char[] 
 (100 megabytes of US-ASCII text are 200 megabytes when stored in a char[]).
 Any clue on where this can happen? It's impairing our ability to serve bigger 
 feeds (aka, 2 gigs! :-P)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



Re: [jira] Commented: (COCOON-1658) Somewhere output is held...

2005-10-26 Thread Pier Fumagalli

On 26 Oct 2005, at 13:58, Vadim Gritsenko (JIRA) wrote:

[ http://issues.apache.org/jira/browse/COCOON-1658? 
page=comments#action_12355965 ]


Vadim Gritsenko commented on COCOON-1658:
-

(where is reply button in jira?)


You normally can reply to the sender addess of the confirmation  
message, but that's not yet enabled in the ASF infrastructure...


Pier




smime.p7s
Description: S/MIME cryptographic signature


Re: [docs] Updating Daisy on the zone (again)

2005-10-26 Thread Bruno Dumon
On Wed, 2005-10-26 at 14:58 +0200, Bruno Dumon wrote:
 Hi,
 
 I'd like to update the Daisy on the zone again (now to version 1.4-M2,
 last time was to an SVN snapshot) which fixes some problems. I propose
 to do that today at 16 pm CEST. The server will be down for a few
 seconds, and editing sessions will be interrupted.
 
 I'll give a notice when it's done.

almost forgot about it... done now.

-- 
Bruno Dumon http://outerthought.org/
Outerthought - Open Source, Java  XML Competence Support Center
[EMAIL PROTECTED]  [EMAIL PROTECTED]



Re: [RT] flow machinery

2005-10-26 Thread Marc Portier


Sylvain Wallez wrote:
 Torsten Curdt wrote:
 
 Gang,

 there are a few things regarding the current flow machinery that
 are bugging me for quite a while now. In order to support flow
 serialization they need to be addressed.

 1. Class vs Interface

 The WebContinuation is currently a class. IMO it makes much more
 sense to turn it into an interface an have the individual FlowEngine
 implementation act as a factory. That way javaflow could create
 WebContinuations that implement Serializable.
 
 
 +1.
 

+1

 2. Naming

 The name JavaInterpreter just misses the point. I would like to
 rename the Interpreter interface to something like FlowEngine.
 Other suggestions are welcome.
 
 
 +1 as well. I even proposed it 2 years ago [1] ;-)
 

+1, I remember :-)

and find that the old doc (at new URL:
http://wiki.apache.org/cocoon/GeneralizedFlow, ever so unreadable as
back then) still holds some ideas worth considering, no?

for one: the possibility to have more then one 'flowEngine' as you call
it available inside one sitemap would be neat

(and there were some more related re-naming suggestions for the sitemap
syntax as well IIRC, maybe the future of a 2.2 release offers us the
fork to concider some of that as well?)

 3. Continuation Management

 When it comes down to serialization of flow there are 2 aspects.
 One is flow persistence and the other one is flow replication
 across machines.

 In order support flow persistence we would need the make the
 ContinuationManager save and reload serializable continuations.
 ...which is not big deal. Unfortunately replication is a slightly
 different subject.

 The distributed ContinuationManagers would need to synchronize
 the continuation trees across the network or at least find a way
 to direct to the appropriate server that holds the continuation.
 TBH ...I am not eager to re-invent the wheel here. In fact this
 whole machinery is already in place for sessions. Why not re-use it?
 In fact I don't really see a big point of having web continuations
 without sessions anyway.
 
 
 +1 again. There aren't many real use cases where continuations span
 several sessions. And being tied to session may be one of the
 constraints/requirements to use clustered continuations.


I was glad enough to hear Torsten make his point on this IRL during
drink/reception of this year's gettogether...

From a pure web/REST/temp resource POV I still like the idea of having
dynamic URI's that can be shared between end users (thus regardless of
their session) is kinda cool (think chatrooms/operators assisting in
'your' flow), but I think this kind of use could also be solved by smart
redirects and some application level 'resource' management (probably be
even safer then just having it de facto available)

 Assuming the continuations are stored inside the session, storing
 and restoring the sessions would take care of the persistence.
 Directing to the server with the right session also assures to
 get to the right cocoon instance running the right ContinuationManager.
 

And this nice explanation shows IMHO enough pragmatic bonusses...

so +1

 
 Yup. This is required also for load balancing.
 
 Flow replication itself should then also be solved by session
 replication without any further effort. The only open question
 is the continuation expiry mechanism. It might be good enough to
 just run the expiry on every machine ...I am wondering how that
 might affect the replication though.
 
 
 Looks like HttpSessionActivationListener can by our friend here, as it
 allows session attributes to be notified when a session is passivated
 and activated.
 
 Sylvain
 
 [1] http://marc.theaimsgroup.com/?l=xml-cocoon-devm=105732879827785w=2
 


-marc=
-- 
Marc Portierhttp://outerthought.org/
Outerthought - Open Source, Java  XML Competence Support Center
Read my weblog athttp://blogs.cocoondev.org/mpo/
[EMAIL PROTECTED]  [EMAIL PROTECTED]


Re: [jira] Commented: (COCOON-1658) Somewhere output is held...

2005-10-26 Thread Vadim Gritsenko

Pier Fumagalli wrote:

On 26 Oct 2005, at 13:58, Vadim Gritsenko (JIRA) wrote:

[ http://issues.apache.org/jira/browse/COCOON-1658? 
page=comments#action_12355965 ]


Vadim Gritsenko commented on COCOON-1658:
-

(where is reply button in jira?)



You normally can reply to the sender addess of the confirmation  
message, but that's not yet enabled in the ASF infrastructure...


I rather meant reply as in Bugzilla  [reply]  which allows to quote message 
you are replying to.


Vadim


Re: [RT] flow machinery

2005-10-26 Thread Torsten Curdt

and find that the old doc (at new URL:
http://wiki.apache.org/cocoon/GeneralizedFlow, ever so unreadable as
back then) still holds some ideas worth considering, no?


...forgotten gems :) Definitely!
I have to read up on this.

for one: the possibility to have more then one 'flowEngine' as you  
call

it available inside one sitemap would be neat


Ah! Yes! ...that bugged me as well. Forgot it on the write up.
Why would you need to define multiple scripts per flow defined
inside the sitemap? Which one are you referring to when you
call the function?

  map:flows
map:flow type=my-flowlanguage=java   src=.../
map:flow type=my-second-flow language=java   src=.../
map:flow type=my-third-flow  language=javascript src=.../
  /map:flows

One of the points of the wiki page was appealing on the first glance
and turned into another RT: it might be a good idea to remove the
stigmata from actions and join the concepts a bit more. IMHO having
map:act *and* map:call is not really nice.

  map:call action=my-action function=function-name/
  map:call action=my-action/ !-- defaulting to the current  
default method --

  map:call flow=my-flow function=start-of-flow/
  map:call function=start-of-flow/ !-- ok if there is only one  
flow defined --

  map:call continuation={1} /

Something better would be even to handle a flow without sending
a page as an action. So users would not have to think about whether
it is an action or a flow. Of course this blurs the contracts a bit

WDYT?


(and there were some more related re-naming suggestions for the  
sitemap

syntax as well IIRC, maybe the future of a 2.2 release offers us the
fork to concider some of that as well?)


Fork?

If we cannot change things like this, the contract of trunk is too  
tight IMO.

As long as we provide an easy way to migrate we should be able to shape
*everything* in trunk into a forward direction.


From a pure web/REST/temp resource POV I still like the idea of having
dynamic URI's that can be shared between end users (thus regardless of
their session) is kinda cool (think chatrooms/operators assisting in
'your' flow), but I think this kind of use could also be solved by  
smart
redirects and some application level 'resource' management  
(probably be

even safer then just having it de facto available)


Hm... but they would not assist in your flow ...they can only start
off where you left off and continue in a new tree of continuations.
Could you offer a more concrete example?

cheers
--
Torsten


PGP.sig
Description: This is a digitally signed message part


Re: [jira] Commented: (COCOON-1658) Somewhere output is held...

2005-10-26 Thread Carsten Ziegeler
Vadim Gritsenko (JIRA) wrote:
 [ 
 http://issues.apache.org/jira/browse/COCOON-1658?page=comments#action_12355965
  ] 
 
 Vadim Gritsenko commented on COCOON-1658:
 -
 
 (where is reply button in jira?)
 
 
So, my question is why is the buffer right now set to unlimited?
Is there any specific caveat for this?
 
 
 If you are using caching pipeline then complete response will have to be 
 buffered
 in any case. For non caching pipelines, complete response will have
 to be buffered if serializer requires content length to be set.
 For all other cases...
The only reason for unlimited is error handling. If an error happens
when some content has already been streamed to the client, we can't roll
back the already streamed part. Without buffering you would get
corrupted pages. So if you're sure that you don't have exceptions during
streaming, you can turn off buffering.
We decided a long time ago, to set the default to unlimited just for
making error handling work in all cases.

If the caching pipeline is used and in the case the serializer needs to
set the content length, then the pipeline takes care about buffering.

 I think this outputBuffer is not really needed.

I think this is another example of running modes. During development you
might want to have an unlimited buffer while in production (where never
an error occurs :) ) you can disable it.

Carsten

-- 
Carsten Ziegeler - Open Source Group, SN AG
http://www.s-und-n.de
http://www.osoco.org/weblogs/rael/


Re: Reverting the property search order in CoreUtils

2005-10-26 Thread Carsten Ziegeler
Sylvain Wallez wrote:
 
 Cool, even if it would be good to extend lookup in web.xml to any 
 servlet and/or context parameter (some admins will want to configure 
 everything using their J2EE deployment tools).
This can be done easily. The SettingsHelper class could be simply
extended to set all servlet/context parameters in the settings
properties as well.

 
 Now the problem comes from the property search order, which follows the 
 exact same path, meaning the most generic properties (in 
 WEB-INF/properties) hide any overriding in specific properties (user 
 settings, system properties).
 
 I reverted the property lookup order, and this now works just fine :-)
 
D'oh, I thought it was reverted order already...yepp, that's correct
now. Thanks Sylvain.

Carsten

-- 
Carsten Ziegeler - Open Source Group, SN AG
http://www.s-und-n.de
http://www.osoco.org/weblogs/rael/


Re: Reverting the property search order in CoreUtils

2005-10-26 Thread Ralph Goers

Carsten Ziegeler wrote:


Sylvain Wallez wrote:
 

Now the problem comes from the property search order, which follows the 
exact same path, meaning the most generic properties (in 
WEB-INF/properties) hide any overriding in specific properties (user 
settings, system properties).


I reverted the property lookup order, and this now works just fine :-)

   


D'oh, I thought it was reverted order already...yepp, that's correct
now. Thanks Sylvain.

Carsten

 


I assume you both meant reversed and not reverted.

Ralph


Re: Reverting the property search order in CoreUtils

2005-10-26 Thread Sylvain Wallez

Ralph Goers wrote:


I assume you both meant reversed and not reverted.


Oh yes, of course !!

Sylvain

--
Sylvain WallezAnyware Technologies
http://people.apache.org/~sylvain http://www.anyware-tech.com
Apache Software Foundation Member Research  Technology Director



Re: Reverting the property search order in CoreUtils

2005-10-26 Thread Carsten Ziegeler
Ralph Goers schrieb:
 Carsten Ziegeler wrote:
 
 
Sylvain Wallez wrote:
 


Now the problem comes from the property search order, which follows the 
exact same path, meaning the most generic properties (in 
WEB-INF/properties) hide any overriding in specific properties (user 
settings, system properties).

I reverted the property lookup order, and this now works just fine :-)

   


D'oh, I thought it was reverted order already...yepp, that's correct
now. Thanks Sylvain.

Carsten

 

 
 I assume you both meant reversed and not reverted.
 
LOL - yeah, this happens when you do copy/paste without thinking...(not
that not thinking is happening very often to me...)

Carsten

-- 
Carsten Ziegeler - Open Source Group, SN AG
http://www.s-und-n.de
http://www.osoco.org/weblogs/rael/


Re: Reverting the property search order in CoreUtils

2005-10-26 Thread Sylvain Wallez

Carsten Ziegeler wrote:

Sylvain Wallez wrote:
  
Cool, even if it would be good to extend lookup in web.xml to any 
servlet and/or context parameter (some admins will want to configure 
everything using their J2EE deployment tools).


This can be done easily. The SettingsHelper class could be simply
extended to set all servlet/context parameters in the settings
properties as well.
  


Oh yes, sure!

Something I'm worried a bit about though, is the naming of these 
parameters in web.xml if we want to keep compatibility with the existing 
parameter names. The new property stuff uses fully-qualified names, 
which is very good, whereas the servlet parameters have no prefix.


Or maybe when we search for a given property, we should have a 
double-lookup in web.xml:

- lookup the property as is (allows for fully qualified names in web.xml)
- if the property name starts with org.apache.cocoon, lookup the 
property with this prefix stripped.


That way, we use fully qualified names everywhere in the code, and 
property files, but still ensure backwards compatibility with the 
current web.xml.


WDYT?

Sylvain

--
Sylvain WallezAnyware Technologies
http://people.apache.org/~sylvain http://www.anyware-tech.com
Apache Software Foundation Member Research  Technology Director



Re: [jira] Commented: (COCOON-1658) Somewhere output is held...

2005-10-26 Thread Vadim Gritsenko

Carsten Ziegeler wrote:

Vadim Gritsenko (JIRA) wrote:


So, my question is why is the buffer right now set to unlimited?
Is there any specific caveat for this?


If you are using caching pipeline then complete response will have to be 
buffered
in any case. For non caching pipelines, complete response will have
to be buffered if serializer requires content length to be set.
For all other cases...


The only reason for unlimited is error handling.


Yes, of course, forgot to mention this.



I think this outputBuffer is not really needed.


I think this is another example of running modes. During development you
might want to have an unlimited buffer while in production (where never
an error occurs :) ) you can disable it.


Why don't we use javax.servlet.ServletResponse.setBufferSize() instead of 
rolling our own buffering?


Vadim


Re: Reverting the property search order in CoreUtils

2005-10-26 Thread Carsten Ziegeler
Sylvain Wallez wrote:
 Oh yes, sure!
 
 Something I'm worried a bit about though, is the naming of these 
 parameters in web.xml if we want to keep compatibility with the existing 
 parameter names. The new property stuff uses fully-qualified names, 
 which is very good, whereas the servlet parameters have no prefix.
 
 Or maybe when we search for a given property, we should have a 
 double-lookup in web.xml:
 - lookup the property as is (allows for fully qualified names in web.xml)
 - if the property name starts with org.apache.cocoon, lookup the 
 property with this prefix stripped.
 
Or we could add a parameter from web.xml twice: once as is and if the
prefix is missing, we add the fully qualified property as well. So we
have a single lookup.

 That way, we use fully qualified names everywhere in the code, and 
 property files, but still ensure backwards compatibility with the 
 current web.xml.
 
Yeap, good idea.

Carsten
--
Carsten Ziegeler - Open Source Group, SN AG
http://www.s-und-n.de
http://www.osoco.org/weblogs/rael/


Re: [RT] flow machinery

2005-10-26 Thread Reinhard Poetz

Torsten Curdt wrote:


3. Continuation Management

When it comes down to serialization of flow there are 2 aspects.
One is flow persistence and the other one is flow replication
across machines.

In order support flow persistence we would need the make the
ContinuationManager save and reload serializable continuations.
...which is not big deal. Unfortunately replication is a slightly
different subject.

The distributed ContinuationManagers would need to synchronize
the continuation trees across the network or at least find a way
to direct to the appropriate server that holds the continuation.
TBH ...I am not eager to re-invent the wheel here. In fact this
whole machinery is already in place for sessions. Why not re-use it?
In fact I don't really see a big point of having web continuations
without sessions anyway.

Assuming the continuations are stored inside the session, storing
and restoring the sessions would take care of the persistence.
Directing to the server with the right session also assures to
get to the right cocoon instance running the right ContinuationManager.

Flow replication itself should then also be solved by session
replication without any further effort. The only open question
is the continuation expiry mechanism. It might be good enough to
just run the expiry on every machine ...I am wondering how that
might affect the replication though.

Comments?


In one of my projects I don't use the HttpSession at all but I can use a 
stateful webservice (which is a public interface to a JB***-Cache). Most 
probably this means that I have to write my own ContinuationsManager 
implementation.


I'm saying this as I want to show that there are alternative scenarios how 
clustered applications can be implemenented and that we should consider them 
when (re)-designen the interfaces, though I don't think it will be a big deal.


--
Reinhard Pötz   Independent Consultant, Trainer  (IT)-Coach 


{Software Engineering, Open Source, Web Applications, Apache Cocoon}

   web(log): http://www.poetz.cc



[jira] Closed: (COCOON-1658) Somewhere output is held...

2005-10-26 Thread Pier Fumagalli (JIRA)
 [ http://issues.apache.org/jira/browse/COCOON-1658?page=all ]
 
Pier Fumagalli closed COCOON-1658:
--

Resolution: Invalid

For some odd reason, I never saw the prominent documentation in the Cocoon 
sitemap:

If not specified, the value of the outputBufferSize parameter is -1. This will 
cause Cocoon to buffer all output until processing has finished before sending 
it to the client...

 Somewhere output is held...
 ---

  Key: COCOON-1658
  URL: http://issues.apache.org/jira/browse/COCOON-1658
  Project: Cocoon
 Type: Bug
   Components: * Cocoon Core
 Versions: 2.1.8-dev (Current SVN)
 Reporter: Pier Fumagalli
 Priority: Critical


 Cocoon standard, as of right now, built without any blocks.
 I modify the default sitemap adding one simple entry:
 map:match pattern=bigtest
   map:generate src=bigtest.xml/
   map:serialize type=xml/
 /map:match
 The file bigtest.xml is a 100Mb XML file that I simply want to generate and 
 serialize (minimal test, no transformers that can do anything weird).
 I then open my terminal and do a curl http://localhost:/bigtest  
 /dev/null, to have an idea of the thrughput for this file.
 Apparently, the output is held for roughly 25 seconds, nothing comes out, no 
 bytes are serialized. All of a sudden, the entire 100 megabytes are 
 serialized in one big lump (and it takes 5 seconds to do so).
 This happens if the pipeline is configured as being caching or noncaching 
 (nothing changes).
 In the first 25 seconds, the JVM running Cocoon uses 100% of my processor 
 (so, it's doing something), and the TOP shows something _really_ strange.
 My JVM grows of roughly 200 megabytes in size (note, I start Cocoon, post the 
 big request, close cocoon).
 This is a trace from my TOP:
   PID COMMAND  %CPU   TIME   #TH #PRTS #MREGS RPRVT  RSHRD  RSIZE  VSIZE
 -
 12498 java 0.1%  0:03.01  19   357   240  25.1M  28.7M  25.4M   735M
 12498 java87.2%  0:06.22  19   403   242  54.2M+ 28.7M  55.1M+  735M-
 12498 java75.7%  0:10.88  19   403   242  78.3M  28.7M  79.2M   735M
 12498 java80.2%  0:14.78  19   403   242   129M  28.7M   130M   735M
 12498 java84.3%  0:19.77  19   403   242   168M+ 28.7M   169M+  735M
 12498 java77.4%  0:23.67  19   403   242   231M  28.7M   232M   735M
 12498 java40.7%  0:27.92  19   403   242   231M+ 28.7M   232M+  735M+
 12498 java 0.1%  0:28.18  20   408   245   231M  28.7M   232M   735M
 Something tells me that we are indeed caching all the content in a big char[] 
 (100 megabytes of US-ASCII text are 200 megabytes when stored in a char[]).
 Any clue on where this can happen? It's impairing our ability to serve bigger 
 feeds (aka, 2 gigs! :-P)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



Re: [jira] Commented: (COCOON-1658) Somewhere output is held...

2005-10-26 Thread Pier Fumagalli

On 26 Oct 2005, at 17:49, Carsten Ziegeler wrote:

Vadim Gritsenko (JIRA) wrote:

[ http://issues.apache.org/jira/browse/COCOON-1658? 
page=comments#action_12355965 ]


Vadim Gritsenko commented on COCOON-1658:
-

(where is reply button in jira?)


So, my question is why is the buffer right now set to unlimited?
Is there any specific caveat for this?




If you are using caching pipeline then complete response will have  
to be buffered

in any case. For non caching pipelines, complete response will have
to be buffered if serializer requires content length to be set.
For all other cases...


The only reason for unlimited is error handling. If an error happens
when some content has already been streamed to the client, we can't  
roll

back the already streamed part. Without buffering you would get
corrupted pages. So if you're sure that you don't have exceptions  
during

streaming, you can turn off buffering.
We decided a long time ago, to set the default to unlimited just for
making error handling work in all cases.

If the caching pipeline is used and in the case the serializer  
needs to

set the content length, then the pipeline takes care about buffering.


Ahhh!!!


I think this outputBuffer is not really needed.

I think this is another example of running modes. During  
development you
might want to have an unlimited buffer while in production (where  
never

an error occurs :) ) you can disable it.


Sorry, I'm a moron...

For some reason I've never seen that it's extremely well documented  
in the Cocoon default sitemap.


   !--+
   | If not specified, the value of the outputBufferSize  
parameter is -1.
   | This will cause Cocoon to buffer all output until  
processing has finished
   | before sending it to the client. This has the advantage  
that in case
   | an error occurs during the processing of the SAX- 
pipeline, Cocoon is still
   | able to reset the response and send an error page  
instead. Otherwise the
   | error page will be appended to the output already send  
to the client.
   | If you are generating larger pages, it might be  
benificial to enable
   | this parameter, so that output is gradually send to the  
client as it

   | is being generated.
   | For more granularity, you can also supply this  
parameter to
   | individual map:pipeline elements (using map:parameter  
syntax).

   +--

Pier



smime.p7s
Description: S/MIME cryptographic signature


Re: [M10N] When to ditch Ant and switch to Maven

2005-10-26 Thread Daniel Fagerstrom

Jorg Heymans wrote:


Daniel Fagerstrom wrote:
 


* M2 stable enough (2.0 is out so this should be fullfilled)
* Reasonably fast (don't need to be as fast as Ant, but not several
times slower)
* Easy configuration of what blocks to compile (like blocks.properties
and maybe even dependency aware)
* M2 bundled with Cocoon (it should still be enough to just download and
type ./build.sh)
   



I agree with above set, here are mine :
(all mainly pom related)

* produce jar artifacts from core and every block
* produce jar artifacts from core samples and block samples
* be able to run all tests
 


Yes, would also like to add:

* Still being able to use gump.

/Daniel



Re: [M10N] separating samples from blocks

2005-10-26 Thread Daniel Fagerstrom

Jorg Heymans wrote:
...


I'ld like to also be
clear about Daniels' concerns wrt OSGI before we actually go ahead and
do this.
 


Don't wait on that, I'm not clear about it my self ;)

The idea is that I would assume that when we test a block it is best to 
do it in an environment that is as close as possible to the environment 
it will be used in. For an OSGi bundle this means that it will get 
access to external packages through the OSGi classloader functionality 
and also that it might need some external services (that we might have 
mock implementations of).


One way of handling this is to run the tests within an OSGi framework, 
but this give problems. Either the unit tests are in a separate bundle, 
but then only methods in classes in exported packages can be tested. 
That is certainly not what we want.


Or we have the tests within the bundle, now everything can be tested, 
but we need export some service that run the tests instead and have some 
mechanism that remove both this service and the tests for production 
use. This seem like a clumsy and intrusive solution.


I guess that the conclusion is that it not is a good idea to do unit 
testing in an ordinary OSGi framework. A solution could be to have a 
special test OSGi framework with limited functionality, like our test 
containers for Avalon components. Felix and Eclipse will probably have 
the same problem, so we can move the question to e.g. the Felix list 
when we need a solution.


For now, don't care about OSGi for the tests, we can solve that later.

/Daniel



Re: [M10N] separating samples from blocks

2005-10-26 Thread Ralph Goers

Daniel Fagerstrom wrote:


Don't wait on that, I'm not clear about it my self ;)

The idea is that I would assume that when we test a block it is best 
to do it in an environment that is as close as possible to the 
environment it will be used in. For an OSGi bundle this means that it 
will get access to external packages through the OSGi classloader 
functionality and also that it might need some external services (that 
we might have mock implementations of).


One way of handling this is to run the tests within an OSGi framework, 
but this give problems. Either the unit tests are in a separate 
bundle, but then only methods in classes in exported packages can be 
tested. That is certainly not what we want.


Or we have the tests within the bundle, now everything can be tested, 
but we need export some service that run the tests instead and have 
some mechanism that remove both this service and the tests for 
production use. This seem like a clumsy and intrusive solution.


I guess that the conclusion is that it not is a good idea to do unit 
testing in an ordinary OSGi framework. A solution could be to have a 
special test OSGi framework with limited functionality, like our test 
containers for Avalon components. Felix and Eclipse will probably have 
the same problem, so we can move the question to e.g. the Felix list 
when we need a solution.


For now, don't care about OSGi for the tests, we can solve that later.

/Daniel

I don't think you have as much to worry about as you think you do.  
Build a block will probably involve building a jar and then doing some 
stuff to build the block.  When maven runs unit tests it can test 
against the classes directly - the bundle doesn't even have to exist at 
that point.  Once the bundle is constructed additional functional 
testing can be performed, but that should just be against the public 
interfaces.


Ralph



Re: [RT] Rules for adding blocks and functionality?

2005-10-26 Thread Daniel Fagerstrom

Upayavira wrote:


Bertrand Delacretaz wrote:
 


...


Sounds good, and as a first step this could be our own contrib directory.


No it wouldn't, because we wouldn't agree what should go there.

I think we could agree about some of the existing blocks, but never 
mind. But we are not forced to continue to have sloopy rules for how to 
adding functionality, a contrib directory could be useful for new blocks 
that not have any community support yet or that are outside our main scope.



My
suggestion is to, as you did with the samples, leave all blocks as they
are, and start _hightlighting_ the ones we consider to be best
practices. Then, after some extended period if time we may decide to
purge the ones that have not received any highlighting, but highlighting
core blocks works much better than deprecating old blocks that people
may be using.

(And by way of recommendation of this approach :-) this is the approach
that Buddhists throughout the centuries used to deal with teachings that
had grown stale. They didn't say that is a bad teaching, they said,
hey, we've got a higher teaching.)

So, basically, until we've got blocks functioning, and have had them so
for _some_ time, we should do nothing more than highlighting and marking
up with meta-data for our blocks. Our blocks system and block repository
is going to create a new organism (which, yes, could well want a contrib
group elsewhere such as Niclas suggested), but I want to allow for that
organism to grow, well, organically :-)
 

Sound good. The important point IMO is that we start to be explicit 
about our priorities in some way. And highlighting might be easier to do 
than removing.


/Daniel



SQL and CTemplate (was Re: [RT] Rules for adding blocks and functionality?)

2005-10-26 Thread Upayavira
Daniel Fagerstrom wrote:
 Sylvain Wallez wrote:
 
 Carsten Ziegeler wrote:

 Daniel Fagerstrom wrote: 

 We are chosen as committers as induviduals and not as representants
 for our companies. From a community stand point I would say that it
 is time to deprecate the SQLTransformer. As a representative for my
 company I would rather say: no way, we have tons of code that depend
 on it. It is a complicated question, but I don't think that the
 answer is: I need it at my work so the rest of you should support it.  


 It is really hard to tell what is still useful and what not. Now, the
 simple example of the SQLTransformer shows this: most of us seem to
 agree that it's some legacy component and that flow etc. should be used
 instead.
 Now, think of a reporting tool done with Cocoon. This fetches some
 hundreds of MB out of the database and just displays them. In this case
 everything other than the SQLTransformer + Stylesheet is simply overkill
  (ok, XSP+ESQL is fine as well) and too memory/time consuming. 


 Agree. The really ugly part of SQLTransformer is its ability to
 perform insert/updates.

 I'm using ESQL in a number of places for publication purposes, and
 many people agree that ESQL is what keeps XSP alive. We have to build
 an equivalent for CTemplates.
 
 
 As you might remeber the CTemplate framework was designed with that in
 mind. It is rather simple to add a set of external instructions to
 CTemplate.  But we had a long and not especially nice discussion about
 such thing a while ago, and the conclusion was that the community didn't
 want such things.
 
 Now, I find it rather strange to keep the SQLTransformer and ESQL
 because some people find them being the best way to do simple reporting
 at the same time as the community strongly oppose building a modern
 replacement of them in CTemplate, because they represent bad practice.
 
 Anyway, for the time beeing I think it is better to focus on making it
 as easy as possible to use SQL from flowscripts and present the result
 sets in CTemplate. Then if we don't get it easy enough we can start to
 think about doing part of ESQL in CTemplate.

Whilst I'm not going to be the person implementing it, having seen the
distinction made between SELECT and UPDATE in ESQL/SQLTransformer, I'd
happily see tags added to CTemplate to allow for SQL querying, without
the ability to update/insert.

Surely the main thing about a template is that it is side-effect free,
and that would be.

Maybe better would be some way to separate the SQL from the template.
Imagine:

esql:select name=my-query idEmployee=#{request.getParameters('id')}/

And queries.sql:

my-query: SELECT * FROM Employee WHERE idEmployee = ${idEmployee}
my-other-query: SELECT * FROM Employers

I guess you'd define your queries.sql file in the map:generators
section of your sitemap.

The worst thing about ESQL/SQLTransformer in my view is the embedded
SQL. Horrible.

Regards, Upayavira


Re: SQL and CTemplate (was Re: [RT] Rules for adding blocks and functionality?)

2005-10-26 Thread Vadim Gritsenko

Upayavira wrote:

The worst thing about ESQL/SQLTransformer in my view is the embedded
SQL. Horrible.


LOL :) It's not much worse than embedded Java in JSP! :)

Vadim


Re: [M10N] separating samples from blocks

2005-10-26 Thread Jorg Heymans

Daniel Fagerstrom wrote:

 Don't wait on that, I'm not clear about it my self ;)

oh but I didn't :-) I'll soon commit an example of a new flattened
repository structure with a few reorganized blocks, everything
controlled by maven.

 For now, don't care about OSGi for the tests, we can solve that later.

ok, I think Ralph has a point in that we probably don't need to give it
that much thought as we think we should. Furthermore, I read that Felix
will be getting some maven related osgi stuff donated to it - with any
luck it'll all be in place by the time we need it ;)


Jorg



Re: [RT] flow machinery

2005-10-26 Thread Daniel Fagerstrom

Torsten Curdt wrote:
...


One of the points of the wiki page was appealing on the first glance
and turned into another RT: it might be a good idea to remove the
stigmata from actions and join the concepts a bit more. IMHO having
map:act *and* map:call is not really nice.

  map:call action=my-action function=function-name/
  map:call action=my-action/ !-- defaulting to the current  
default method --

  map:call flow=my-flow function=start-of-flow/
  map:call function=start-of-flow/ !-- ok if there is only one  
flow defined --

  map:call continuation={1} /

Something better would be even to handle a flow without sending
a page as an action. So users would not have to think about whether
it is an action or a flow. Of course this blurs the contracts a bit

WDYT?


+1

IMO it is often a better SoC to have integration code in actions and 
use flow scripts only for the actual page flow. It would become 
convenient to code in that way if both flow function and action 
functions could be defined in the same way and maybe in the same JS (or 
Java) file and be used in similar way with similar environments.


And, yes it is time to remove the stigmata from actions, with JS based 
actions and the compiling classloader it is efficient to develop with 
actions.


The original idea with reusable actions that was put together in a 
obscure way with action sets still deserves its stigmata, though ;)


/Daniel



Re: [M10N] When to ditch Ant and switch to Maven

2005-10-26 Thread Jorg Heymans

Daniel Fagerstrom wrote:

 * Still being able to use gump.

IIRC, the maven boys have no intention of supporting Gump as of yet. If
nothing else we'll have to craft something ourselves, or maintain
gump.xml manually.

Jorg



Re: Super-easy SQL/Form integration for simple CRUD applications

2005-10-26 Thread Vadim Gritsenko

Sylvain Wallez wrote:
Just in time before the code freeze deadline, I committed an additional 
sample for CForms [1], which shows how, using JDBI [2] and the 
Collection wrappers for container widgets and repeaters [3] and a few 
conventions, writing simple CRUD applications with Cocoon is a breeze. A 
simple flowscript, a form definition and a few templates and you're done.


No Java classes, no binding file, no O/R mapping tool!


How long till form definitions and templates are generated out of db schema?

;-)

Vadim


RE: SQL and CTemplate (was Re: [RT] Rules for adding blocks and functionality?)

2005-10-26 Thread Andrew Stevens

From: Upayavira [EMAIL PROTECTED]
Date: Wed, 26 Oct 2005 21:44:23 +0100

Whilst I'm not going to be the person implementing it, having seen the
distinction made between SELECT and UPDATE in ESQL/SQLTransformer


That was one of the things that bugged me about the SQLTransformer too, that 
and the fact it didn't handle our Sybase-based stored procs (some of which 
returned a few update counts first from selecting into temporary tables and 
variables, and only then the result set).  Besides which, it's perfectly 
possible for a stored proc to return more than one result set, and that 
wasn't catered for either, nor were queries like SET ROWCOUNT 3; SELECT foo 
FROM bar ORDER BY bub DESC; SET ROWCOUNT 0.


So, I modified the transformer to loop over all the returned results.  In 
the process I was able to remove the select/update distinction completely - 
an update is simply a query that returns an update count in its rowset 
instead of a bunch of rows (getNextResult can tell the difference without 
needing to guess it from the query contents).  If there's multiple results 
then you get multiple rowsets, finally followed by any output parameters if 
isstoredprocedure=true (since the JDBC spec says you should process all 
results before accessing those anyway).


Another improvement was decent handling of sql:in-parameter (allowing the 
value to be specified in the element body as well as an attribute so you can 
combine it with sql:substitute-value to use a parameter passed from the 
sitemap instead of only static values, which is much more useful).


If the transformer in CVS hasn't changed too much since I adapted it, I 
could upload a patch if people think it's worthwhile?



The worst thing about ESQL/SQLTransformer in my view is the embedded
SQL. Horrible.


Nobody said it has to come from a static file, though.  You can always 
generate the query dynamically from an XML file representing your DB schema 
and a suitable XSL transform to convert it into the SQL query...



Andrew.




Re: SQL and CTemplate (was Re: [RT] Rules for adding blocks and functionality?)

2005-10-26 Thread Vadim Gritsenko

Andrew Stevens wrote:

If the transformer in CVS hasn't changed too much since I adapted it,


It's in SVN now and has been changed several times since we moved away from CVS. 
Well, it has been 14 months :-)


http://svn.apache.org/viewcvs.cgi/cocoon/branches/BRANCH_2_1_X/src/blocks/databases/java/org/apache/cocoon/transformation/SQLTransformer.java?rev=321209view=log

Vadim