blog de rodrigo salado anaya

JavaFX y JSON

Hola solo escribo este pequeño ejemplo, por que un amigo me pidió que lo posteara en algún blog para futuras consultas..
es de como mandar un objeto Json desde una aplicacion JavaFx a un Servidor, yo uso GlassFish para mis Servlets :)
tiene unos defectillos que leyendo la documentación de la API se corrigen fácil como el caso de la persistencia de la conección y eso pero es solo un ejemplo:

import javafx.io.http.HttpRequest;
import javafx.stage.Alert;
import cliente.util.Global;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.lang.Exception;
import org.codehaus.jettison.json.JSONObject;

/**
 * @author Rodrigo Salado Anaya <xxxxxx.xx@xxxxx.com>
 */

public class Coneccion {

    public function servidorAcceso(usuario: UsuarioBean): Void {
       
        /*atributos*/
        def json = "json=\{id:'{usuario.getId()}', clave:'{usuario.getClave()}'\}";
        def location = "http://{Global.servidor}:{Global.puerto}/servidor/acceso";
        /*coneccion*/
        def request: HttpRequest = HttpRequest {
                    location: location
                    method: HttpRequest.POST

Quitar el texto inicial de un String.

"texto" representa el texto completo y "palabra" representa el conjunto de palabras o la palabra inicial a quitar del texto.
Se toma solo la longitud de la palabra para quitarla del texto si se excede la longitud se produce un error.

java.lang.StringIndexOutOfBoundsException: String index out of range: -xx

public String quitaTextoInicial(String texto, String palabra) {
        texto = texto.substring(palabra.length(), texto.length());
        texto = texto.trim();
        return texto;
    }

Unir los tokens de un String con un caracter "_" y separarlos con espacios en blanco;

También tengo la necesidad de unir los tokens con un caracter "_" y separarlos. Se los dejo.

public String uneCon_(String texto) {
        texto = texto.trim();
        texto = texto.replace(" ", "_");
        return texto;
    }

    public String quitaLos_(String texto) {
        texto = texto.trim();
        texto = texto.replace("_", " ");
        return texto;
    }

Quitar espacios en blanco inecesarios de un String.

    public String quitaEspacios(String texto) {
        java.util.StringTokenizer tokens = new java.util.StringTokenizer(texto);
        texto = "";
        while(tokens.hasMoreTokens()){
            texto += " "+tokens.nextToken();
        }
        texto = texto.toString();
        texto = texto.trim();
        return texto;
    }

segunda versión:

gracias a: azamudio.
    public String quitaEspacios(String texto) {
        java.util.StringTokenizer tokens = new java.util.StringTokenizer(texto);
        StringBuilder buff = new StringBuilder();
        while (tokens.hasMoreTokens()) {
            buff.append(" ").append(tokens.nextToken());
        }
        return buff.toString().trim();
    }

Quitar el ultimo token de un String

En un pequeño proyecto que tengo me surgió la necesidad de quitar el ultimo token de una frase por ejemplo: " dame el id de cindy" el resultado seria "dame el id de", también quita los espacios en blanco inicesarios.

public String quitaTokenFinal(String texto) {
        java.util.StringTokenizer tokens = new java.util.StringTokenizer(texto);
        int n = 0;
        String buff = "";
       
        while (tokens.hasMoreTokens()) {
            buff = tokens.nextToken();
        }

        n = texto.length() - buff.length();
        StringBuffer sb = new StringBuffer(texto);
        sb.delete(n, texto.length());
        texto = sb.toString();
        return texto;
    }

Segunda versión:

gracias a: ezamudio
    public String quitaTokenFinal(String texto) {
        java.util.StringTokenizer tokens = new java.util.StringTokenizer(texto);
        String buff = "";
       
        while (tokens.hasMoreTokens()) {
            buff = tokens.nextToken();
        }
        int n = texto.length() - buff.length();
        StringBuilder sb = new StringBuilder(texto);
Distribuir contenido