Opa! Eu to tentando implementar o componente ListShuttle do Rich faces de forma dinâmica. Eu consegui gerar ele certinho, passando o a lista a partir da base no source value e tal e ele tá sendo gerado certinho. O problema é o seguinte. Quando tento salvar a target list que o usuário criou a partir da source list, não to conseguindo recuperar ela. A lista com a qual configurei na geração do componente está sempre retornando null. Alguem sabe como poderia recuperar essa lista. Desde já agradeço. Abaixo segue mais ou menos como o componente foi gerado.
HtmlListShuttle listShuttle = (HtmlListShuttle)application.createComponent(HtmlListShuttle.COMPONENT_TYPE);
listShuttle.setId("listShuttle_" + id);
listShuttle.setListsHeight("200");
listShuttle.setSourceListWidth("300");
listShuttle.setTargetListWidth("300");
listShuttle.setSourceCaptionLabel(sourceCaptionLabel);
listShuttle.setTargetCaptionLabel(targetCaptionLabel);
listShuttle.setSourceValue(listHierarchy);
listShuttle.setTargetSelection(targetCollection);
listShuttle.setVar("item");
HtmlColumn columnLeft = (HtmlColumn)application.createComponent(HtmlColumn.COMPONENT_TYPE);
columnLeft.setWidth("200");
columnLeft.setStyle("font-family: Verdana; font-size: 10px; font-weight: bold; font-style: normal");
HtmlOutputLabel labelHeaderLeft = new HtmlOutputLabel();
labelHeaderLeft = (HtmlOutputLabel)application.createComponent(HtmlOutputLabel.COMPONENT_TYPE);
labelHeaderLeft.setValue(headerLeftLabel);
labelHeaderLeft.setStyle("font-family: Verdana; font-size: 10px; font-weight: bold; font-style: normal");
columnLeft.setHeader(labelHeaderLeft);
HtmlOutputLabel outputLabelLeft = (HtmlOutputLabel)application.createComponent(HtmlOutputLabel.COMPONENT_TYPE);
ValueBinding createValueBinding = application.createValueBinding("#{item.name}");
outputLabelLeft.setValueBinding("value", createValueBinding);
columnLeft.getChildren().add(outputLabelLeft);
listShuttle.getChildren().add(columnLeft);
Valeu!