$25
1. Requirements
Consider an application OrderManagement for processing customer orders for a warehouse. Relational databases are used to store the products, the clients and the orders. Furthermore, the application should be structured in packages using a layered architecture presented in the support material
The application should allow processing commands from a text file given as argument, perform the requested operations, save the data in the database, and generate reports in pdf format. Other classes and packages can be added to implement the full functionality of the application.
Implement a parser to read commands in the Presentation layer (instead of the standard graphical user interface), and a pdf file generator to generate reports, according to the following examples:
of the basic commands to be considered for the application
Command name
Command Syntax
Add client to the database
Insert client: Ion Popescu, Bucuresti
Insert in the database a new client with name Ion Popescu and address Bucuresti
Delete Client from the database
Delete client: Ion Popescu
Delete from database the client with name Ion Popescu
Add product to the database
Insert product: apple, 20, 1
Add product apple with quantity 20 and price 1
Delete product from the database
Delete product: apple
Delete product apple from database
Create order for client
Order: Ion Popescu, apple, 5
Create order for Ion Popescu, with apple quantity 5. Also update the apple stock to 15. Generate a bill in pdf format with the order and total price of 5
Generate reports
Report client
Report order
Report product
Generate pdf reports with all clients/orders/products displayed in a tabular form. The reports should contain the information corresponding to the entity for which reports are asked (client, order or product) returned from the database by a SELECT * query, displayed in a table in a PDF file.
• SQL dump file containing the SQL statements for (1) creating the database and the tables,
(2) populating the tables with the corresponding data.
. Bibliography
• Connect to MySql from a Java application o http://www.mkyong.com/jdbc/how-to-connect-to-mysql-with-jdbc-driver-java/ o http://theopentutorials.com/tutorials/java/jdbc/jdbc-mysql-create-database-example/
• Layered architectures o https://dzone.com/articles/layers-standard-enterprise
• Reflection in Java o http://tutorials.jenkov.com/java-reflection/index.html
• Creating PDF files in Java o https://www.baeldung.com/java-pdf-creation
• JAVADOC
o https://www.baeldung.com/javadoc
• SQL dump file generation o https://dev.mysql.com/doc/workbench/en/wb-admin-export-import-management.html o https://dev.mysql.com/doc/refman/5.7/en/using-mysqldump.html