diff --git a/config/checkstyle/suppressions.xml b/config/checkstyle/suppressions.xml index e5bb32109a..5ea4e682ec 100644 --- a/config/checkstyle/suppressions.xml +++ b/config/checkstyle/suppressions.xml @@ -25,7 +25,6 @@ - - + \ No newline at end of file diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/displaydata/table/MUITable.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/displaydata/table/MUITable.java index ffcca8849c..c398afd630 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/displaydata/table/MUITable.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/displaydata/table/MUITable.java @@ -37,32 +37,48 @@ public class MUITable extends UIBaseElement implements HasAssert @Override public void setup(Field field) { - boolean isUI = FillFromAnnotationRules.fieldHasAnnotation(field, UI.class, MUITable.class); + boolean hasUI = FillFromAnnotationRules.fieldHasAnnotation(field, UI.class, MUITable.class); if (!FillFromAnnotationRules.fieldHasAnnotation(field, JMUITable.class, MUITable.class) - && !isUI) { + && !hasUI) { throw Exceptions.runtimeException(String.format("Table '%s' initialisation failed", core().getName())); } - JMUITable j = field.getAnnotation(JMUITable.class); - Class ui = JMUITable.class; + if (hasUI) { + setupFromUI(field); + } else { + setupFromJMUITable(field); + } + } + + private void setupFromUI(Field field) { + Class uiDefaults = JMUITable.class; try { - base().setLocator(isUI ? field.getAnnotation(UI.class).value() : j.root()); - rowLocator = isUI ? (String) ui.getDeclaredMethod("row").getDefaultValue() : j.row(); - columnLocator = isUI ? (String) ui.getDeclaredMethod("cell").getDefaultValue() : j.cell(); - columnMenuLocator = isUI ? (String) ui.getDeclaredMethod("columnMenu").getDefaultValue() : j.columnMenu(); - scrollableElementLocator = isUI ? "" : j.scroll(); - tableHeader = isUI ? new MUITableHeader((JMUITableHeader) ui.getDeclaredMethod("header").getDefaultValue()) - : new MUITableHeader(j.header()); - tableFooter = isUI ? new MUITableFooter((JMUITableFooter) ui.getDeclaredMethod("footer").getDefaultValue()) - : new MUITableFooter(j.footer()); - columnFilter = isUI ? new MUITableColumnFilter((JMUITableColumnFilter) ui.getDeclaredMethod("columnFilter").getDefaultValue()) - : new MUITableColumnFilter(j.columnFilter()); - columnConfig = isUI ? new MUITableColumnConfig((JMUITableColumnConfig) ui.getDeclaredMethod("columnConfig").getDefaultValue()) - : new MUITableColumnConfig(j.columnConfig()); + base().setLocator(field.getAnnotation(UI.class).value()); + rowLocator = (String) uiDefaults.getDeclaredMethod("row").getDefaultValue(); + columnLocator = (String) uiDefaults.getDeclaredMethod("cell").getDefaultValue(); + columnMenuLocator = (String) uiDefaults.getDeclaredMethod("columnMenu").getDefaultValue(); + scrollableElementLocator = ""; + tableHeader = new MUITableHeader((JMUITableHeader) uiDefaults.getDeclaredMethod("header").getDefaultValue()); + tableFooter = new MUITableFooter((JMUITableFooter) uiDefaults.getDeclaredMethod("footer").getDefaultValue()); + columnFilter = new MUITableColumnFilter((JMUITableColumnFilter) uiDefaults.getDeclaredMethod("columnFilter").getDefaultValue()); + columnConfig = new MUITableColumnConfig((JMUITableColumnConfig) uiDefaults.getDeclaredMethod("columnConfig").getDefaultValue()); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } } + private void setupFromJMUITable(Field field) { + JMUITable j = field.getAnnotation(JMUITable.class); + base().setLocator(j.root()); + rowLocator = j.row(); + columnLocator = j.cell(); + columnMenuLocator = j.columnMenu(); + scrollableElementLocator = j.scroll(); + tableHeader = new MUITableHeader(j.header()); + tableFooter = new MUITableFooter(j.footer()); + columnFilter = new MUITableColumnFilter(j.columnFilter()); + columnConfig = new MUITableColumnConfig(j.columnConfig()); + } + @JDIAction("Get '{name}' rows list") public List rows() { List rowList = core().finds(rowLocator).stream()