-
-
Notifications
You must be signed in to change notification settings - Fork 27k
Implement DAO Factory pattern #3282
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
PR SummaryThis PR implements the DAO Factory pattern, providing flexible data access by switching between H2, Mongo, and JSON flat file data sources. It includes a Changes
autogenerated by presubmit.ai |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✅ LGTM!
Review Summary
Commits Considered (8)
Files Processed (24)
- dao-factory/README.md (1 hunk)
- dao-factory/etc/dao-factory.png (0 hunks)
- dao-factory/etc/dao-factory.puml (1 hunk)
- dao-factory/pom.xml (1 hunk)
- dao-factory/src/main/java/com/iluwatar/daofactory/App.java (1 hunk)
- dao-factory/src/main/java/com/iluwatar/daofactory/CustomException.java (1 hunk)
- dao-factory/src/main/java/com/iluwatar/daofactory/Customer.java (1 hunk)
- dao-factory/src/main/java/com/iluwatar/daofactory/CustomerDAO.java (1 hunk)
- dao-factory/src/main/java/com/iluwatar/daofactory/DAOFactory.java (1 hunk)
- dao-factory/src/main/java/com/iluwatar/daofactory/DAOFactoryProvider.java (1 hunk)
- dao-factory/src/main/java/com/iluwatar/daofactory/DataSourceType.java (1 hunk)
- dao-factory/src/main/java/com/iluwatar/daofactory/FlatFileCustomerDAO.java (1 hunk)
- dao-factory/src/main/java/com/iluwatar/daofactory/FlatFileDataSourceFactory.java (1 hunk)
- dao-factory/src/main/java/com/iluwatar/daofactory/H2CustomerDAO.java (1 hunk)
- dao-factory/src/main/java/com/iluwatar/daofactory/H2DataSourceFactory.java (1 hunk)
- dao-factory/src/main/java/com/iluwatar/daofactory/MongoCustomerDAO.java (1 hunk)
- dao-factory/src/main/java/com/iluwatar/daofactory/MongoDataSourceFactory.java (1 hunk)
- dao-factory/src/main/resources/logback.xml (1 hunk)
- dao-factory/src/test/java/com/iluwatar/daofactory/AppTest.java (1 hunk)
- dao-factory/src/test/java/com/iluwatar/daofactory/DAOFactoryTest.java (1 hunk)
- dao-factory/src/test/java/com/iluwatar/daofactory/FlatFileCustomerDAOTest.java (1 hunk)
- dao-factory/src/test/java/com/iluwatar/daofactory/H2CustomerDAOTest.java (1 hunk)
- dao-factory/src/test/java/com/iluwatar/daofactory/MongoCustomerDAOTest.java (1 hunk)
- pom.xml (2 hunks)
Actionable Comments (0)
Skipped Comments (0)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✅ LGTM!
Review Summary
Commits Considered (1)
- 9afad6d: add pom.xml
Files Processed (24)
- dao-factory/README.md (1 hunk)
- dao-factory/etc/dao-factory.png (0 hunks)
- dao-factory/etc/dao-factory.puml (1 hunk)
- dao-factory/pom.xml (1 hunk)
- dao-factory/src/main/java/com/iluwatar/daofactory/App.java (1 hunk)
- dao-factory/src/main/java/com/iluwatar/daofactory/CustomException.java (1 hunk)
- dao-factory/src/main/java/com/iluwatar/daofactory/Customer.java (1 hunk)
- dao-factory/src/main/java/com/iluwatar/daofactory/CustomerDAO.java (1 hunk)
- dao-factory/src/main/java/com/iluwatar/daofactory/DAOFactory.java (1 hunk)
- dao-factory/src/main/java/com/iluwatar/daofactory/DAOFactoryProvider.java (1 hunk)
- dao-factory/src/main/java/com/iluwatar/daofactory/DataSourceType.java (1 hunk)
- dao-factory/src/main/java/com/iluwatar/daofactory/FlatFileCustomerDAO.java (1 hunk)
- dao-factory/src/main/java/com/iluwatar/daofactory/FlatFileDataSourceFactory.java (1 hunk)
- dao-factory/src/main/java/com/iluwatar/daofactory/H2CustomerDAO.java (1 hunk)
- dao-factory/src/main/java/com/iluwatar/daofactory/H2DataSourceFactory.java (1 hunk)
- dao-factory/src/main/java/com/iluwatar/daofactory/MongoCustomerDAO.java (1 hunk)
- dao-factory/src/main/java/com/iluwatar/daofactory/MongoDataSourceFactory.java (1 hunk)
- dao-factory/src/main/resources/logback.xml (1 hunk)
- dao-factory/src/test/java/com/iluwatar/daofactory/AppTest.java (1 hunk)
- dao-factory/src/test/java/com/iluwatar/daofactory/DAOFactoryTest.java (1 hunk)
- dao-factory/src/test/java/com/iluwatar/daofactory/FlatFileCustomerDAOTest.java (1 hunk)
- dao-factory/src/test/java/com/iluwatar/daofactory/H2CustomerDAOTest.java (1 hunk)
- dao-factory/src/test/java/com/iluwatar/daofactory/MongoCustomerDAOTest.java (1 hunk)
- pom.xml (1 hunk)
Actionable Comments (0)
Skipped Comments (0)
|
Pull Request Template
What does this PR do?
This pull request implements the DAO Factory pattern, which demonstrates how the application should be switch between three different types of data sources (H2, Mongo, Json flat file). It includes code documented implementation, comprehensive tests, detailed documentation.
Key features
Related Issue
Closes #1270