Mostrar Mensajes

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - miguialberto

Pages: [1] 2
1
¿Un cafecito? / Sugerencia: JAva Tips
« on: Junio 22, 2011, 03:07:31 pm »
Hola,

hace unos 3 años que empece a frecuentar este foro asiduamente para dudas sobre java (cuando empece a trabajar) y sin duda me salvo la papeleta mas de una vez. Por suerte, a dia de hoy, ya no me hace falta tan a menudo y puedo arreglarmelas solo. Sin embargo, cada vez que me encuentro con algo interesante, lo copio y lo guardo. Son cosas sencillas, pequeños tips que estoy seguro que a mas de uno le vendrian bien, mas que nada porque yo los hubiera agradecido. Siempre he pensado que algun dia me podria montar un blog o algo asi para ir posteandolos, pero tambien he pensado que este seria un buen lugar para hacerlo. Asi pues mi sugerencia es abrir una seccion donde se puedan postear pequeños (o no tan pequeños) trucos/tecnicas/tips sobre java y que todos podamos disfrutarlos. Quiza mas adelante se pueda añadir a la wiki o algo, por aquello de tenerlo ordenados.

No se si esto se escapa ya a la funcion de este foro, pero creo que lo podria enrriquecer.

Saludos!

2
Java JSE / JFileChooser para BD
« on: Mayo 20, 2010, 03:47:16 pm »
Hola!

Estoy trabajando en una aplicacion que necesita cargar y guardar ficheros. Esos ficheros pueden estar en el sistema de ficheros o en una base de datos. He tenido la idea de intentar juntar estas dos necesidades en un JFileChooser. Cuando el usuario quiera cargar/guardar un fichero, se abrira un nuevo JFileChooser con el sistema de ficheros. Sin embargo, quiero que haya tambien un boton para conectarse a una BD y se visualizen las tablas como directorios y que los ficheros sean las tuplas guardadas en una tabla. El nombre de los fichero debe de ser el valor de cierta columna. De manera teorica me parece muy bonito, pero lo cierto es que no se por donde meterle mano. Habia pensado en extender la clase File para mapearlo de alguna manera con una determinada tupla de la BD. Sin embargo, la clase File necesita un "path" de un fichero real, asi que no me sirve.

Alguien sabe como puedo "engañar" a un JFileChooser para decidir yo que fichero/directorios ver?

Gracias por adelantado!


3
Java JSE / Exception vs Object
« on: Marzo 17, 2010, 05:21:58 pm »
Hola!

Tengo una pequeña duda acerca de como un objeto debe devolver cierta informacion. El escenario es el siguiente: tengo un objeto con una sola funcion:

Code: [Select]
public class Checkeador {

public void checkeaLista(ArrayList<Integer> intLista){

}
}

El metodo comprueba que todos los elementos de la lista son integer. Si todos son integer, todo va bien. Sin embargo, si algun elemento no es integer debe de informar acerca de la posicion del elemento que falla. Mi pregunta es: que debe devolver la funcion?

Estas son las posibilidades que se me ocurren:

  • Crear un excepcion para esta clase de manera que solo es lanzada cuando hay un "no integer". El mensaje de la exception informa acerca de que posicion es la fallida.
  • Crear un objeto "RespuestaCheckeo" con dos metodos: checkeoSatisfactorio() que nos indica si hubo un error o no y un getIndex() que nos devuelve el index fallido.
  • Devuelve un int. Si es -1 quiere decir que no hay error. Si es diferente de -1, nos devuleve el index fallido.

Asi que esta es mi duda, cual creeis que es mejor solucion?

Os comento mis opiniones:

  • Excepcion --> Es la que mas me gusta. Pienso que es elegante y solo hay que hacer un catch y tratar solo el caso de error. Si todo va bien tan solo se llama a la funcion y listo.
  • Objeto respueta --> Me parece la solucion mas "robusta". Sin embargo no me gusta que en caso de que no sea error, la funcion getIndex() no tiene sentido. Ademas, si este problema se repite mucho, acabamos teniendo muchas clases-respuesta.
  • Devolver int --> Me parece buena la solucion, pero poco "robusta"... aunque la mas agil.

