Task #4793
closedduplicate code
100%
Description
методы isEnabled в
requality\src\java\com\unitesk\requality\eclipse\handlers\copypaste\EclipseCopyHandler.java
requality\src\java\com\unitesk\requality\eclipse\handlers\copypaste\EclipsePasteHandler.java
отличаются только константами "org.eclipse.ui.edit.copy" и "org.eclipse.ui.edit.paste". Эти же константы используются при создании хэндлеров в классах ReqMarker, JSEditor и ReportViewer:
handlerService
.activateHandler("org.eclipse.ui.edit.copy", new EclipseCopyHandler());
handlerService
.activateHandler("org.eclipse.ui.edit.paste", new EclipsePasteHandler());
Предлагаю:
1. Добавить в классы EclipseCopyHandler и EclipsePasteHandler публичные именованные константы для этих строк и именно их использовать в проекте.
2. Создать общий базовый класс, где объявить абстрактный виртуальный метод типа getCommandId(), который в наследниках возвращает необходимое значение.
3. Перенести метод isEnabled в общий базовый класс, заменив использование констант на вызов getCommandId()