Как расширить рефакторинг переименования Eclipse для запуска другого рефакторинга после его завершения
Я пытаюсь расширить рефакторинг переименования eclipse для вызова другого рефакторинга переименования.
public class Person {
...
}
public class PersonDAO {
public List<Person> getPersonByName(String name) {
...
}
}
После переименования класса Person в User я хочу методы, такие как getPersonByName
быть переименованным в getUserByName
,
Я расширил RenameParticipant и попытался сделать это с помощью рефакторинга переименования JDT и ASTRewrite.
Проблема в том, что изменения, которые я создаю, конфликтуют с исходными изменениями рефакторинга переименования.
Я не мог использовать postCreateChange
(кажется, базовый процессор только возвращает ноль) и теперь я застрял.
Буду признателен за любую оказанную помощь.
2 ответа
Лучшие предложения:
1) Используйте Hibernate. Затем вы будете использовать Criteria API, вам не нужно будет избыточно указывать "Person", и вы можете прикреплять другие ограничения / критерии по модульному принципу - хорошо для страниц списка / поиска.
2) Вызовите свой API getByName(). Список people = personDao.getPersonByName("...") уже несколько раз повторяется.
Все это выглядит как "неправильный способ" выполнения DAO, доступа к базе данных или постоянства, что я видел в предыдущих проектах. Комбинация излишне многословных, но негибких критериев и критериев низкой полезности просто напоминает мне о написанном вручную упорстве или плохом обслуживании сервисов в середине 90-х.
Нет возможности изменить строку "Персона", определенную в методах, новым значением "Пользователь" с рефакторингом.
Но вы можете использовать Ctrl+H, чтобы найти во всей рабочей области нужную строку и заменить ее новым значением.
Когда вы нажмете кнопку "Заменить", Eclipse запросит у вас новое значение, которое будет заменять заштрихованную строку.