2012-06-05 2 views
1

Я работаю над устаревшим кодом, который имеет несколько несуществующих запросов базы данных в его файлах отображения ibatis. Я надеюсь подключить сопоставления ibatis обратно к файлам класса java, или, точнее, найти, какие сопоставления не вызываются java.Проверить процедуры Ibatis, вызванные Java

Целью является удаление вызовов из файла сопоставления и процедур из базы данных.

Прямо сейчас я не вижу другого способа, кроме как разобрать файл сопоставления, получить идентификатор java каждой процедуры, а затем выполнить поиск в файлах классов java, где он может быть вызван.

Должен ли кто-нибудь это делать раньше? Или может кто-нибудь увидеть лучший способ решить эту проблему?

+0

Что вы понимаете, анализируя файлы сопоставления? вы имеете в виду, что вы открываете его и получаете все идентификаторы, копируя их в текстовый файл, а затем поочередно просматривая их в рабочей области eclipse с помощью Ctrl + H? – GingerHead

+0

Ну, я намеревался автоматизировать процесс, чтобы его можно было перезапустить после будущих выпусков. Поэтому у меня был бы скрипт, который читал бы файл сопоставления - когда он нажимал на процедуру (), он бы взорвал строку на id и т. Д., Чтобы выбрать идентификатор процедуры. Затем я могу grep исходный каталог java, за исключением файла сопоставления, если он не найден, распечатайте параметрId и вызванную процедуру. –

ответ

2

Вы можете сделать следующее:

Написать небольшой Java программу, которая:

  1. ищет все файлы конфигурации iBatis
  2. получает все идентификаторы и сохраняется их в файле (или в коллекция)
  3. Ищет все .java-файлы на уровне персистентности (которые начинаются с имен пакетов уровня сохранения)
  4. Всякий раз, когда он находит Идентификатор используется в любом классе инерционности удаляет его (из коллекции/файла)
  5. В конце он будет распечатать (в файл) все идентификаторы не найдены и их имена файлов конфигурации

Это очень легко чтобы написать такую ​​программу, она просто займет максимум 15 минут и сэкономит вам дни.

+0

Спасибо @ Майк Майерс - Я думал о том, чтобы сделать два шага как один и излишне усложнять процесс. Это упростит его и сделает его более читаемым. –

+1

Я объединил программу java, чтобы рекурсивно найти файлы ibatis, извлечь процедуры и затем рекурсивно проверить java-файлы для процедур и удалить их из списка, если они найдены. Единственное, что я задаю себе, это то, что это действительно хороший шаблон - это скорее интенсивный поток данных, но без использования скриптов и использования grep или чего-то внутреннего для java для поиска файлов. Я не вижу лучшего варианта. –