Como recuperar dados de um registro

0 respostas
D

Bom dia :smiley:

Criei uma LinkedList para inserir ela numa tabela através do comando:

public ActionForward insert(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws WebActionException, GpbrBusinessException {
        BusinessDelegate delegate = getBusinessDelegate();
        Serializable serializable = null;
        Collection persistCollection = new LinkedList();
        SoftwareVO softwareVO = (SoftwareVO) ((PersistentObjectGenerate) form).getPersistentObj(); 
        persistCollection.add(softwareVO);
        persistCollection.addAll(softwareVO.getSoftwareFornecedor());
        persistCollection.addAll(softwareVO.getSoftwareResponsavel());
        persistCollection.addAll(softwareVO.getSoftwareUsuario());
        try {
            serializable = delegate.insert(persistCollection);
        } catch (GpbrPersistException e) {
            throw new WebActionException("Erro ao inserir registro", e);
        } catch (GpbrBusinessException e) {
            throw e;
        }
        persistedObject(mapping, form, request, response, serializable);
        cleanSession(mapping, form, request);
        request.setAttribute(BasicAction.MESSAGE_ATTRIBUTE, "Inclusão realizada com sucesso!");
        return dispatch(mapping, form, request, response, CommandTypeConstants.INSERIR);
    }

E no VO pai, a list está da seguinte maneira:

public class SoftwareVO extends ValueObject {
    public Integer id;
    private List softwareFornecedor;

    public List getSoftwareFornecedor() {
		return softwareFornecedor;
	}

	public void setSoftwareFornecedor(List softwareFornecedor) {
		this.softwareFornecedor = softwareFornecedor;
	}
    public void setId(Integer id) {
    	if(softwareFornecedor != null) {
    		Iterator i = softwareFornecedor.iterator();
    		while(i.hasNext()) {
    			SoftwareFornecedorVO softwareFornecedor = (SoftwareFornecedorVO) i.next();
    			softwareFornecedor.setCodSoftware(id);
    		}
    	}
        this.id = id;
    }
    public String[] getRelationshipAttributes() {
        return new String[] {"softwareFornecedor"};
     }
}

Tem também o VO filho, que é quem mapeia as variáveis para a tabela:

public class SoftwareFornecedorVO extends SoftwareVO {
	public Integer codSoftware;
	public Integer codFornecedor;
	
	public Integer getCodSoftware(){
		return codSoftware;
	}
	
	public void setCodSoftware(Integer codSoftware){
		this.codSoftware = codSoftware;
	}
	
	public Integer getCodFornecedor() {
		return codFornecedor;
	}
	
	public void setCodFornecedor(Integer codFornecedor){
		this.codFornecedor = codFornecedor;
	}
}

E no Form, está da seguinte maneira:

public class SoftwareForm extends FormBean {
    private String id = "";
    private String[] fornec;
    public Serializable getPersistentObj() {
        SoftwareVO softwareVO = new SoftwareVO();
        List listSoftwareFornecedor = new ArrayList();
        for(int i = 0; fornec != null && i < fornec.length; i++) {
        	String codFornecedor = fornec[i];
        	SoftwareFornecedorVO softwareFornecedor = new SoftwareFornecedorVO();
        	softwareFornecedor.setCodFornecedor(Integer.valueOf(codFornecedor));
        	listSoftwareFornecedor.add(softwareFornecedor);
        }
        softwareVO.setSoftwareFornecedor(listSoftwareFornecedor);
        if (StringUtils.trimToNull(id) != null) {
        	softwareVO.setId(NumberUtils.createInteger(id));
        }
        return softwareVO;
        
    }

    public String getId() {
    	return id;
    }
    
    public void setId(String id){
    	this.id = id;
    }
    public String[] getFornec(){
    	return fornec;
    }
   
    public void setFornec(String[] fornec){
    	this.fornec = fornec;
    }
}

Isso é o que eu faço para inserir, minha duvida é como que eu posso recuperar os dados da tabela e criar na Action, um método para que eles sejam recuperados e inseridos no “softwareFornecedor” novamente…

Valew

[]'s

Criado 8 de agosto de 2006
Respostas 0
Participantes 1