Salve Galera…
Estou com um problema pra usar uma instancia de um objeto com o @Inject
Crei uma classe bean que é instanciada em um evento de uma página JSF
E tenho um outro bean que vou precisar dessas informações.
Acredito que o a solução seria usar o @Inject
Minha classes estão assim:
Removi get/set para o exemplo:
import java.io.Serializable;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import org.jboss.seam.annotations.Name;
@Name("gridDataModel")
public class GridDataModel<T> implements Serializable{
private static final long serialVersionUID = 1L;
public String ModelProperty;
public Class<?> clazz;
public List<String> colModels;
public List<String> colNames;
public List<T> listData;
public GridDataModel() { }
@PostConstruct
public void Init() {
setColModels(new ArrayList<String>());
setColNames(new ArrayList<String>());
}
}
import java.util.List;
import javax.inject.Inject;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.Consumes;
import org.apache.commons.lang.StringUtils;
import org.codehaus.jettison.json.JSONArray;
import org.codehaus.jettison.json.JSONException;
import org.codehaus.jettison.json.JSONObject;
import com.example.datamodel.GridDataModel;
import com.powerlogic.jcompany.comuns.PlcArgVO;
import com.powerlogic.jcompany.comuns.PlcBaseContextVO;
import com.powerlogic.jcompany.comuns.PlcException;
import com.powerlogic.jcompany.comuns.PlcRuntimeException;
import com.powerlogic.jcompany.comuns.facade.IPlcFacade;
import com.powerlogic.jcompany.config.controle.colaboracao.PlcConfigGrupoControle;
import com.powerlogic.jcompany.config.controle.colaboracao.PlcConfigSelecao;
import com.powerlogic.jcompany.config.controle.colaboracao.PlcConfigArgumento.Operador;
import com.powerlogic.jcompany.config.dominio.PlcConfigGrupoAgregacao;
import com.powerlogic.jcompany.controle.rest.api.qualifiers.QPlcAtual;
import com.powerlogic.jcompany.controle.rest.api.qualifiers.QPlcControleNome;
import com.powerlogic.jcompany.controle.rest.api.qualifiers.QPlcControleQualificador;
import com.powerlogic.jcompany.controle.rest.api.qualifiers.QPlcDefault;
import com.powerlogic.jcompany.controle.rest.api.qualifiers.QPlcHttpParam;
import com.powerlogic.jcompany.controle.rest.api.stereotypes.SPlcControle;
/**
* @param <T>
*/
@SPlcControle
@QPlcControleNome("grid")
@QPlcControleQualificador("*")
public class PlcBaseGridControle<T> extends PlcBaseDinamicoControle {
@Inject
protected HttpServletRequest request;
@Inject @QPlcAtual
protected PlcBaseContextVO context;
@Inject @QPlcAtual
protected PlcConfigGrupoAgregacao configuracao;
@Inject @QPlcAtual
protected PlcConfigGrupoControle configGrupoControle;
@Inject @QPlcDefault
protected IPlcFacade facade;
@Inject @QPlcHttpParam("page") @QPlcDefault("1")
protected Integer page;
@Inject @QPlcHttpParam("rows") @QPlcDefault("10")
protected Integer rows;
@Inject @QPlcHttpParam("sidx")
protected String orderBy;
@Inject @QPlcHttpParam("sord")
protected String order;
@Inject @QPlcHttpParam("filters")
protected String filters;
@Inject
protected GridDataModel<T> gridDataModel;
private Integer total = null;
@Consumes("application/json")
@SuppressWarnings("unchecked")
@Override
public void recuperaColecao() {
...
// nesse ponto eu preciso de gridDataModel, mas o objeto esta nulo;
}
}
no método recuperaColecao, com o debug eu vi que a propriedade gridDataModel esta nula.
O que eu posso esta fazendo de errado?
Obrigado