Problema com Mojarra 2.0.4 e PhaseListener
03/fevereiro/2011 - Java
Olá,
Esse post é apenas um lembrete meu, mas pode ajudar outras pessoas ;-)
No Mojarra 2.0.4 (acredito que este problema venha desde da 2.0.0) quando você implementa seu javax.faces.event.PhaseListener no método beforePhase() o método FacesContext.getViewRoot() retorna null. Isto impossibilita a uma verificação que eu precisava fazer no código abaixo.
Para contornar o problema joguei o código para o método afterPhase(), pois lá o getViewRoot() não vem nulo.
Não sei se isso ocorre com outras implementações do JSF 2 como o MyFaces e nem sei se é proposital ou é se um bug.
public void beforePhase(PhaseEvent evt) {
PhaseId phaseId = evt.getPhaseId();
FacesContext ctx = evt.getFacesContext();
String viewId = ctx.getViewRoot().getViewId();
if(PhaseId.RESTORE_VIEW.equals(phaseId)){
// Verificação simples de autorização de acesso
// Caso usuario não estiver na sessão, redireciona para o login
// Unica pagina livre é o que tem login na identificação da view
HttpSession session = (HttpSession) ctx.getExternalContext().getSession(true);
Object usuario = session.getAttribute(CrmGlobals.USUARIO_AUTENT);
try {
if(!(viewId.indexOf("login") > 0) && usuario == null){
FacesContext.getCurrentInstance().getExternalContext().redirect("/crm/login/login.jsf");
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Até mais,
Roberto
Lançado JasperReports 4.0.0 e iReport 4.0.0
15/janeiro/2011 - Java
Olá,
Foram lançados no dia 10 de Janeiro de 2011 a versão 4.0.0 do JasperReports e do iReport.
Pelo que vi no changelog do iReport não tem muitas novidades, apenas correção de erros. No JasperReports foram incluídos essas funcionalidades listadas abaixo, além de correções de bugs.
- new CSV query executer added to simplify to allow configuring CSV data sources from within report templates
using built-in paramters and config properties;- new CSV metadata exporter added to better control the CSV export by marking columns in the report template
using custom properties;- new chapters in the Sample Reference documentation have beed completed
(http://jasperreports.sf.net/sample.reference.html);
Download iReport
https://sourceforge.net/projects/ireport/files
iReport plugin for NetBeans
http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp?pluginid=4425
Biblioteca JasperReports
http://sourceforge.net/projects/jasperreports/files/jasperreports/
Até mais,
Roberto
Feliz Ano Novo!
31/dezembro/2010 - Geral
Olá!
Gostaria de desejar a todos os visitantes do blog um Feliz Ano Novo! :-D
Que em 2011 todos os desejos se tornem realidade com muito amor, saúde e paz.
E que tenhamos muitas linhas de código sem bugs nesse novo ano! :-D
Até mais,
Roberto
JasperReports com Oracle ADF
07/dezembro/2010 - Java, Oracle
Olá
Escrevo este post para deixar uma dica para quem precisa integrar ADF com JasperReports. No blog GEBS foi publicado um artigo sobre esse tema com direito a exemplo para download.
Veja o artigo clicando no link a seguir: http://www.gebs.ro/blog/oracle/jasper-reports-in-adf/
Até mais
Roberto
ReplaceAll() em Java 1.3
19/novembro/2010 - Geral
Olá
Para você, que como eu, está trabalhando com Java 1.3 e precisa do método replaceAll() da classe String ai vai ele. Coloque no seu famigerado singleton StringUtil.
public String replaceAll(String txt, String txtAtual, String txtNovo) {
if (txt != null) {
int idx = -1;
while ((idx = txt.indexOf(txtAtual)) >= 0)
txt = txt.substring(0, idx) + txtNovo
+ txt.substring(idx + txtAtual.length());
}
return txt;
}
Até mais,
