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();
}
}
}


