Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Класс точно всегда будет только из одного потока вызываться?
Почему инстанциируете Calendar, а не Date?
То что сходу бросилось в глаза:
if (myProvider == null) {
...Будет некорректно работать в том случае если в эту строку одновременно придут два потока. Сразу по большому количеству причин.
2 — статики. Я не знаю что у вас за ограничения, но в целом статические переменные — плохая идея.
3 -
public static String now() {
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT_NOW);
return sdf.format(cal.getTime());
}
в то время как можно было использовать просто new SimpleDateFormat(DATE_FORMAT).format(new Date())
Я особенно не вчитывался в код — предметная область мне незнакома, но вот эти штуки сходу глаз режут.
Кроме того режут глаз комментарии в коде, которые были бы не нужны, если бы гигантский метод был разбит на методы с говорящими названиями.
Представление данных SAP R/3 в Oracle Database с помощью SAP Java Connector