From 5451952448c871289099473db408fa38cbaa5679 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=20Lu=C3=ADs=20=3D?= Date: Mon, 22 Dec 2008 11:11:10 +0000 Subject: [PATCH] 22/12/2008 git-svn-id: https://svn.coded.pt/svn/SIPRP@860 bb69d46d-e84e-40c8-a05a-06db0d633741 --- .../db/providers/RelatoriosDataProvider.java | 29 +++++++++- .../src/java/global/Global.java | 2 + trunk/PlanosActuacao/src/java/mail/Mail.java | 3 +- .../java/phaselistener/MainPhaseListener.java | 40 +++++++++++++- .../src/java/planosactuacao/Dummy.java | 44 ++++++++++++--- .../src/java/planosactuacao/Header.java | 10 ++++ .../src/java/planosactuacao/SessionBean1.java | 10 ++++ .../PlanosActuacao/src/java/utils/Logos.java | 55 +++++++++++++++++++ trunk/PlanosActuacao/web/Dummy.jsp | 23 +------- trunk/PlanosActuacao/web/Header.jspf | 6 +- 10 files changed, 188 insertions(+), 34 deletions(-) create mode 100644 trunk/PlanosActuacao/src/java/utils/Logos.java diff --git a/trunk/PlanosActuacao/src/java/db/providers/RelatoriosDataProvider.java b/trunk/PlanosActuacao/src/java/db/providers/RelatoriosDataProvider.java index b00fb4db..32e48c55 100644 --- a/trunk/PlanosActuacao/src/java/db/providers/RelatoriosDataProvider.java +++ b/trunk/PlanosActuacao/src/java/db/providers/RelatoriosDataProvider.java @@ -328,5 +328,32 @@ public class RelatoriosDataProvider extends GenericDataProvider { rslocal.first(); String nome = Utils.unicodeToHTML(rslocal.getString("designacao_social")); return nome; - } + } + + public byte[] getLogoByEmpresa(Integer empresaId) throws Exception + { + 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 + { + 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; + } } \ No newline at end of file diff --git a/trunk/PlanosActuacao/src/java/global/Global.java b/trunk/PlanosActuacao/src/java/global/Global.java index 938e40a6..805ee727 100644 --- a/trunk/PlanosActuacao/src/java/global/Global.java +++ b/trunk/PlanosActuacao/src/java/global/Global.java @@ -41,4 +41,6 @@ public class Global { //public static final String ANALISE_ACIDENTES_URL = "http://localhost:8084/AnaliseAcidentesTrabalho/faces/"; //testes //public static final String ANALISE_ACIDENTES_URL = "http://192.168.111.24:8084/AnaliseAcidentesTrabalho/faces/"; //testes portatil public static final String ANALISE_ACIDENTES_URL = "https://www.siprp.pt/AnaliseAcidentesTrabalho/faces/"; //real + + public static final String LOGOS_FOLDER = "/resources/images"; } diff --git a/trunk/PlanosActuacao/src/java/mail/Mail.java b/trunk/PlanosActuacao/src/java/mail/Mail.java index 1423fddf..d9cd68bf 100644 --- a/trunk/PlanosActuacao/src/java/mail/Mail.java +++ b/trunk/PlanosActuacao/src/java/mail/Mail.java @@ -70,7 +70,8 @@ public final static String ENDERECO_ENVIO = "planos.auchan@siprp.pt"; String username = "lluis"; String password = "654321"; return new PasswordAuthentication(username, password); - } + } + } } diff --git a/trunk/PlanosActuacao/src/java/phaselistener/MainPhaseListener.java b/trunk/PlanosActuacao/src/java/phaselistener/MainPhaseListener.java index 05887026..3d0b970b 100644 --- a/trunk/PlanosActuacao/src/java/phaselistener/MainPhaseListener.java +++ b/trunk/PlanosActuacao/src/java/phaselistener/MainPhaseListener.java @@ -6,6 +6,7 @@ package phaselistener; import db.entidades.Utilizador; +import db.providers.UtilizadoresDataProvider; import global.Global; import javax.faces.application.NavigationHandler; import javax.faces.component.UIViewRoot; @@ -17,6 +18,7 @@ import javax.servlet.http.HttpServletRequest; import planosactuacao.SessionBean1; import utils.JSFHTTPUtils; import utils.JSFUtils; +import utils.Logos; /** * @@ -113,7 +115,34 @@ public class MainPhaseListener implements PhaseListener{ String sview = fc.getViewRoot().getViewId(); session.setRenderTopMenuImages(true); session.setRenderSubHeader(false); - Utilizador u = session.getCurrentUser(); + + + ////////////// + String user_id = JSFUtils.getRequestParameter(fc, "user"); + Utilizador u = null; + try + { + Integer userId = new Integer(Integer.parseInt(user_id)); + + try + { + UtilizadoresDataProvider udp = new UtilizadoresDataProvider(); + udp.checkConnection(); + u = udp.getUtilizador(userId); + session.setCurrentUser(u); + } + catch(Exception ex1) + { + ex1.printStackTrace(); + } + } + catch(Exception ex) + { + ex.printStackTrace(); + } + + ///////////// + u = session.getCurrentUser(); if(sview.matches("/EditarPlano.jsp") || sview.matches("/EnviarCorrecao.jsp") || sview.matches("/ViewPlano.jsp")) { @@ -144,6 +173,15 @@ public class MainPhaseListener implements PhaseListener{ session.setDisableMenuPlanos(true); } } + + //insert logos + + Integer empresaId = u.getEmpresa_id(); + System.out.println("LOGO EMPRESA ID B : " + empresaId.toString()); + Logos logos = new Logos(); + String logourl = logos.getLogo(fc, empresaId); + session.setLogoEmpresaUrl(logourl); + System.out.println("LOGO URL : " + logourl); System.out.println("VIEW : " + view); } } diff --git a/trunk/PlanosActuacao/src/java/planosactuacao/Dummy.java b/trunk/PlanosActuacao/src/java/planosactuacao/Dummy.java index 0b869dc7..f8731420 100644 --- a/trunk/PlanosActuacao/src/java/planosactuacao/Dummy.java +++ b/trunk/PlanosActuacao/src/java/planosactuacao/Dummy.java @@ -8,14 +8,17 @@ package planosactuacao; import com.sun.rave.web.ui.appbase.AbstractPageBean; -import com.sun.webui.jsf.model.DefaultTableDataProvider; +import com.sun.webui.jsf.component.Button; +import com.sun.webui.jsf.component.ImageComponent; import db.entidades.Utilizador; import db.providers.UtilizadoresDataProvider; import java.sql.Connection; import java.util.ArrayList; import java.util.ListIterator; import javax.faces.FacesException; +import javax.faces.context.FacesContext; import javax.faces.event.ActionEvent; +import utils.Logos; /** *

