From 67f565642be34fdd10e752771d87d148077fe0ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=20Lu=C3=ADs=20=3D?= Date: Mon, 22 Dec 2008 11:08:07 +0000 Subject: [PATCH] 22/12/2008 git-svn-id: https://svn.coded.pt/svn/SIPRP@859 bb69d46d-e84e-40c8-a05a-06db0d633741 --- .../nbproject/faces-config.NavData | 8 +-- .../SessionBean1.java | 11 +++- .../src/java/db/AnalisesDataProvider.java | 31 ++++++++++ .../src/java/db/Dblocal.java | 1 + .../src/java/global/Global.java | 3 + .../java/phaselistener/MainPhaseListener.java | 58 +++++++++++++++++++ .../src/java/utils/JSFUtils.java | 18 ++++++ .../src/java/utils/Logos.java | 55 ++++++++++++++++++ trunk/AnaliseAcidentesTrabalho/web/Acesso.jsp | 2 +- .../web/AnaliseAcidenteTrabalho.jsp | 2 +- .../web/EnviarCorrecao.jsp | 2 +- .../web/FichaUtilizador.jsp | 2 +- .../web/FormDirGerRh.jsp | 2 +- .../web/FormDirSiprp.jsp | 2 +- .../web/FormGestor.jsp | 2 +- trunk/AnaliseAcidentesTrabalho/web/FormHS.jsp | 2 +- trunk/AnaliseAcidentesTrabalho/web/FormRH.jsp | 2 +- .../web/FormSeguranca.jsp | 2 +- .../web/GestaoUtilizadores.jsp | 2 +- .../AnaliseAcidentesTrabalho/web/Header.jspf | 2 +- .../web/NovoUtilizador.jsp | 2 +- .../web/UtilizadorFields.jsp | 2 +- .../web/ViewAnaliseAcidenteTrabalho.jsp | 2 +- .../web/WEB-INF/faces-config.xml | 3 + 24 files changed, 198 insertions(+), 20 deletions(-) create mode 100644 trunk/AnaliseAcidentesTrabalho/src/java/phaselistener/MainPhaseListener.java create mode 100644 trunk/AnaliseAcidentesTrabalho/src/java/utils/Logos.java diff --git a/trunk/AnaliseAcidentesTrabalho/nbproject/faces-config.NavData b/trunk/AnaliseAcidentesTrabalho/nbproject/faces-config.NavData index cb5271cc..07224a77 100644 --- a/trunk/AnaliseAcidentesTrabalho/nbproject/faces-config.NavData +++ b/trunk/AnaliseAcidentesTrabalho/nbproject/faces-config.NavData @@ -2,15 +2,15 @@ - + - + - + @@ -20,8 +20,8 @@ - + diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/SessionBean1.java b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/SessionBean1.java index 3f298e66..33dd4c8f 100644 --- a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/SessionBean1.java +++ b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/SessionBean1.java @@ -32,7 +32,7 @@ public class SessionBean1 extends AbstractSessionBean { private void _init() throws Exception { } // - + private String logoEmpresaUrl = ""; /** *

Construct a new session data bean instance.

