Archivo de la categoría ‘Programación’
Recorrido del árbol VFS en OpenCms
Si se quiere consultar cualquier tipo de contenido estructurado del VFS no tenemos más que usar el collector allInSubTree, pero si necesitamos un listado de carpetas, imágenes, pdfs, … no podemos hacerlo de esta manera.
Y esta era mi intención, un proceso que tratara de una manera especial todas las imágenes del sitio.
Pruebas unitarias con JUnit (básico)
Cuando nos grabamos en la cabeza el ciclo de vida clásico de un proyecto de software hay una fase por la que amenudo se pasa de puntillas, y no es que no se haga, sino que se hace de la manera que se puede y con el tiempo que quede (osea, poco y mal).
Esta situación no es culpa de nadie en concreto y de todos en general, desde la dirección de la empresa (no exige o ve un aumento de gasto “eludible”), pasando por los jefes de proyecto (en la planificación, si aparece una tarea, es con una previsión de tiempo aleatoria y sin ningún plan de pruebas predeterminado) y terminando por los programadores (nada metódicos en este punto, improvisación en los casos a probar, falta de motivación).
El final de todo esto es un conjunto de pruebas insuficientes, mal diseñadas y no reutilizables. Y subrayo lo de no reutilizable porque si estamos acostumbrados a la reutilización de código deberíamos acostumbrarnos a la reutilización de pruebas para que al modificar, corregir o ampliar funcionalidad de un componente se vuelven a pasar las pruebas junto con otras nuevas para verificar el buen funcionamiento de las modificaciones y evitar efectos colaterales inesperados.
Profesionalmente yo soy parte de la cadena y tengo mi cuota de culpa, pero en mis desarrollos personales en los que soy el mecenas, jefe de proyecto, analista, programador y hasta encargado de la limpieza, quiero, además de moverme en campos a los que no me dedico o no me dejan dedicarme para matar el gusanillo, aprender cualquier aspecto de mi profesión, hacer las cosas lo mejor posible y hablar de los temas basándome en mi experiencia personal y no soltando alguna frase que haya leído en algún libro para que parezca que sé de lo que hablo (de éstos que sueltan frases hay un montón y además llegan lejos, hay que joderse).
Para realizar pruebas unitarias en proyectos Java nos apoyaremos en el archiconocido framework JUnit, así que lo primero que haremos será bajar la última version (4.8.2 actualmente) desde http://www.junit.org.
Leer el resto de esta entrada »
Monográfico: Powered by Google

Google: El monstruo que nos tragará a todos.
Después de este mensaje apocalíptico me declaro fan incondicional de Google (cuando nos domine a todos lo negaré rotundamente y eliminaré todos los post relacionados). Y si nos va a someter queramos o no queramos lo mejor es subirse a la ola e intentar aprovechar lo máximo posible sus servicios gratuitos.
La verdad es que no se por donde empezar para esbozar todo lo que nos ofrece este gigante que basa sus productos en la gratuidad, la potencia y la simplicidad. Comenzando por su buscador que lleva ya muchos años siendo el preferido por los internautas y que es de donde parte este imperio, pasando por su correo Gmail, documentos online, chat, hasta sus apis de programación.
No digo que sus servicios sean los idóneos para todas nuestras necesidades ni que el carácter gratuito no tenga su contrapartida o sean sus cadenas para un futuro (que mientras sigan viviendo así de bien gracias a la publicidad no está cerca).
Generación de menús con OpenCMS
El tercer caso que vamos a ver de elementos reutilizables es el más evidente: El Menú.
Si queremos que sea lo más flexible posible vamos a parametrizarlo para poder adaptarlo a nuestras necesidades (o a las de la plantilla que nos propongan). Por ello vamos a darle valores para el nivel en el que queremos empezar a ver el menú y para el nivel de profundidad máximo al que queremos llegar.
Así si necesitamos tener un primer nivel de menú horizontal con uno de profundidad:
nivelMenu=0;
nivelMaximo=0;
Y además tenemos en una columna el resto del menú:
nivelMenu=1;
nivelMaximo lo dejamos vacío para no limitarnos.
Consulta Web con Java usando un Proxy con Autenticación
Algunas veces no volvemos locos buscando por toda la API cual es el método que acepta un tipo de parámetro que nos haría falta para nuestros propósitos, pero esa no es la forma de utilizar dicho tipo.
Este es el caso de las conexiones de red cuando hay un proxy de por medio que además necesita autenticación de usuario.
Veremos la utilización de la clase Autenticator de Java con un ejemplo de petición web.

