ant2/eXceedVote — pull request #2 by dtinth (2012-11-14 17:53:43+00:00)
Title: DAO, DAO factory, and major structural change!

Exceed Vote Architecture Change for DAO
=======================================

Since the DAO is responsible for finding, inserting, and saving things to the database, so we take that responsibility out of VoteEvent.

VoteEvent will now only concern about the voting period and announcement time.

No more BallotBox. They are now handled by the DAO.

No more voter profile. We put it in Voter, because there is only one voter profile per voter.

The association has been switched from top down to bottom up. Then we use DAO to query top down.

All domain model class will become Java bean, so we always have default constructor for these classes.

A Design Mistake
-----------------------
The motivation for this (big) change is this: we made the domain model classes too smart that they are having too many responsibilities...

Now, the domain model classes are just entity classes that contain data for passing around, while process classes (facade) and other helper classes (such as BallotSubmitter) will do these extra smart things.

62 changed files... wow that's a lot....