예제 #1
0
 public void sendHistory(User u) {
   for (Iterator<CallMembershipObject> c = callKey.iterator(); c.hasNext(); ) {
     CallMembershipObject ca = (CallMembershipObject) c.next();
     MessageParser mp = new MessageParser();
     mp.setMessageTemplate("message.mcall.history");
     mp.setUsercontext(ca.cu);
     mp.setMessage(ca.message);
     mp.setParam(ca.param);
     u.sendMessage(mp);
   }
 }
 public void handleMessage(String message) {
   tMessage mes = parser.parseMessage(message);
   if (mes.action.equals("ack")) {
     if (mes.data.equals("register")) {
       this.RegisterSuccess();
     }
     if (mes.data.equals("deregister")) {
       this.DeregisterSuccess();
     }
     if (mes.data.equals("join")) {
       this.JoinGroupSuccess();
     }
     if (mes.data.equals("left")) {
       this.LeftGroupSuccess();
     }
   }
   if (mes.action.equals("presence")) {
     this.updateUserPresence(mes.data);
   }
   if (mes.action.equals("groups")) {
     this.updateGroupList(mes.data);
   }
   if (mes.action.contains("groupmessage")) {
     this.processGroupMessage(mes.action.split("_")[1], mes.data);
   }
   if (mes.action.contains("privatemessage")) {
     this.processPrivateMessage(mes.action.split("_")[1], mes.data);
   }
   if (mes.action.equals("checkpresence")) {
     this.SendPresenceMessage();
   }
   if (mes.action.contains("updatestatus")) {
     this.updateContactStatus(mes.action.split("_")[1], mes.data);
   }
 }
 public void sendPrivateMessage(String username, String message) {
   Log.i(TAG, "Added to messages:" + this.username + "_" + message);
   this.userInfo.addUserMessage(username, message, this.username);
   tMessage tMes = new tMessage(this.username, "privatemessage_" + username, message);
   String mes = parser.createMessage(tMes);
   mes.getBytes();
   client.sendSomeMessages(mes);
 }
 public void LeftGroup() {
   Log.i(TAG, "lefting group.");
   tMessage tMes = new tMessage(username, "left", "");
   String mes = parser.createMessage(tMes);
   mes.getBytes();
   client.sendSomeMessages(mes);
   leftTimer = new Timer();
   leftTimer.schedule(
       new TimerTask() {
         public void run() {
           Group_Fsm.invokeFSM(FSMEVENTS.Bye_Failed);
         }
       },
       5000);
 }
 public void JoinGroup() {
   String groupname = this.talkgroupName;
   Log.i(TAG, "joining group:" + groupname);
   tMessage tMes = new tMessage(username, "join", groupname);
   String mes = parser.createMessage(tMes);
   client.sendSomeMessages(mes);
   joinTimer = new Timer();
   joinTimer.schedule(
       new TimerTask() {
         public void run() {
           Group_Fsm.invokeFSM(FSMEVENTS.Join_Failed);
         }
       },
       5000);
 }
  public String handle(JT809Message message) {
    String dataBody = message.getMessageBody();

    MessageParser mp = new MessageParser(dataBody, 28);
    WarnData wd = new WarnData();
    wd.setSrc(mp.getInt(1));
    wd.setType(mp.getInt(2));
    wd.setWarnTime(mp.getUtcDate());
    int contentLength = mp.getInt(4);
    wd.setContent(mp.getString(contentLength));

    message.setMsgDescr("Ô¤¾¯ÄÚÈÝ:" + wd.getContent() + "Ô¤¾¯Ê±¼ä:" + wd.getWarnTime());
    return "";
  }
 public void Register() {
   uiUpdate.makeToastNotification("Registering..");
   if (client.initiateSocket(this.username) == 1) {
     tMessage tMes = new tMessage(username, "register", "data");
     String mes = parser.createMessage(tMes);
     client.sendSomeMessages(mes);
     Runnable r =
         new Runnable() {
           public void run() {
             client.readSomeMessages();
           }
         };
     t = new Thread(r);
     t.start();
     registerTimer = new Timer();
     registerTimer.schedule(
         new TimerTask() {
           public void run() {
             Initiate_Fsm.invokeFSM(FSMEVENTS.Register_Failed);
           }
         },
         5000);
   }
 }
