Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package labb1_ik2018;
- import jade.core.Agent;
- import jade.core.behaviours.CyclicBehaviour;
- import jade.core.behaviours.OneShotBehaviour;
- import jade.domain.DFService;
- import jade.domain.FIPAAgentManagement.DFAgentDescription;
- import jade.domain.FIPAAgentManagement.ServiceDescription;
- import jade.domain.FIPAException;
- import jade.lang.acl.ACLMessage;
- import jade.lang.acl.MessageTemplate;
- import org.rosuda.REngine.REXP;
- import org.rosuda.REngine.REXPMismatchException;
- import org.rosuda.REngine.RList;
- import org.rosuda.REngine.Rserve.RConnection;
- import org.rosuda.REngine.Rserve.RserveException;
- import java.util.Hashtable;
- public class ClassAgent extends Agent {
- // Put agent initializations here
- protected void setup() {
- // Register the tea-selling service in the yellow pages
- DFAgentDescription dfd = new DFAgentDescription();
- dfd.setName(getAID());
- ServiceDescription sd = new ServiceDescription();
- sd.setType("class-data");
- sd.setName("Classification of Datasets");
- dfd.addServices(sd);
- try {
- DFService.register(this, dfd);
- }
- catch (FIPAException fe) {
- fe.printStackTrace();
- }
- // Add the behaviour serving queries from buyer agents
- addBehaviour(new ClassAgent.OfferRequestsServer());
- }
- // Put agent clean-up operations here
- protected void takeDown() {
- // Deregister from the yellow pages
- try {
- DFService.deregister(this);
- }
- catch (FIPAException fe) {
- fe.printStackTrace();
- }
- // Printout a dismissal message
- System.out.println("Seller-agent "+getAID().getName()+" terminating.");
- }
- /**
- Inner class OfferRequestsServer.
- This is the behaviour used by tea-seller agents to serve incoming requests
- for offer from buyer agents.
- */
- private class OfferRequestsServer extends CyclicBehaviour{
- public void action(){
- MessageTemplate mt = MessageTemplate.MatchPerformative(ACLMessage.CFP);
- ACLMessage msg = myAgent.receive(mt);
- if (msg != null) {
- // CFP Message received. Process it
- String content = msg.getContent(); // File content
- String[] splitContent = content.split("@");
- content = "";
- String test, train;
- test = splitContent[0];
- train = splitContent[1];
- splitContent = null;
- System.out.println(test);
- System.out.println(train);
- String[] splitTest, splitTrain;
- splitTest = test.split("%");
- splitTrain = train.split("%");
- try{
- RConnection c = new RConnection("localhost", 6311);
- if(c.isConnected()){
- System.out.println("Connected to RServe");
- REXP traindf = c.eval("traindf <- read.csv(text=\"" + splitTrain[0] + "\",header=F,sep=\";\")");
- REXP testdf = c.eval("testdf <- read.csv(text=\"" + splitTest[0] + "\",header=F,sep=\";\")");
- for(int i = 1; i < splitTrain.length; i++){
- //System.out.println(splitTrain[i]);
- c.eval("traindf <- rbind(traindf, read.csv(text=\"" + splitTrain[i] + "\",header=F,sep=\";\"))");
- }
- for(int i = 1; i < splitTest.length; i++){
- c.eval("testdf <- rbind(testdf, read.csv(text=\"" + splitTest[i] + "\",header=F,sep=\";\"))");
- }
- REXP df = c.eval("testdf");
- REXP trainData = c.eval("train <- traindf[,5]");
- REXP testData = c.eval("test <- testdf[,5]");
- }
- }
- catch(Exception e){
- System.out.println(e.getMessage());
- }
- }
- else {
- block();
- }
- }
- } // End of inner class OfferRequestsServer
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement