Problemas com o converter da listShuttle

0 respostas
EuclidesFilizola

Boa tarde pessoal,

estou com um problema que é o seguinte:

eu tenho a listshuttle abaixo:

<rich:listShuttle sourceValue="#{editarConvenio.listaSetores}" targetValue="#{editarConvenio.listaDeSetoresSelecionados}" var="item" copyAllControlLabel="inserir todos" 
						copyControlLabel="inserir" removeControlLabel="remover" downControlLabel="abaixo" upControlLabel="acima" topControlLabel="inicio"
						bottomControlLabel="final" removeAllControlLabel="remover todos" converter="setorConverter">
						<rich:column>
						<f:facet name="header" >
						<h:outputText value="Grupo"/>
						</f:facet>
						<h:outputText value="#{item.siglaSetor}" />
						</rich:column>
						</rich:listShuttle>

E estou tentando fazer o converter para ela, porém não está funcionando.

o converter é o codigo abaixo:

private int index = -1;  
	    
	      /* (non-Javadoc) 
	       * @see javax.faces.convert.ConvertergetAsObject(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.String) 
	       */  
	      public Object getAsObject(FacesContext ctx, UIComponent component, String value) {  
	    
	    	  
	    	  for (Setor setor : getLista(component)) {
				
	    	
	    		 return setor;
	    		  
			}	  
	                
	    
	          return null;  
	      }  
	    
	      /* (non-Javadoc) 
	       * @see javax.faces.convert.ConvertergetAsString(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.Object) 
	       */  
	      public String getAsString(FacesContext ctx, UIComponent component, Object value) {  
	          index++;  
	          return String.valueOf(index);  
	      }  
	     
	      
	      /** 
	       * Obtem o SelecItem de acordo com a opção selecionada pelo usuário 
	       */  
	     /* protected Setor getSelectedItemByIndex(UIComponent component, int index) {  
	    
	          List<Setor> items = this.getSelectItems(component);  
	          int size = items.size();  
	    
	          if (index > -1  
	                  && size > index) {  
	              return items.get(index);  
	          }  
	    
	          return null;  
	      } */ 
	    
	      
	      protected List<Setor> getLista(UIComponent component){
	    	  
	    	  List<Setor> items = new ArrayList<Setor>();  
	    	     
	           int childCount = component.getChildCount();  
	           if (childCount == 0)  
	             return items;  
	     
	           List<UIComponent> children = component.getChildren();  
	           for (UIComponent child : children) {
	        	   
	        	   System.out.println(child.getClass());
	        	   
	        	   
	               if (child instanceof HtmlColumn) {  
	                   this.addSelectItem((HtmlColumn) child, items);  
	               }   
	           }  
	     
	           return items;  
	    	  
	    	  
	      }
	      
	       
	    
	      protected void addSelectItem(HtmlColumn uiItem, List<Setor> items) {  
	    
	          boolean isRendered = uiItem.isRendered();  
	          if (!isRendered) {  
	              items.add(null);  
	              return;  
	          }  
	    
	          Object value = uiItem.getChildren();  
	          Setor item = new Setor();  
	          
	           if (value instanceof Setor) {  
	        	               item = (Setor) value;  
	        	           }  
	        	     
	        	           items.add(item); 
	          
	      }

Alguém para me dar uma força ?

Criado 24 de maio de 2010
Respostas 0
Participantes 1