*/ @@ -708,4 +708,13 @@ public class SessionBean1 extends AbstractSessionBean { this.correcao = correcao; } + public String getLogoEmpresaUrl() { + return logoEmpresaUrl; + } + + public void setLogoEmpresaUrl(String logoEmpresaUrl) { + this.logoEmpresaUrl = logoEmpresaUrl; + + } + } diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/db/AnalisesDataProvider.java b/trunk/AnaliseAcidentesTrabalho/src/java/db/AnalisesDataProvider.java index 7d70578b..4dc2ebcd 100644 --- a/trunk/AnaliseAcidentesTrabalho/src/java/db/AnalisesDataProvider.java +++ b/trunk/AnaliseAcidentesTrabalho/src/java/db/AnalisesDataProvider.java @@ -2204,6 +2204,37 @@ public class AnalisesDataProvider { return hash; } + public byte[] getLogoByEmpresa(Integer empresaId) throws Exception + { + Dblocal dblocal = new Dblocal(); + dblocal.connect(); + Statement st = dblocal.createStatement(); + String sql = "select empresa_logo_id from empresas where id = " + empresaId; + ResultSet rslocal = st.executeQuery(sql); + if(rslocal.isBeforeFirst()) + { + rslocal.first(); + Integer logoId = new Integer(rslocal.getInt("empresa_logo_id")); + byte[] logo = getLogo(logoId); + return logo; + } + + return null; + } + + public byte[] getLogo(Integer logoId) throws Exception + { + Dblocal dblocal = new Dblocal(); + dblocal.connect(); + Statement st = dblocal.createStatement(); + String sql = "select image_data from image where id = " + logoId; + ResultSet rslocal = st.executeQuery(sql); + rslocal.first(); + byte[] logo = rslocal.getBytes("image_data"); + System.out.println("LOGO SIZE : " + logo.length); + return logo; + } + private Statement createStatement() { Db db = new Db(); diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/db/Dblocal.java b/trunk/AnaliseAcidentesTrabalho/src/java/db/Dblocal.java index 01b72382..565bfe3f 100644 --- a/trunk/AnaliseAcidentesTrabalho/src/java/db/Dblocal.java +++ b/trunk/AnaliseAcidentesTrabalho/src/java/db/Dblocal.java @@ -57,6 +57,7 @@ public class Dblocal { } } + public void close() throws Exception { connection.close(); diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/global/Global.java b/trunk/AnaliseAcidentesTrabalho/src/java/global/Global.java index ab352552..f068a420 100755 --- a/trunk/AnaliseAcidentesTrabalho/src/java/global/Global.java +++ b/trunk/AnaliseAcidentesTrabalho/src/java/global/Global.java @@ -72,6 +72,9 @@ public class Global { //public static final String PLANOS_ACTUACAO_URL = "http://localhost:8084/PlanosActuacao/faces/ListaPlanos.jsp"; //testes //public static final String PLANOS_ACTUACAO_URL = "http://192.168.111.24:8084/PlanosActuacao/faces/ListaPlanos.jsp"; //testes portatil public static final String PLANOS_ACTUACAO_URL = "https://www.siprp.pt/PlanosActuacao/faces/ListaPlanos.jsp"; //real + + public static final String LOGOS_FOLDER = "/resources/images"; + /** Creates a new instance of Global */ public Global() { } diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/phaselistener/MainPhaseListener.java b/trunk/AnaliseAcidentesTrabalho/src/java/phaselistener/MainPhaseListener.java new file mode 100644 index 00000000..84d2724b --- /dev/null +++ b/trunk/AnaliseAcidentesTrabalho/src/java/phaselistener/MainPhaseListener.java @@ -0,0 +1,58 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package phaselistener; + +import analiseacidentestrabalho.Utilizador; +import global.Global; +import javax.faces.application.NavigationHandler; +import javax.faces.component.UIViewRoot; +import javax.faces.context.FacesContext; +import javax.faces.event.PhaseEvent; +import javax.faces.event.PhaseId; +import javax.faces.event.PhaseListener; +import javax.servlet.http.HttpServletRequest; +import analiseacidentestrabalho.SessionBean1; +import utils.JSFUtils; +import utils.Logos; + +/** + * + * @author lluis + */ +public class MainPhaseListener implements PhaseListener{ + private boolean firstEntry = true; + + public void afterPhase(PhaseEvent pe) { + + + } + + public void beforePhase(PhaseEvent pe) { + if(pe.getPhaseId() == PhaseId.RENDER_RESPONSE) + { + FacesContext fc = pe.getFacesContext(); + SessionBean1 session = JSFUtils.getSessionBean(fc); + + + Utilizador u = session.getCurrentUser(); + + + //insert logos + + Integer empresaId = u.getEmpresa_id(); + //System.out.println("LOGO EMPRESA ID : " + empresaId.toString()); + Logos logos = new Logos(); + String logourl = logos.getLogo(fc, empresaId); + //System.out.println("LOGO URL : " + logourl); + session.setLogoEmpresaUrl(logourl); + } + } + + public PhaseId getPhaseId() { + return PhaseId.ANY_PHASE; + } + +} diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/utils/JSFUtils.java b/trunk/AnaliseAcidentesTrabalho/src/java/utils/JSFUtils.java index c3e4cb95..a10d6ad0 100644 --- a/trunk/AnaliseAcidentesTrabalho/src/java/utils/JSFUtils.java +++ b/trunk/AnaliseAcidentesTrabalho/src/java/utils/JSFUtils.java @@ -5,6 +5,7 @@ package utils; +import analiseacidentestrabalho.SessionBean1; import java.util.Iterator; import java.util.Map; import javax.faces.application.Application; @@ -42,6 +43,23 @@ public class JSFUtils { // return false; // } + public static SessionBean1 getSessionBean(FacesContext fc) + { + FacesContext context = fc.getCurrentInstance(); + //HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(true); + //SessionBean1 session = (SessionBean1) context.getApplication().getELResolver().getValue(context.getELContext(), null, "SessionBean1"); + //SessionBean1 session = (SessionBean1) context.getApplication().; + + final StringBuffer valueBinding = new StringBuffer(); + valueBinding.append('#'); + valueBinding.append('{'); + valueBinding.append("SessionBean1"); + valueBinding.append('}'); + SessionBean1 session = (SessionBean1) fc.getApplication(). + createValueBinding(valueBinding.toString()).getValue(fc); + return session; + } + public static boolean isPostBack(FacesContext fc) { Map parameterMap = fc.getExternalContext().getRequestParameterMap(); diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/utils/Logos.java b/trunk/AnaliseAcidentesTrabalho/src/java/utils/Logos.java new file mode 100644 index 00000000..b0255027 --- /dev/null +++ b/trunk/AnaliseAcidentesTrabalho/src/java/utils/Logos.java @@ -0,0 +1,55 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package utils; + +import db.AnalisesDataProvider; +import global.Global; +import java.io.File; +import java.io.FileOutputStream; +import java.io.OutputStream; +import javax.faces.context.FacesContext; +import javax.servlet.ServletContext; + +/** + * + * @author lluis + */ +public class Logos { + + public String getLogo(Integer empresaId) + { + return null; + } + + public String getLogo(FacesContext fc, Integer empresaId) + { + try + { + //get image from db : + AnalisesDataProvider adp = new AnalisesDataProvider(); + byte[] logo = adp.getLogoByEmpresa(empresaId); + int len = logo.length; + + ServletContext context = (ServletContext) fc.getExternalContext().getContext(); + File logoFolder = new File(context.getRealPath(Global.LOGOS_FOLDER)); + + String logoFilename = logoFolder + "/logo_empresa.jpg"; + + OutputStream outImej = new FileOutputStream(logoFilename); + outImej.write(logo, 0, len); + System.out.println("LOGO PATH : " + logoFilename); + outImej.close(); + return Global.LOGOS_FOLDER + "/logo_empresa.jpg"; + } + catch(Exception ex) + { + ex.printStackTrace(); + return null; + } + + } + +} diff --git a/trunk/AnaliseAcidentesTrabalho/web/Acesso.jsp b/trunk/AnaliseAcidentesTrabalho/web/Acesso.jsp index ba3a8e13..0cdecad4 100644 --- a/trunk/AnaliseAcidentesTrabalho/web/Acesso.jsp +++ b/trunk/AnaliseAcidentesTrabalho/web/Acesso.jsp @@ -29,7 +29,7 @@ style="border: 1px solid black; background-color: #eeeeee; height: 24px; width: 100%" styleClass="centerBlock" width="360"> - + diff --git a/trunk/AnaliseAcidentesTrabalho/web/AnaliseAcidenteTrabalho.jsp b/trunk/AnaliseAcidentesTrabalho/web/AnaliseAcidenteTrabalho.jsp index 8c4653c2..1c075f5f 100644 --- a/trunk/AnaliseAcidentesTrabalho/web/AnaliseAcidenteTrabalho.jsp +++ b/trunk/AnaliseAcidentesTrabalho/web/AnaliseAcidenteTrabalho.jsp @@ -169,7 +169,7 @@ - + - + diff --git a/trunk/AnaliseAcidentesTrabalho/web/FichaUtilizador.jsp b/trunk/AnaliseAcidentesTrabalho/web/FichaUtilizador.jsp index e5c59965..5189c380 100644 --- a/trunk/AnaliseAcidentesTrabalho/web/FichaUtilizador.jsp +++ b/trunk/AnaliseAcidentesTrabalho/web/FichaUtilizador.jsp @@ -48,7 +48,7 @@ style="border-bottom: solid rgb(0, 0, 0) 1px; height: 24px; width: 100%" width="312"> - + diff --git a/trunk/AnaliseAcidentesTrabalho/web/FormDirGerRh.jsp b/trunk/AnaliseAcidentesTrabalho/web/FormDirGerRh.jsp index 90d02232..ea1797ee 100644 --- a/trunk/AnaliseAcidentesTrabalho/web/FormDirGerRh.jsp +++ b/trunk/AnaliseAcidentesTrabalho/web/FormDirGerRh.jsp @@ -28,7 +28,7 @@ style="border-bottom: solid #000000 1px; height: 24px; width: 100%" width="312"> - + diff --git a/trunk/AnaliseAcidentesTrabalho/web/FormDirSiprp.jsp b/trunk/AnaliseAcidentesTrabalho/web/FormDirSiprp.jsp index 6064e30e..e106cf0c 100755 --- a/trunk/AnaliseAcidentesTrabalho/web/FormDirSiprp.jsp +++ b/trunk/AnaliseAcidentesTrabalho/web/FormDirSiprp.jsp @@ -28,7 +28,7 @@ style="border-bottom: solid #000000 1px; height: 24px; width: 100%" width="312"> - + diff --git a/trunk/AnaliseAcidentesTrabalho/web/FormGestor.jsp b/trunk/AnaliseAcidentesTrabalho/web/FormGestor.jsp index ba147c87..bfb0b3e8 100644 --- a/trunk/AnaliseAcidentesTrabalho/web/FormGestor.jsp +++ b/trunk/AnaliseAcidentesTrabalho/web/FormGestor.jsp @@ -28,7 +28,7 @@ style="border-bottom: solid #000000 1px; height: 24px; width: 100%" width="312"> - + diff --git a/trunk/AnaliseAcidentesTrabalho/web/FormHS.jsp b/trunk/AnaliseAcidentesTrabalho/web/FormHS.jsp index 5883b3ad..50f5777a 100644 --- a/trunk/AnaliseAcidentesTrabalho/web/FormHS.jsp +++ b/trunk/AnaliseAcidentesTrabalho/web/FormHS.jsp @@ -28,7 +28,7 @@ style="border-bottom: solid #000000 1px; height: 24px; width: 100%" width="312"> - + diff --git a/trunk/AnaliseAcidentesTrabalho/web/FormRH.jsp b/trunk/AnaliseAcidentesTrabalho/web/FormRH.jsp index ea20d837..a6ce9226 100644 --- a/trunk/AnaliseAcidentesTrabalho/web/FormRH.jsp +++ b/trunk/AnaliseAcidentesTrabalho/web/FormRH.jsp @@ -28,7 +28,7 @@ style="border-bottom: solid #000000 1px; height: 24px; width: 100%" width="312"> - + diff --git a/trunk/AnaliseAcidentesTrabalho/web/FormSeguranca.jsp b/trunk/AnaliseAcidentesTrabalho/web/FormSeguranca.jsp index 2c9a57d1..776262c7 100644 --- a/trunk/AnaliseAcidentesTrabalho/web/FormSeguranca.jsp +++ b/trunk/AnaliseAcidentesTrabalho/web/FormSeguranca.jsp @@ -29,7 +29,7 @@ style="border-bottom: solid #000000 1px; height: 24px; width: 100%" width="312"> - + diff --git a/trunk/AnaliseAcidentesTrabalho/web/GestaoUtilizadores.jsp b/trunk/AnaliseAcidentesTrabalho/web/GestaoUtilizadores.jsp index 6e66c27c..f0b5db1b 100644 --- a/trunk/AnaliseAcidentesTrabalho/web/GestaoUtilizadores.jsp +++ b/trunk/AnaliseAcidentesTrabalho/web/GestaoUtilizadores.jsp @@ -44,7 +44,7 @@ id="gridPanel1" style="border-bottom: solid #000000 1px; height: 24px; width: 100%" width="312"> - + diff --git a/trunk/AnaliseAcidentesTrabalho/web/Header.jspf b/trunk/AnaliseAcidentesTrabalho/web/Header.jspf index 86d48d27..0a533bd8 100644 --- a/trunk/AnaliseAcidentesTrabalho/web/Header.jspf +++ b/trunk/AnaliseAcidentesTrabalho/web/Header.jspf @@ -5,7 +5,7 @@ style="border-bottom: solid rgb(0, 0, 0) 1px; height: 24px; width: 100%" width="312"> - + diff --git a/trunk/AnaliseAcidentesTrabalho/web/NovoUtilizador.jsp b/trunk/AnaliseAcidentesTrabalho/web/NovoUtilizador.jsp index 0691d709..81b88d43 100644 --- a/trunk/AnaliseAcidentesTrabalho/web/NovoUtilizador.jsp +++ b/trunk/AnaliseAcidentesTrabalho/web/NovoUtilizador.jsp @@ -89,7 +89,7 @@ style="border-bottom: solid rgb(0, 0, 0) 1px; height: 24px; width: 100%" width="312"> - + diff --git a/trunk/AnaliseAcidentesTrabalho/web/UtilizadorFields.jsp b/trunk/AnaliseAcidentesTrabalho/web/UtilizadorFields.jsp index c5f16099..0b8b31ac 100644 --- a/trunk/AnaliseAcidentesTrabalho/web/UtilizadorFields.jsp +++ b/trunk/AnaliseAcidentesTrabalho/web/UtilizadorFields.jsp @@ -48,7 +48,7 @@ id="gridPanel1" style="border-bottom: solid rgb(0, 0, 0) 1px; height: 24px; width: 100%" width="312"> - + diff --git a/trunk/AnaliseAcidentesTrabalho/web/ViewAnaliseAcidenteTrabalho.jsp b/trunk/AnaliseAcidentesTrabalho/web/ViewAnaliseAcidenteTrabalho.jsp index 436b54d3..81911b28 100644 --- a/trunk/AnaliseAcidentesTrabalho/web/ViewAnaliseAcidenteTrabalho.jsp +++ b/trunk/AnaliseAcidentesTrabalho/web/ViewAnaliseAcidenteTrabalho.jsp @@ -87,7 +87,7 @@ - + --> + + phaselistener.MainPhaseListener + Acesso analiseacidentestrabalho.Acesso