Re: svn commit: r606743 - /cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml

2007-12-27 Thread Ralph Goers

[EMAIL PROTECTED] wrote:


I committed/closed my Cocoon jiras as soon as I learned a Cocoon
release was planned.  This may be the final release of Cocoon-2.1 so
every change must be committed or discarded.

  
I wouldn't get your hopes up on this one. 2.2 is sufficiently different 
enough that I would not be surprised to see a 2.1.12 release even after 
2.2.0.


Ralph


Re: svn commit: r606743 - /cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml

2007-12-27 Thread solprovider
On 12/27/07, Carsten Ziegeler <[EMAIL PROTECTED]> wrote:
> [EMAIL PROTECTED] wrote:
> > Cocoon-2.1 keeps applications ("samples") in the webapp directory.
> > Newbies would expect to add applications to that directory.  The build
> > process chooses specific files and directories to copy so new
> > applications are not copied to the build directory.  The patch removed
> > the list of specific files to copy the entire webapp directory.  I
> > closed my Cocoon jiras because a release candidate for Cocoon-2.1.11
> > is being prepared.
> >
> > Antonio asked whether ant:copy had the intelligence to understand
> > binary files should not be affected by text replacement.  I have not
> > studied ant to discover if the program is sane.
> >
> > This change passed my testing in May.  The jira from June survived
> > without comments.  None of the comments in this thread mention real
> > problems.  The discussion is that nobody trusts ant to work properly
> > so this patch should be reverted because theoretical problems may
> > result if the ant developers are poor programmers.  Nobody on the
> > Cocoon project wants to spend five minutes testing.
> >
> > I will test more after somebody spends one minute to define the test
> > expected to fail because of this patch.   The potential bug seems to
> > require binary files containing strings on ant's filter list.
> >
> As Vadim has responded again: filtering should not be done on all files,
> otherwise they get corrupted. And this means whenever you copy a
> complete directory tree, you have to copy these files without filtering
> and if you need filtering for specific files, you need to do this in a
> second pass. This has been repeatedly said in this thread, so it would
> be great if you could come up with a solution that honours this.
> And this is independent from the fact, that currently copying all the
> files with filtering on does not corrupt them - it is a potential cause
> of error we would like to avoid.

Ant allowing text filtering to affect binary files should be posted as
a data-damaging bug.  If this functionality is that bad, the Cocoon
project is correct to not trust ant.

> Apart from that, I'm still wondering what your patch is trying to
> achieve? I really hope that you are not putting your own webapp into a
> Cocoon src directory and then hope for the cocoon build to pick up your
> files? You claim that newbies want to put their stuff directly into the
> Cocoon src/webapp directory? I never heard of this and actually I would
> strongly suggest against doing so. The old way of copying the webapp
> files actually prevented people from doing this - and I really prefer to
> keep it this way. There are several much better ways of building own
> applications.

I believe software should be easy.  The easiest and most common method
of learning a new platform is to copy the demonstration application.
Cocoon's demonstration application is "samples".  Copy "samples" to
"myfirstapp".  Build.  "myfirstapp" application does not work or even
exist.  Cocoon seems difficult and loses a customer.

Why would you want to discourage putting applications in the
src/webapp directory.  Cocoon clearly recommends that as the proper
directory.  That is where the demonstration application is located.
That is the only directory named "app".  Where else would anybody
expect applications to be placed?

> Regarding your Jira issue: just because noone commented on it over the
> last months does not mean that this one got happily accepted by
> everyone. I guess it's just an oversight, I - for instance - didn't
> notice this issue until you changed the code.

Nobody does.  Don't worry about it.

> And, our build system is a very very fragile piece of code that caused
> way too many problems over the past (one of the reasons why we changed
> this for 2.2) - so it's in general not a good idea to change this
> fragile piece just before a release.
> Carsten

I committed/closed my Cocoon jiras as soon as I learned a Cocoon
release was planned.  This may be the final release of Cocoon-2.1 so
every change must be committed or discarded.

solprovider


Re: [jira] Created: (COCOON-2154) Servlet:/ protocol: Support absolute URIs

2007-12-27 Thread Ralph Goers
Thanks for the explanation, except I'm still not clear what a 
"connection name" is. See below for my 2 cents.


Grzegorz Kossakowski wrote:

The only problem is that we have no way to check if given URI contains 
connection name or servlet
ID. Therefore the idea to add special sign that would remove the ambiguousness 
appeared. Current
proposal are:
a) add a plus sign after servlet ID (by Reinhard)
b) add a exclamation mark at the very beginning of the path (by Vadim)

My personal preference is a plus sign but as Reinhard already pointed out it 
does not matter that
much because we usually won't be using absolute URIs directly.
  
Yuck, yuck, yuck.  (If you get the impression I don't like a or b you 
are on track).


c) Use a different scheme to identify one vs the other.
d) Use a different pattern. i.e "conventional" urls look like 
http://authority/path where authority can be a variety of things such as 
"server[:port]", "[EMAIL PROTECTED]:port]" and server can be a domain name or 
an ip address. In this case, you could do something like 
servlet://[EMAIL PROTECTED]/path which, if I understood you correctly. 
could be abbreviated to servlet://connection/path. For servlet id you 
could use the same syntax with servlet://[EMAIL PROTECTED]/path. Of 
course, since I don't really know what a connection is I have no idea if 
this makes sense, but it could certainly be abbreviated to 
servlet://@servlet_id/path.  Or use servlet://[connection][:id]/path, 
although servlet://:Servlet_C/path still looks a little odd.


+ and : characters in uri's just plain look strange, even if they are 
allowed, unless they are used in a similar fashion to existing schemes. 
Also, not having the // in the uri makes one wonder just what the token 
before the first slash is. Everybody knows that whatever follows the 
double slashes is not part of the path so it is less confusing.

 -- o0o --

Now it's the time to give some description of static connection list problem. 
Currently one can
define list of connection of a given servlet statically in XML config. If you 
compile a block there
is no chance to add new connections to other servlets. Now, imagine situation 
that you have some
application making charts and you create separate block (and servlet) for each 
datasource provider.
For example, you create block that extracts some data from database and second 
one that extracts
some data from mailbox. If you want to pull this data, you need to connect to 
these two blocks of
course so you add them to your local connection list.
Now you can compile your application and everything will be working fine. But 
what if you want to
define another datasource for your charts, for example data from some web 
service? Of course you
develop a new block that downloads and transforms interesting data but you need 
a way to inform your
appliction that there is a third block. The most obvious way is to add 
connection to the third block
but this involves recompilation of your application!

The solution that I and Reinhard (and probably others) have in mind is to let 
servlet use absolute
URIs so you don't need to define connections statically to other block. There 
would be also some
discovery mechanism of available blocks, probably a generator, that would 
return you a list of
blocks fulfilling particular needs. The list would contain servlet ID of each 
servlet (block) so you
could reference them later on.

I hope this helps you a little bit.
  

I still don't quite get this connection thing.

What I don't get is why this can't just be servlet://[EMAIL PROTECTED]/path? 
Or better yet, why shouldn't my application just reference a bean id and 
wire it to the block service in its Spring configuration (think Spring 
remoting)?


Please reply, even though I'll be on a plane in a few hours. I'm sure 
I'll find time to look at email while I'm out of town.


Ralph


[jira] Commented: (COCOON-1574) Memory Leak with XMLFileModule

2007-12-27 Thread Ralph Goers (JIRA)

[ 
https://issues.apache.org/jira/browse/COCOON-1574?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12554656
 ] 

Ralph Goers commented on COCOON-1574:
-

I have checked in XPathXMLFileModule which can be used as a replacement for 
XMLFileModule. It differs from XMLFileModule by
1. It caches a DocumentInfo instead of a DocumentHelper. DocumentInfo contains 
the Document, its Validity, the url, the resolver and the expression cache. The 
expression cache is a ReferenceMap containing soft references.
2. DocumentInfo objects are cached in an externally configurable cache. The 
default implementation uses ehcache.
3. The soruce url can contain variables which will be resolved each time the 
input module is used. The cache key used is the url after resolving variables.
4. Both the cacheable and reloadable parameters can be specified as variables 
which will be resolved each time the module is called.
5. The amount of code run in a synchronized block is much smaller.

