private void decodeSelection(final FacesContext context, final Sheet sheet, final String jsonSelection) {
        if (LangUtils.isValueBlank(jsonSelection)) {
            return;
        }

        try {
            // data comes in: [ [row, col, oldValue, newValue] ... ]
            final JSONArray array = new JSONArray(jsonSelection);
            sheet.setSelectedRow(array.getInt(0));
            sheet.setSelectedColumn(sheet.getMappedColumn(array.getInt(1)));
            sheet.setSelectedLastRow(array.getInt(2));
            sheet.setSelectedLastColumn(array.getInt(3));
            sheet.setSelection(jsonSelection);
        }
        catch (final JSONException e) {
            throw new FacesException("Failed parsing Ajax JSON message for cell selection event:" + e.getMessage(), e);
        }
    }
private void decodeSelection ( final FacesContext context , final Sheet sheet , final String jsonSelection ) { if ( LangUtils . isValueBlank ( jsonSelection ) ) { return ; } try { final JSONArray array = new JSONArray ( jsonSelection ) ; sheet . setSelectedRow ( array . getInt ( 0 ) ) ; sheet . setSelectedColumn ( sheet . getMappedColumn ( array . getInt ( 1 ) ) ) ; sheet . setSelectedLastRow ( array . getInt ( 2 ) ) ; sheet . setSelectedLastColumn ( array . getInt ( 3 ) ) ; sheet . setSelection ( jsonSelection ) ; } catch ( final JSONException e ) { throw new FacesException ( "Failed parsing Ajax JSON message for cell selection event:" + e . getMessage ( ) , e ) ; } }
Decodes the user Selection JSON data

@param context
@param sheet
@param jsonSelection