Publicado el Dejar un comentario

Rellenar con espacios a la derecha un texto con java.

En ocasiones queremos generar un texto de un ancho fijo y rellenar con espacios los caracteres que no son utilizados o ocupados por la cadena de caracteres que contiene, por ejemplo, tenemos una cadena con el contenido “ABC” y queremos generar una cadena de 10 caracteres con el texto “ABC” cargado a la izquierda, y el resto de los caracteres a la derecha, rellenarlos con espacios.

Para eso podemos usar el método format de la clase String, de esta forma:

String textoFormateado = String.format("%-10s", "ABC");
System.out.println("[" + textoFormateado + "]");

El código anterior arrojaría el siguiente resultado:

[ABC       ]

Los corchetes cuadrados se agregaron para apreciar los espacios en la cadena de texto.

Si quisiéramos usar este mismo método para rellenar con otro caracter, usaríamos el método replace de la clase String para reemplazar los espacios por el caracter deseado; así:

String textoFormateado = String.format("%-10s", "ABC").replace(' ','*');        
System.out.println("[" + textoFormateado + "]");

Lo que daría como resultado:

[ABC*******]

Si en lugar de usar el formato “%-10s” en el método format, usáramos “%10s” los espacios y/o asteriscos, aparecerían  a la izquierda del texto.

Les dejo de tarea este ejercicio.

Espero y les sea útil este tip. ¡Saludos!

 

 

Publicado el Dejar un comentario

Problema con JasperSoft Studio 6.3.0 y Ubuntu 16.04: SWTException: Failed to execute runnable

Recién actualice mi PC a Ubuntu Xenial (16.04) mi JasperSoft Studio 6.3.0 comenzó a tener fallos, no “pintaba” bien la interfaz gráfica y algunos textos desaparecían, así como de pronto se congelaba y el CPU mostraba alto consumo en el proceso java. También otro síntoma es que la conexiones no funcionaban y las consultas que utilizaban los reportes no se cargaban en la edición gráfica.

El archivo .log de JasperSoft Studio mostraba la excepción SWTException continuamente.

El problema se debe a que ésta nueva versión LTS de Ubuntu utiliza la versión 3 de GTK y la versión de Eclipse que utiliza el JasperSoft Studio no es compatible o tiene conflictos con esta versión.

La solución es editar el archivo .ini de JasperSoft Studio que se encuentra dentro de la carpeta donde se instaló este, y agregar las líneas que se muestran en negrita antes del parámetro -vm:

-startup
plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.300.v20150602-1417
-data
@noDefault
--launcher.defaultAction
openFile
--launcher.GTK_version
2
-vm
features/jre.linux.gtk.x86_64.feature_1.8.0.u77/jre/bin
-vmargs
-Xms1024m
-Xmx2048m
-XX:+CMSClassUnloadingEnabled
-XX:+UseConcMarkSweepGC
-Dfile.encoding=UTF-8
-Djava.net.preferIPv4Stack=true

Otra solución es establecer la variable de ambiente SWT_GTK3 en el archivo runubuntu.sh que se encuentra dentro de la carpeta de instalación; de esta forma:

#!/bin/bash
DIR=$(dirname "$0")
export UBUNTU_MENUPROXY=0;
export SWT_GTK3=0;
"$DIR"/Jaspersoft\ Studio $*

Si se opta por ésta última solución, es necesario arrancar el JasperSoft Studio ejecutando este archivo y no el archivo binario Jasper Studio.

¡Visita los patrocinadores para tener más tips de estos!

¡Gracias y saludos!

Publicado el Dejar un comentario

Activar acceso remoto a consola de administración de Payara (Glassfish) desde linea de comandos

En servidores Linux, por lo general no se tiene ambiente gráfico instalado, por lo que es necesario configurar Payara, clon de Glassfish, desde línea de comando.

Por defecto, después de instalar Payara, el acceso remoto a la consola de administración no es posible sin antes definir una contraseña para el usuario administrador y activar el puerto seguro (https).

Para llevar a cabo estas dos tareas, payara debe estar iniciado. Nos colocamos primero en el directorio bin que se encuentra dentro de la carpeta glassfish que se ubica dentro del directorio de instalación de Payara; por ejemplo, si se instaló payara en el directorio /opt, el comando a ejecutar sería:

# cd /opt/payara41/glassfish/bin

Una vez en el directorio procedemos a asignarle una contraseña al usuario admin (por defecto sin contraseña) ejecutando el comando siguiente:

# ./asadmin change-admin-password –domain_name domain1

Enseguida aparecerá un diálogo donde proporcionaremos los datos que se piden (en negrita):

Enter admin user name [default: admin]> admin
Enter the admin password> <Oprimir Tecla Entrar o Intro> 
Enter the new admin password>  la_nueva_contraseña
Enter the new admin password again> la_nueva_contraseña
Command change-admin-password executed successfully.

Donde la_nueva_contraseña es la contraseña que se le va a asignar al usuario admin.

Ahora que el usuario admin tiene contraseña, procedemos a activar el acceso remoto seguro:

# ./asadmin enable-secure-admin –port 4848

El comando nos responderá:

You must restart all running servers for the change in secure admin to take effect.

Que nos indica que hay que reiniciar Payara para que los cambios se hagan efectivo. Así que paramos e iniciamos Payara con el dominio por defecto (domain1):

# ./asadmin stop-domain domain1

# ./asadmin start-domain domain1 

Una vez que inicie Payara podemos acceder de forma remota accediendo a la siguiente dirección:

https://[IP o Nombre sel servidor]:4848

El navegador señalará una advertencia de seguridad, ya que no se a instalado un certificado válido. Indique al navegador que asume el riesgo. Nos aparecerá la consola de administración de Payara:

Selección_471Proporcionamos el usuario y contraseña anteriormente asignada y entraremos a la consola de administración de Payara:

Selección_472

Espero y les sirva.

¡Visita los anuncios!