viernes, 20 de febrero de 2009
Tutoriales muy buenos de java
Publicado por
Juan Antonio Ruz
en
4:07
0
comentarios
Categorías: java, tutoriales
jueves, 22 de enero de 2009
10 ideas para un programador java que quiere entender ruby
Publicado por
Juan Antonio Ruz
en
4:35
0
comentarios
lunes, 1 de diciembre de 2008
Selenium web application testing
Es un pluging de Firefox para automatizar pruebas de web evitando el tipico proceso de abrir web, click en enlace, introducir valor en formulario, comprobar resultado .... es decir una herramienta que evita que el desarrollador se deprima!
web: http://selenium.seleniumhq.org/
Publicado por
Juan Antonio Ruz
en
3:20
0
comentarios
Jbehave- 2 parte
El objetivo es que el desarrollo se centre en el estudio de los comportamientos de un programa (BDD) en vez de sus salidas (TDD)
En un test de comportamientos existen como minimo 3 archivos:
- un fichero de texto con una forma estandarizada con la descricpción del comportamiento
- una clase java que hereda de Scenario y que cumple el rol de describir el escenario
- una clase java que herada de Steps y que cumple el rol de describir los pasos del comportamiento
Con JBehave primero tenemos que escribir (y guardar) un fichero de texto con la descripcion del comportamiento esperado (Give, When, Then ). El nombre del fichero tiene que coincidir con el nombre de la clase que cumple el rol de Scenario. En el constructor del scenario se le pasa el objeto de tipo Steps (que su clase padre es de tipo Steps) en el que se implementan los metodos que se corresponden con la descripción del comportamiento. Se utiliza anotaciones para identificar dichos metodos con el paso correspondiente del comportamiento especificado en el fichero de texto
repositorio con ejemplo de logging muy simplificado:
http://code.google.com/p/ceacea/source/browse/trunk/jbehave/src/logging?spec=svn26&r=26
librerias necesarias:
- junit-4.4.jar
- jbehave-core-2.2-SNAPSHOT.jar
http://www.ibm.com/developerworks/java/library/j-cq09187/index.html?ca=dgr-lnxw9djbehavetdd&S_TACT=105AGX59&S_CMP=GR
el comportamiento se puede entender como un condicional: If, And, Then en vez de Give, When, Then para que resulte más familiar al desarrollador
Publicado por
Juan Antonio Ruz
en
3:15
0
comentarios
viernes, 4 de abril de 2008
Tipos de asociación: Composición - Agregación - Dependencia
Tipos de asociación:
La composición está relacionada con el valor del objeto, es decir el objeto que lo contiene se encarga de su ciclo de vida (inicialización, mantenimiento y limpieza)
La agregación está relacionada con la referencia a un objeto:
Publicado por
Juan Antonio Ruz
en
3:43
1 comentarios
Categorías: java
jueves, 27 de marzo de 2008
Programación pesimista, programación orientada a excepciones (anomalías)
Una excepción en java es simplemente una clase que hereda de la clase java.lang.Exception que extiende a su vez de la clase java.lang.Throwable así que empezamos echando un vistazo a el API de Throwable: http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Throwable.html
Como se comenta en la descripción de la clase:
Only objects that are instances of this class (or one of its subclasses) are thrown by the Java Virtual Machine or can be thrown by the Java throw
statement.
Se puede apreciar que las clases que herendan de Throwable son Error y Exception. Mientras que si lanzamos un error no hay que declarlo en la definición del método, si lanzamos una exception si hay que declarlo:
Aunque no estamos obligados a declarar el error en la definición del método lo podríamos haber hecho de las siguientes maneras:
- public void pruebaLanzaError() throws Error
- public void pruebaLanzaError() throws Throwable
Si entendemos la excepción como un comportamiento anómalo de nuestro programa (o parte de programa), podemos tener en cuenta todos las anomalías de nuestro programa como pueden ser: objetos nulos, valores negativos ...
y actuando en consecuencia es decir lanzando excepciones concretas respondiendo a comportamientos anomalos concretos.
Publicado por
Juan Antonio Ruz
en
4:20
1 comentarios
Categorías: excepciones, java
miércoles, 16 de enero de 2008
Obtener un string con el mensaje (stacktrace) de una excepción
Exception ex = new Exception("something went wrong");
StringWriter sw = new StringWriter();
ex.printStackTrace(new PrintWriter(sw));
String stacktrace = sw.toString();
System.out.println("stacktrace = " + stacktrace);
Conseguido en
http://www.jguru.com/faq/view.jsp?EID=571084
Publicado por
Juan Antonio Ruz
en
11:54
1 comentarios
Categorías: java
miércoles, 24 de octubre de 2007
enum con propiedades, para controlar los mensajes al usuario
http://java.sun.com/docs/books/tutorial/java/javaOO/enum.html
public enum ReflectionMensaje {
ILEGAL_ACCESO("ilegal acceso al metodo: "),
METODO_INEXISTENTE("No existe el metodo: "),
EXCEPCION_INVOCACION("excepcion de invocacion en el metodo: ");
private final String mensaje; // in kilograms
ReflectionMensaje(String m) {
this.mensaje = m;
}
public String toString() {
return mensaje; //To change body of overridden methods use File | Settings | File Templates.
}
}
Publicado por
Juan Antonio Ruz
en
12:28
0
comentarios
Categorías: java
viernes, 31 de agosto de 2007
articulos interesantes para programar en java con herramientas actuales
http://shrubbery.mynetgear.net/
Publicado por
Juan Antonio Ruz
en
5:18
0
comentarios
Categorías: Intellij IDEA, java
miércoles, 22 de agosto de 2007
Obtener el contenido de una entrada de blogger
TextContent tc = (TextContent)entry.getContent();
HtmlTextConstruct ptc = (HtmlTextConstruct)tc.getContent();
System.out.println(ptc.getHtml());
Publicado por
Juan Antonio Ruz
en
12:08
0
comentarios
lunes, 18 de junio de 2007
UnifiedExpressionLanguage operador &&
El operador "&&" se cambia a "and"
http://java.sun.com/javaee/5/docs/tutorial/doc/JSPIntro7.html
not empty
empty
la expresión quedaría de la siguiente forma: #{empty cart.cart}
Publicado por
Juan Antonio Ruz
en
10:47
0
comentarios
Convertir byte[] a archivo
File file = new File(name);
file.createNewFile();
FileInputStream fileInputStream = new FileInputStream(name);
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(fileData);
OutputStream outputStream = new FileOutputStream(
name);
int data;
while ((data = byteArrayInputStream.read()) != -1) {
outputStream.write(data);
}
fileInputStream.close();
outputStream.close();
Publicado por
Juan Antonio Ruz
en
4:36
0
comentarios
Categorías: java
miércoles, 23 de mayo de 2007
af:validateDateTimeRange problem
El error del del validador de date TimeRange se debe a que debemos resetear el Time del Calendar correspondiente, más o menos así:
public void resetTime(Calendar f ){
f.set(Calendar.HOUR_OF_DAY, 0);
f.set(Calendar.MINUTE, 0);
f.set(Calendar.SECOND, 0);
f.set(Calendar.MILLISECOND, 0);
}
<af:validateDateTimeRange maximum="#{convCursosListado.seleccionClaseActual.finFiltro.time}"
minimum="#{convCursosListado.seleccionClaseActual.inicioLimite.time}"/>
Publicado por
Juan Antonio Ruz
en
11:53
0
comentarios
lunes, 14 de mayo de 2007
decimales en java
public static float roundNum(float num) throws Exception
{
float valor = 0;
valor = num;
valor = valor*100;
valor = java.lang.Math.round(valor);
valor = valor/100;
return valor;
}
si quieres que se trunque a 1 decimal multiplicas por 10 y divides para 10
si quieres que se trunque a 2 decimales multiplicas por 100 y divides para 100
y asi según el número de decimales que necesites.
el método round(valor) de la clase java.lang.Math también puede recibir valores doubles en su argumento
Publicado por
Juan Antonio Ruz
en
3:44
0
comentarios
Categorías: java
jueves, 3 de mayo de 2007
instalar jdk linux
http://javabasico.osmosislatina.com/java_linux.htm
Publicado por
Juan Antonio Ruz
en
3:16
0
comentarios
sábado, 28 de abril de 2007
Convert Date to Calendar
Calendar calendar = Calendar.getInstance();
calendar.setTime(i.getFechaInicio());
Publicado por
Juan Antonio Ruz
en
12:26
0
comentarios
Categorías: java
viernes, 27 de abril de 2007
invertir java.util.List
List
for(int index=lista.size()-1; index>=0; index--)
invertir.add(parents.get(index));
return invertir;
Publicado por
Juan Antonio Ruz
en
9:06
0
comentarios
Categorías: java
jueves, 26 de abril de 2007
obtener el valor del request en jstl/jsf
#{param.nombreDeVariable}
info obtenida en
http://www.exampledepot.com/egs/javax.servlet.jsp.jstl.core/getparam.html?l=rel
Publicado por
Juan Antonio Ruz
en
12:38
0
comentarios
miércoles, 25 de abril de 2007
Problemas con el character set en java
Actualizar driver y que no haya duplicados de librería
actualmente estoy usando mysql-connector-java-5.0.5-bin.jar
Publicado por
Juan Antonio Ruz
en
3:13
0
comentarios
Categorías: i18n, java, Soluciones
martes, 24 de abril de 2007
Ejecutar archivos jar desde la linea de comandos
java -cp . -jar archivo.jar
Publicado por
Juan Antonio Ruz
en
4:00
0
comentarios
Categorías: java