Java Enterprise govnokod programming
Увидел тут настоящий энтерпрайз in action.
Когда-то давно, задолго до моего появления на проекте, тут в одном модуле сделали такую интересную задумку, что Product сам в себе ничего не хранит, а на каждый чих лазит в репозиторий, для чего держит у себя внутри JCR ноду и каждый метод кидает чеканутый RepositoryException. Такой, знаете, Dto is Dao, индусы кружатся в ритме вальса.
Допустим, случилася такая оказия, что продукт мы получили в одном месте, полезли за пропертей в другом, а он уже из репозитория на тот момент удалён.
Не беда, мы же правильно написали код и покрыли, блядь, каждый вызов проперти трай-кетч блоком, нам же не лень, мы же очень упорные индусы.
А теперь внимание, вопрос!
Как нам хотя бы в кетч блоке залогировать "с продуктом таким-то приключалася несуразица, примите меры/будьте начеку", если он из репозитория удалён, и из репозитория взять на этот момент уже ничего нельзя — ни имени продукта, ни его идентификатора, ни пути, вообще ничегошеньки!