From: Sascha H. <sa...@gm...> - 2011-03-24 12:13:18
|
Hi guys, I want to let you know that I just submitted the so called 2-phase patch to trunk. Here some notes from my commit log: This patch does a couple of things: - It changes the way processing works: Instead of having a process(), getOutputFiles() and getXmlvmResources() method, there are now processPhase1 and processPhase2. Each of those gets a bundle as the argument, where processes can take out and put in OutputFiles and XmlvmResources. This eliminates the need for each process to call its pre-processes and to collect files and resources itself, which makes the processes much cleaner - No process needs to know the type of the pre-processes, so I eliminated the generic type, which again makes things a lot cleanrer - Why two process phases? Some processes require a global view of all XmlvmResources that are created in the application. Therefore, phase 1 is the phase where every process creates its XmlvmResources. In the second phase, no XmlvmResources can be added anymore. This way it is guaranteed, that all XmlvmResources are present in the second phase. All in all, this adds an important new feature: Processes can have a global view on the created resources. This is required for two pending patches, that are now unblocked. Second of all, process are much cleaner now, as described above. I know that this can cause some of you major merging headaches, but I will try to help you out as much as possible and merging your features into this new scheme. As with all major changes there is a high changes of bugs being introduced. Arno and I tested quite a bit an everything looks fine so far. Let me know, if you find a bug that you believe was caused by this patch. Cheers // Sascha |