28 de mayo de 2021

:: Java. Método split


Por ejemplo en el caso de leer un fichero .csv línea a línea, el error obtenido era "indexOutOfBound".

El fichero de ejemplo a leer era del tipo: "valor1;valor2;;;;;;;"


El código para leer el fichero era:

br = new BufferedReader(new FileReader(fichero));

    

while ((line = br.readLine()) != null) {

Scanner scanner = new Scanner(line);

String[] datos = line.split(cvsSplitBy);

}


El problema es que el método split no devuelve el elemento en el caso de que este sea nulo, es decir, al hacer el split de la línea, el valor devuelto era: "valor1;valor2" y al tratar de acceder a la tercera posición del srting devuelve error.

La solución es indicarle al método split que devuelva estos elementos aunque sean nulos:


br = new BufferedReader(new FileReader(fichero));

    

while ((line = br.readLine()) != null) {

Scanner scanner = new Scanner(line);

String[] datos = line.split(cvsSplitBy,-1);

}


El cambio respecto al código anterior es añadir como segundo parámetro al método "split" el valor: "-1"



24 de mayo de 2021

:: Cargar una imagen en Google Colab


Para mostrar una imagen en un notebook de Google Colab, los pasos son:
  1. Subir previamente la imagen a Google Colab
  2. Referenciarla mediante el siguiente código:

from IPython.display import Image
Image('punto-de-rocio.jpg')


A continuación se muestra un ejemplo de cómo quedaría.


:: Liferay. Problemas con drag&drop de un portlet


En Liferay 6.1 en ocasiones existen problemas al arrastrar y reubicar un portlet dentro de un layout.

Los pasos a seguir para solventarlo podría ser:

.- Inspeccionando la página localizamos la capa donde queremos reubicar el portlet

.- A esta capa le aplicamos estilos:

background:red

padding:1em

.- Vamos a la opción ubicada en la esquina superior izquierda  y seleccionando la opción: "añadir".

.- Buscamos el componente, por ejemplo: Visor de contenidos web y lo arrastramos a la capa sobre la que hemos aplicado estilos.


Con estos pasos, nos permitirá reubicar un portlet en una determinada zona. A partir de que esta "capa" tenga un componente, podremos ubicar en ese punto otros componentes adicionales sin ningún problema.

19 de mayo de 2021

:: Liferay. No carga el contexto "Context initialization failed"


 En Liferay 6.2, no arranca el servidor y en los logs muestra un error similar a este:

[ContextLoader:206] Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.liferay.portal.kernel.lar.ExportImportHelper' defined in class path resource [META-INF/util-spring.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.liferay.portal.lar.ExportImportHelperImpl]: Constructor threw exception; nested exception is java.lang.Error: Unresolved compilation problems: _ The import com.liferay.portal.lar.backgroundtask cannot be resolved_ The import com.liferay.portal.model.impl.LayoutImpl cannot be resolved_ The import com.liferay.portal.util.PropsValues cannot be resolved_ The import com.liferay.portal.util.WebKeys cannot be resolved_ StagingIndexingBackgroundTaskExecutor cannot be resolved to a type_ WebKeys cannot be resolved to a variable_ LayoutImpl cannot be resolved to a type_ PropsValues cannot be resolved to a variable_ PropsValues cannot be resolved to a variable_ PropsValues cannot be resolved to a variable_ AlwaysCurrentUserIdStrategy cannot be resolved to a type_ CurrentUserIdStrategy cannot be resolved to a type_ PropsValues cannot be resolved to a variable_ PropsValues cannot be resolved to a variable_ PropsValues cannot be resolved to a variable_ PropsValues cannot be resolved to a variable_ PropsValues cannot be resolved to a variable_ [Sanitized]

En este caso el error se solucionó des-instalando el plugin-ext y volviendo a desplegarlo en el arranque.


10 de mayo de 2021

:: Liferay. Conectar Excel con Liferay 6.2 sobre MySQL

 


Los pasos para conectar excel con MySQL los pasos a seguir son los siguientes:

.- Datos > Nueva consulta > Desde Base de datos > Desde una base de datos MySQL

.- Cumplimentaremos el formulario correspondiente a la cadena de conexión

    Servidor: nombre_de_servidor_de_base_de_datos

    Base de datos: nombre_de_la_base_de_datos

    En la instrucción SQL podemos especificar una consulta para que nos muestra las tablas de la base de datos, por ejemplo: "show tables;"


Un ejemplo sería:

Servidor: localhost

Base de datos: liferay62

Consulta SQL: show tables;

 




:: Cookies de nuestra página web. ¿Para qué sirve cada una?

A menudo una pregunta que nos hacen es qué cookies se están utilizando en mi página y para qué sirven. Para ver las cookies, podemos selecci...