XPathXMLFileModule performs about the same as XMLFileModule under light load. 
Under heavy load it experiences much more consistent behavior than 
XMLFileModule. In testing XMLFileModule showed a very large standard deviation 
in response time with a very large maximum response compared to the minimum. 
XPathXMLFileModule has a much smaller standard deviation and a smaller maximum 
response time.

> Memory Leak with XMLFileModule
> --
>
> Key: COCOON-1574
> URL: https://issues.apache.org/jira/browse/COCOON-1574
> Project: Cocoon
>  Issue Type: Bug
>  Components: * Cocoon Core
>Affects Versions: 2.2-dev (Current SVN)
> Environment: Operating System: Windows XP
> Platform: PC
>Reporter: Ron Blaschke
>Assignee: Ralph Goers
>
> I'm currently looking into a memory leak issue at Apache Forrest.  Forrest's
> site currently needs to be built with -Xmx128m because of this.  I believe the
> issue is originated at Cocoon's LinkRewriterTransformer or XMLFileModule.
> A memory profiler shows lots (30MB+) of DOM DocumentImpls (150+ objects), 
> which
> get referenced by XMLFileModule.DocumentHelper.  Their URIs are linkmap-xxx.
> LinkRewriterTransformer#createTransformedLink(String) uses a 
> InputModuleHelper,
> which seems to reference a XMLFileModule.
>   ...
>   newLink = (String) modHelper.getAttribute(this.objectModel,
>  ^
>   ...
> The XMLFileModule keeps the visited documents in a map, which is where they
> build up.
> Just for testing, I changed XMLFileModule#getDocumentHelper(Configuration) 
> from
>   this.documents.put(src, new DocumentHelper(reload, cache, src, this));
> to
>   return new DocumentHelper(reload, cache, src, this);
> Thus, a new DocumentHelper is created every time, instead of caching them.  
> The
> result: No more memory problems, Apache Forrest's site builds again with 
> -Xmx32.
> Ron

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (COCOON-1831) Finish blocks-fw implementation

2007-12-27 Thread Rice Yeh (JIRA)

[ 
https://issues.apache.org/jira/browse/COCOON-1831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12554654
 ] 

Rice Yeh commented on COCOON-1831:
--

Iteration over the whole call stack is my way to implement 'overriding' effect 
in values like parameters. For values' overriding, please see 
http://www.mail-archive.com/dev@cocoon.apache.org/msg52250.html.


> Finish blocks-fw implementation
> ---
>
> Key: COCOON-1831
> URL: https://issues.apache.org/jira/browse/COCOON-1831
> Project: Cocoon
>  Issue Type: New Feature
>  Components: - Servlet service framework
>Reporter: Reinhard Poetz
>Assignee: Reinhard Poetz
> Attachments: cocoon-servlet-service-impl.patch, 
> cocoon-servlet-service-impl.patch
>
>


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



Thanks Ralph [Was: 2.1.11 release]

2007-12-27 Thread David Crossley
Ralph Goers wrote:
> I committed the changes to 2.1.x. I'll try to get trunk done on 1/1/08

Thanks for that extra effort Ralph, in the midst of your preparations.

Your ASF friends wish you well.

-David


[jira] Commented: (COCOON-2155) Failing test cases due to additional attributes from namespace declarations in a DOM from parser, but not from serializer

2007-12-27 Thread JIRA

[ 
https://issues.apache.org/jira/browse/COCOON-2155?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12554637
 ] 

Jörg Heinicke commented on COCOON-2155:
---

Some c&p errors:

Index: 
src/main/java/org/apache/cocoon/forms/datatype/FlowJXPathSelectionList.java
===
--- src/main/java/org/apache/cocoon/forms/datatype/FlowJXPathSelectionList.java 
(revision 606943)
+++ src/main/java/org/apache/cocoon/forms/datatype/FlowJXPathSelectionList.java 
(working copy)
@@ -116,6 +116,7 @@
 }
 
 // Start the selection-list
+contentHandler.startPrefixMapping(FormsConstants.INSTANCE_PREFIX, 
FormsConstants.INSTANCE_PREFIX);
 contentHandler.startElement(FormsConstants.INSTANCE_NS, 
SELECTION_LIST_EL, FormsConstants.INSTANCE_PREFIX_COLON + SELECTION_LIST_EL, 
XMLUtils.EMPTY_ATTRIBUTES);
 if( this.nullable ) {
 final AttributesImpl voidAttrs = new AttributesImpl(  );

The second INSTANCE_PREFIX must be INSTANCE_NS.

Index: src/main/java/org/apache/cocoon/forms/datatype/EnumSelectionList.java
===
--- src/main/java/org/apache/cocoon/forms/datatype/EnumSelectionList.java   
(revision 606943)
+++ src/main/java/org/apache/cocoon/forms/datatype/EnumSelectionList.java   
(working copy)
@@ -96,6 +96,8 @@
 Locale locale)
 throws SAXException {
 try {
+contentHandler.startPrefixMapping(FormsConstants.INSTANCE_PREFIX, 
FormsConstants.INSTANCE_NS);
+contentHandler.startPrefixMapping(FormsConstants.I18N_PREFIX, 
FormsConstants.INSTANCE_NS);
 contentHandler.startElement(FormsConstants.INSTANCE_NS, 
SELECTION_LIST_EL, FormsConstants.INSTANCE_PREFIX_COLON + SELECTION_LIST_EL, 
XMLUtils.EMPTY_ATTRIBUTES);
 // Create void element
 if (nullable) {

The second INSTANCE_NS must be I18N_NS.

Regarding adding namespace declarations to the XML documents in cocoon-core and 
cocoon-template: This should not be necessary as they are really superfluous. I 
know though that Cocoon leaves superfluous namespace declarations in the 
documents. Instead of relying on the behavior that the actual Cocoon components 
always produce these superfluous namespace declarations it is probably better 
to remove them. This should be possible using RedundantNamespacesFilter.

> Failing test cases due to additional attributes from namespace declarations 
> in a DOM from parser, but not from serializer
> -
>
> Key: COCOON-2155
> URL: https://issues.apache.org/jira/browse/COCOON-2155
> Project: Cocoon
>  Issue Type: Bug
>  Components: * Cocoon Core
>Affects Versions: 2.2-dev (Current SVN)
>Reporter: Grzegorz Kossakowski
> Attachments: COCOON-2155-cocoon-core.patch, 
> COCOON-2155-cocoon-forms-impl.patch, COCOON-2155-cocoon-template-impl.patch, 
> COCOON-2155-parent-pom.patch
>
>
> Quoting Joerg:
> "Just an explanation: A namespace declaration is not an attribute (even 
> if it looks so) and that's why it should not end as such. The DOM 
> produced by Cocoon is absolutely correct, the one by parsing expected 
> document in the test case is not since it has both the namespace 
> declaration AND an attribute xmlns:fi - which broke our test."
> (http://article.gmane.org/gmane.text.xml.cocoon.devel/75975)
> Also see this: http://article.gmane.org/gmane.text.xml.cocoon.devel/75974

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



Re: [jira] Created: (COCOON-2154) Servlet:/ protocol: Support absolute URIs

2007-12-27 Thread Grzegorz Kossakowski
Joerg Heinicke pisze:
> 
> Could anybody please sum up what the actual problem is and what the
> proposals are to solve it? So far I only got that there is an issue with
> cache key which can be solved by absolutizing URIs. Now there is this
> relative vs. absolute URI thing. What for do we need the +? What's the
> scheme for relative URIs?

Yeah, sure. Little bit background on caching issue:

Currently ServletSource.getURI() method returns relative URIs that look like 
this:

servlet:[connection_name:]/path

Where connect_name is name of connection to another servlet that is defined 
locally in a given
servlet. If it's omitted then it means that URI references to the current 
servlet. The conclusion is
that URIs of that form are relative to the servlet they are resolved in. E.g. 
servlet A can connect
to servlet C with connection name "foo", and servlet B can connect to servlet D 
with connection name
"foo" as well. Then in servlet A URI:

servlet:foo:/path

point to completely different resource than the same URI in servlet B. We came 
to conclusion that
the best way to absolutize URIs is to replace connection name (that is local to 
the given servlet)
with servlet ID (more precisely, Spring bean ID) that is unique in whole 
application. Then if we
absolutize URI from example above being in servlet A it would look like:

servlet:servlet_C:/path

and in servlet B the same URI would look like:

servlet:servlet_D:/path

The only problem is that we have no way to check if given URI contains 
connection name or servlet
ID. Therefore the idea to add special sign that would remove the ambiguousness 
appeared. Current
proposal are:
a) add a plus sign after servlet ID (by Reinhard)
b) add a exclamation mark at the very beginning of the path (by Vadim)

My personal preference is a plus sign but as Reinhard already pointed out it 
does not matter that
much because we usually won't be using absolute URIs directly.

 -- o0o --

Now it's the time to give some description of static connection list problem. 
Currently one can
define list of connection of a given servlet statically in XML config. If you 
compile a block there
is no chance to add new connections to other servlets. Now, imagine situation 
that you have some
application making charts and you create separate block (and servlet) for each 
datasource provider.
For example, you create block that extracts some data from database and second 
one that extracts
some data from mailbox. If you want to pull this data, you need to connect to 
these two blocks of
course so you add them to your local connection list.
Now you can compile your application and everything will be working fine. But 
what if you want to
define another datasource for your charts, for example data from some web 
service? Of course you
develop a new block that downloads and transforms interesting data but you need 
a way to inform your
appliction that there is a third block. The most obvious way is to add 
connection to the third block
but this involves recompilation of your application!

The solution that I and Reinhard (and probably others) have in mind is to let 
servlet use absolute
URIs so you don't need to define connections statically to other block. There 
would be also some
discovery mechanism of available blocks, probably a generator, that would 
return you a list of
blocks fulfilling particular needs. The list would contain servlet ID of each 
servlet (block) so you
could reference them later on.

I hope this helps you a little bit.

-- 
Grzegorz Kossakowski


Re: Broken test-cases due to missing namespace declarations

2007-12-27 Thread Grzegorz Kossakowski
Joerg Heinicke pisze:
> 
> It does not just wrap Xalan's DOMBuilder. It kind of does the same but
> has a different approach: Both build a DOM from SAX events but while
> Xalan's does it directly Cocoon's DOMBuilder utilizes a
> TransformerHandler and a DOMResult for it. Additionally listening
> capability is added and XMLPipe implemented. Also Xalan's DOMBuilder is
> more a internal class, it's not part of public API. It's a public class
> but unless you want to tie your code to Xalan there is no way to
> instantiate the class. That's what you usually do using
> SAXTransformerFactory as Cocoon's DOMBuilder does or
> DocumentBuilderFactory. The names matches more or less by coincidence.

Thanks for explanation Joerg! Even I play with Cocoon for some time I don't 
know low-level details
of Xalan but I think it only proves value of Cocoon that hides all these nasty 
details. :)


