Как расширить рефакторинг переименования 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 запросит у вас новое значение, которое будет заменять заштрихованную строку.

Другие вопросы по тегам