Skip to main content

chuidiang's blog

ISO8601 date a Calendar

Posted in

Si tenemos una fecha que cumpla ISO8601, por ejemplo 2010-01-01T12:00:00+0100, podemos convertirla a un Calendar de java con

Calendar cal = javax.xml.bind.DatatypeConverter.parseDateTime("2010-01-01T12:00:00Z");

 

 

Conjunto ordenado en java

Posted in

 TreeSet<> es un conjunto ordenado en java. No admite dos valores repetidos y cuando se recorre, los devuelve ordenados. Un ejemplo

Editar svn:ignore

Posted in

 Para editar la propiedad svn:ignore de un proyecto subversion, ir al directorio donde se quiere editar y el comando es

svn propedit --editor-cmd gvim svn:ignore .

En --editor-cmd podemos poner el editor que queramos, en nuestro ejemplo gvim. Si tenemos definida la variable de entorno SVN_EDITOR, no es necesaria esta opción.

 

Evitar la validación de DTD con java

Posted in

Cuando se parsea un documento XML con Java, java verifica que está correctamente construido usando los DTD que aparecen en la cabecera del documento XML. Habitualmente estos DTD están en red, por lo que el parseo puede ser muy lengo debido a que java tiene que leer y analizar todos estos documentos DTD en red. Quizás incluso no tenemos internet en ese momento.

Para evitar esta validación, el código java que hay que poner es el siguiente

Liferay a través de proxy

Posted in

Si instalamos liferay en un servidor que accede a internet a través de un proxy con autentificación, Liferay no podrá acceder al mercado de liferay para instalar nuevos plugins, comprobar actualizaciones, etc.

Dentro de <LIFERAY_HOME>/tomcat-xxx/webapps/ROOT/WEB-INF/lib/portal-impl.jar hay dos ficheros de properties : system.properties y portal.properties. En el primero está la configuración del proxy (host, puerto y excepciones) en tres líneas comentadas que bastará con descomentar y colocar los valores correctos.

Directorio de Datos de Geoserver

Posted in

Cuando se despliega geoserver como una aplicación war, geoserver guarda sus datos en webapps/geoserver/data_dir. Este sitio no es adecuado porque si redesplegamos geoserver.war, perderemos los datos.

Para evitar esto, basta con crear la variable de entorno GEOSERVER_DATA_DIR indicando el directorio donde queremos que geoserver guarde sus datos.

Documentación : http://docs.geoserver.org/latest/en/user/datadirectory/data-dir-setting.html

100% height con CSS

Posted in

Si queremos que un elemento HTML ocupe el 100% de alto del navegador, debemos dar height 100% al tag html y al body, haciendo así que ambos ocupen el 100% de altura disponible. A partir de aquí los elementos internos cogerán el alto que se les indique respecto a la altura de ventana del navegador.

html, body {
   height : 100%;
}

div {
   height : 100%;
}

Cambiar instancia por defecto en Liferay

Posted in

Un mismo ejecutable de Liferay permite visualizar sitios distintos con dominios distintos. Estos sitios se llaman "instancias" de Liferay. Sin embargo, el administrador de una de estas instancias, por defecto la que se llama liferay.com, es el administrador global del servidor, el único que puede tocar la configuración global del servidor que afecta a todas las instancias, instalar nuevos plugins, etc.

Para cambiar esta instancia por defecto, basta parar liferay, en portal-ext.properties añadir la línea,

company.default.web.id=otroWebId

Borrar líneas que cumplan un patrón en vi

Posted in

 Si queremos borrar en vi todas las líneas que cumplan un determinado patrón, el comando es

:g/patron/d

siendo patrón una expresion regular de las de vi. Por ejemplo, si queremos borrar todas las líneas con la palabra "pedro"

:g/pedro/d

 

log4j.configuration

Posted in

Si usamos log4j, este leerá por defecto la configuración en el fichero log4j.properties que encuentre en la raíz del classpath.

 Al arrancar nuestro ejecutable java, podemos indicarle a log4j con una propiedad -D dónde está el fichero que debe leer, para que no coja el de defecto o si el de defecto no está en la raíz del classpath.

java -Dlog4j.configuration=path/fichero.properties ....

Syndicate content