Este es un ejemplo particular, pero esta pregunta es para todos los casos en que una funcion no devuelve nada cuando todo va bien pero debe de devolver valores cuando algo va mal.

Que os parece mejor?

Gracias!

4
Java JSE / Problema de extension de clases
« on: Enero 18, 2010, 08:03:25 pm »
Hola a tod@s!

Tengo un problema que no se como solucionar de manera "elegante", a ver si me dais alguna idea :-).

Tengo por un lado una clase abstracta llamada por ejemplo "A":

Code: [Select]
public abstract class A {

int a;

public int getA(){

return this.a;
}

public void setA(int a){

this.a = a;
}
}

Tenemos tambien una clase B que extiende A y añade un nuevo atributo:

Code: [Select]
public class B extends A{

int b;

public int getB(){

return this.b;
}

public void setB(int b){

this.b = b;
}
}

Y finalmente otra clase C que extiende A y añade tambien un nuevo atributo:

Code: [Select]
public class C extends A{

int c;

public int getC(){

return this.c;
}

public void setC(int c){

this.c = c;
}
}

Ahora quiero definir un array que contenga objetos que sean tipo A y que contiene instancias de objetos B y C:

Code: [Select]
public class Main {

public static void main(String[] args){

ArrayList<A> arrayAclase = new ArrayList<A>();

B b1 = new B();
b1.setB(0);

C c1 = new C();
c1.setC(3);

arrayAclase.add(b1);
arrayAclase.add(c1);
}
}

Ahora es donde viene mi problema. Quiero iterar el array de manera que si el objeto es de tipo B quiero llamar a la funcion getB(). Si es de tipo C quiero llamar a la funcion getC(). Esto no puedo hacerlo directamente por que el array que he definido contiene objetos de la clase A, con lo que no puedo ver ni getB() ni getC().

Se me han ocurrido un par de soluciones:

  • La clase A tiene defindas como abstractas los metodos getB(), setB(), getC(), setC(), de manera que las clase B y C solo implementas las funciones que le hacen falta y devuelven NULL en las que no. Por ejemplo, la clase B implementaria getB() y setB() pero no haria nada con getC() y setC().
  • Hacer un casting en tiempo de ejecucion. Voy recorriendo los elementos de la lista y pregunto si el elemento actual es una instancia de B o C y me creo un objeto nuevo segun el tipo.

Lo cierto es que no me gustan ninguna de las dos soluciones. La primera hay que implementar metodos en clases que no les hace falt esos metodos. En la segunda, si añado la nueva clase D, tengo que añadir una nueva linea de tipo "if (elementoArray es una instancia de D) entonces ...".

Alguien sabe como se puede hacer algo "bonito" con esto?

Gracias de antemano!

Ciao

5
Hola,

vamos a empezar un nuevo proyecto en el que van a trabajar parte empresas externas. En este momento estamos mirando que software utilizar para la infrastructura del proyecto: control de versiones, bug managers, etc.

He estado mirando por ahi (por tu blog tambien) y he visto que hay herramientas para metricas de software, para tareas, etc. Sin embargo creo que tambien seria importante una herramienta  que ayudara un poco a la labor "social". Esto es, un foro donde poder comentar historias varias, dejar notas, paginas propias para cada miembro del proyecto, etc. Este va a ser mi primer proyecto grande y no se si estoy desvariando o realmente esto puede ser util.

Que opinais sobre el tema? Conoceis alguna herramienta que cubra este aspecto?

Ciao!

6
Temas de interés cerrados. / Problemas con tamaño de Canvas
« on: Agosto 27, 2009, 09:17:37 pm »
Hola,

continuando con mi applet  :P, tengo un problemilla a la hora de visualizar una imagen.

El caso es que el applet se compone de varios paneles. Uno de los paneles contiene una clase canvas que contiene una imagen SVG. El problema es que cuando cargo el applet, en el panel donde tendria que aparecer la imagen solo se ve un pequeño cuadro con parte de la imagen. Solo se ve la imagen completa y centrada cuando salgo del applet (abro otra pestaña u otro programa, etc  creo que es cuando le quito el focus) y vuelvo otra vez y clico con el raton sobre ella. Una vez hecho esto, se ve perfectamente (la imagen esta centrada y con el tamaño que quiero).

