Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/07/2016, 03:43
REHome
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 727
Antigüedad: 17 años
Puntos: 8
Errores lectura de un método en una clase

Hola:

Usando Hibernate, Spring, java con xhtml bajo el plugins de Maven. No me lee una función. El archivo arduino.xhtml tiene este código y no hay problema.

arduino.xhtml
Código:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui">
<h:head>
	<title>Arduino</title>
	<h1>Arduino</h1>
</h:head>
<h:body>
	<h:form>
		<p:panel header="Cuadro de control">
			<p:panelGrid columns="1" id="gridname">
				<p:outputLabel value="Led 8: " />
				<p:commandButton id="led8on" value="ON"
					actionListener="#{arduino.led8ON}" update="resultado" />
				<p:commandButton id="led8off" value="OFF"
					actionListener="#{arduino.led8OFF}" update="resultado" />
				<p:inputText required="false" id="resultado"
					value="#{arduino.guardarUltimoValor}" />
					<p:commandButton id="puerto" value="Iniciar puerto"
					actionListener="#{arduino.inicio_puerto}" update="resultado" />
					<p:commandButton id="borrar" value="Borrar"
					actionListener="#{arduino.borrar}" update="resultado" />
			</p:panelGrid>
		</p:panel>
	</h:form>
</h:body>
</html>
Clase Arduino.java
Código:
package net.prueba.practica.business.test;

import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

import gnu.io.*; // RXTX
//import javax.comm.*; // SUN
import java.util.Enumeration;

@Component
@Scope("view")
public class Arduino {

	// Variables.
	final String LED8ON = "Led_8_ON";
	final String LED8OFF = "Led_8_OFF";
	String guardarUltimoValor = "";
	
	// Métodos.
	public void inicio_puerto(){
		System.out.println("Programa empeado.");
		
		// System.out.println(java.library.path);
	    CommPortIdentifier serialPortId;
	    //static CommPortIdentifier sSerialPortId;
	    Enumeration enumComm;
	    // SerialPort serialPort;

	    enumComm = CommPortIdentifier.getPortIdentifiers();
	    while (enumComm.hasMoreElements()) {
	     	serialPortId = (CommPortIdentifier) enumComm.nextElement();
	     	if(serialPortId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
	    		System.out.println(serialPortId.getName());
	    	}
	    }

		System.out.println("Terminado satisfactoriamente.");
	}
	
	public void led8ON(){
		guardarUltimoValor = LED8ON;
		System.out.println("Resultado: " + guardarUltimoValor);
	}
	
	public void led8OFF(){
		guardarUltimoValor = LED8OFF;
		System.out.println("Resultado: " + guardarUltimoValor);
	}
	
	public void borrar(){
		guardarUltimoValor = "";
		System.out.println("Resultado: " + guardarUltimoValor);
	}

	// Getters y Setters.
	public String getGuardarUltimoValor() {
		return guardarUltimoValor;
	}

	public void setGuardarUltimoValor(String guardarUltimoValor) {
		this.guardarUltimoValor = guardarUltimoValor;
	}

	public String getLED8ON() {
		return LED8ON;
	}

	public String getLED8OFF() {
		return LED8OFF;
	}
}
Sigo los consejos indicado aquí.

A pesar de poner las librerías rxtxSerial.dll y el .jar.

¿xhtml y java no es capaz de leer los puertos series que tiene el equipo?


Su código usado es:
Código:
import gnu.io.*; // RXTX
// import javax.comm.*; // SUN
import java.util.Enumeration;


public class ErsteSchritte {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		System.out.println("Program started");
		
		//System.out.println(java.library.path);
	    CommPortIdentifier serialPortId;
	    //static CommPortIdentifier sSerialPortId;
	    Enumeration enumComm;
	    //SerialPort serialPort;

	    enumComm = CommPortIdentifier.getPortIdentifiers();
	    while (enumComm.hasMoreElements()) {
	     	serialPortId = (CommPortIdentifier) enumComm.nextElement();
	     	if(serialPortId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
	    		System.out.println(serialPortId.getName());
	    	}
	    }

		System.out.println("Finished successfully");
	}
}
La salida de la consola en spring debe ser:
Cita:
Program started
Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version = RXTX-2.1-7
/dev/ttyS1
/dev/ttyS0
Finished successfully
Experimental: JNI_OnLoad called.
Tal como indica aquí.

¿Alguna sugerencia?

Saludos.
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar