From 768749473122873b5eca936e6f234a097c7a16e6 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Wed, 11 Nov 2015 09:54:24 -0500 Subject: [PATCH] IDEMPIERE-2935 New record on GridMode error on fields with DisplayLogic / minor defensive programming refactor --- .../webui/util/GridTabDataBinder.java | 32 +++++++++---------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/util/GridTabDataBinder.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/util/GridTabDataBinder.java index d7bbe12b78..e9d53bc503 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/util/GridTabDataBinder.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/util/GridTabDataBinder.java @@ -172,24 +172,22 @@ public class GridTabDataBinder implements ValueChangeListener { //Checks if the change in a field modifies the display logic in the dependant fields Object source = e.getSource(); - WEditor editor = (WEditor) source; - - if( editor != null ){ - + if (source != null && source instanceof WEditor) { + WEditor editor = (WEditor) source; ArrayList dependants = gridTab.getDependantFields(editor.getColumnName()); - - if ( dependants != null && !dependants.isEmpty() ) - if( editor.getComponent() != null ) //Editor - if( editor.getComponent().getParent() != null) //Cell - if( editor.getComponent().getParent().getParent() != null ) //Row - if( editor.getComponent().getParent().getParent().getParent() != null ) //Rows - if( editor.getComponent().getParent().getParent().getParent().getParent() != null ){ //Grid - Grid listBox = (Grid) editor.getComponent().getParent().getParent().getParent().getParent(); - RowRenderer renderer = listBox.getRowRenderer(); - GridTabRowRenderer gtr = (GridTabRowRenderer)renderer; - gtr.checkDependants(dependants); - - } + if (dependants != null + && !dependants.isEmpty() + && editor.getComponent() != null //Editor + && editor.getComponent().getParent() != null //Cell + && editor.getComponent().getParent().getParent() != null //Row + && editor.getComponent().getParent().getParent().getParent() != null //Rows + && editor.getComponent().getParent().getParent().getParent().getParent() != null //Grid + && editor.getComponent().getParent().getParent().getParent().getParent() instanceof Grid) { + Grid listBox = (Grid) editor.getComponent().getParent().getParent().getParent().getParent(); + RowRenderer renderer = listBox.getRowRenderer(); + GridTabRowRenderer gtr = (GridTabRowRenderer)renderer; + gtr.checkDependants(dependants); + } } } // ValueChange