Al principio pense que era problema del panel que contenia la imagen. Haciendo una chapucilla, hice que el tamaño de la imagen se ajustara al del panel:

Code: [Select]
public viewSVGcanvas(String SVGfilePath) {

        this.SVG_CANVAS = new SVGcanvas(SVGfilePath);
        this.add(this.SVG_CANVAS);
        initModelSVGtable();
    }

[...]

this.SVG_CANVAS.setSize(this.getWidth()-1, this.getHeight()-1);


Sin embargo, cuando lo ejecute, la imagen si que se veia a su tamaño, es decir, se ajustaba al panel. Sin embargo el panel estaba descentrado dentro del applet.

He probado a mirar el tamaño del panel en el metodo repaint() del applet, a ver si cambiaba cuando se ponia de nuevo bien, pero no veo nada.


Alguien sabe como solucionarlo?

Gracias por adelantado!

7
¿Un cafecito? / Sugerencia
« on: Agosto 26, 2009, 04:41:06 pm »
Hola,

llevo escritos algunos posts en el foro y creo que estaria bien que hubiera alguna manera de notificar que algun tema ha sido solucionado o que por el contrario aun sigue abierto. De esta manera, cuando se hace una busqueda se podria saber de un vistazo si merece la pena leerlo porque hay una solucion o todavia esta en el aire.

Otra sugerencia (esta es mas tonta) es que los iconos de "Agregar tags BBC:" tuvieran un tooltip que dijeran que hacen. Hay algunos que a simple vista no se saben que hacen. Lo que hago ahora es mirar que tag escribe en link al que apuntan que sale en la parte de abajo del navegador...

Pues eso, unas sugerencias para igual mejorar el foro, aunque sin duda lo mas importante son las respuestas, que mas de una vez me han salvado el cu*o  :D.

Ciao!

8
Java JSE / Error ejecutando applet(2)
« on: Agosto 26, 2009, 02:39:54 pm »
Hola,

ayer escribi por un problema que tenia con la consola de java al ejecutar un applet, y hoy escribo por un error que me da ese applet y que no se como solucionarlo.

El applet en cuestion se ve bien, pero todos los archivos que tiene que leer del servidor (imagenes, txt, svg) no me los lee.

He instalado apache y para acceder a los archivos creo primero una clase URL y luego ya accedo a los datos. Por ejemplo, para leer de un archivo:

