private void handleExpandedState(final Request request) {

		String[] paramValue = request.getParameterValues(getId() + OPEN_REQUEST_KEY);
		if (paramValue == null) {
			paramValue = new String[0];
		}

		String[] expandedRowIds = removeEmptyStrings(paramValue);
		Set<String> newExpansionIds = new HashSet<>();

		if (expandedRowIds != null) {
			int offset = getItemIdPrefix().length();
			for (String expandedRowId : expandedRowIds) {
				if (expandedRowId.length() <= offset) {
					LOG.warn("Expanded row id [" + expandedRowId + "] does not have a valid prefix and will be ignored.");
					continue;
				}
				// Remove prefix to get item id
				String itemId = expandedRowId.substring(offset);
				// Assume the item id is valid
				newExpansionIds.add(itemId);
			}
		}
		setExpandedRows(newExpansionIds);
	}
private void handleExpandedState ( final Request request ) { String [ ] paramValue = request . getParameterValues ( getId ( ) + OPEN_REQUEST_KEY ) ; if ( paramValue == null ) { paramValue = new String [ 0 ] ; } String [ ] expandedRowIds = removeEmptyStrings ( paramValue ) ; Set < String > newExpansionIds = new HashSet < > ( ) ; if ( expandedRowIds != null ) { int offset = getItemIdPrefix ( ) . length ( ) ; for ( String expandedRowId : expandedRowIds ) { if ( expandedRowId . length ( ) <= offset ) { LOG . warn ( "Expanded row id [" + expandedRowId + "] does not have a valid prefix and will be ignored." ) ; continue ; } String itemId = expandedRowId . substring ( offset ) ; newExpansionIds . add ( itemId ) ; } } setExpandedRows ( newExpansionIds ) ; }
Handle the current expanded state.

@param request the request containing row expansion data.