Return-Path: Delivered-To: apmail-cocoon-dev-archive@www.apache.org Received: (qmail 15259 invoked from network); 19 Mar 2009 01:24:36 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 19 Mar 2009 01:24:36 -0000 Received: (qmail 78619 invoked by uid 500); 18 Mar 2009 23:37:56 -0000 Delivered-To: apmail-cocoon-dev-archive@cocoon.apache.org Received: (qmail 78530 invoked by uid 500); 18 Mar 2009 23:37:55 -0000 Mailing-List: contact dev-help@cocoon.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@cocoon.apache.org List-Id: Delivered-To: mailing list dev@cocoon.apache.org Received: (qmail 78521 invoked by uid 99); 18 Mar 2009 23:37:55 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 18 Mar 2009 16:37:55 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of joerg.heinicke@gmx.de designates 213.165.64.20 as permitted sender) Received: from [213.165.64.20] (HELO mail.gmx.net) (213.165.64.20) by apache.org (qpsmtpd/0.29) with SMTP; Wed, 18 Mar 2009 23:37:46 +0000 Received: (qmail invoked by alias); 18 Mar 2009 23:37:24 -0000 Received: from stgt-5d84a3b3.pool.einsundeins.de (EHLO [192.168.182.21]) [93.132.163.179] by mail.gmx.net (mp037) with SMTP; 19 Mar 2009 00:37:24 +0100 X-Authenticated: #3483660 X-Provags-ID: V01U2FsdGVkX1/rS6o1I+DrM37xvhnseMufg3oXIvVUhbOWFuhi0f W4wEysUHxbYxrq Message-ID: <49C185B6.9000908@gmx.de> Date: Thu, 19 Mar 2009 00:37:26 +0100 From: Joerg Heinicke User-Agent: Thunderbird 2.0.0.19 (Macintosh/20081209) MIME-Version: 1.0 To: dev@cocoon.apache.org Subject: Re: [C3] Sitemap implemented in Scala References: <49AF0FB6.1090103@tuffmail.com> In-Reply-To: <49AF0FB6.1090103@tuffmail.com> Content-Type: text/plain; charset=ISO-8859-2; format=flowed Content-Transfer-Encoding: 7bit X-Y-GMX-Trusted: 0 X-FuHaFi: 0.65 X-Virus-Checked: Checked by ClamAV on apache.org On 05.03.2009 00:33, Grzegorz Kossakowski wrote: > Now I'll give a few words of comments why I find my implementation easier to follow. > First of all, sitemap processing is divided into a few distinct stages: > 1. Sitemap parsing > 2. Sitemap reduction > 3. Sitemap invocation > 3.1 Actions execution > 3.2 Pipeline building > 3.3 Pipeline execution > 3.4 Catching possible exception > 4. If exception catched, reduction of handle errors node > 5. Handling exception with reduction result > > What's more, for most of the time code is based on immutable structures which is the biggest advantage. What I found > hard with current implementation hard is InvocationImpl passed around that quite a lot of state. If you combine it with > InvocationResult switches (cases) that every node has to return in its invoke() method the result isn't really > appealing. This sort of resembles mistakes from C2.x where big, mutable objects were passed around leading to > unmaintainable code. > > I'm interested in hearing your opinions on that subject. I know that's rather hard to judge rather big piece of code in > unfamiliar language but I'm sure you can easily get some overall feeling about my implementation and ideas behind it. I don't have the time to actually look into your implementation. I'm just wondering if all the insight views couldn't be used to improve the Java implementation rather than starting something in a different language. Joerg