SERVIDOR
Clase IProducto
Código:
Clase Productopackage data; public interface IProducto { public int getId(); public int getPrecio(); public String getNombre(); public String getTipo(); public void setId(int id); public void setPrecio(int precio); public void setNombre(String nombre); public void setTipo(String tipo); }
Código:
Clase ProductoServicepackage data; public class Producto implements IProducto { private String nombre; private String tipo; private int id; private int precio; public Producto(String nombre, String tipo, int id, int precio) { this.nombre = nombre; this.tipo = tipo; this.id = id; this.precio = precio; } public String getNombre() { return nombre; } public void setNombre(String nombre) { this.nombre = nombre; } public String getTipo() { return tipo; } public void setTipo(String tipo) { this.tipo = tipo; } public int getId() { return id; } public void setId(int id) { this.id = id; } public int getPrecio() { return precio; } public void setPrecio(int precio) { this.precio = precio; } }
Código:
CLIENTEimport data.IProducto; public class ProductoService { List<IProducto> listaProductos = new ArrayList<IProducto>(); private Producto producto; public Producto getProducto() { return producto; } public Producto buscarProducto(int id) { int i; for (i=0;i < listaProductos.size();i++){ producto = (Producto) listaProductos.get(i); if (producto.getId() == id) return producto; } return null; } public Producto buscarProductoAvanzado(int precio, String tipo, String nombre) { int i; for (i=0;i < listaProductos.size();i++){ producto = (Producto) listaProductos.get(i); if (producto.getPrecio() == precio | producto.getTipo() == tipo | producto.getNombre() == nombre) return producto; } return null; } public void setProducto(Producto producto) { this.producto = producto; } public void insertarProducto(Producto producto){ listaProductos.add(producto); System.out.println("Producto añadido. "+listaProductos.size()); } }
Clase Test
Código:
Por último decid que servidor y cliente están en proyectos distintos, gracias. package service; import java.rmi.RemoteException; import service.ProductoServiceStub.GetProductoResponse; import service.ProductoServiceStub.InsertarProducto; import service.ProductoServiceStub.Producto; import service.ProductoServiceStub.BuscarProducto; import service.ProductoServiceStub.BuscarProductoResponse; import java.util.Vector; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Test { public static void main(String[] args) throws RemoteException { Vector productoList = new Vector(); ProductoServiceStub stub = new ProductoServiceStub(); Producto p = new Producto(); InsertarProducto ins = new InsertarProducto(); BuscarProducto bus = new BuscarProducto(); BuscarProductoResponse bur = null; p.setNombre("T.O.T.E"); p.setTipo("Música"); p.setPrecio(13); p.setId(1); ins.setProducto(p); stub.insertarProducto(ins); System.out.println("Producto insertado. "); bus.setId(1); bur = stub.buscarProducto(bus); System.out.println("Nombre: " + bur.get_return().getId()); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println(""); System.out.println("<----------MENU---------->"); System.out.println(""); System.out.println("1.Insertar Producto"); System.out.println("2.Consultar Productos"); System.out.println("Elija una opción"); try { String opcion = br.readLine(); String trozos[] = opcion.split(" "); int op1 = Integer.parseInt(trozos[0]); switch(op1){ case 1: System.out.println("1.Insertar Producto"); System.out.println("-------------------"); System.out.println("Introduzca Id"); System.out.println("Introduzca Nombre"); System.out.println("Introduzca Tipo"); System.out.println("Introduzca Precio"); break; case 2: System.out.println("2.Consultar Productos"); System.out.println("---------------------"); break; default: System.out.println("Opción no válida"); } } catch (IOException e) { e.printStackTrace(); } } }