Code: [Select]
URL initFileStream = null;

        BufferedReader io = null;

        try {

            initFileStream = new URL(this.INIT_FILE_PATH);

        } catch (MalformedURLException ex) {

            Logger.getLogger(dataManager.class.getName()).log(Level.SEVERE, null, ex);
        }

        try {

            //io = new BufferedReader(new FileReader(initFile));
            io = new BufferedReader(new InputStreamReader(initFileStream.openStream()));

        } catch (IOException ex) {

            Logger.getLogger(dataManager.class.getName()).log(Level.SEVERE, null, ex);
        }

        try {

            String currentLine = new String();
            boolean firstLine = true;

            while ((currentLine = io.readLine()) != null) {

...

Sin embargo el error que recibo de la consola de java es el siguiente:

Code: [Select]
security: property package.access value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.
security: property package.access new value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.javaws
security: property package.access value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.javaws
security: property package.access new value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.javaws,com.sun.deploy
security: property package.access value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.javaws,com.sun.deploy
security: property package.access new value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.javaws,com.sun.deploy,com.sun.jnlp
security: property package.definition value null
security: property package.definition new value com.sun.javaws
security: property package.definition value com.sun.javaws
security: property package.definition new value com.sun.javaws,com.sun.deploy
security: property package.definition value com.sun.javaws,com.sun.deploy
security: property package.definition new value com.sun.javaws,com.sun.deploy,com.sun.jnlp
security: property package.access value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.javaws,com.sun.deploy,com.sun.jnlp
security: property package.access new value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.javaws,com.sun.deploy,com.sun.jnlp,org.mozilla.jss
security: property package.definition value com.sun.javaws,com.sun.deploy,com.sun.jnlp
security: property package.definition new value com.sun.javaws,com.sun.deploy,com.sun.jnlp,org.mozilla.jss
basic: Fortschritts-Listener hinzugefügt: sun.plugin.util.GrayBoxPainter$GrayBoxProgressListener@19616c7
basic: Applet geladen
basic: Applet resized and added to parent container
basic: PERF: AppletExecutionRunnable - applet.init() BEGIN ; jvmLaunch dt 116965 us, pluginInit dt 276086 us, TotalTime: 393051 us
network: Cache-Eintrag nicht gefunden [url: http://f00262.at.local/monitorSigoApplet/images/REN.svg, Version: null]
network: Verbindung von http://f00262.at.local/monitorSigoApplet/images/REN.svg mit Proxy=DIRECT wird hergestellt
network: Cache-Eintrag nicht gefunden [url: http://f00262.at.local/crossdomain.xml, Version: null]
network: Verbindung von http://f00262.at.local/crossdomain.xml mit Proxy=DIRECT wird hergestellt
network: Verbindung von http://f00262.at.local:80/ mit Proxy=DIRECT wird hergestellt
java.security.PrivilegedActionException: java.io.FileNotFoundException: http://f00262.at.local/crossdomain.xml
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.net.CrossDomainXML.check(Unknown Source)
at com.sun.deploy.net.CrossDomainXML.check(Unknown Source)
at sun.plugin2.applet.Applet2SecurityManager.checkConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.<init>(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getHeaderField(Unknown Source)
at java.net.URLConnection.getContentType(Unknown Source)
at org.apache.batik.util.ParsedURLData.openStreamInternal(ParsedURLData.java:543)
at org.apache.batik.util.ParsedURLData.openStream(ParsedURLData.java:471)
at org.apache.batik.util.ParsedURL.openStream(ParsedURL.java:417)
at org.apache.batik.dom.svg.SAXSVGDocumentFactory.createDocument(SAXSVGDocumentFactory.java:158)
at view.SVGcanvas.init(SVGcanvas.java:52)
at view.SVGcanvas.<init>(SVGcanvas.java:36)
at view.viewSVGcanvas.<init>(viewSVGcanvas.java:77)
at applet.mainMonitorSigoApplet.initComponents(mainMonitorSigoApplet.java:84)
at applet.mainMonitorSigoApplet.access$000(mainMonitorSigoApplet.java:15)
at applet.mainMonitorSigoApplet$1.run(mainMonitorSigoApplet.java:35)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.io.FileNotFoundException: http://f00262.at.local/crossdomain.xml
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at com.sun.deploy.net.CrossDomainXML$2.run(Unknown Source)
... 32 more

java.lang.reflect.InvocationTargetException
at java.awt.EventQueue.invokeAndWait(Unknown Source)
at applet.mainMonitorSigoApplet.init(mainMonitorSigoApplet.java:32)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.security.AccessControlException: access denied (java.net.SocketPermission f00262.at.local resolve)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkConnect(Unknown Source)
at sun.plugin2.applet.Applet2SecurityManager.checkConnect(Unknown Source)
at sun.awt.SunToolkit.getImageFromHash(Unknown Source)
at sun.awt.SunToolkit.getImage(Unknown Source)
at view.viewJTree$MyRenderer.<init>(viewJTree.java:168)
at view.viewJTree.initTree(viewJTree.java:76)
at view.viewJTree.modelPropertyChange(viewJTree.java:278)
at control.abstractController.propertyChange(abstractController.java:116)
at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
at model.abstractModel.firePropertyChange(abstractModel.java:38)
at model.mainModel.init(mainModel.java:56)
at applet.mainMonitorSigoApplet.initMVC(mainMonitorSigoApplet.java:69)
at applet.mainMonitorSigoApplet.access$100(mainMonitorSigoApplet.java:15)
at applet.mainMonitorSigoApplet$1.run(mainMonitorSigoApplet.java:36)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
basic: Applet initialized
basic: Fortschritts-Listener entfernt: sun.plugin.util.GrayBoxPainter$GrayBoxProgressListener@19616c7
basic: Applet made visible
basic: Starting applet
basic: Applet started
basic: Told clients applet is started

Aunque esta en aleman creo que se entiende! Mi maquina es http://f00262.at.local y cuando accedo desde el navegador a mi direccion no hay problemas.

Ademas en el error se ve que busca un fichero crossdomain.xml que no tengo ni idea de que es.

El Jar lo he firmado tal y como esta en el tutorial. No hay problemas de firewalls (o por lo menos no me salta ninguna ventana)

Alguna ayuda por favor!

Gracias de nuevo!

9
Java JSE / Japplet no se muestra
« on: Agosto 24, 2009, 11:03:50 pm »
Hola!

Me he hecho un applet que monitoriza el sistema. Para ello utiliza la libreria Baltik para mostrar imagenes mediante SVG. El caso es al visualizarlo en Netbeans me va perfectamente, pero al pasarlo al navegador me falla. He puesto todos los JARs que necesita el applet y los he añadido en HTML con el parametro "archive" dentro del tag "APPLET". El applet hace el amago de cargarse, sale la tazita y parece que se va a cargar, pero luego se queda simplemente en blanco y no se puede hacer nada. Esto me paso tanto en Firefox 3.5 como en IE.

He leido algunos posts de aqui y ya he visto que la ayuda que necesito es mirar la consola de java para ver si hay algun fallo. Sin embargo, cuando intento ir a "Extras" -> "Consola de Java" no sucede nada. Esto no se si es la manera correcta de mirar la consola o es que tengo algun problema mas... tampoco estoy seguro de si necesito firma el applet..

Cualquier idea es bien recibida!!

Gracias de antemano!

10
Java JSE / Problema pintado nodos en JTree
« on: Julio 23, 2009, 07:13:26 pm »
Hola!

Tengo un problema con un JTree que no se como solucionar. Tengo un objeto llamado "monitorNode" que contiene informacion por cada nodo del arbol. Esta clase tiene un estado, que puede ser bueno, malo, regular e indefinido.

De primeras queria que simplemente apareciera un determinado icono representando el estado del nodo. Para ello me he creado mi propia implementacion del "DefaultTreeCellRenderer":

Code: [Select]
class MyRenderer extends DefaultTreeCellRenderer {

        Icon tutorialIcon;
        ImageIcon ri = new ImageIcon("img/red.jpg");
        ImageIcon gi = new ImageIcon("img/green.jpg");
        ImageIcon yi = new ImageIcon("img/yellow.jpg");
        ImageIcon ii = new ImageIcon("img/ignore.gif");

        public MyRenderer() {
        }

        @Override
        public Component getTreeCellRendererComponent(
                JTree tree,
                Object value,
                boolean sel,
                boolean expanded,
                boolean leaf,
                int row,
                boolean hasFocus) {

            super.getTreeCellRendererComponent(
                    tree, value, sel,
                    expanded, leaf, row,
                    hasFocus);

            monitorMutableTreeNode currentNode = (monitorMutableTreeNode) value;

            monitorNode currentMonitorNode = (monitorNode) (currentNode.getUserObject());

            int nodeState = currentMonitorNode.getState();

            switch (nodeState) {

                case abstractCompositeElements.STATE_BAD: {
                   
                    setIcon(ri);
                    break;
                }

                case abstractCompositeElements.STATE_SPCIAL:             

                    setIcon(yi);
                    break;

                case abstractCompositeElements.STATE_GOOD:
                   
                    setIcon(gi);
                    break;

                default:

                    setIcon(ii);
                    break;
            }

return this;

Hasta aqui no hay problemas, me funciona bien.

El siguiente paso que quiero es que el texto que aparece en cada nodo sea en negrita solo para los nodos cuyo estado es STATE_BAD. Para ello hago el siguiente cambio:

Code: [Select]
            switch (nodeState) {

                case abstractCompositeElements.STATE_BAD: {
                   
                    this.setFont(new Font(this.getFont().getName(), Font.BOLD + Font.ITALIC, this.getFont().getSize()));

                    setIcon(ri);
                    break;
                }

Sin embargo, me aperecen en negrita TODOS los nodos, sea el estado que sea.

Si he entendido bien, esta funcion es llamada cada vez que se va a dibujar un nodo del arbol, lo que no entiendo entonces es porque me pinta todos los nodos.

Alguien me puede ayudar?

Gracias por adelantado!!

11
Java JSE / Leer valor retorno de System.exit(n)
« on: Enero 12, 2009, 03:42:12 pm »
Hola!

Tengo una duda con System.exit, a ver si me podeis echar una mano:

Tengo la maquina A que esta ejecuntando un programa en Java. Esta maquina A se comunica con otro programa Java que se encuentra en la maquina B. La maquina B tiene un metodo stop() el cual realiza un System.exit(0) o un System.exit(-1) segun haya acabado con exito o no. Como puede la maquina A leer el resultado de System.exit() de la maquina B?

Gracias!

12
Java JSE / JUnit vs "assert"
« on: Enero 06, 2009, 08:07:31 pm »
Hola,

Estoy en proceso de testear un programa que he hecho en java y me encuentro con dos herramientas diferentes: por un lado esta JUnit, que te testea el codigo "desde fuera" por decirlo de alguna manera, es decir, usa las clases que has creado para testearlas. Por otro lado esta la instrucion "assert" nativa de java, que permite testear "desde dentro" el codigo, es decir, va incrustado en el propio codigo de la clase. Me imagino que para los que estan acostumbrados a testear ya saben de que les hablo.

Me gustaria me comentarais que sistema recomendariais para testear y cual os parece mejor. La verdad es que no se por cual empezar!

Gracias!

13
Perl / Consola de windows con Perl
« on: Julio 25, 2008, 03:30:38 pm »
Hola,

Pues aqui va la primera consulta "real" sobre Perl  :).

Tengo que hacer un pequeno script en Perl que me permita ejecutar comandos por la consola de windows. La idea del script es que al ejecutar la consola se conecte con una base de datos y alli realice una serie de operaciones. Luego tiene que salir y listo.

Me han dicho que lo haga en Perl porque era una manera interesante de empezar a iniciarme en este mundo, aunque tambien habia pensado en hacerlo en VBScript. La verdad es que ando bastante perdido en la programacion con windows, asi que cualquier ayuda se agradecera.

La verdad es que no se si existe alguna manera de poderme comunicar con un proceso sin utilizar la consola y pasarle las instrucciones directamente...

Gracias de antemano!

Ciao

14
Java JSE / Mandar datos en HttpURLConnection mediante OutputStream
« on: Marzo 26, 2008, 11:26:09 pm »
Hola,

Estoy con una aplicacion que se conecta a un puerto mediante la clase HttpURLConnection. A traves de esta clase obtengo el OutputStream e intento escribir con la funcion sendData. Aqui esta el codigo:

Code: [Select]
private void loadHttpConnection(){
       
        _CONN = null;
        String url = "http://localhost:5000/EnergyData";
        String type = "text/";       
       
        try {
           
            URL u = new URL(url);
            _CONN = (HttpURLConnection)u.openConnection();
            _CONN.setDoOutput(true);
            _CONN.setRequestMethod("POST");       
            _CONN.setRequestProperty( "Content-Type", type );
            _OUT_STREAM = _CONN.getOutputStream();
           
        } catch( IOException e ){     
            e.printStackTrace();
        }
       
    }

Y aqui el codigo para escribir:

Code: [Select]
    private synchronized void sendData(String dataToSend){
       
        try {
   
            _OUT_STREAM.write(dataToSend.getBytes());
            _OUT_STREAM.flush();
            int rc = _CONN.getResponseCode();
           
            System.out.println(rc);
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }

Mi problema es el siguiente: cuando intento enviar mas de un mensaje, es decir, hago varias llamadas seguidas a sendData, a pesar de que recibo un OK del servidor por cada llamada, el programa que escucha solo me procesa una. Es decir, el proceso que esta en "http://localhost:5000/EnergyData" solo me procesa un mensaje, y creo que se debe a un problema en este codigo, sabeis de que se puede tratar?

Gracias de antemano!

Pages: [1] 2
ey