WollokowPJ 19 de mai. de 2006
oi…rola de vc postar o trechinho do codigo ae pra gente da uma olhada??
ChristielenPJ 19 de mai. de 2006
if ( "".equals( param ) ) {
if ( state.getSessionState() == ScormState.SessionState.RUNNING ){
state.setError( ApiError.ALREADY_INITIALIZED );
return "false";
}else {
state.setError( ApiError.NO_ERROR );
state.setSessionState( ScormState.SessionState.RUNNING );
learnerAttempt = DataModelLoader.initializeDataModel( state );
return "true";
}
if ( state.getSessionState() == ScormState.SessionState.NOT_INITIALIZED ) {
state.setError( ApiError.TERMINATION_BEFORE_INITIALIZATION );
return "false";
}else{
state.setError( ApiError.NO_ERROR );
state.setSessionState( ScormState.SessionState.NOT_INITIALIZED );
learnerAttempt = DataModelLoader.initializeDataModel( state );
return "true";
}
} else {
state.setError( ApiError.GENERAL_ARGUMENT_ERROR );
return "false";
}
adrianomsPJ 19 de mai. de 2006
Tire as aspas"" nos valores logicos true e false
o que voce fez assim
o coreto é
tudo o que estiver entre aspas e entendido como sendo constante literal(String)
WollokowPJ 19 de mai. de 2006
o q tah acontecendo eh o seguinte:
se o param for igual a “” ele vai entrar no primeiro if, depois ele vai fazer a seguinte comparacao:
if (state.getSessionState() == ScormState.SessionState.RUNNING)
se for verdadeiro, ele entra no bloco if e retorna “false”;
senao for verdadeiro ele entra no bloco do else e retorna “true”;
e depois disso termina a execucao do seu metodo, ou seja, o trecho de codigo abaixo nunca sera executado:
if ( state . getSessionState () == ScormState . SessionState . NOT_INITIALIZED ) {
state . setError ( ApiError . TERMINATION_BEFORE_INITIALIZATION );
return “ false ” ;
} else {
state . setError ( ApiError . NO_ERROR );
state . setSessionState ( ScormState . SessionState . NOT_INITIALIZED );
learnerAttempt = DataModelLoader . initializeDataModel ( state );
return “ true ” ;
}
otra coisa, vc disse q seu metodo retorna um boolean e esse metodo esta retornando Strings.
espero ter ajudado, qq coisa pode postar ae…
ate mais
ChristielenPJ 19 de mai. de 2006
Desculpa pessoal
Retorna um string mesmo rsrsrsrs…
Como faço pro segundo bloco executar;
SchuenemannPJ 19 de mai. de 2006
É isso mesmo. Se entra no if, retorna uma coisa. Se não entra, retorna outra.
E o resto não é executado.
Crie uma variável local boolean bloco1.
Se entrar no if, bloco1 = true, senão bloco1 = false.
Depois você compara com o resultado do segundo.