예제 #8
0
 @Override
 public void resolve(String message, PrintStream stream) {
   parser.parse(message).accept(visitor.withStream(stream));
 }
 public void sendGroupMessage(String message) {
   tMessage tMes = new tMessage(username, "groupmessage", message);
   String mes = parser.createMessage(tMes);
   mes.getBytes();
   client.sendSomeMessages(mes);
 }
 public void SendPresenceMessage() {
   tMessage tMes = new tMessage(username, "checkpresence", "");
   String mes = parser.createMessage(tMes);
   mes.getBytes();
   client.sendSomeMessages(mes);
 }
 public void sendStatusUpdateMessage(String status) {
   tMessage tMes = new tMessage(username, "updatestatus", status);
   String mes = parser.createMessage(tMes);
   mes.getBytes();
   client.sendSomeMessages(mes);
 }
 public void sendSoundMessage(String groupname, String data) {
   tMessage tMes = new tMessage(this.username, "sound", data);
   String mes = parser.createMessage(tMes);
   mes.getBytes();
   client.sendSomeMessages(mes);
 }
  public void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
    try {
      address = PAConfiguration.getAddress();
      port = PAConfiguration.getPort(instantiation);
      poslAddress = PAConfiguration.getPOSL(instantiation, topic);
      rdfAddress = PAConfiguration.getRDFTaxonomy(instantiation);
      messageEndpoint = PAConfiguration.getEndpointName(instantiation, topic);
    } catch (BadConfigurationException e) {
      System.out.println(e.getMessage());
      e.printStackTrace();
      System.exit(0);
    }
    response.setContentType("text/html; charset=UTF-8");
    PrintWriter out = response.getWriter();

    try {
      System.out.println("5 Publicty Chair Servlet");
      System.out.println(response.toString());

      BufferedReader brd = request.getReader();

      String input = "";
      String message = "";

      while (!input.equals("</RuleML>")) {

        input = brd.readLine();

        message = message + input;
      }
      String[] varOrder = getVariableOrder(message);
      System.out.println("Received Message: " + message);

      //	BackwardReasoner br = new BackwardReasoner();
      //   Iterator solit =null;
      //   DefiniteClause dc = null;
      //   SymbolTable.reset();

      POSLParser pp = new POSLParser();
      // String contents = "c(a).\nc(b).\nc(c).";

      Date t1 = new GregorianCalendar().getTime();
      System.out.println(t1.getHours() + ":" + t1.getMinutes());
      // append time to contents

      System.out.println("day: " + t1.getDay());
      System.out.println("day: " + t1.getYear());
      System.out.println("day: " + t1.getMonth());

      // time
      String time = "time(" + t1.getHours() + ":integer).";
      System.out.println(time);

      String url = poslAddress;

      // String url = "http://www.jdrew.org/oojdrew/test.posl";
      String contents = "";

      // day of the week
      int day = t1.getDay();
      boolean weekday = true;

      if (day == 0 || day == 6) {
        weekday = false;
      }

      String dayOfWeek;

      if (weekday) {
        dayOfWeek = "day(weekday).";
      } else {
        dayOfWeek = "day(weekend).";
      }
      // full date
      Calendar cal = new GregorianCalendar();

      int year = cal.get(Calendar.YEAR);
      int month = cal.get(Calendar.MONTH) + 1;
      int day2 = cal.get(Calendar.DAY_OF_MONTH);

      String date;

      String day3 = "" + day2;

      if (day2 == 1 || day2 == 2 || day2 == 3 || day2 == 4 || day2 == 5 || day2 == 6 || day2 == 7
          || day2 == 8 || day2 == 9) {

        day3 = "0" + day2;
      }

      if (month == 10 || month == 11 || month == 12) date = "" + year + month + day3;
      else date = "" + year + "0" + month + day3;

      date = "date(" + date + ":integer).";

      System.out.println(date);

      String url2 = rdfAddress;
      HttpClient client2 = new HttpClient();
      GetMethod method2 = new GetMethod(url2);
      method2.setFollowRedirects(true);
      String typestr = "";
      // Execute the GET method
      int statusCode2 = client2.executeMethod(method2);
      if (statusCode2 != -1) {
        typestr = method2.getResponseBodyAsString();
      }
      System.out.println("Types: " + typestr);
      Types.reset();
      RDFSParser.parseRDFSString(typestr);

      try {
        HttpClient client = new HttpClient();
        GetMethod method = new GetMethod(url);
        method.setFollowRedirects(true);

        // Execute the GET method
        int statusCode = client.executeMethod(method);
        if (statusCode != -1) {
          contents = method.getResponseBodyAsString();
        }
      } catch (Exception e) {
        e.printStackTrace();
      }
      contents = contents + "\n" + time;
      contents = contents + "\n" + dayOfWeek;
      contents = contents + "\n" + date;

      BackwardReasoner br = new BackwardReasoner();
      Iterator solit = null;
      DefiniteClause dc = null;
      SymbolTable.reset();

      pp.parseDefiniteClauses(contents);

      br.loadClauses(pp.iterator());
      System.out.println("TEST");
      Iterator it = pp.iterator();
      while (it.hasNext()) {
        DefiniteClause d = (DefiniteClause) it.next();
        System.out.println("Loaded clause: " + d.toPOSLString());
      }

      br = new BackwardReasoner(br.clauses, br.oids);

      MessageParser m = new MessageParser(message);
      Element atom = null;

      try {

        atom = m.parseForContent();

      } catch (Exception e) {

        System.out.println("Invalid Message");
        // out.flush();

      }

      QueryBuilder q = new QueryBuilder(atom);
      String query = q.generateDoc();
      System.out.println("ABOUT TO INPUT THIS QUERY:" + query);
      RuleMLParser qp = new RuleMLParser();

      try {

        dc = qp.parseRuleMLQuery(query);

      } catch (Exception e) {
        System.out.println("Invalid Query");
        // out.flush();
      }

      // solit = br.iterativeDepthFirstSolutionIterator(dc);

      solit = br.iterativeDepthFirstSolutionIterator(dc);

      int varSize = 0;

      while (solit.hasNext()) {

        Vector data = new Vector();

        BackwardReasoner.GoalList gl = (BackwardReasoner.GoalList) solit.next();

        Hashtable varbind = gl.varBindings;
        javax.swing.tree.DefaultMutableTreeNode root = br.toTree();
        root.setAllowsChildren(true);

        javax.swing.tree.DefaultTreeModel dtm = new DefaultTreeModel(root);

        int i = 0;
        Object[][] rowdata = new Object[varbind.size()][2];
        varSize = varbind.size();

        Enumeration e = varbind.keys();
        while (e.hasMoreElements()) {
          Object k = e.nextElement();
          Object val = varbind.get(k);
          String ks = (String) k;
          rowdata[i][0] = ks;
          rowdata[i][1] = val;
          i++;
        }

        data.addElement(rowdata);
        String[] messages = new String[data.size()];
        MessageGenerator g =
            new MessageGenerator(
                data, varSize, messageEndpoint, m.getId(), m.getProtocol(), m.getRel(), varOrder);
        messages = g.Messages2();

        String appender = "";

        URL sender = new URL(address + ":" + port);
        HttpMessage msg = new HttpMessage(sender);
        Properties props = new Properties();

        for (int i1 = 0; i1 < data.size(); i1++) {
          System.out.println(i1 + ")" + messages[i1].toString());
          props.put("text", messages[i1].toString());
          InputStream in = msg.sendGetMessage(props);
        }
        System.out.println("NEXT MESSAGE");
      }

      MessageGenerator g =
          new MessageGenerator(
              null, varSize, messageEndpoint, m.getId(), m.getProtocol(), m.getRel());

      URL sender = new URL(address + ":" + port);
      HttpMessage msg = new HttpMessage(sender);
      Properties props = new Properties();

      String finalMessage = g.finalMessage(query);

      System.out.println(finalMessage);

      props.put("text", finalMessage);
      InputStream in = msg.sendGetMessage(props);

      System.out.println("Stop_Communication");

    } catch (Exception e) {
      System.out.println("ERROR has occured : " + e.toString());
    }
    out.close();
  }