Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - alzehimer_cerebral

#121
Problema resuelto: utilizando un JDialog modal en vez de un JFrame.

El JDialog modal detiene la ejecucuion de la funcion que lo llama hasta que el JDialog se cierre.

Salu2.

alzehimer_cerebral
#122
Al final he utilizado otra forma para hacerlo, ahora el problema lo tengo que cuando se da al boton "Guardar" y existe un archivo con el mismo nombre pues saco un JFrame para que el usuario elija si sobreescribir o ignorar.

El problema es que sale la ventana para que elija el usuario la accion que debe tomar pero el metodo "Guardar" saca el JFrame y continua su ejecucion hasta finalizar por lo tanto no tiene en cuenta la accion de sobre-escribir o ignorar el archivo con el mismo nombre...

Supongo que esto se arregla haciendo que un thread lanze el JFrame que le permite al usuario elegir la accion correspondiente y que hasta que esta accion no sea elegida no se devuelva el control al metodo "Guardar"...

La idea que quiero seguir es que el thread del metodo guardar se quede en wait(bloqueado) hasta el usuario elija una opcion del JFrame, en ese momento se hara un notify para despertar al hilo en wait.

El codigo que lanza el Jframe es el siguiente:

Código (java) [Seleccionar]


System.out.println("ANTES OVERWRITE");
                Overwrite overwrite = new Overwrite(local,remote);
                overwrite.setVisible(true);
                new Thread(overwrite).start();
                synchronized(overwrite){
                    try {
                        this.wait();
                    } catch (InterruptedException ex) {
                        Logger.getLogger(RepositoryManagement.class.getName()).log(Level.SEVERE, null, ex);
                    }
                }
                System.out.println("DESPUES OVERWRITE");



La clase que lanza la ventana de conflictos tendria que tener la siguiente declaracion:

Código (java) [Seleccionar]

public class Overwrite extends javax.swing.JFrame implements Runnable{

    ................
    }



El problema lo tengo a la hora de sincronizar el thread que ejecuta el metodo "Guardar" (1er bloque de codigo) y el JFrame overwrite... Alguien me puede guiar o echar una mano en la sincronizacion de dichos threads????

La idea seria frenar el thread de guardar hasta que el usuario establezca una accion en el JFrame Overwrite... 

He intentado esquematizar mi problema con el menor codigo posible, si alguien necesita saber un poco mas del codigo que me lo comente y lo posteo.

Salu2 y gracias de antemano.

alzehimer_cerebral
#123
Hola a todos,

estoy programando una funcion de "guardar" en la cual si varios ficheros tienen el mismo nombre debo comprobar si se quiere sobre escribir el fichero o no...

Los archivos con el mismo nombre los debo guardar en alguna estructura para poderlos mostrar al usuario en una JFrame, en dicha estructura debo almacenar el path del fichero local y el path del nuevo fichero en caso de que se elija la sobreescritura.  Que estructura dinamica es la mejor para almacenar ambos paths relacionandolos con un indice??

Salu2.

P.D Hay alguna clase Java que se encargue de gestionar esto??

alzehimer_cerebral
#124
Hola a todos, estoy peleandome para conectarme a un servidor por https, dicho servidor tiene un certificado autofirmado X509.

Suponemos que desde la aplicacion que estoy programando (cliente) no se incluye este certificado en el "keystore" por lo tanto hay que mostrar al usuario cierta informacion del certificado para que decida si proceder con la conexion o no.

De momento estoy jugando con unos ejemplos que he encontrado por internet.  Por lo que he visto tengo que generar un SSLContext y en este configurar que conexiones son aceptadas para luego generar un SSLSocketFactory que se pueda añadir a una HttpsUrlConnection (ya que la idea es realizar conexiones directamente a urls sin utilizar sockets).

Para que quede mas claro e codigo es el siguiente:
Código (java) [Seleccionar]

//Para aceptar certificados que no estan en el keystore del cliente
        SSLContext sc = SSLContext.getInstance("TLS");
        sc.init(null, new TrustManager[] { new SimpleTrustManager1() }, null);
        SSLSocketFactory ssf = sc.getSocketFactory();


        URL url = new URL("https://192.168.2.2:443/default-ssl/");
        HttpsURLConnection urlConection = (HttpsURLConnection) url.openConnection();
        urlConection.setSSLSocketFactory(ssf);



El problema viene cuando quiero establecer que conexiones son aceptadas mediante la clase SimpleTrustManager1 implements X509TrustManager.  Os pongo el boceto que he encontrado a seguir:

Código (java) [Seleccionar]

public class SimpleTrustManager1 implements X509TrustManager   {

    private Set<X509Certificate> certs = new HashSet<X509Certificate>();


    public SimpleTrustManager1() throws Exception {
      //Cargamos los certificados del Keystore en el atributo certs
   }

   public void checkClientTrusted(X509Certificate[] chain, String authType)
      throws CertificateException {
   }

   public X509Certificate[] getAcceptedIssuers() {
     return certs.toArray(new X509Certificate[certs.size()]);
   }

   public void checkServerTrusted(X509Certificate[] chain, String authType)
      throws CertificateException {

      for(int i=0; i<chain.length; i++){
         if(certs.contains(chain[i])){
            return;
         }
      }

      System.out.println("El servidor "+chain[0].getIssuerDN()+
         " no se puede verificar. " +
         "¿Desde realizar la conexión de todas formas?");

      Scanner s = new Scanner(System.in).useDelimiter("\r\n");
      String opcion = s.next();
      if(!opcion.equalsIgnoreCase("si")){
          throw new CertificateException("La clave no está en el trustore");
      }
   }

}


Como se pueden cargar los certificados del "Keystore" en el atributo certs, para asi completar la funcionalidad del constructor???

Voy bien encaminado??, os pido paciencia..  Cualquier aporte, consejo, recomendacion en bienvenida.

Gracias de antemano.

alzehimer_cerebral

#125
Java / Conexiones http
16 Junio 2010, 23:09 PM
Hola a todos,

necesito hacer conexiones a un servidor mediante https para realizar descargas de dicho servidor cifradas.

El servidor tiene un certificado autofirmado.  Que clase de la API de Java me puede servir para este proposito??

He estado buscando y no encuentro nada util, haber si me podeis encaminar.

Un saludo.

alzehimer_cerebral
#126
Vale veo que tengo instalada la version 2.2.14 de Apache y la 0.9.8 de OpenSSL. Si me dirijoa a las paginas web veo que ya esta la version 2.2.15 de Apache y la 1.0.0a de OpenSSL.

Perdonar mi ignorancia, pero quisiera saber si dichos programas se actualizan a la versiones nuevas a traves de las actualizaciones del sistema o si tengo que instalarlas yo manualmente??

En caso de tener que instalarlas manualmente perderia la congiguracion de Apache, es decir se sobreescriben los ficheros de configuracion??

Como puedo actualizar los repositorios para que cuando haga un apt-get install apache2 se baje la ultima version??

Saludos..

alzehimer_cerebral
#127
Se agradece.
#128
Lo decia por si existia algun comando...

Depende de algunas cosas si me informo por mi cuenta... cuando se esta muy liado se pregunta y se sigue con otras cosas.

Ademas nadie te obliga a responder.

alzehimer_cerebral
#129
GNU/Linux / Re: Formato por defecto de Ubutu
16 Junio 2010, 21:30 PM
Gracias por la respuesta.
#130
GNU/Linux / Formato por defecto de Ubutu
16 Junio 2010, 20:48 PM
Los textos en Ubuntu se tratan con la codificacion UTF-8??

Salu2.

alzehimer_cerebral