Updated Turbine 3 to use Fulcrum Avalon Components
"Eric Pugh" <[email protected]> Fri, 12 Nov 2004 11:49:26 -0000
| Newsgroups | gmane.comp.jakarta.turbine.devel,gmane.mail.eyebrowse.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi all, I wanted to give you all a heads up before I start committing things. I have done some *massive* refactoring of Turbine 3 that has directly impacted Scarab: 1) Moved the fulcrum-yaafi container into Turbine 3. Turbine 3 now expects, and indeed requires, Yaafi to function. 2) Moved the following services from the old Fulcrum to the new Avalon based Fulcrum Components: a) Localization b) Pool c) Factory d) MimeType e) Parser f) Upload This change, especially changing to the Fulcrum Parser component, led to lots of issues with the imports throughout Scarab. Lots of action classes were updated to handle the new imports. 3) Removed all facade class usage. Facade classes that don't add anything don't help when using an IoC container. They just make it harder to swap in another implementation. I've wiped them out of all the Fulcrum components, which means a lot of updates throughout Turbine and Scarab codebase. 4) Refactored the ConfigureReport and Search actions. They had tons of looking up basic tools like the ScarabRequestTool or ScarabLocationTool. I was able to refactor that all out into a generic setup(data,context) method called by all the doAction style methods. I think this is a good pattern to use on other action classes. 5) Moved remaining non Fulcrum code out of branch "PRE_AVALON_BRANCH" and moved them directly into the jakarta-turbine-3 source tree: a) Security b) Intake c) Template d) Velocity e) Basic Old Fulcrum Service structure 6) Cleaned out all the moved over fulcrum code from Scarab. 7) Removed the old org.tigris.services.yaafi in favor of new org.apache.turbine.services.yaafi This has been about 3 days of work, including some real false starts.. However, I think this really helps get us closer to the goal of moving to Turbine 2.4, as many of the services being used by Scarab on Turbine 3 are shared by Turbine 2.4. And, no longer requiring a weird branch of Fulcrum to work with Turbine 3 makes me more confortable for testing and supporting Scarab. I've committed the code changes to Turbine 3. If no one sees a reason not to commit this code, I'd like to do it later today. Everything *seems* to be running nicely, but we may run into issues as the changes get more of a workout by different folks. Eric