martes, 7 de agosto de 2012

Nuevo blog!

Hola a todos, he cambiado a una nueva pagina de blog, he publicado un nuevo tutorial con JDeveloper 11G.
El nuevo blog es:
http://facedevelop.blogspot.com/

Saludos

sábado, 9 de julio de 2011

JComboBox Ubigeo con swing

Esta es una demo realizada con JComboBox swing, adjunto el script de la tabla ubigeo mysql .

Para la descarga dale clic aqui

miércoles, 21 de abril de 2010

Internacionalizacion en JSF JDeveloper

He preparado un proyecto web que tiene esta caracteristica aplicable a la capa de view controller:
Descargar:
http://uploading.com/files/a56bdf63/webInternacionalizacion.zip/

martes, 30 de marzo de 2010

Reportes JDeveloper 11g II

Hola, bueno retomando el tema de los reportes en JDeveloper 11g.

En este caso se tiene una pagina que muestra datos de la base de datos HR.

























En el boton reportes PDF se tiene la siguiente programacion :













En el backing bean "general" en estado sesion ,se tiene este procedimiento , para mi caso he generado un jar especial que se encarga de hacer el reporte y descargarlo en el navegador.











Finalmente se descarga el archivo reporte en pdf generado desde un jasper.



domingo, 24 de enero de 2010

Drag and Drop en JDeveloper 11G

Esta demo nos permite visualizar una lista de productos y un carrito de compras,la forma en que se añaden productos al carrito es arrastrandolos (drag and drop), una funcionalidad muy vistosa.














Para descargar la aplicación da clic al siguiente link:

domingo, 3 de enero de 2010

Reportes en JDeveloper 11G

En el caso de los reportes en la version JDeveloper 11G, modificar el procedimiento para que se invoque desde el backing bean, ya no utilizar una pagina jsp.

sábado, 9 de mayo de 2009

Reportes en JDeveloper - Parte 2

Hola amigos, en esta segunda parte veremos como gestionar los archivos jasper desde JDeveloper y como pasar los parametros que necesita el reporte.
Debemos copiar desde la carpeta lib de nuestro IReport, los siguientes jar :

itext-1.3.1.jar
jasperreports-2.0.4.jar
jasperreports-extensions-1.3.1.jar
poi-2.5.1-final-20040804






Luego pegarlos en la carpeta WEB-INF/lib de nuestro proyecto web.
En la lista podemos ver las librerias itext y el poi, estas librerias nos serviran para los reportes en pdf y excel respectivamente.

Debemos crear una carpeta dentro del WEB-INF, su nombre sera "reports", al interior de este carpeta pegaremos el archivo mi_reporte_javix.jasper (recuerde que este archivo lo generamos en el anterior articulo), este archivo se encuentra en la carpeta principal de su IReport.

Vamos al proyecto ViewController darle doble clic y agregaremos las librerias,darle clic al boton add Jar/Directory

















Finalmente quedaria de esta manera:






















Ahora vamos al faces-config.xml y diseñamos la siguiente navegacion entre paginas:













Tenemos dos paginas , la navegacion tiene el nombre de "dialog:jspreporte".
El diseño de la pagina index.jsp seria el siguiente:



















Modifique las siguientes propiedades del boton "Generar Reporte":
useWindow="true"
windowHeight="800"
windowWidth="600"

Debe capturar el valor del selectonechoice que almacena el area luego cargarlo como variable session a idarea.
Programacion del boton "generar reporte" en el backing:


FacesContext context = javax.faces.context.FacesContext.getCurrentInstance();
HttpSession session = (HttpSession) context.getExternalContext().getSession(false);
session.setAttribute("idarea",idarea);
return "dialog:jspreporte";

Para generar el reporte necesita una conexion a una base de datos, en este caso se puede tomar la conexion existente del datasource original, o tambien crear una propia conexion a la base de datos, optaremos por esta opcion, entonces debera crear una clase "OracleDBConn".


package com.javix.pe.model.db;

import java.sql.Connection;
import java.sql.DriverManager;
import javax.naming.InitialContext;
import javax.sql.DataSource;
public class OracleDBConn {
/**
*Registramos el driver
*/
static {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (Exception e) {
System.out.println("Ocurrió un problema con el driver\n" + e);
}
}
/**
* Obtiene una conexión a la Base de Datos.
*/
public Connection getConexion() {
Connection connection = null;
try {
connection = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORCL","blog","blog");
} catch (Exception e) {
System.out.println("Ocurrió un problema al obtener la conexión\n" + e);
}
return connection;
}
}


Continuando ya se tiene el archivo reporte, la clase de conexion, ahora falta la pagina que soportara el reporte, para este ejemplo ejecutaremos un reporte en pdf y al dar clic al boton "generar reporte" automaticamente debera aparecer una ventana emergente mostrando un pdf con la informacion solicitada.



Para ello debemos programar la pagina reporte.jsp con el siguiente codigo:



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http  :// www . w3 . org/TR/html4/loose.dtd">



<%@ page import="net.sf.jasperreports.engine.*" %>



<%@ page import="net.sf.jasperreports.engine.design.*" %>



<%@ page import="net.sf.jasperreports.engine.data.*"%>



<%@ page import="net.sf.jasperreports.engine.export.*"%>





<%@ page import="net.sf.jasperreports.engine.util.*"%>



<%@ page import="net.sf.jasperreports.view.*"%>



<%@ page import="net.sf.jasperreports.view.save.*"%>





<%@ page import="java.sql.*"%>



<%@ page import="java.util.*" %>



<%@ page import="java.io.*" %>



<%@ page contentType="text/html;charset=windows-1252"%>

<html>



<head><title>Reporte Javier Calizaya!</title>



<script language="JavaScript">



function regresar(){



            history.back();



}



function error(){



            alert("Error encontrando procesando el periodo: " + periodo);



            history.back();



}



</script>



</head>



<%



try{

        com.javix.pe.model.db.OracleDBConn objDBConn =new com.javix.pe.model.db.OracleDBConn() ;

         Connection conn = null ;

      

        

        conn = objDBConn.getConexion();

      

  

            System.setProperty("jasper.reports.compile.class.path",application.getRealPath("/WEB-INF/lib/jasperreports-2.0.4.jar") +



                        System.getProperty("path.separator") +



                        application.getRealPath("/WEB-INF/classes/")



                        );



          

            System.setProperty(



                        "jasper.reports.compile.temp",



                        application.getRealPath("/reports/")



                        );



            File reportFile = new File(application.getRealPath("/reports/mi_reporte_javix.jasper"));

            Map parameters = new HashMap();

            javax.faces.context.FacesContext context = javax.faces.context.FacesContext.getCurrentInstance();

            parameters.put("idlocal",session.getAttribute("idarea").toString());



            byte[] bytes =JasperRunManager.runReportToPdf(reportFile.getPath(),parameters,conn);

            response.setContentType("application/pdf");

            response.setContentLength(bytes.length);

            ServletOutputStream ouputStream = response.getOutputStream();

            ouputStream.write(bytes, 0, bytes.length);

            ouputStream.flush();

            ouputStream.close();



                                   }catch (JRException e)



                                   {System.out.println("Error:" +e.getMessage());}



                                   catch (Exception e)



                                   {



                                   e.printStackTrace();



                                   System.out.println("Error2:" +e.getMessage());

                                    }        



%>



<body >



</body>



</html>





Ejecutar la pagina index.jsp: