Erro de lógica?

Bom dia!
Galera existe uma condição “somente” no java?
Nesse codigo abaixo, eu preciso delimitar provilegio, onde se o cara tiver adm_rec_quality_ print ou ADM_RECEIVING_QUALITY ou ADMIN
ele pode imprimir, porem isso se o Status do laudo nao estiver encerrado (closed), porem mesmo ele estando closed, o ADMIN podera imprimir,
como faço isso?! existe algum operador “somente”? Veja o codigo…

KButton btnPrintTag = new KButton(core, “btnPrintTag”, tBar);
btnPrintTag.setText(MlGeneralItem.PRINT_TAGS, getUser());
btnPrintTag.setIconCls(“btn16print”);
if (core.getSecurityCore().checkPrivileges(user,
new KrakenPrivilege[]{PGGeneral.ADM_REC_QUALITY_PRINT, PGGeneral.ADM_RECEIVING_QUALITY, PGGeneral.ADMIN}))
&& !paramStatus.equals(TraceUtil.getML(MlGeneralItem.CLOSED, user)))
{
btnPrintTag.setHandler(“printTag”);
} else {
btnPrintTag.setHandler(“printPermissionDenied”);
}

Fico no aguardo!

marcogabriel30
Dica: use a tag code quando for postar códigos.

Se entendi o que você quer fazer, só um or basta:

KButton btnPrintTag = new KButton(core, "btnPrintTag", tBar); btnPrintTag.setText(MlGeneralItem.PRINT_TAGS, getUser()); btnPrintTag.setIconCls("btn16print"); if ((core.getSecurityCore().checkPrivileges(user, new KrakenPrivilege[]{PGGeneral.ADM_REC_QUALITY_PRINT, PGGeneral.ADM_RECEIVING_QUALITY})) && !paramStatus.equals(TraceUtil.getML(MlGeneralItem.CLOSED, user))) || core.getSecurityCore().checkPrivileges(user, new KrakenPrivilege[]{PGGeneral.ADMIN}))) { btnPrintTag.setHandler("printTag"); } else { btnPrintTag.setHandler("printPermissionDenied"); }

Note o “) || core.getSecurityCore().checkPrivileges(user, new KrakenPrivilege[]{PGGeneral.ADMIN})” no if. Se for administrador, imprime independente de estar fechado ou não.

Obs: verifique os parênteses e chaves. Não os contei por aqui :smiley:

Abraço.

Obrigado!!!
Funcionou!!!