spring


Kevin and I are currently working with another partner in setting up a new website…

We’ll give more details when its ready to go.

Some of the tech highlights:

We’ve migrated from acegi securit to spring security (pretty straightforward)

Carrying on with our hibernate model

Extending our previous architecture to be more lightweight and more OO-centric – use of worker and helper classes to decouple.

Use of XML to communicate between layers.

policy.pdf

Some colours and shading and more content on the pdf…

Personal details masked with —’s for privacy

Productive Day Today

Implemented a workaround today to fix what was stopping my retrieved form fields from being populated. The problem was that their destinations had not been created yet, so I created a temporary variable for each field to be stored in the meanwhile.

After that I started working on the PDF creating servlet, the results of which can be seen in the previous post. Just more fields and “chrome” to be added to that.

A link to the first pdf i’ve created in the webapp.

A bit to go to decorate it more and add the rest of the fields, but the name fields are generated dynamically!

Policy PDF

Continuing with acegi session integration

Have been carrying on working with the acegi integration, a logged on user will now have their quote associated with their user id, while an unregistered user will be registered.

Spent most of today working on a form field handler, to persist and retrieve saved form entries per user.

The persisting is working on both sides, while currently the retrieval is just working server side. Just need to get flex to populate the fields from the returned xml/jsp.

Meeting with Howard 25th March

We met with Howard yesterday, mainly discussing progress on the two components wespent most of last week on, the acegi session integration on my part, and the document up/down-loading on Kevin’s.

Apache Cactus: http://jakarta.apache.org/cactus/

Good page on acegi:

http://www.tfo-eservices.eu/wb_tutorials/media/SpringAcegiTutorial/HTML/SpringAcegiTutorial-1_1-html.html

Request More Info Handler

Today I created the request more info pages for Lump Sum, Regular Savings and Pensions, as well as a handler that can deal with each of them generically.

I implemented this by using a field sent by flex called SpecificFormFields which specifies the number of specific fields that the current form submission contains, as well as a corresponding number of SpecFormTag and SpecFormText fields, each specifying the label and form field associated with that specific form entry.

The handler then iterates through each one in a for loop, counting up until n = SpecificFormFields and gettig SpecFormTagn and SpecFormTextn.

Session problems

We came across session problems again today, when Kevin was trying to implement the Download function in the Customer Document Repository, again the problem is between sharing of sessions between flex and the browser, this will have to carry forward to Friday, as the solutions we’ve tried so far have all failed. I’m wondering if there’s a complementing fileDownload component to flex’s fileUploading one? If so hopefully we could use our workaround from Monday.

Quote Generation

Sean forwarded my request to his IT guy Geoff who got back to us early today.. he created system codes for us and hey presto the request worked.

The task at hand now is to parse the mammoth load of xml that came back from them, so I’m familiarising myself with XPATHs.

Rich Text Editors

I managed to get both the Get and Set ..ContentPageRequestHandlers working correctly today, although for some reason flex is never sending the Set request, so I did lots of debugging today but still haven’t found why.

A little bit of work should see both of these tasks complete.

Meeting with Howard

Today we met with Howard for just under an hour and discussed the following:

Blogs
Our meeting with Dermot on the 15th February
Work completed since last meeting
Architecture run through

Discussed some of the issues we had raised on our blogs, which merged nicely into the discussion of the DM05 meeting, where our first release was made. We highlighted the fact that database migration has taken somewhat longer than planned, with DM’s request for detailed policy information and extra links between clients (husband and wife, parent and children). Kevin has primarily been working on these mappings, while I carry on with developing components deemed essential in the functional specification.

We then gave a nice demonstration of how the architecture works, and how it’s precisely as originally planned (High Level Architecture Overview), we did this by demonstrating the lifecycle of a FLEX getPageContent request to the Management System servlet (flexController), its trail through the chain of responsibility (requestHandlers) and how specifically the GetPageContentRequestHandler reacted -> HibernateSitePageDAO object, SitePage POJO, Hibernate SitePage mapping file all the way back to the JSP that flex interprets. Quite a nice example of how everything is working. I also discussed how adaptable that made the architecture, how pools of popular request handlers could be formed with ease, and how new request handlers can be added without modifying the source of the flexController, quite magic!