/** Clean up data. */
 public void cleanUpData() {
   Long aWeekAgo = System.currentTimeMillis() - 604800000;
   List<Chatter> chatterList = selectAllChatter(aWeekAgo);
   for (Chatter c : chatterList) {
     deleteSingleData(c.getId());
   }
 }
 /**
  * Insert chatter.
  *
  * @param chatter the chatter
  * @return the long
  */
 public long insertChatter(Chatter chatter) {
   this.insertChatter.bindString(1, chatter.getChatterId());
   this.insertChatter.bindString(2, chatter.getActor());
   this.insertChatter.bindString(3, chatter.getPost());
   this.insertChatter.bindLong(4, chatter.getCommentCount());
   this.insertChatter.bindLong(5, chatter.getLikeCount());
   this.insertChatter.bindLong(6, System.currentTimeMillis());
   return this.insertChatter.executeInsert();
 }
Example #3
0
 /**
  * subscribte to the chatroom
  *
  * @param chatter
  */
 public void subscribe(Chatter chatter) {
   chatter.addMessage(SIGNAL + "Welcome " + chatter.getSender() + SIGNAL);
   synchronized (_chatters) {
     _chatters.add(chatter);
   }
   say(
       chatter.getSender(),
       getDateTime() + ": " + SIGNAL + chatter.getSender() + " join this chatroom" + SIGNAL);
 }
Example #4
0
 /**
  * unsubsctibe to the chatroom
  *
  * @param chatter
  */
 public void unsubscribe(Chatter chatter) {
   _chatters.remove(chatter);
   chatter.addMessage(SIGNAL + "Bye " + chatter.getSender() + SIGNAL);
   synchronized (_chatters) {
     for (Chatter _chatter : _chatters)
       _chatter.addMessage(
           getDateTime()
               + ": "
               + SIGNAL
               + chatter.getSender()
               + " leaves the chat room!"
               + SIGNAL);
   }
 }
Example #5
0
 /**
  * Broadcasts a message to all listeners of the channel.
  *
  * @param message
  */
 public void broadcast(Chatter sender, ChatArguments message) {
   ChannelBroadcastEvent event =
       plugin
           .getEngine()
           .getEventManager()
           .callEvent(new ChannelBroadcastEvent(this, sender, message));
   sender = event.getSender();
   message = event.getMessage();
   Placeholders.format(Placeholders.MESSAGE, format, message);
   for (Chatter chatter : listeners) {
     if (sender != null && !chatter.canHear(sender, this)) {
       continue;
     }
     chatter.getParent().sendMessage(format);
   }
   if (bot != null && ircEnabled) {
     bot.sendMessage(message);
   }
   plugin.getChatLogger().log(message);
 }
Example #6
0
 /**
  * Bans a name from the channel
  *
  * @param name of chatter
  * @param kick whether to kick if online
  * @param reason for kick
  */
 public void ban(String name, boolean kick, ChatArguments reason) {
   ChannelBanEvent event =
       plugin
           .getEngine()
           .getEventManager()
           .callEvent(new ChannelBanEvent(this, name, kick, reason));
   if (event.isCancelled()) {
     return;
   }
   name = event.getName();
   if (event.isKicked()) {
     Chatter chatter = plugin.getChatters().get(name);
     if (chatter == null) {
       return;
     }
     chatter.kick(this, event.getReason());
   }
   banned.add(name);
   if (autoSave) {
     save();
   }
 }
 /**
  * Update data.
  *
  * @param chatterList the chatter list
  */
 public void updateData(List<Chatter> chatterList) {
   for (Chatter chatter : chatterList) {
     ContentValues vals = new ContentValues();
     vals.put("chatterId", chatter.getChatterId());
     vals.put("actor", chatter.getActor());
     vals.put("post", chatter.getPost());
     vals.put("commentCount", chatter.getCommentCount());
     vals.put("likeCount", chatter.getLikeCount());
     vals.put("createTime", System.currentTimeMillis());
     this.db.update(TABLE_CHATTER, vals, "id=" + chatter.getId(), null);
   }
 }
 /**
  * Select all data.
  *
  * @return the list of Items
  */
 public Map<String, Chatter> selectAllChatterMap() {
   Map<String, Chatter> map = new HashMap<String, Chatter>();
   Cursor cursor = this.db.rawQuery("SELECT * FROM " + TABLE_CHATTER, null);
   if (cursor.moveToFirst()) {
     do {
       Chatter c = new Chatter();
       c.setId(cursor.getLong(0));
       c.setChatterId(cursor.getString(1));
       c.setActor(cursor.getString(2));
       c.setPost(cursor.getString(3));
       c.setCommentCount(cursor.getInt(4));
       c.setLikeCount(cursor.getInt(5));
       c.setCreateTime(cursor.getLong(6));
       map.put(c.getChatterId(), c);
     } while (cursor.moveToNext());
   }
   if (cursor != null && !cursor.isClosed()) {
     cursor.close();
   }
   return map;
 }
 /**
  * Select all data.
  *
  * @return the list of Items
  */
 public List<Chatter> selectAllChatter() {
   List<Chatter> list = new ArrayList<Chatter>();
   Cursor cursor = this.db.rawQuery("SELECT * FROM " + TABLE_CHATTER, null);
   if (cursor.moveToFirst()) {
     do {
       Chatter c = new Chatter();
       c.setId(cursor.getLong(0));
       c.setChatterId(cursor.getString(1));
       c.setActor(cursor.getString(2));
       c.setPost(cursor.getString(3));
       c.setCommentCount(cursor.getInt(4));
       c.setLikeCount(cursor.getInt(5));
       c.setCreateTime(cursor.getLong(6));
       list.add(c);
     } while (cursor.moveToNext());
   }
   if (cursor != null && !cursor.isClosed()) {
     cursor.close();
   }
   return list;
 }
Example #10
0
 private void say(String sender, String message) {
   synchronized (_chatters) {
     for (Chatter _chatter : _chatters)
       if (!_chatter.getSender().equals(sender)) _chatter.addMessage(message);
   }
 }