jueves, 4 de mayo de 2023

Generar JavaDoc con maven

Hay una manera rapida y eficaz para poder generar la documentacion javadoc usando maven. 

Recordar que tu codigo debe tener los siguientes comentarios

 /** 

         Ejemplo de documentacion JavaDoc 

*/ 

 

Se debe ejecutar el siguiente comando: mvn javadoc:javadoc

 Esto generara la documentacion en la siguiente carpeta target/site/apidocs 

Puedes cambiar la carpeta por medio de la configuracion del plugin en la siguiente entrada reportOutputDirectory 

Espero que les sirva de ayuda Recordar que es importante la documentacion para el resto de los desarrolladores que van a mantener tu codigo.

martes, 24 de noviembre de 2009

Prevenir en php el insert duplicado

$c=OCILogon("scott", "tiger", "orcl");
if ( ! $c ) {
echo "Unable to connect: " . var_dump( OCIError() );
die();
}
$mydupcheck = "select * from personTable where firstname = $_POST[firstname] and lastname = $_POST[lastname] and emailaddress = $_POST[emailaddress]";

if($mydupcheck)
{
echo "Duplicate entry";
}
else
{
$s = OCIParse($c, "INSERT INTO personTable (firstname,lastname,emailaddress) VALUES ($_POST[firstname],'$_POST[lastname]','$_POST[emailaddress]'");
OCIExecute($s, OCI_DEFAULT);
echo "Record successfully entered";
}
?>

domingo, 1 de noviembre de 2009

Insertar Fecha con PHP en MySQL

Una manera fácil de insertar la fecha actual con PHP en una base de datos MySQL puede ser la siguiente:

$date = date("Y-m-d");
mysql_query("INSERT INTO date_table VALUES ('$name', '$date')", $db_connection);
?>

Para obtener el timestamp de Unix a partir de un campo Fecha, puede utilizar una función como la que se muestra a continuación:

// Devuelve Unix timestamp de una fecha MySQL en formato YYYY-MM-DD
function mysqldate_to_unix_timestamp($date) {

list($year, $month, $day) = explode('-', format_date( $date) );
return mktime(0, 0, 0, $month, $day, $year);
}
?>

Fuente: WebLatam.com

domingo, 27 de septiembre de 2009

IReport y Jdeveloper 10g parte 2

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:




"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"%>





Reporte Javier Calizaya!











<%



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());

}



%>

















Ejecutar la pagina index.jsp:



















Fuente: http://javixoracle.blogspot.com/