> Our code is not really broken. Usually we call startPrefixMapping() in
> startDocument() methods of transformers or something like this. It's
> only broken for the test cases since we just have a look at the
> "component" to test without its "framework". From a component POV adding
> start/endPrefixMapping() is the "correct" solution to encapsulate it.
> The question I asked was only if these components will ever run outside
> of their current framework. Personally I prefer the "correct" approach
> as well.

I see. Then, agreed with you. Anyway, I have taken effort of tweaking our 
"components" and
test-cases so all of them pass now. You probably already noticed attached 
patches to COCOON-2155 issue.
I would like to see them committed as soon as we can upgrade to Xalan 2.7.1.

> 
> I have no idea what the different ways mean in regard of getting things
> done correctly and as fast as possible. I only got the jar from
> Antonio's commit to 2.1 and put it into my local repository by copying
> 2.7.0's POM.

So the question should be addressed to Antonio: Where the jar of Xalan you 
committed into 2.1.x
branch comes from? :)

-- 
Grzegorz Kossakowski


[jira] Updated: (COCOON-2155) Failing test cases due to additional attributes from namespace declarations in a DOM from parser, but not from serializer

2007-12-27 Thread Grzegorz Kossakowski (JIRA)

 [ 
https://issues.apache.org/jira/browse/COCOON-2155?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Grzegorz Kossakowski updated COCOON-2155:
-

Attachment: COCOON-2155-cocoon-template-impl.patch

Added missing namespace prefix declarations.

> Failing test cases due to additional attributes from namespace declarations 
> in a DOM from parser, but not from serializer
> -
>
> Key: COCOON-2155
> URL: https://issues.apache.org/jira/browse/COCOON-2155
> Project: Cocoon
>  Issue Type: Bug
>  Components: * Cocoon Core
>Affects Versions: 2.2-dev (Current SVN)
>Reporter: Grzegorz Kossakowski
> Attachments: COCOON-2155-cocoon-core.patch, 
> COCOON-2155-cocoon-forms-impl.patch, COCOON-2155-cocoon-template-impl.patch, 
> COCOON-2155-parent-pom.patch
>
>
> Quoting Joerg:
> "Just an explanation: A namespace declaration is not an attribute (even 
> if it looks so) and that's why it should not end as such. The DOM 
> produced by Cocoon is absolutely correct, the one by parsing expected 
> document in the test case is not since it has both the namespace 
> declaration AND an attribute xmlns:fi - which broke our test."
> (http://article.gmane.org/gmane.text.xml.cocoon.devel/75975)
> Also see this: http://article.gmane.org/gmane.text.xml.cocoon.devel/75974

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (COCOON-2155) Failing test cases due to additional attributes from namespace declarations in a DOM from parser, but not from serializer

2007-12-27 Thread Grzegorz Kossakowski (JIRA)

 [ 
https://issues.apache.org/jira/browse/COCOON-2155?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Grzegorz Kossakowski updated COCOON-2155:
-

Attachment: COCOON-2155-cocoon-forms-impl.patch

Added missing start/endPrefixMapping calls in a code generating XML in Forms. 
Also removed work-arounds for a bug in Xalan that is fixed in 2.7.1 version.

> Failing test cases due to additional attributes from namespace declarations 
> in a DOM from parser, but not from serializer
> -
>
> Key: COCOON-2155
> URL: https://issues.apache.org/jira/browse/COCOON-2155
> Project: Cocoon
>  Issue Type: Bug
>  Components: * Cocoon Core
>Affects Versions: 2.2-dev (Current SVN)
>Reporter: Grzegorz Kossakowski
> Attachments: COCOON-2155-cocoon-core.patch, 
> COCOON-2155-cocoon-forms-impl.patch, COCOON-2155-parent-pom.patch
>
>
> Quoting Joerg:
> "Just an explanation: A namespace declaration is not an attribute (even 
> if it looks so) and that's why it should not end as such. The DOM 
> produced by Cocoon is absolutely correct, the one by parsing expected 
> document in the test case is not since it has both the namespace 
> declaration AND an attribute xmlns:fi - which broke our test."
> (http://article.gmane.org/gmane.text.xml.cocoon.devel/75975)
> Also see this: http://article.gmane.org/gmane.text.xml.cocoon.devel/75974

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (COCOON-2155) Failing test cases due to additional attributes from namespace declarations in a DOM from parser, but not from serializer

2007-12-27 Thread Grzegorz Kossakowski (JIRA)

 [ 
https://issues.apache.org/jira/browse/COCOON-2155?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Grzegorz Kossakowski updated COCOON-2155:
-

Attachment: COCOON-2155-parent-pom.patch

I have taken a closer look at our test-cases after upgrading (locally) to Xalan 
2.7.1. Fix of bug in Xalan revealed that we had some test-cases slightly 
broken. I fixed all of them I could found so all test-cases passed again. 
Unfortunately, I cannot commit these fixes because there Xalan 2.7.1 is not 
available on Maven repository at the moment.

Therefore I decided to attach my fixes as patches to this issue.

First patch consist only of change to parent pom to be applied when Xalan 2.1.7 
is available on Maven repository.

> Failing test cases due to additional attributes from namespace declarations 
> in a DOM from parser, but not from serializer
> -
>
> Key: COCOON-2155
> URL: https://issues.apache.org/jira/browse/COCOON-2155
> Project: Cocoon
>  Issue Type: Bug
>  Components: * Cocoon Core
>Affects Versions: 2.2-dev (Current SVN)
>Reporter: Grzegorz Kossakowski
> Attachments: COCOON-2155-cocoon-core.patch, 
> COCOON-2155-parent-pom.patch
>
>
> Quoting Joerg:
> "Just an explanation: A namespace declaration is not an attribute (even 
> if it looks so) and that's why it should not end as such. The DOM 
> produced by Cocoon is absolutely correct, the one by parsing expected 
> document in the test case is not since it has both the namespace 
> declaration AND an attribute xmlns:fi - which broke our test."
> (http://article.gmane.org/gmane.text.xml.cocoon.devel/75975)
> Also see this: http://article.gmane.org/gmane.text.xml.cocoon.devel/75974

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (COCOON-2155) Failing test cases due to additional attributes from namespace declarations in a DOM from parser, but not from serializer

2007-12-27 Thread Grzegorz Kossakowski (JIRA)

 [ 
https://issues.apache.org/jira/browse/COCOON-2155?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Grzegorz Kossakowski updated COCOON-2155:
-

Attachment: COCOON-2155-cocoon-core.patch

Added missing namespace prefix declarations in CIncludeTransformerTestCase.

> Failing test cases due to additional attributes from namespace declarations 
> in a DOM from parser, but not from serializer
> -
>
> Key: COCOON-2155
> URL: https://issues.apache.org/jira/browse/COCOON-2155
> Project: Cocoon
>  Issue Type: Bug
>  Components: * Cocoon Core
>Affects Versions: 2.2-dev (Current SVN)
>Reporter: Grzegorz Kossakowski
> Attachments: COCOON-2155-cocoon-core.patch, 
> COCOON-2155-parent-pom.patch
>
>
> Quoting Joerg:
> "Just an explanation: A namespace declaration is not an attribute (even 
> if it looks so) and that's why it should not end as such. The DOM 
> produced by Cocoon is absolutely correct, the one by parsing expected 
> document in the test case is not since it has both the namespace 
> declaration AND an attribute xmlns:fi - which broke our test."
> (http://article.gmane.org/gmane.text.xml.cocoon.devel/75975)
> Also see this: http://article.gmane.org/gmane.text.xml.cocoon.devel/75974

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



Re: [jira] Created: (COCOON-2154) Servlet:/ protocol: Support absolute URIs

2007-12-27 Thread Joerg Heinicke

On 27.12.2007 21:51 Uhr, Reinhard Poetz wrote:


How about

  servlet:com.mycompany.project.servlet.service:!/test/foo/bar


Hmmm, I'm not perfectly happy with this solution either. In this case 
the path is enriched with information that actually belongs to the 
sub-protocol part of the URI.


However, I guess that there is no really good solution in this case. 
Currently I slightly prefer the "+" variant, though that's no strong 
opinion.


Could anybody please sum up what the actual problem is and what the 
proposals are to solve it? So far I only got that there is an issue with 
cache key which can be solved by absolutizing URIs. Now there is this 
relative vs. absolute URI thing. What for do we need the +? What's the 
scheme for relative URIs?


Joerg


Re: Broken test-cases due to missing namespace declarations

2007-12-27 Thread Joerg Heinicke

On 27.12.2007 15:00 Uhr, Grzegorz Kossakowski wrote:


Second, that's not quite correct. Xalan 2.7.1 fixes the issue. Our
DOMBuilder is only a wrapper. It does not replace the Xalan DOMBuilder
at all.


I'm not sure if it's only me but this wrapper is not as simple as I would like 
to see it. From just
look at the code of our wrapper it is quite hard to figure out that it uses 
DOMBuilder from Xalan.


It does not just wrap Xalan's DOMBuilder. It kind of does the same but 
has a different approach: Both build a DOM from SAX events but while 
Xalan's does it directly Cocoon's DOMBuilder utilizes a 
TransformerHandler and a DOMResult for it. Additionally listening 
capability is added and XMLPipe implemented. Also Xalan's DOMBuilder is 
more a internal class, it's not part of public API. It's a public class 
but unless you want to tie your code to Xalan there is no way to 
instantiate the class. That's what you usually do using 
SAXTransformerFactory as Cocoon's DOMBuilder does or 
DocumentBuilderFactory. The names matches more or less by coincidence.



The fix for XALANJ-2091 is triggered by startPrefixMapping(). With
FlowJXPathSelectionList.generateSaxFragment() as in the test case
without the actual CForms framework code startPrefixMapping() is never
called. After I added startPrefixMapping() at the very beginning of
FlowJXPathSelectionList.generateSaxFragment() and endPrefixMapping() at
the end of it the test passed without the explicit
removal of the namespace attribute.



The question is if we really want to change all places where this
applies and add start/endPrefixMapping(). In theory that's the correct
way to do it. Another possibility to fix the tests would be to serialize
the XML from the actual test run and reparse it in the same way as the
documents we compare to.


I opt for fixing our code by adding start/endPrefixMapping() as it seems to be 
the cleanest possible
solution. Apart from that I think that SAX spec. enfornces on us to use these 
methods if we want to
produce proper (representing well-formed XML) stream of SAX events.


Our code is not really broken. Usually we call startPrefixMapping() in 
startDocument() methods of transformers or something like this. It's 
only broken for the test cases since we just have a look at the 
"component" to test without its "framework". From a component POV adding 
start/endPrefixMapping() is the "correct" solution to encapsulate it. 
The question I asked was only if these components will ever run outside 
of their current framework. Personally I prefer the "correct" approach 
as well.



The only problem I can see now is that Xalan 2.7.1 is _not_ available on Maven 
central repository.
Do you have an idea how to quickly add it to repository? Should we ask Xalan 
people to upload it or
should we go for standard procedure (creating issue in Maven jira and attaching 
artifacts)?


I have no idea what the different ways mean in regard of getting things 
done correctly and as fast as possible. I only got the jar from 
Antonio's commit to 2.1 and put it into my local repository by copying 
2.7.0's POM.


Joerg


Re: 2.1.11 release

2007-12-27 Thread Ralph Goers

I committed the changes to 2.1.x. I'll try to get trunk done on 1/1/08

Ralph Goers wrote:
If I can't get it done in the next 24 hrs go ahead and do that. 
However, I'd really like my changes in 2.1.11 also. It has been an 
outstanding defect for several years.


Grzegorz Kossakowski wrote:

Ralph Goers pisze:
 

I'm currently trying to get the XPathXMLFileModule into trunk. I was
holding off committing until I had that working. However, I will be
heading off to Seattle very early tomorrow until New Year's Eve so if I
don't get it committed today it won't be included in your build - which
is a very bad thing since several JXPath based input modules don't work
right now (i.e - I'd have to vote -1 on the release until I get this
fixed).  I may just commit what I have for 2.1 and get trunk done 
when I

get back.

Unfortunately, I am very busy getting things ready for my grandkids
birthday party so I have no idea if I'll get this completed today.



What about reverting my change in 2.1.x branch that broke 
JXPath-based modules and introducing a new

method in JXPathHelper just to make xmodule:flow-attr working properly?
It's really not my favorite choice but it was me who broke XMLModule 
and I don't want to block a

release.

In trunk I opt for cleaner API at price of breaking back-compatibility.

WDYT?

  


Gabriel Gruber/Workflow is out of office.

2007-12-27 Thread Gabriel Gruber

I will be out of the office starting  27.12.2007 and will not return until
07.01.2008.

Ich bin bis zum 06.01.2008 auf Urlaub und ab 07.01.2008 wieder für Sie
erreichbar. Bei technischen Fragen zum System Webdesk wenden Sie sich bitte
vertrauensvoll an Hrn. Stastny. Bei Fragen zu laufenden Projekten wenden
Sie sich bitte an Hrn. Povysil! In dringenden Fällen versuchen Sie es auf
meinem Handy: +43 - 676 - 3939435!

mit freundlichen Grüssen

Gabriel Gruber



Re: [jira] Created: (COCOON-2154) Servlet:/ protocol: Support absolute URIs

2007-12-27 Thread Reinhard Poetz

Grzegorz Kossakowski wrote:

Reinhard Poetz pisze:
ServletSource is only available if you use the ServletService Framework 
together with Cocoon. So I think that ServletConnection should become 
public API too.


We could offer two types of ServletConnections:

* RelativeServletConnection that works relative to the current servlet 
context * AbsoluteServletConnection that expects the servlet service name

(= the name of the Spring bean)


I was wondering why ServletConnection can't be clever enough to figure it out
if it's passed a relative URI or absolute one? Why we need separate classes?

It's not a big deal for me, just curious.


the reason was that I didn't like the code when it did both. But let's discuss 
this when the code is committed.



Actually I've already implemented it this way ...

WDYT?


The biggest mystery for me is why I don't see commit messages mentioning this
great stuff being checked in into our repository.

Keeping this code in a secret is just not fair! ;-)


I have to test it more extensivly, but I plan to commit it soon.

For me fixing the cache key generation problem is only a positive side 
effect of my current work. I need absolute servlet URIs for a special 
generator (or maybe a source, don't know yet) whose output depends on the

available servlet services  which makes it impossible to define them as
connections beforehand.

Probably it's very similar to what you call "dynamic connections".


Yep, I guess so. I was thinking about dynamic servlet discovery based on some
conditions. For example, I would like to see a generator that lets me to list
all servlet giving 200 response when they asked for resource
"/org.grek.app.skin.provider". This way I could easily list all skins 
available for my new, shiny application. Is it something similar to your

goals?


yes

--
Reinhard PötzManaging Director, {Indoqa} GmbH
  http://www.indoqa.com/en/people/reinhard.poetz/

Member of the Apache Software Foundation
Apache Cocoon Committer, PMC member, PMC Chair[EMAIL PROTECTED]
_


Re: [jira] Created: (COCOON-2154) Servlet:/ protocol: Support absolute URIs

2007-12-27 Thread Grzegorz Kossakowski
Reinhard Poetz pisze:
> ServletSource is only available if you use the ServletService Framework
> together with Cocoon. So I think that ServletConnection should become
> public API too.
> 
> We could offer two types of ServletConnections:
> 
>  * RelativeServletConnection that works relative to the current servlet
> context
>  * AbsoluteServletConnection that expects the servlet service name (= the
>name of the Spring bean)

I was wondering why ServletConnection can't be clever enough to figure it out 
if it's passed a
relative URI or absolute one? Why we need separate classes?

It's not a big deal for me, just curious.

> Actually I've already implemented it this way ...
> 
> WDYT?

The biggest mystery for me is why I don't see commit messages mentioning this 
great stuff being
checked in into our repository.

Keeping this code in a secret is just not fair! ;-)

> For me fixing the cache key generation problem is only a positive side
> effect of my current work. I need absolute servlet URIs for a special
> generator (or maybe a source, don't know yet) whose output depends on
> the available servlet services  which makes it impossible to define them
> as connections beforehand.
> 
> Probably it's very similar to what you call "dynamic connections".

Yep, I guess so. I was thinking about dynamic servlet discovery based on some 
conditions. For
example, I would like to see a generator that lets me to list all servlet 
giving 200 response when
they asked for resource "/org.grek.app.skin.provider". This way I could easily 
list all skins
available for my new, shiny application.
Is it something similar to your goals?

-- 
Grzegorz Kossakowski


Re: [jira] Created: (COCOON-2154) Servlet:/ protocol: Support absolute URIs

2007-12-27 Thread Reinhard Poetz

Vadim Gritsenko wrote:

On Dec 26, 2007, at 4:01 PM, Grzegorz Kossakowski wrote:

Plus sign doesn't look naturally for me. Are there any other options?


How about

  servlet:com.mycompany.project.servlet.service:!/test/foo/bar


Hmmm, I'm not perfectly happy with this solution either. In this case the path 
is enriched with information that actually belongs to the sub-protocol part of 
the URI.


However, I guess that there is no really good solution in this case. Currently I 
slightly prefer the "+" variant, though that's no strong opinion.


--
Reinhard PötzManaging Director, {Indoqa} GmbH
  http://www.indoqa.com/en/people/reinhard.poetz/

Member of the Apache Software Foundation
Apache Cocoon Committer, PMC member, PMC Chair[EMAIL PROTECTED]
_


Re: [jira] Created: (COCOON-2154) Servlet:/ protocol: Support absolute URIs

2007-12-27 Thread Reinhard Poetz

Grzegorz Kossakowski wrote:

Reinhard Poetz pisze:
I've rewritten the ServletConnection and it always expects now globally 
absolute URIs. If a service-relative URI is being resolved, the 
ServletSource can translate it into an absolute one.


It looks like you implying that ServletConnection should never be used
directly only ServletSource, instead. Am I guessing right?


ServletSource is only available if you use the ServletService Framework together 
with Cocoon. So I think that ServletConnection should become public API too.


We could offer two types of ServletConnections:

 * RelativeServletConnection that works relative to the current servlet context
 * AbsoluteServletConnection that expects the servlet service name (= the
   name of the Spring bean)

Actually I've already implemented it this way ...

WDYT?


This should fix the cache key generation problem too.


Yep, I hope so.


Plus sign doesn't look naturally for me. Are there any other options?

Citing RFC 2396:

Scheme names consist of a sequence of characters beginning with a lower
case letter and followed by any combination of lower case letters, digits,
plus ("+"), period ("."), or hyphen ("-").  For resiliency, programs
interpreting URI should treat upper case letters as equivalent to lower
case in scheme names (e.g., allow "HTTP" as well as "http").

scheme= alpha *( alpha | digit | "+" | "-" | "." )


But since I strongly discourage from using absolute URIs directly, I don't 
consider it being a big issue.


Aha, ok. I forgot that absolute URIs shouldn't be used directly in general.
Then I'm fine with plus sign.

It brings interesting question: if user is not supposed to use absolute URIs
directly will their usage be limited only to making ServletSource conforming
the API of Source interface thus generating proper cache keys? I was thinking
about dynamic connections between servlets but I would like to hear your
opinion.


For me fixing the cache key generation problem is only a positive side effect of 
my current work. I need absolute servlet URIs for a special generator (or maybe 
a source, don't know yet) whose output depends on the available servlet services 
 which makes it impossible to define them as connections beforehand.


Probably it's very similar to what you call "dynamic connections".

--
Reinhard PötzManaging Director, {Indoqa} GmbH
  http://www.indoqa.com/en/people/reinhard.poetz/

Member of the Apache Software Foundation
Apache Cocoon Committer, PMC member, PMC Chair[EMAIL PROTECTED]
_


Re: [jira] Created: (COCOON-2154) Servlet:/ protocol: Support absolute URIs

2007-12-27 Thread Vadim Gritsenko

On Dec 26, 2007, at 4:01 PM, Grzegorz Kossakowski wrote:


Reinhard Poetz pisze:

Hi Reinhard, isn't it a duplicate of
https://issues.apache.org/jira/browse/COCOON-2044 ?


Not really. If I read that issue correctly, it talks about making  
cache

keys unique. I refer to absolute servlet:/ URIs, e.g.

servlet:com.mycompany.project.servlet.service+:/test/foo/bar



Plus sign doesn't look naturally for me. Are there any other options?


How about

  servlet:com.mycompany.project.servlet.service:!/test/foo/bar


Vadim


Re: [jira] Created: (COCOON-2154) Servlet:/ protocol: Support absolute URIs

2007-12-27 Thread Grzegorz Kossakowski
Reinhard Poetz pisze:
> 
> I've rewritten the ServletConnection and it always expects now globally
> absolute URIs. If a service-relative URI is being resolved, the
> ServletSource can translate it into an absolute one.

It looks like you implying that ServletConnection should never be used directly 
only ServletSource,
instead. Am I guessing right?

> This should fix the cache key generation problem too.

Yep, I hope so.

>>
>> Plus sign doesn't look naturally for me. Are there any other options?
> 
> Citing RFC 2396:
> 
>Scheme names consist of a sequence of characters beginning with a
>lower case letter and followed by any combination of lower case
>letters, digits, plus ("+"), period ("."), or hyphen ("-").  For
>resiliency, programs interpreting URI should treat upper case letters
>as equivalent to lower case in scheme names (e.g., allow "HTTP" as
>well as "http").
> 
>   scheme= alpha *( alpha | digit | "+" | "-" | "." )
> 
> 
> But since I strongly discourage from using absolute URIs directly, I don't
> consider it being a big issue.

Aha, ok. I forgot that absolute URIs shouldn't be used directly in general. 
Then I'm fine with plus
sign.

It brings interesting question: if user is not supposed to use absolute URIs 
directly will their
usage be limited only to making ServletSource conforming the API of Source 
interface thus generating
proper cache keys? I was thinking about dynamic connections between servlets 
but I would like to
hear your opinion.

-- 
Grzegorz Kossakowski


Re: [jira] Created: (COCOON-2154) Servlet:/ protocol: Support absolute URIs

2007-12-27 Thread Reinhard Poetz

Grzegorz Kossakowski wrote:

Reinhard Poetz pisze:
Hi Reinhard, isn't it a duplicate of 
https://issues.apache.org/jira/browse/COCOON-2044 ?
Not really. If I read that issue correctly, it talks about making cache 
keys unique. I refer to absolute servlet:/ URIs, e.g.


servlet:com.mycompany.project.servlet.service+:/test/foo/bar


In the discussion of COCOON-2044 it is mentioned that non-uniqueness of cache
keys is caused by bad implementation of servlet service because it returns
relative URIs instead of absolute ones when getURI() method is called. So in
order to fix COCOON-2044 you just need essentially to implement support of
absolute URI for servlet: protocol. That's why I see it as duplicate.


I've rewritten the ServletConnection and it always expects now globally absolute 
URIs. If a service-relative URI is being resolved, the ServletSource can 
translate it into an absolute one.


This should fix the cache key generation problem too.

Btw, after reading the URI spec and making some experiments with the URI 
class of Java, I figured out that the originally proposed "!" at the 
beginning of the sub schema is not allowed, however, appending a "+" is. 
This is required in order to distinguish between relative and absolute 
servlet:/ URIs.


Plus sign doesn't look naturally for me. Are there any other options?


Citing RFC 2396:

   Scheme names consist of a sequence of characters beginning with a
   lower case letter and followed by any combination of lower case
   letters, digits, plus ("+"), period ("."), or hyphen ("-").  For
   resiliency, programs interpreting URI should treat upper case letters
   as equivalent to lower case in scheme names (e.g., allow "HTTP" as
   well as "http").

  scheme= alpha *( alpha | digit | "+" | "-" | "." )


But since I strongly discourage from using absolute URIs directly, I don't
consider it being a big issue.

--
Reinhard PötzManaging Director, {Indoqa} GmbH
  http://www.indoqa.com/en/people/reinhard.poetz/

Member of the Apache Software Foundation
Apache Cocoon Committer, PMC member, PMC Chair[EMAIL PROTECTED]
_



Re: 2.1.11 release

2007-12-27 Thread Ralph Goers
If I can't get it done in the next 24 hrs go ahead and do that. However, 
I'd really like my changes in 2.1.11 also. It has been an outstanding 
defect for several years.


Grzegorz Kossakowski wrote:

Ralph Goers pisze:
  

I'm currently trying to get the XPathXMLFileModule into trunk. I was
holding off committing until I had that working. However, I will be
heading off to Seattle very early tomorrow until New Year's Eve so if I
don't get it committed today it won't be included in your build - which
is a very bad thing since several JXPath based input modules don't work
right now (i.e - I'd have to vote -1 on the release until I get this
fixed).  I may just commit what I have for 2.1 and get trunk done when I
get back.

Unfortunately, I am very busy getting things ready for my grandkids
birthday party so I have no idea if I'll get this completed today.



What about reverting my change in 2.1.x branch that broke JXPath-based modules 
and introducing a new
method in JXPathHelper just to make xmodule:flow-attr working properly?
It's really not my favorite choice but it was me who broke XMLModule and I 
don't want to block a
release.

In trunk I opt for cleaner API at price of breaking back-compatibility.

WDYT?

  


Re: 2.1.11 release

2007-12-27 Thread Grzegorz Kossakowski
Ralph Goers pisze:
> I'm currently trying to get the XPathXMLFileModule into trunk. I was
> holding off committing until I had that working. However, I will be
> heading off to Seattle very early tomorrow until New Year's Eve so if I
> don't get it committed today it won't be included in your build - which
> is a very bad thing since several JXPath based input modules don't work
> right now (i.e - I'd have to vote -1 on the release until I get this
> fixed).  I may just commit what I have for 2.1 and get trunk done when I
> get back.
> 
> Unfortunately, I am very busy getting things ready for my grandkids
> birthday party so I have no idea if I'll get this completed today.

What about reverting my change in 2.1.x branch that broke JXPath-based modules 
and introducing a new
method in JXPathHelper just to make xmodule:flow-attr working properly?
It's really not my favorite choice but it was me who broke XMLModule and I 
don't want to block a
release.

In trunk I opt for cleaner API at price of breaking back-compatibility.

WDYT?

-- 
Grzegorz Kossakowski


2.1.11 release

2007-12-27 Thread Ralph Goers
I'm currently trying to get the XPathXMLFileModule into trunk. I was 
holding off committing until I had that working. However, I will be 
heading off to Seattle very early tomorrow until New Year's Eve so if I 
don't get it committed today it won't be included in your build - which 
is a very bad thing since several JXPath based input modules don't work 
right now (i.e - I'd have to vote -1 on the release until I get this 
fixed).  I may just commit what I have for 2.1 and get trunk done when I 
get back.


Unfortunately, I am very busy getting things ready for my grandkids 
birthday party so I have no idea if I'll get this completed today.


Ralph

Carsten Ziegeler wrote:

If I get no response from Paul (or anyone else on this), I'll revert the
change for the release. I'm currently planning to prepare the
distribution next monday.

Carsten


  


Re: svn commit: r606743 - /cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml

2007-12-27 Thread Carsten Ziegeler
[EMAIL PROTECTED] wrote:
> Hi All,
> 
> Cocoon-2.1 keeps applications ("samples") in the webapp directory.
> Newbies would expect to add applications to that directory.  The build
> process chooses specific files and directories to copy so new
> applications are not copied to the build directory.  The patch removed
> the list of specific files to copy the entire webapp directory.  I
> closed my Cocoon jiras because a release candidate for Cocoon-2.1.11
> is being prepared.
> 
> Antonio asked whether ant:copy had the intelligence to understand
> binary files should not be affected by text replacement.  I have not
> studied ant to discover if the program is sane.
> 
> This change passed my testing in May.  The jira from June survived
> without comments.  None of the comments in this thread mention real
> problems.  The discussion is that nobody trusts ant to work properly
> so this patch should be reverted because theoretical problems may
> result if the ant developers are poor programmers.  Nobody on the
> Cocoon project wants to spend five minutes testing.
> 
> I will test more after somebody spends one minute to define the test
> expected to fail because of this patch.   The potential bug seems to
> require binary files containing strings on ant's filter list.
> 
As Vadim has responded again: filtering should not be done on all files,
otherwise they get corrupted. And this means whenever you copy a
complete directory tree, you have to copy these files without filtering
and if you need filtering for specific files, you need to do this in a
second pass. This has been repeatedly said in this thread, so it would
be great if you could come up with a solution that honours this.
And this is independent from the fact, that currently copying all the
files with filtering on does not corrupt them - it is a potential cause
of error we would like to avoid.

Apart from that, I'm still wondering what your patch is trying to
achieve? I really hope that you are not putting your own webapp into a
Cocoon src directory and then hope for the cocoon build to pick up your
files? You claim that newbies want to put their stuff directly into the
Cocoon src/webapp directory? I never heard of this and actually I would
strongly suggest against doing so. The old way of copying the webapp
files actually prevented people from doing this - and I really prefer to
keep it this way. There are several much better ways of building own
applications.

Regarding your Jira issue: just because noone commented on it over the
last months does not mean that this one got happily accepted by
everyone. I guess it's just an oversight, I - for instance - didn't
notice this issue until you changed the code.

And, our build system is a very very fragile piece of code that caused
way too many problems over the past (one of the reasons why we changed
this for 2.2) - so it's in general not a good idea to change this
fragile piece just before a release.

Carsten

-- 
Carsten Ziegeler
[EMAIL PROTECTED]


Re: svn commit: r606743 - /cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml

2007-12-27 Thread Vadim Gritsenko

On Dec 27, 2007, at 10:29 AM, [EMAIL PROTECTED] wrote:


The discussion is that nobody trusts ant to work properly
so this patch should be reverted because theoretical problems may
result if the ant developers are poor programmers.


It is not theoretical. Binary files, as well as UTF-8 encoded files,  
are corrupted by filtering=on. If you pull history of the build.xml  
file, I'm certain you will find relevant commits (you'd have to dig  
into C2.0 history though).




Does Cocoon need the filtering?


Yes, C2.1 needs filtering.

Vadim



 Would filtering=no solve the concerns?

solprovider




Re: svn commit: r606743 - /cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml

2007-12-27 Thread solprovider
Hi All,

Cocoon-2.1 keeps applications ("samples") in the webapp directory.
Newbies would expect to add applications to that directory.  The build
process chooses specific files and directories to copy so new
applications are not copied to the build directory.  The patch removed
the list of specific files to copy the entire webapp directory.  I
closed my Cocoon jiras because a release candidate for Cocoon-2.1.11
is being prepared.

Antonio asked whether ant:copy had the intelligence to understand
binary files should not be affected by text replacement.  I have not
studied ant to discover if the program is sane.

This change passed my testing in May.  The jira from June survived
without comments.  None of the comments in this thread mention real
problems.  The discussion is that nobody trusts ant to work properly
so this patch should be reverted because theoretical problems may
result if the ant developers are poor programmers.  Nobody on the
Cocoon project wants to spend five minutes testing.

I will test more after somebody spends one minute to define the test
expected to fail because of this patch.   The potential bug seems to
require binary files containing strings on ant's filter list.

Does Cocoon need the filtering?  Would filtering=no solve the concerns?

solprovider

On 12/27/07, Thorsten Scherler
<[EMAIL PROTECTED]> wrote:
> On Thu, 2007-12-27 at 13:06 +0100, Carsten Ziegeler wrote:
> > If I get no response from Paul (or anyone else on this), I'll revert the
> > change for the release. I'm currently planning to prepare the
> > distribution next monday.
>
> Yes, please revert the commit.
>
> The fix was to have custom components in cocoon and the build will pick
> it up. But this can be done by a custom target as well. COCOON-2074.
>
> The filtering needs to be off for binary stuff like other have been
> pointed out so it is doing more harm then good.
>
> > Carsten Ziegeler wrote:
> > > At least the resources have been copied with filtering "off" before. As
> > > the resources contain images and other binary stuff, this changes
> > > breakes definitly the build as binary files have to be copied with
> > > filtering turned off.
> > >
> > > Apart from that, I'm wondering what this change tries to fix.
> > >
> > > So Paul, please comment on this issue.
> > >
> > > Thanks
> > > Carsten
> > >
> > > Antonio Gallardo wrote:
> > >> Hi solprovider,
> > >>
> > >> I am wondering if a simple
> > >>
> > >> filtering="on" statement can replace the previous code. I recall issues
> > >> with files that become broken on the resources if we use filtering. And
> > >> also some files we don't want on the final webapp.
> > >>
> > >> Best Regards,
> > >>
> > >> Antonio Gallardo.
> > >>
> > >>
> > >> [EMAIL PROTECTED] escribió:
> > >>> Author: solprovider
> > >>> Date: Mon Dec 24 14:03:31 2007
> > >>> New Revision: 606743
> > >>>
> > >>> URL: http://svn.apache.org/viewvc?rev=606743&view=rev
> > >>> Log:
> > >>> The build process carefully adds each of the standard files in the
> > >>> webapp directory. New applications are not included in the build
> > >>> process. No files need to be excluded. This change copies the entire
> > >>> directory. (COCOON-2074)
> > >>>
> > >>> Modified:
> > >>> cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml
> > >>>
> > >>> Modified: cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml
> > >>> URL:
> > >>> http://svn.apache.org/viewvc/cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml?rev=606743&r1=606742&r2=606743&view=diff
> > >>>
> > >>> ==
> > >>>
> > >>> --- cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml
> > >>> (original)
> > >>> +++ cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml Mon
> > >>> Dec 24 14:03:31 2007
> > >>> @@ -25,33 +25,9 @@
> > >>>
> > >>>  
> > >>>
> > >>> - > >>> tofile="${build.webapp}/welcome.xml" filtering="on"/>
> > >>> - > >>> tofile="${build.webapp}/not-found.xml" filtering="on"/>
> > >>> - > >>> tofile="${build.webapp}/welcome.xslt" filtering="on"/>
> > >>> - > >>> tofile="${build.webapp}/sitemap.xmap"/>
> > >>> -
> > >>> -
> > >>> -
> > >>> -
> > >>> -  
> > >>> -
> > >>> -  
> > >>> -
> > >>> -
> > >>> -
> > >>> -  
> > >>> -
> > >>> -
> > >>> -
> > >>> -  
> > >>> -
> > >>> -
> > >>> -
> > >>> -
> > >>> -  
> > >>> -
> > >>> +  
> > >>> +  
> > >>> +  
> > >>>
> > >>>   > >>>tofile="${build.webapp.lib}/${name}-${version}.jar"/>
> Thorsten Scherler thorsten.at.apache.org
> Open Source Java  consulting, training and solutions


Broken test-cases due to missing namespace declarations (was: Re: svn commit: r597535 - in /cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src: main/java/org/apache/cocoon/forms/datatype/FlowJXPat

2007-12-27 Thread Grzegorz Kossakowski
Joerg Heinicke pisze:
> Grek, thanks for your work on this. I figured out the missing pieces.

Great, thanks! :)

> First, I did not know that DOM is slightly different than the theory of
> XML.

Nor I did at the firs time. ;)

> Second, that's not quite correct. Xalan 2.7.1 fixes the issue. Our
> DOMBuilder is only a wrapper. It does not replace the Xalan DOMBuilder
> at all.

I'm not sure if it's only me but this wrapper is not as simple as I would like 
to see it. From just
look at the code of our wrapper it is quite hard to figure out that it uses 
DOMBuilder from Xalan.
Isn't it?
Can this be simplified?

> Third, there is a missing piece though to make it work: The fix for
> XALANJ-2091 is triggered by startPrefixMapping(). With
> FlowJXPathSelectionList.generateSaxFragment() as in the test case
> without the actual CForms framework code startPrefixMapping() is never
> called. After I added startPrefixMapping() at the very beginning of
> FlowJXPathSelectionList.generateSaxFragment() and endPrefixMapping() at
> the end of it (though there is still an issue with the missing
> implementation of the latter [1]) the test passed without the explicit
> removal of the namespace attribute.

Ah, here is the missing detail! :-)
I'm very happy to hear that we have some progress on this annoying issue.

> The question is if we really want to change all places where this
> applies and add start/endPrefixMapping(). In theory that's the correct
> way to do it. Another possibility to fix the tests would be to serialize
> the XML from the actual test run and reparse it in the same way as the
> documents we compare to.

I opt for fixing our code by adding start/endPrefixMapping() as it seems to be 
the cleanest possible
solution. Apart from that I think that SAX spec. enfornces on us to use these 
methods if we want to
produce proper (representing well-formed XML) stream of SAX events.
I'm happy to help (or even take care of all the task) with fixing our code.

The only problem I can see now is that Xalan 2.7.1 is _not_ available on Maven 
central repository.
Do you have an idea how to quickly add it to repository? Should we ask Xalan 
people to upload it or
should we go for standard procedure (creating issue in Maven jira and attaching 
artifacts)?
What's more, it seems that jars of older Xalan versions available on Maven 
repository is not the
same as jars in archive downloaded from Xalan site. The later is split into two 
jars:
* xalan.jar
* serializer.jar
whereas jar from repository has classes from both xalan.jar and serializer.jar.

-- 
Grzegorz Kossakowski


[jira] Updated: (COCOON-2155) Failing test cases due to additional attributes from namespace declarations in a DOM from parser, but not from serializer

2007-12-27 Thread JIRA

 [ 
https://issues.apache.org/jira/browse/COCOON-2155?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jörg Heinicke updated COCOON-2155:
--

Summary: Failing test cases due to additional attributes from namespace 
declarations in a DOM from parser, but not from serializer  (was: Parser 
produces redundant element attributes (namespace declarations) in a DOM while 
test-cases are executed)

> Failing test cases due to additional attributes from namespace declarations 
> in a DOM from parser, but not from serializer
> -
>
> Key: COCOON-2155
> URL: https://issues.apache.org/jira/browse/COCOON-2155
> Project: Cocoon
>  Issue Type: Bug
>  Components: * Cocoon Core
>Affects Versions: 2.2-dev (Current SVN)
>Reporter: Grzegorz Kossakowski
>
> Quoting Joerg:
> "Just an explanation: A namespace declaration is not an attribute (even 
> if it looks so) and that's why it should not end as such. The DOM 
> produced by Cocoon is absolutely correct, the one by parsing expected 
> document in the test case is not since it has both the namespace 
> declaration AND an attribute xmlns:fi - which broke our test."
> (http://article.gmane.org/gmane.text.xml.cocoon.devel/75975)
> Also see this: http://article.gmane.org/gmane.text.xml.cocoon.devel/75974

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



Re: svn commit: r597535 - in /cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src: main/java/org/apache/cocoon/forms/datatype/FlowJXPathSelectionList.java test/java/org/apache/cocoon/forms/datatype

2007-12-27 Thread Joerg Heinicke

Grek, thanks for your work on this. I figured out the missing pieces.

First, I did not know that DOM is slightly different than the theory of XML.

On 27.12.2007 12:46 Uhr, Grzegorz Kossakowski wrote:

Grzegorz Kossakowski pisze:

3. My gut feeling is that we are affected by XALANJ-2091[2] bug. I'll try to 
verify my feelings
tomorrow.


I have checked if update to Xalan 2.7.1 helps and it's not. Anyway, after 
taking closer look at our
code it's not a surprise because we don't use DOMBuilder from Xalan but our own 
class.


Second, that's not quite correct. Xalan 2.7.1 fixes the issue. Our 
DOMBuilder is only a wrapper. It does not replace the Xalan DOMBuilder 
at all.


Third, there is a missing piece though to make it work: The fix for 
XALANJ-2091 is triggered by startPrefixMapping(). With 
FlowJXPathSelectionList.generateSaxFragment() as in the test case 
without the actual CForms framework code startPrefixMapping() is never 
called. After I added startPrefixMapping() at the very beginning of 
FlowJXPathSelectionList.generateSaxFragment() and endPrefixMapping() at 
the end of it (though there is still an issue with the missing 
implementation of the latter [1]) the test passed without the explicit 
removal of the namespace attribute.


The question is if we really want to change all places where this 
applies and add start/endPrefixMapping(). In theory that's the correct 
way to do it. Another possibility to fix the tests would be to serialize 
the XML from the actual test run and reparse it in the same way as the 
documents we compare to.


Joerg


Re: svn commit: r606743 - /cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml

2007-12-27 Thread Thorsten Scherler
On Thu, 2007-12-27 at 13:06 +0100, Carsten Ziegeler wrote:
> If I get no response from Paul (or anyone else on this), I'll revert the
> change for the release. I'm currently planning to prepare the
> distribution next monday.

Yes, please revert the commit.

The fix was to have custom components in cocoon and the build will pick
it up. But this can be done by a custom target as well. COCOON-2074.

The filtering needs to be off for binary stuff like other have been
pointed out so it is doing more harm then good.

salu2

> 
> Carsten
> 
> Carsten Ziegeler wrote:
> > At least the resources have been copied with filtering "off" before. As
> > the resources contain images and other binary stuff, this changes
> > breakes definitly the build as binary files have to be copied with
> > filtering turned off.
> > 
> > Apart from that, I'm wondering what this change tries to fix.
> > 
> > So Paul, please comment on this issue.
> > 
> > Thanks
> > Carsten
> > 
> > Antonio Gallardo wrote:
> >> Hi solprovider,
> >>
> >> I am wondering if a simple
> >>
> >> filtering="on" statement can replace the previous code. I recall issues
> >> with files that become broken on the resources if we use filtering. And
> >> also some files we don't want on the final webapp.
> >>
> >> Best Regards,
> >>
> >> Antonio Gallardo.
> >>
> >>
> >> [EMAIL PROTECTED] escribió:
> >>> Author: solprovider
> >>> Date: Mon Dec 24 14:03:31 2007
> >>> New Revision: 606743
> >>>
> >>> URL: http://svn.apache.org/viewvc?rev=606743&view=rev
> >>> Log:
> >>> The build process carefully adds each of the standard files in the
> >>> webapp directory. New applications are not included in the build
> >>> process. No files need to be excluded. This change copies the entire
> >>> directory. (COCOON-2074)
> >>>
> >>> Modified:
> >>> cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml
> >>>
> >>> Modified: cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml
> >>> URL:
> >>> http://svn.apache.org/viewvc/cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml?rev=606743&r1=606742&r2=606743&view=diff
> >>>
> >>> ==
> >>>
> >>> --- cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml
> >>> (original)
> >>> +++ cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml Mon
> >>> Dec 24 14:03:31 2007
> >>> @@ -25,33 +25,9 @@
> >>>
> >>>  
> >>>  
> >>> - >>> tofile="${build.webapp}/welcome.xml" filtering="on"/>
> >>> - >>> tofile="${build.webapp}/not-found.xml" filtering="on"/>
> >>> - >>> tofile="${build.webapp}/welcome.xslt" filtering="on"/>
> >>> - >>> tofile="${build.webapp}/sitemap.xmap"/>
> >>> -
> >>> -
> >>> -
> >>> -
> >>> -  
> >>> -
> >>> -  
> >>> -
> >>> -
> >>> -
> >>> -  
> >>> -
> >>> -
> >>> -
> >>> -  
> >>> -
> >>> -
> >>> -
> >>> -
> >>> -  
> >>> -
> >>> +  
> >>> +  
> >>> +  
> >>>  
> >>>   >>>tofile="${build.webapp.lib}/${name}-${version}.jar"/>
> >>>
> >>>   
> >>
> > 
> > 
> 
> 
-- 
Thorsten Scherler thorsten.at.apache.org
Open Source Java  consulting, training and solutions



Re: svn commit: r606743 - /cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml

2007-12-27 Thread Carsten Ziegeler
If I get no response from Paul (or anyone else on this), I'll revert the
change for the release. I'm currently planning to prepare the
distribution next monday.

Carsten

Carsten Ziegeler wrote:
> At least the resources have been copied with filtering "off" before. As
> the resources contain images and other binary stuff, this changes
> breakes definitly the build as binary files have to be copied with
> filtering turned off.
> 
> Apart from that, I'm wondering what this change tries to fix.
> 
> So Paul, please comment on this issue.
> 
> Thanks
> Carsten
> 
> Antonio Gallardo wrote:
>> Hi solprovider,
>>
>> I am wondering if a simple
>>
>> filtering="on" statement can replace the previous code. I recall issues
>> with files that become broken on the resources if we use filtering. And
>> also some files we don't want on the final webapp.
>>
>> Best Regards,
>>
>> Antonio Gallardo.
>>
>>
>> [EMAIL PROTECTED] escribió:
>>> Author: solprovider
>>> Date: Mon Dec 24 14:03:31 2007
>>> New Revision: 606743
>>>
>>> URL: http://svn.apache.org/viewvc?rev=606743&view=rev
>>> Log:
>>> The build process carefully adds each of the standard files in the
>>> webapp directory. New applications are not included in the build
>>> process. No files need to be excluded. This change copies the entire
>>> directory. (COCOON-2074)
>>>
>>> Modified:
>>> cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml
>>>
>>> Modified: cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml
>>> URL:
>>> http://svn.apache.org/viewvc/cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml?rev=606743&r1=606742&r2=606743&view=diff
>>>
>>> ==
>>>
>>> --- cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml
>>> (original)
>>> +++ cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml Mon
>>> Dec 24 14:03:31 2007
>>> @@ -25,33 +25,9 @@
>>>
>>>  
>>>  
>>> ->> tofile="${build.webapp}/welcome.xml" filtering="on"/>
>>> ->> tofile="${build.webapp}/not-found.xml" filtering="on"/>
>>> ->> tofile="${build.webapp}/welcome.xslt" filtering="on"/>
>>> ->> tofile="${build.webapp}/sitemap.xmap"/>
>>> -
>>> -
>>> -
>>> -
>>> -  
>>> -
>>> -  
>>> -
>>> -
>>> -
>>> -  
>>> -
>>> -
>>> -
>>> -  
>>> -
>>> -
>>> -
>>> -
>>> -  
>>> -
>>> +  
>>> +  
>>> +  
>>>  
>>>  >>tofile="${build.webapp.lib}/${name}-${version}.jar"/>
>>>
>>>   
>>
> 
> 


-- 
Carsten Ziegeler
[EMAIL PROTECTED]


Re: svn commit: r597535 - in /cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src: main/java/org/apache/cocoon/forms/datatype/FlowJXPathSelectionList.java test/java/org/apache/cocoon/forms/datatype

2007-12-27 Thread Grzegorz Kossakowski
Grzegorz Kossakowski pisze:
> 3. My gut feeling is that we are affected by XALANJ-2091[2] bug. I'll try to 
> verify my feelings
> tomorrow.

I have checked if update to Xalan 2.7.1 helps and it's not. Anyway, after 
taking closer look at our
code it's not a surprise because we don't use DOMBuilder from Xalan but our own 
class.

Current problem is that I cannot debug Cocoon in Eclipse (some weird classpath 
issues) so I lost any
chance to figure out what's wrong. :-(

-- 
Grzegorz Kossakowski