Procuro uma maneira de adaptar meu código para construção de uma aplicação que usa Agentes Java para um CHAT, tenho o código de um supermercado que usa Agentes para fazer compras, pensei em leitura de dado pelo teclado, armazenar isso num objeto 'Mensagem', e implementação de um método FALAR, que vcs acham? Alguma sugestão? não consigo achar materiais sobre agentes na Web, vcs têm??? abaixo posto um pouco do meu código do Supermercado:
Serv_Agente.java
// copyright 1997, 1998 objectspace
import com.recursionsw.ve.*;
import com.recursionsw.ve.agent.AgentFacet;
import java.util.Vector;
public class Serv_Agente
{
public static void main( String[] args )
{
try
{ Voyager.startup();
// criar o agente
IAgente agente = (IAgente) Factory.create( Agente.class.getName() );
// visitar os sites
agente.work( );
while(!agente.get_status()) System.out.println("working");
System.out.println("fim");
Vector rotas = agente.get_resultado();
// Imprimir visitas realizadas
double total =0;
for (int i = 0; i< rotas.size(); i++)
{
Estado estado = (Estado)rotas.elementAt(i);
System.out.println();
System.out.println("Site.....: " + estado.get_site());
System.out.println("Produto..: " + estado.get_produto());
System.out.println("Preco....: " + estado.get_preco());
total = total + estado.get_preco();
}
System.out.println("TOTAL....: " + total);
}
catch( Exception e )
{
System.out.println( e );
} } }
IAgente.java
// copyright 1997, 1998 objectspace
import java.util.Vector;
public interface IAgente
{
public void work( );
public Vector get_resultado();
public boolean get_status();
public void site1(ISite site1 );
public void site2(ISite site2 );
public void site3(ISite site3 );
public void visitar( ISite site, String prod );
}
Serv_Site1.java
import com.recursionsw.ve.*;
import com.recursionsw.ve.agent.AgentFacet;
public class Serv_Site1
{
public static void main( String[] args )
{
try
{
Voyager.startup();
// Criar um site
ISite site1 = (ISite) Factory.create( "Site1", "//localhost:8000/Site1" ); }
catch( Exception e )
{ System.err.println( e );
} } }
Serv_Site2.java
import com.recursionsw.ve.*;
import com.recursionsw.ve.agent.AgentFacet;
public class Serv_Site2
{
public static void main( String[] args )
{
try{
Voyager.startup();
// Criar um site
ISite site2 = (ISite) Factory.create( "Site2", "//localhost:8001/Site2" );
}
catch( Exception e )
{
System.err.println( e );
} } }
Serv_Site3.java
import com.recursionsw.ve.*;
import com.recursionsw.ve.agent.AgentFacet;
public class Serv_Site3
{
public static void main( String[] args )
{
try
{
Voyager.startup();
// Criar um site
ISite site3 = (ISite) Factory.create( "Site3", "//localhost:8002/Site3" );
}
catch( Exception e )
{
System.err.println( e );
} } }
Site1.java
import java.util.*;
import java.io.*;
public class Site1 implements ISite
{ String[] produto;
double[] preco ;
int tamanho;
public Site1()
{ preco = new double[5];
produto = new String[5];
System.out.println( "Site 1 criado" );
produto[0] = "caneta"; preco[0] = 2;
produto[1] = "lapis"; preco[1] = 0.5;
produto[2] = "borracha"; preco[2] = 0.3;
produto[3] = "caderno"; preco[3] = 2;
tamanho = 3;
}
public String get_local()
{
return ("visita ao Site 1");
}
public double comprar(String prod)
{
int i;
double valor;
valor =0;
for (i =0;i<=tamanho;i++ )
{
if (prod.equals(produto[i]))
{
valor = preco[i];}}
return valor; } }
Site2.java
import java.util.*;
import java.io.*;
public class Site2 implements ISite
{
String[] produto;
double[] preco ;
int tamanho;
public Site2()
{ preco = new double[5];
produto = new String[5];
System.out.println( "Site 2 criado" );
produto[0] = "caneta"; preco[0] = 2;
produto[1] = "lapis"; preco[1] = 1.0;
produto[2] = "borracha"; preco[2] = 0.6;
produto[3] = "caderno"; preco[3] = 4;
tamanho = 3; }
public String get_local()
{
return ("visita ao Site 2");
}
public double comprar(String prod)
{
int i;
double valor;
valor =0;
for (i =0;i<=tamanho;i++ )
{
if (prod.equals(produto[i]))
{
valor = preco[i];
}
}
return valor;
}
}
Site3.java
import java.util.*;
import java.io.*;
public class Site3 implements ISite
{
String[] produto;
double[] preco ;
int tamanho;
public Site3()
{
preco = new double[5];
produto = new String[5];
System.out.println( "Site 3 criado" );
produto[0] = "caneta"; preco[0] = 2.5;
produto[1] = "lapis"; preco[1] = 0.75;
produto[2] = "borracha"; preco[2] = 0.15;
tamanho = 2;
}
public String get_local()
{
return ("Visita ao Site 3...");
}
public double comprar(String prod)
{
int i;
double valor;
valor =0;
for (i =0;i<=tamanho;i++ )
{
if (prod.equals(produto[i]))
{
valor = preco[i];
}
}
return valor;
}
}