josef-core change log

Release 3.2.1

Source jar and javadoc jar is generated upon a "mvn deploy" command.

UKSortCodeRange.txt
Updated with information that will be valid from January 9, 2017. More info is available at: https://www.vocalink.com/customer-support/modulus-checking/
org.josef.util.Iso3166Country
Changed enum name CZECH_REPUBLIC to CZECHIA. This caused changes in other files that used this enum.

org.josef.jpa.AbstractEntity
Removed the equals and hashCode methods from this class. Search for: should-i-write-equals-methods-in-jpa-entities on StackOverflow for an explanation.

org.josef.util.CodeDescription
org.josef.util.LocalizableEnumeration
Changed the code member field from Object to Serializable to make this class Serialiazble.

org.josef.util.Formatter
Restored the German translations.

org.josef.util.Iso3166Country
Updated the description of the country woth code 'CZ'.

org.josef.finance.UKSortCode
The UK sort codes were not properly read from the sort codes text file! Notice that this does not influence the validity of sort code/bank account combinations, only the determination of what sort code belongs to what bank fails.

All classes
Logging now uses lambda expressions

org.josef.util.CodeDescription
Added a method to perform a case insensitive comparison on description.

log4j2.xml
Has been renamed to log4jconfig.xml. This prevents programs that are using Josef, from automatically picking up Josef's log4j configuration file. When you need the configuration file use: -Dlog4j.configurationFile='path/log4j2config.xml'

org.josef.finance.UKBankAccountNumber
Updated the check on sortcode/bankaccount to ignore unhandled exceptions and to execute the second algorithm in case the first one fails. The first exceptions (1 and 5) are now being handled.

The different sort codes, and sort code ranges are updated to 2016-06-13.

org.josef.finance.UKSortCodeSubstitution
Now uses Strings instead of Integers.

Release 3.2.0

org.josef.web.servlet.GZipFilter
Added this class and some supporting classes to zip responses.

org.josef.util.GlobalSettings
Added application server Url to the settings.

Moved classes with a @PersistContext to josef-ejb since TomEE would not deploy josef-demo-web with these classes in josef-core.

Switched to Log4J/2 from JUL.

Release 3.1.1

org.josef.util.CReflection
The method getAllFields does not return synthetic fields anymore. Synthetic fields may be added by code coverage tools for example. Jacoco actually made the unit test for CReflection fail, hence the change.

org.josef.Iso3166Country.properties
Changed description (English) of Bonaire, Saint Eustatius and Saba as suggested by the ISO3166 group.

org.josef.science.math.CByte
Added method to convert a byte to two hexadecimal characters. Added method to convert a byte array to two hexadecimal characters per byte.

org.josef.util.security
Added new Hash class that supports hashing using MessageDigest.

org.josef.web.servleAbstractHttpServlet
Synchronization was wrong and has been fixed. In the process the service method was changed since currently this method won't be called when the server is shutting down.

org.josef.util.ParameterName
Introduced this new class which contains all parameter names of methods from the util package, that are used in a CDebug.checkParameter...(...) statement. Usage of this class voids duplicate strings.

org.josef.util.Formatter
The parseDateTime(String, String) method now correctly parses short date/times and date only input. The parseDecimal method did not add a message when group separators were used incorrectly. An empty message was returned in the InvalidArgumentException.

Release 3.1.0 (Bumped the minor version after creating the j2ee6 branch)

org.josef.util.FormatterFactory
Now contains a new createDateFormat method that is now used by: formatDate(final Date date, final String pattern). Previously the formatDate used a standard SimpleDateFormat object that did not take localized pattern characters into account, resulting in an exception, stating that 'jjjj' is not a valid pattern character.

Added a new resource bundle key to get a localized pattern for a date/time that includes hours, minutes and seconds. Corrected an error in the Dutch localized pattern characters that caused milliseconds to be displayed instead of the number of seconds.

org.josef.util.CReflection
Instead of the "old" IllegalAccessException, InvocationTargetException and NoSuchMethodException the more generic RefelctiveOperationException is used. This results in cleaner code.

org.josef.util.CReflection
Instead of the "old" IllegalAccessException, InvocationTargetException and NoSuchMethodException the more generic ReflrctiveOperationException is used. This results in cleaner code.