Pedrosa 18 de mar. de 2009
De um new na sua classe:
new OutraClasse().metodoOutraClasse();
Patyjava 18 de mar. de 2009
Pedrosa,
Deu certo ao debugar, ele foi direto para o método só que nesta classe tem um atributo que faz referencia a outra classe: ex:
private ListDadosBean listdados;
public void recalcular() {
try {
listdados.setTotalPiorPersist(0.0);
quando eu entro nesta linha dá exception, pq ele reconhece listdados como null. Oq posso fazer prá resolver isso?
Obrigada!
diguix 18 de mar. de 2009
listdados.setTotalPiorPersist(0.0);
quando eu entro nesta linha dá exception, pq ele reconhece listdados como null. Oq posso fazer prá resolver isso?
Você deve instaciar o seu objeto listdados em algum momento da sua aplicação;
public void recalcular () {
try {
listadados = new ListDadosBean (); // AQUI
listdados . setTotalPiorPersist ( 0.0 );
Abs
renzonuccitelli 18 de mar. de 2009
O que vc pode fazer é passar uma referencia do objeto que executa o calculo para o Listener dos dois botoes.
ClasseCalculadora calculadora=new ClasseCalculdora();
Listener listenerBotao1=new Listener(calculadora);
Listener listenerBotao2=new Listener(calculadora);
Aí basta vc colocar cada listener no seu respectiovo botao.
Patyjava 18 de mar. de 2009
Na verdade eu faço referencia a ele assim:
private ListDadosBean listdados;
eu não instancio.
[]´s
renzonuccitelli 18 de mar. de 2009
Poste o seu código que fica mais fácil de te ajudar. Qdo vc diz que cada botao tem um método, o que vc quer dizer? Pq para executar açoes com botoes, em geral, se faz com o ActionListener…
Patyjava 18 de mar. de 2009
Olhe:
o cod está assim:
public void recalcular () {
try {
// Faturado
listdados . setTotalPiorPersist ( 0.0 );
listdados . setTotalProvavelPersist ( 0.0 );
listdados . setTotalMelhorPersist ( 0.0 );
for ( DashboardFaturadoTO to : [ b ] listdados . [ /b ] getDashboardFaturado ()) {
No momento em que entra neste for, ele reconhece todos atr e metodos como null e dá exception.
A classe está declarada assim:
private ListDadosBean listdados;
renzonuccitelli 18 de mar. de 2009
Vc alguma hora inicializou o atributo listDados? Se não, vai dar null poniter excepition msm. Em geral os atributos são inicializados no construtor ou é feito algum tipo de injeção de dependencia…
O ideal seria vc postar todo o código da classe que contém o método, não só o método em si.
Pedrosa 18 de mar. de 2009
Use o tag code para postar códigos aqui, sua lista vem zerada pois vc esta fazendo isso:
private ListDadosBean listdados
Vc precisa dar um new na sua lista ex:
public static void main ( String [] args ) {
List < String > lista = new ArrayList < String > ();
lista . add ( "teste" );
lista . add ( "teste2" );
for ( String result : lista ){
System . out . println ( result );
}
}
Patyjava 18 de mar. de 2009
O código está assim:
package com.borland.siteos.faces ;
public class DashboardFaces {
private static final long serialVersionUID = 1L ;
private Integer ano ;
public ListQuartersBean listq = new ListQuartersBean ();
private ListDadosBean listdados ;
private DashboardService service ;
private String titulopagina ;
public DashboardFaces ( DashboardService service ) {
super ();
this . service = service ;
}
public String initAdd () {
titulopagina = "Dashboard" ;
limpar ();
return "searchDashboard" ;
}
private void limpar () {
ano = new Integer ( 0 );
listdados = new ListDadosBean ( service );
this . listq = new ListQuartersBean ();
}
public void recalcular () {
try {
// Faturado
listdados . setTotalPiorPersist ( 0.0 );
listdados . setTotalProvavelPersist ( 0.0 );
listdados . setTotalMelhorPersist ( 0.0 );
for ( DashboardFaturadoTO to : listdados . getDashboardFaturado ()) {
if ( to . getPior () != null ) {
listdados . setTotalPiorPersist ( listdados . getTotalPiorPersist () + to . getPiorPersist ());
}
if ( to . getProvavel () != null ) {
listdados . setTotalProvavelPersist ( listdados . getTotalProvavelPersist ()
+ to . getProvavelPersist ());
}
if ( to . getMelhor () != null ) {
listdados . setTotalMelhorPersist ( listdados . getTotalMelhorPersist ()
+ to . getMelhorPersist ());
}
}
//Pendente Escopo Fechado
listdados . setTotalPendenteEscopoFechadoPior ( 0.0 );
listdados . setTotalPendenteEscopoFechadoProvavel ( 0.0 );
listdados . setTotalPendenteEscopoFechadoMelhor ( 0.0 );
double totalPendenteEscopoPiorDolar = 0 ;
double totalPendenteEscopoProvavelDolar = 0 ;
double totalPendenteEscopoMelhorDolar = 0 ;
for ( DashboardPendenteEscopoFechadoTO to : this . listdados . getDashboardPendenteEscopoFechado ()) {
if ( to . getPior () != null ) {
listdados . setTotalPendenteEscopoFechadoPior ( listdados . getTotalPendenteEscopoFechadoPior ()
+ to . getPior ());
totalPendenteEscopoPiorDolar += to . getDolar () != 0 ? to
. getPior ()
/ to . getDolar ()
: 0 ;
}
if ( to . getProvavel () != null ) {
listdados . setTotalPendenteEscopoFechadoProvavel ( listdados . getTotalPendenteEscopoFechadoProvavel ()
+ to . getProvavel ());
totalPendenteEscopoProvavelDolar += to . getDolar () != 0 ? to . getProvavel ()
/ to . getDolar ()
: 0 ;
}
if ( to . getMelhor () != null ) {
listdados . setTotalPendenteEscopoFechadoMelhor ( listdados . getTotalPendenteEscopoFechadoMelhor ()
+ to . getMelhor ());
totalPendenteEscopoMelhorDolar += to . getDolar () != 0 ? to . getMelhor ()
/ to . getDolar ()
: 0 ;
}
}
// Pendente Hora Homem
listdados . setTotalPendentePior ( 0.0 );
listdados . setTotalPendenteProvavel ( 0.0 );
listdados . setTotalPendenteMelhor ( 0.0 );
double totalPendentePiorDolar = 0 ;
double totalPendenteProvavelDolar = 0 ;
double totalPendenteMelhorDolar = 0 ;
for ( DashboardPendenteAgendadoTO toPendente : this . listdados
. getDashboardPendente ()) {
if ( toPendente . getPior () != null ) {
listdados . setTotalPendentePior ( listdados
. getTotalPendentePior ()
+ toPendente . getPior ());
totalPendentePiorDolar += toPendente . getDolar () != 0 ? toPendente
. getPior ()
/ toPendente . getDolar ()
: 0 ;
}
if ( toPendente . getProvavel () != null ) {
listdados . setTotalPendenteProvavel ( listdados
. getTotalPendenteProvavel ()
+ toPendente . getProvavel ());
totalPendenteProvavelDolar += toPendente . getDolar () != 0 ? toPendente
. getProvavel ()
/ toPendente . getDolar ()
: 0 ;
}
if ( toPendente . getMelhor () != null ) {
listdados . setTotalPendenteMelhor ( listdados
. getTotalPendenteMelhor ()
+ toPendente . getMelhor ());
totalPendenteMelhorDolar += toPendente . getDolar () != 0 ? toPendente
. getMelhor ()
/ toPendente . getDolar ()
: 0 ;
}
}
// Agendado
listdados . setTotalAgendadoPior ( 0.0 );
listdados . setTotalAgendadoProvavel ( 0.0 );
listdados . setTotalAgendadoMelhor ( 0.0 );
double totalAgendadoPiorDolar = 0 ;
double totalAgendadoProvavelDolar = 0 ;
double totalAgendadoMelhorDolar = 0 ;
for ( DashboardPendenteAgendadoTO toAgendado : this . listdados
. getDashboardAgendado ()) {
if ( toAgendado . getPior () != null ) {
listdados . setTotalAgendadoPior ( listdados
. getTotalAgendadoPior ()
+ toAgendado . getPior ());
totalAgendadoPiorDolar += toAgendado . getDolar () != 0 ? toAgendado
. getPior ()
/ toAgendado . getDolar ()
: 0 ;
}
if ( toAgendado . getProvavel () != null ) {
listdados . setTotalAgendadoProvavel ( listdados
. getTotalAgendadoProvavel ()
+ toAgendado . getProvavel ());
totalAgendadoProvavelDolar += toAgendado . getDolar () != 0 ? toAgendado
. getProvavel ()
/ toAgendado . getDolar ()
: 0 ;
}
if ( toAgendado . getMelhor () != null ) {
listdados . setTotalAgendadoMelhor ( listdados
. getTotalAgendadoMelhor ()
+ toAgendado . getMelhor ());
totalAgendadoMelhorDolar += toAgendado . getDolar () != 0 ? toAgendado
. getMelhor ()
/ toAgendado . getDolar ()
: 0 ;
}
}
// Forecast
for ( DashboardForecastTO toForecast : this . listdados
. getDashboardForecast ()) {
TipoPlanEnum statusEnum = TipoPlanEnum . getEnum ( toForecast
. getDescricao ());
if ( statusEnum . descricao . equals ( "Pior" )) {
toForecast . setValorTotal ( 0.0 );
toForecast . setValorTotal ( listdados . getTotalPiorPersist () + totalPendenteEscopoPiorDolar
+ totalPendentePiorDolar + totalAgendadoPiorDolar );
toForecast
. setPercentual ( toForecast . getValor () != 0 ? toForecast
. getValorTotal ()
/ toForecast . getValor ()
: 0 );
} else if ( statusEnum . descricao . equals ( "Provável" )) {
toForecast . setValorTotal ( 0.0 );
toForecast . setValorTotal ( listdados . getTotalProvavelPersist () + totalPendenteEscopoProvavelDolar
+ totalPendenteProvavelDolar
+ totalAgendadoProvavelDolar );
toForecast
. setPercentual ( toForecast . getValor () != 0 ? toForecast
. getValorTotal ()
/ toForecast . getValor ()
: 0 );
} else if ( statusEnum . descricao . equals ( "Melhor" )) {
toForecast . setValorTotal ( 0.0 );
toForecast . setValorTotal ( listdados . getTotalMelhorPersist () + totalPendenteEscopoMelhorDolar
+ totalPendenteMelhorDolar
+ totalAgendadoMelhorDolar );
toForecast
. setPercentual ( toForecast . getValor () != 0 ? toForecast
. getValorTotal ()
/ toForecast . getValor ()
: 0 );
}
}
} catch ( Exception e ) {
throw new RuntimeException ( "Erro" , e );
}
}
public void pesquisar () throws ParseException {
listdados = new ListDadosBean ( service );
if ( listq . getQuarterSelecionado () == 0 && this . ano . equals ( 0 )) {
FacesContext . getCurrentInstance (). addMessage ( null ,
new FacesMessage ( Constants . MSG_SEARCH_QUARTER_ANO ));
return ;
} else if ( listq . getQuarterSelecionado () == 0 ) {
FacesContext . getCurrentInstance (). addMessage ( null ,
new FacesMessage ( Constants . MSG_SEARCH_QUARTER ));
return ;
} else if ( this . ano . equals ( 0 )) {
FacesContext . getCurrentInstance (). addMessage ( null ,
new FacesMessage ( Constants . MSG_SEARCH_ANO ));
return ;
} else if ( this . ano < 1990
|| this . ano > GregorianCalendar . getInstance ()
. get ( Calendar . YEAR )) {
FacesContext . getCurrentInstance (). addMessage ( null ,
new FacesMessage ( Constants . MSG_SEARCH_YEAR ));
return ;
}
[ b ] this . recalcular (); [/ b ]
listdados . pesquisarAllForecast ( listq . getQuarterSelecionado (), ano );
listdados . pesquisarFaturadoByMonthYear ( listq . getQuarterSelecionado (),
ano );
listdados . pesquisarAllPendente ( listq . getQuarterSelecionado (), ano );
listdados . pesquisarAllPendenteEscopoFechado ( listq . getQuarterSelecionado (),
ano );
listdados . pesquisarAllAgendado ( listq . getQuarterSelecionado (), ano );
}
public void salvar () throws ParseException {
service . save ( listq . getQuarterSelecionado (), ano , listdados );
}
//getters and setters
}
Pedrosa 18 de mar. de 2009
Paty crie uma lista com generics do seu objeto:
List<SeuObj> lista = new ArrayList<SeuObj>();
Popule o objeto e adicione na lista:
SeuObj seuObj = new SeuObj();
seuObj.setXpto("valor");
seuObj.setXpto2("valor2");
lista.add(seuObj);
Agora sim vc conseguira percorrer essa lista do objeto:
for ( SeuObj result : lista ) {
System.out.println(result.getXpto()) ;
System.out.println(result.getXpto2()) ;
}
renzonuccitelli 18 de mar. de 2009
Como eu tinha suposto, não vi vc inicializando a listDados no construtor, ou ao menos um método setListDados para vc passar a lista como parametro. Entao o que vc tem que fazer e popular essa lista antes de utiliza-la, ou ao menos dar um new nela