After completing this Project, you will have achieved the following:
Created a Model class to represent a DB row
Created a Managed Bean class to manipulate the Model class
Created a DAO class to manipulate the database
Created a JSF Application that supports Create – Read – Update – Delete lifecycle for instances of the Model class
Starting Project
You must use the file from Brightspace 20FAssignment1_starter.zip to start your solution – extract its contents to some work folder on your hard drive. Before you import the project into Eclipse, please change the name of the project to include your Student name and number (this is done in two places). Open the file pom.xml in your favourite text-editor (eg. Notepad++) and find the entry near the top of the file:
Additionally in the folder src/main/resource, there is a file called Bundle.properties which contains constants used in the UI – please change the default values for:
(Your name should be as it appears in ACSIS).
A bundle is bound to a variable in JSF, declared in the faces-config.xml file:
The starter project is an Eclipse Maven project. There is a screencast on Brightspace that shows how to import an existing Maven project into Eclipse (Note: it is from an earlier version of the course but it is still relevant) – choose the ‘Existing Maven Projects’ import wizard.
When you import the project, there is an ‘Advanced’ setting that you need to navigate to in order to use the ‘[name]’ template:
Create the CUSTOMER table on database using DBeaver (Eclipse ‘Perspective’)
In the Scripts folder, there is a file called customerDDL.sql – there are some ‘special’ fields (underline’d) that are not used in this assignment but will be used in Assignment 2:
CREATE TABLE CUSTOMER (
ID INTEGER NOT NULL IDENTITY,
FNAME VARCHAR,
LNAME VARCHAR,
EMAIL VARCHAR,
PHONENUMBER VARCHAR,
CREATED TIMESTAMP,
UPDATED TIMESTAMP,
VERSION INTEGER,
PRIMARY KEY (ID)
);
Your submission must include:
Code – completed project that compiles, has good indenting, not overly complicated and is efficient o the code must demonstrate your understanding of how a JSF Application works
Eclipse has an ‘export’ function to create an external ‘archive’ – i.e. a zip file – of your project. You must export the project to a file that follows the same naming conventions we used in the pom.xml: 040123456_StudentName_20FAssignment1.zip.
Code style: every class method and every member field needs Javadoc comments. Here are some example Javadocs:
Every class file has a multiline comment block at the top giving the name of the file (and typically the Instructor’s name, too) – you must add your Student Name and number:
Important – your name must appear at the top of each and every Java source code file submitted (otherwise you will lose marks for the coding portion of the Rubric)
You should NOT to do this at the top of the XHTML files – in fact, any additional artifacts at the top of those files will make the project fail to deploy
a Test Plan: this is a paper test plan, not actual running (JUnit) tests. Please submit a Word document that follows the following template:
Comments