Page bean that corresponds to a similarly named JSP page. This @@ -36,14 +39,23 @@ public class Dummy extends AbstractPageBean { */ private void _init() throws Exception { } - private DefaultTableDataProvider defaultTableDataProvider = new DefaultTableDataProvider(); + private Button butImage = new Button(); - public DefaultTableDataProvider getDefaultTableDataProvider() { - return defaultTableDataProvider; + public Button getButImage() { + return butImage; } - public void setDefaultTableDataProvider(DefaultTableDataProvider dtdp) { - this.defaultTableDataProvider = dtdp; + public void setButImage(Button b) { + this.butImage = b; + } + private ImageComponent image1 = new ImageComponent(); + + public ImageComponent getImage1() { + return image1; + } + + public void setImage1(ImageComponent ic) { + this.image1 = ic; } // @@ -112,7 +124,8 @@ public class Dummy extends AbstractPageBean { */ @Override public void prerender() { - printUsers(); + //printUsers(); + } /** @@ -216,7 +229,22 @@ public class Dummy extends AbstractPageBean { } ex.printStackTrace(); } - } + } + + public String butImage_action() { + // TODO: Process the action. Return value is a navigation + // case name where null will return to the same page. + +// FacesContext fc = getFacesContext(); +// Logos logos = new Logos(); +// String logourl = logos.getLogo(fc); +// if(logourl != null) +// { +// image1.setUrl(logourl); +// } + + return null; + } } diff --git a/trunk/PlanosActuacao/src/java/planosactuacao/Header.java b/trunk/PlanosActuacao/src/java/planosactuacao/Header.java index bd0763f0..96846fb8 100644 --- a/trunk/PlanosActuacao/src/java/planosactuacao/Header.java +++ b/trunk/PlanosActuacao/src/java/planosactuacao/Header.java @@ -7,6 +7,7 @@ package planosactuacao; import com.sun.rave.web.ui.appbase.AbstractFragmentBean; +import com.sun.webui.jsf.component.ImageComponent; import com.sun.webui.jsf.component.StaticText; import db.entidades.Utilizador; import global.Global; @@ -43,6 +44,15 @@ public class Header extends AbstractFragmentBean { public void setStDataPlano(StaticText st) { this.stDataPlano = st; } + private ImageComponent imgLogoEmpresa = new ImageComponent(); + + public ImageComponent getImgLogoEmpresa() { + return imgLogoEmpresa; + } + + public void setImgLogoEmpresa(ImageComponent ic) { + this.imgLogoEmpresa = ic; + } // public Header() { diff --git a/trunk/PlanosActuacao/src/java/planosactuacao/SessionBean1.java b/trunk/PlanosActuacao/src/java/planosactuacao/SessionBean1.java index 6b3aeef5..30126302 100644 --- a/trunk/PlanosActuacao/src/java/planosactuacao/SessionBean1.java +++ b/trunk/PlanosActuacao/src/java/planosactuacao/SessionBean1.java @@ -71,6 +71,8 @@ public class SessionBean1 extends AbstractSessionBean { private HashMap areasHash; private HashMap riscosHash; private Pagination pagination = null; + + private String logoEmpresaUrl = ""; /** *

Construct a new session data bean instance.

@@ -369,5 +371,13 @@ public class SessionBean1 extends AbstractSessionBean { this.valoresHash = valoresHash; } + public String getLogoEmpresaUrl() { + return logoEmpresaUrl; + } + + public void setLogoEmpresaUrl(String logoEmpresaUrl) { + this.logoEmpresaUrl = logoEmpresaUrl; + } + } diff --git a/trunk/PlanosActuacao/src/java/utils/Logos.java b/trunk/PlanosActuacao/src/java/utils/Logos.java new file mode 100644 index 00000000..079b5c2c --- /dev/null +++ b/trunk/PlanosActuacao/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.providers.RelatoriosDataProvider; +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 : + RelatoriosDataProvider rdp = new RelatoriosDataProvider(); + byte[] logo = rdp.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/PlanosActuacao/web/Dummy.jsp b/trunk/PlanosActuacao/web/Dummy.jsp index ab6588f9..26cc07b6 100644 --- a/trunk/PlanosActuacao/web/Dummy.jsp +++ b/trunk/PlanosActuacao/web/Dummy.jsp @@ -28,27 +28,10 @@ - - - - - - - - - - - - - - - - - - - + + diff --git a/trunk/PlanosActuacao/web/Header.jspf b/trunk/PlanosActuacao/web/Header.jspf index 74abfc42..dc4e0d80 100644 --- a/trunk/PlanosActuacao/web/Header.jspf +++ b/trunk/PlanosActuacao/web/Header.jspf @@ -12,12 +12,12 @@ - + + id="lnkAnaliseAcidentes1" text="análise de acidentes de trabalho>>"/> @@ -47,7 +47,7 @@ - +