Roland Haeder [Mon, 7 Sep 2015 13:29:44 +0000 (15:29 +0200)]
Well, if that is EJB, it sucks somehow: Logging not allowed and a complexer class structure leaves strange errors behind:
----------------------------------------
Caused by: java.lang.NoClassDefFoundError: [Lorg/mxchange/jcore/model/contact/gender/Gender;
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2570)
at java.lang.Class.privateGetPublicMethods(Class.java:2690)
at java.lang.Class.getMethods(Class.java:1467)
at org.glassfish.ejb.deployment.descriptor.EjbDescriptor.addAllInterfaceMethodsIn(EjbDescriptor.java:2577)
at org.glassfish.ejb.deployment.descriptor.EjbDescriptor.getLocalRemoteBusinessMethodDescriptors(EjbDescriptor.java:2530)
... 53 more
Caused by: java.lang.ClassNotFoundException: org.mxchange.jcore.model.contact.gender.Gender
----------------------------------------
Roland Haeder [Fri, 4 Sep 2015 12:51:33 +0000 (14:51 +0200)]
Preprared jcore for EJB applications:
- moved Gender into own sub package
- added utility class GenderUtils
- removed session-related stuff as this was a bad idea anyway
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Fri, 28 Aug 2015 10:09:19 +0000 (12:09 +0200)]
Continued:
- contacts are now fully comparable
- this project has double libraries and source packages, please try to fix it
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Thu, 27 Aug 2015 19:02:17 +0000 (21:02 +0200)]
Exclude field names starting with a dollar character + added dist.sh which helps me distributing the jcore.jar
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Thu, 27 Aug 2015 12:14:31 +0000 (14:14 +0200)]
Some changes:
- Moved sessionId + setter/getter to super class BaseFrameworkSystem
- added method isBundledInitialized()
- the data source identifier is now hard-coded
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Thu, 20 Aug 2015 12:16:55 +0000 (14:16 +0200)]
Added backend (unfinished) for datasources (JNDI). The usage of a Table Data Gateway Pattern allows the application to never "know" how the data is being stored or retrived from the database, it only gets its wanted objects back and stores them. Also the used pattern is simple (or simplier than) to understand. It also makes sure that the "business logic" classes is free of any SQL which makes it lesser dependent on SQL-based databases.
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Mon, 17 Aug 2015 07:19:37 +0000 (09:19 +0200)]
Replace multiple-added strings/objects into MessageFormat.format() call to reduce string objects in string pool + ignored them for internationalization
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Fri, 14 Aug 2015 22:02:56 +0000 (00:02 +0200)]
Continued with jcore:
- Added interface Logical for logical matches ...
- Continued with matches() method in SearchCriteria: Now only single column tests are supported, but more follow!
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Fri, 14 Aug 2015 21:05:09 +0000 (23:05 +0200)]
Long story, short purpose. Short story, long purpose ...
Well, String is stored in database, but some getter require Long or Float which cannot be casted. So a hard-code "casting" needs to be added ...
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Fri, 14 Aug 2015 18:28:50 +0000 (20:28 +0200)]
Continued with jcore: (refacturing)
- Added Apache commons jar
- Added missing license files
- getValueFromColumn() and setValueFromColumn() are now moved to Storeable (that they are in BaseFrameworkSystem and then needs to be overwritten again was bad OOP-ed style anyway).
- Also for this work, the type-hint for (mostly) instance must be changed to Storeable
- Added new exception CorruptedDatabaseFileException. This is thrown when the file is damaged
- Removed CorruptedDatabaseFileException() as StoreableCsv is now removed, too
-
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Fri, 14 Aug 2015 10:00:47 +0000 (12:00 +0200)]
Continued with jcore:
- Improved handling of null values in doInsertDataSet()
- Added emptyStringToNull() to DatabaseFrontend interface
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Fri, 14 Aug 2015 08:49:44 +0000 (10:49 +0200)]
Continued with jcore:
- Added method doInsertDataSet()
- Introduced getPreparedStatement()
- Added new constructor in DatabaseResult for status code and SQL warnings from previous executeQuery() call
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Thu, 13 Aug 2015 12:22:51 +0000 (14:22 +0200)]
Some additions to jcore:
- renamed isValueEqual() to isFieldValueEqual() as this method does check a class field (aka. attribute)
- now search criteria can be limit and skip found matches
- added support for string criteria
Roland Haeder [Thu, 13 Aug 2015 10:07:33 +0000 (12:07 +0200)]
A lot changes on jcore:
- Implemented doSelectByCriteria() in MySQL backend
- Close only connection in same backend if it is still open
- Added method size() to Result/DatabaseResult
- Moved member entrySet() in BaseCriteria to proper location
- Fixed comments of interface Criteria and SearchableCriteria
- Some trace/debug messages added
- Now database frontends have a new method getResultFromSet() which transforms a ResultSet (SQL) to a Result (jcore)
- Sorted class/interface imports
Signed-off-by:Roland Häder <roland@mxchange.org>