diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/IMAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/IMAction.java index aabaeca2..cb20cee3 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/IMAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/IMAction.java @@ -17,7 +17,6 @@ import com.xiaoleilu.loServer.handler.Request; import com.xiaoleilu.loServer.handler.Response; import io.moquette.persistence.ServerAPIHelper; import io.moquette.persistence.MemorySessionStore; -import io.moquette.persistence.TargetEntry; import io.moquette.spi.impl.Utils; import io.moquette.spi.impl.security.AES; import io.moquette.spi.security.Tokenor; @@ -80,7 +79,7 @@ public class IMAction extends Action { if (userId == null) { sendResponse(response, ErrorCode.ERROR_CODE_TOKEN_ERROR, null); } else { - ServerAPIHelper.sendRequest(userId, wrapper.getClientId(), wrapper.getRequest(), wrapper.getData().toByteArray(), userId, TargetEntry.Type.TARGET_TYPE_USER, new ServerAPIHelper.Callback() { + ServerAPIHelper.sendRequest(userId, wrapper.getClientId(), wrapper.getRequest(), wrapper.getData().toByteArray(), new ServerAPIHelper.Callback() { @Override public void onSuccess(byte[] result) { sendResponse(response, null, result); diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/RouteAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/RouteAction.java index 09aaaaf6..6c2f9293 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/RouteAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/RouteAction.java @@ -16,7 +16,6 @@ import com.xiaoleilu.loServer.handler.Request; import com.xiaoleilu.loServer.handler.Response; import io.moquette.persistence.MemorySessionStore; import io.moquette.persistence.ServerAPIHelper; -import io.moquette.persistence.TargetEntry; import io.moquette.spi.impl.Utils; import io.moquette.spi.impl.security.AES; import io.moquette.spi.security.Tokenor; @@ -113,7 +112,7 @@ public class RouteAction extends Action { if (userId == null) { sendResponse(response, ErrorCode.ERROR_CODE_TOKEN_ERROR, null, base64Response); } else { - ServerAPIHelper.sendRequest(userId, wrapper.getClientId(), wrapper.getRequest(), wrapper.getData().toByteArray(), userId, TargetEntry.Type.TARGET_TYPE_USER, new ServerAPIHelper.Callback() { + ServerAPIHelper.sendRequest(userId, wrapper.getClientId(), wrapper.getRequest(), wrapper.getData().toByteArray(), new ServerAPIHelper.Callback() { @Override public void onSuccess(byte[] result) { sendResponse(response, null, result, base64Response); diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/AddFriendRequestAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/AddFriendRequestAction.java index 164d7713..4c500355 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/AddFriendRequestAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/AddFriendRequestAction.java @@ -16,16 +16,11 @@ import com.hazelcast.util.StringUtil; import com.xiaoleilu.loServer.annotation.HttpMethod; import com.xiaoleilu.loServer.annotation.Route; import com.xiaoleilu.loServer.handler.Request; -import com.xiaoleilu.loServer.handler.Response; -import io.moquette.persistence.ServerAPIHelper; -import io.moquette.persistence.TargetEntry; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.handler.codec.http.FullHttpRequest; import win.liyufan.im.IMTopic; -import java.util.concurrent.Executor; - @Route(APIPath.Friend_Send_Request) @HttpMethod("POST") public class AddFriendRequestAction extends AdminAction { diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/AddGroupMemberAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/AddGroupMemberAction.java index 414bf51d..4cd70e5f 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/AddGroupMemberAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/AddGroupMemberAction.java @@ -15,10 +15,7 @@ import com.xiaoleilu.loServer.RestResult; import com.xiaoleilu.loServer.annotation.HttpMethod; import com.xiaoleilu.loServer.annotation.Route; import com.xiaoleilu.loServer.handler.Request; -import com.xiaoleilu.loServer.handler.Response; import cn.wildfirechat.pojos.InputAddGroupMember; -import io.moquette.persistence.ServerAPIHelper; -import io.moquette.persistence.TargetEntry; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.handler.codec.http.FullHttpRequest; @@ -26,8 +23,6 @@ import io.netty.handler.codec.http.HttpResponseStatus; import cn.wildfirechat.common.ErrorCode; import win.liyufan.im.IMTopic; -import java.util.concurrent.Executor; - @Route(APIPath.Group_Member_Add) @HttpMethod("POST") public class AddGroupMemberAction extends AdminAction { diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/AdminAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/AdminAction.java index a7b49964..c64421d2 100644 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/AdminAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/AdminAction.java @@ -9,22 +9,16 @@ package com.xiaoleilu.loServer.action.admin; import com.google.gson.Gson; -import com.xiaoleilu.loServer.LoServer; import com.xiaoleilu.loServer.RestResult; import com.xiaoleilu.loServer.action.Action; -import com.xiaoleilu.loServer.action.channel.ChannelAction; import com.xiaoleilu.loServer.handler.Request; import com.xiaoleilu.loServer.handler.Response; import io.moquette.persistence.ServerAPIHelper; -import io.moquette.persistence.TargetEntry; -import io.netty.buffer.ByteBuf; -import io.netty.buffer.Unpooled; import io.netty.handler.codec.http.HttpResponseStatus; import io.netty.util.internal.StringUtil; import org.apache.commons.codec.digest.DigestUtils; import cn.wildfirechat.common.ErrorCode; import org.slf4j.LoggerFactory; -import win.liyufan.im.IMTopic; import win.liyufan.im.RateLimiter; import win.liyufan.im.Utility; @@ -104,10 +98,12 @@ abstract public class AdminAction extends Action { } protected void sendApiMessage(String fromUser, String topic, byte[] message, Callback callback) { - ServerAPIHelper.sendRequest(fromUser, null, topic, message, fromUser, TargetEntry.Type.TARGET_TYPE_USER, new ServerAPIHelper.Callback() { + ServerAPIHelper.sendRequest(fromUser, null, topic, message, new ServerAPIHelper.Callback() { @Override public void onSuccess(byte[] result) { - callback.onSuccess(result); + if(callback != null) { + callback.onSuccess(result); + } } @Override diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/BlacklistAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/BlacklistAction.java index 0b5cebfb..18fee70d 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/BlacklistAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/BlacklistAction.java @@ -17,9 +17,6 @@ import com.xiaoleilu.loServer.RestResult; import com.xiaoleilu.loServer.annotation.HttpMethod; import com.xiaoleilu.loServer.annotation.Route; import com.xiaoleilu.loServer.handler.Request; -import com.xiaoleilu.loServer.handler.Response; -import io.moquette.persistence.ServerAPIHelper; -import io.moquette.persistence.TargetEntry; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.handler.codec.http.FullHttpRequest; @@ -27,8 +24,6 @@ import io.netty.handler.codec.http.HttpResponseStatus; import io.netty.util.internal.StringUtil; import win.liyufan.im.IMTopic; -import java.util.concurrent.Executor; - @Route(APIPath.Blacklist_Update_Status) @HttpMethod("POST") public class BlacklistAction extends AdminAction { @@ -47,34 +42,16 @@ public class BlacklistAction extends AdminAction { && !StringUtil.isNullOrEmpty(inputData.getTargetUid()) ) { WFCMessage.BlackUserRequest friendRequest = WFCMessage.BlackUserRequest.newBuilder().setUid(inputData.getTargetUid()).setStatus(inputData.getStatus()).build(); - ServerAPIHelper.sendRequest(inputData.getUserId(), null, IMTopic.BlackListUserTopic, friendRequest.toByteArray(), inputData.getUserId(), TargetEntry.Type.TARGET_TYPE_USER, new ServerAPIHelper.Callback() { - @Override - public void onSuccess(byte[] result) { - ByteBuf byteBuf = Unpooled.buffer(); - byteBuf.writeBytes(result); - ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); - if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { - sendResponse(response, null, null); - } else { - sendResponse(response, errorCode, null); - } - } - - @Override - public void onError(ErrorCode errorCode) { + sendApiMessage(inputData.getUserId(), IMTopic.BlackListUserTopic, friendRequest.toByteArray(), result -> { + ByteBuf byteBuf = Unpooled.buffer(); + byteBuf.writeBytes(result); + ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); + if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { + sendResponse(response, null, null); + } else { sendResponse(response, errorCode, null); } - - @Override - public void onTimeout() { - sendResponse(response, ErrorCode.ERROR_CODE_TIMEOUT, null); - } - - @Override - public Executor getResponseExecutor() { - return command -> ctx.executor().execute(command); - } - }, true); + }); return false; } else { response.setStatus(HttpResponseStatus.OK); diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/BlockUserAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/BlockUserAction.java index 145536c3..0430b9a9 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/BlockUserAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/BlockUserAction.java @@ -14,10 +14,8 @@ import com.xiaoleilu.loServer.RestResult; import com.xiaoleilu.loServer.annotation.HttpMethod; import com.xiaoleilu.loServer.annotation.Route; import com.xiaoleilu.loServer.handler.Request; -import com.xiaoleilu.loServer.handler.Response; import cn.wildfirechat.pojos.InputOutputUserBlockStatus; import io.moquette.persistence.ServerAPIHelper; -import io.moquette.persistence.TargetEntry; import io.netty.handler.codec.http.FullHttpRequest; import io.netty.handler.codec.http.HttpResponseStatus; import io.netty.util.internal.StringUtil; @@ -46,7 +44,7 @@ public class BlockUserAction extends AdminAction { response.setContent(new Gson().toJson(result)); if (inputUserBlock.getStatus() == 2) { - ServerAPIHelper.sendRequest(null, null, ServerAPIHelper.KICKOFF_USER_REQUEST, inputUserBlock.getUserId().getBytes(), inputUserBlock.getUserId(), TargetEntry.Type.TARGET_TYPE_USER, null, true); + sendApiMessage(null, ServerAPIHelper.KICKOFF_USER_REQUEST, inputUserBlock.getUserId().getBytes(), null); } sendResponse(response, ErrorCode.ERROR_CODE_SUCCESS, null); diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/BroadcastMessageAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/BroadcastMessageAction.java index acb2d117..dfb16526 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/BroadcastMessageAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/BroadcastMessageAction.java @@ -19,17 +19,12 @@ import com.xiaoleilu.loServer.RestResult; import com.xiaoleilu.loServer.annotation.HttpMethod; import com.xiaoleilu.loServer.annotation.Route; import com.xiaoleilu.loServer.handler.Request; -import com.xiaoleilu.loServer.handler.Response; -import io.moquette.persistence.ServerAPIHelper; -import io.moquette.persistence.TargetEntry; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.handler.codec.http.FullHttpRequest; import io.netty.handler.codec.http.HttpResponseStatus; import win.liyufan.im.IMTopic; -import java.util.concurrent.Executor; - @Route(APIPath.Msg_Broadcast) @HttpMethod("POST") public class BroadcastMessageAction extends AdminAction { diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CheckUserOnlineAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CheckUserOnlineAction.java index c3b1ec38..4ac5ea5f 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CheckUserOnlineAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CheckUserOnlineAction.java @@ -14,16 +14,12 @@ import com.google.gson.Gson; import com.xiaoleilu.loServer.annotation.HttpMethod; import com.xiaoleilu.loServer.annotation.Route; import com.xiaoleilu.loServer.handler.Request; -import com.xiaoleilu.loServer.handler.Response; import cn.wildfirechat.pojos.InputGetUserInfo; import io.moquette.persistence.ServerAPIHelper; -import io.moquette.persistence.TargetEntry; import io.netty.handler.codec.http.FullHttpRequest; import io.netty.util.internal.StringUtil; import cn.wildfirechat.common.ErrorCode; -import java.util.concurrent.Executor; - @Route(APIPath.User_Get_Online_Status) @HttpMethod("POST") public class CheckUserOnlineAction extends AdminAction { diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateChannelAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateChannelAction.java index 2a242340..b416dbe5 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateChannelAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateChannelAction.java @@ -16,9 +16,6 @@ import com.xiaoleilu.loServer.RestResult; import com.xiaoleilu.loServer.annotation.HttpMethod; import com.xiaoleilu.loServer.annotation.Route; import com.xiaoleilu.loServer.handler.Request; -import com.xiaoleilu.loServer.handler.Response; -import io.moquette.persistence.ServerAPIHelper; -import io.moquette.persistence.TargetEntry; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.handler.codec.http.FullHttpRequest; @@ -26,8 +23,6 @@ import io.netty.handler.codec.http.HttpResponseStatus; import io.netty.util.internal.StringUtil; import win.liyufan.im.IMTopic; -import java.util.concurrent.Executor; - @Route(APIPath.Create_Channel) @HttpMethod("POST") public class CreateChannelAction extends AdminAction { diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateGroupAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateGroupAction.java index 85e7d7d2..322623c5 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateGroupAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateGroupAction.java @@ -15,11 +15,8 @@ import com.xiaoleilu.loServer.RestResult; import com.xiaoleilu.loServer.annotation.HttpMethod; import com.xiaoleilu.loServer.annotation.Route; import com.xiaoleilu.loServer.handler.Request; -import com.xiaoleilu.loServer.handler.Response; import cn.wildfirechat.pojos.InputCreateGroup; import cn.wildfirechat.pojos.OutputCreateGroupResult; -import io.moquette.persistence.ServerAPIHelper; -import io.moquette.persistence.TargetEntry; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.handler.codec.http.FullHttpRequest; @@ -27,8 +24,6 @@ import io.netty.handler.codec.http.HttpResponseStatus; import cn.wildfirechat.common.ErrorCode; import win.liyufan.im.IMTopic; -import java.util.concurrent.Executor; - @Route(APIPath.Create_Group) @HttpMethod("POST") public class CreateGroupAction extends AdminAction { diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/DestroyUserAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/DestroyUserAction.java index 190b45fa..342df959 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/DestroyUserAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/DestroyUserAction.java @@ -17,16 +17,12 @@ import com.xiaoleilu.loServer.RestResult; import com.xiaoleilu.loServer.annotation.HttpMethod; import com.xiaoleilu.loServer.annotation.Route; import com.xiaoleilu.loServer.handler.Request; -import com.xiaoleilu.loServer.handler.Response; -import io.moquette.persistence.ServerAPIHelper; -import io.moquette.persistence.TargetEntry; import io.netty.handler.codec.http.FullHttpRequest; import io.netty.handler.codec.http.HttpResponseStatus; import io.netty.util.internal.StringUtil; import win.liyufan.im.IMTopic; import java.util.Base64; -import java.util.concurrent.Executor; @Route(APIPath.Destroy_User) @HttpMethod("POST") diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/DismissGroupAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/DismissGroupAction.java index ebe42935..074e9e29 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/DismissGroupAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/DismissGroupAction.java @@ -15,10 +15,7 @@ import com.xiaoleilu.loServer.RestResult; import com.xiaoleilu.loServer.annotation.HttpMethod; import com.xiaoleilu.loServer.annotation.Route; import com.xiaoleilu.loServer.handler.Request; -import com.xiaoleilu.loServer.handler.Response; import cn.wildfirechat.pojos.InputDismissGroup; -import io.moquette.persistence.ServerAPIHelper; -import io.moquette.persistence.TargetEntry; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.handler.codec.http.FullHttpRequest; @@ -26,8 +23,6 @@ import io.netty.handler.codec.http.HttpResponseStatus; import cn.wildfirechat.common.ErrorCode; import win.liyufan.im.IMTopic; -import java.util.concurrent.Executor; - @Route(APIPath.Group_Dismiss) @HttpMethod("POST") public class DismissGroupAction extends AdminAction { diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/FriendRelationAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/FriendRelationAction.java index 831a7ddf..d73bd20f 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/FriendRelationAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/FriendRelationAction.java @@ -15,10 +15,7 @@ import com.xiaoleilu.loServer.RestResult; import com.xiaoleilu.loServer.annotation.HttpMethod; import com.xiaoleilu.loServer.annotation.Route; import com.xiaoleilu.loServer.handler.Request; -import com.xiaoleilu.loServer.handler.Response; import cn.wildfirechat.pojos.InputUpdateFriendStatusRequest; -import io.moquette.persistence.ServerAPIHelper; -import io.moquette.persistence.TargetEntry; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.handler.codec.http.FullHttpRequest; @@ -27,8 +24,6 @@ import io.netty.util.internal.StringUtil; import cn.wildfirechat.common.ErrorCode; import win.liyufan.im.IMTopic; -import java.util.concurrent.Executor; - @Route(APIPath.Friend_Update_Status) @HttpMethod("POST") public class FriendRelationAction extends AdminAction { diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/GetIMTokenAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/GetIMTokenAction.java index 2b38a84e..e725eba6 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/GetIMTokenAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/GetIMTokenAction.java @@ -13,17 +13,13 @@ import cn.wildfirechat.proto.WFCMessage; import com.xiaoleilu.loServer.annotation.HttpMethod; import com.xiaoleilu.loServer.annotation.Route; import com.xiaoleilu.loServer.handler.Request; -import com.xiaoleilu.loServer.handler.Response; import cn.wildfirechat.pojos.InputGetToken; import cn.wildfirechat.pojos.OutputGetIMTokenData; -import io.moquette.persistence.ServerAPIHelper; -import io.moquette.persistence.TargetEntry; import io.netty.handler.codec.http.FullHttpRequest; import cn.wildfirechat.common.ErrorCode; import win.liyufan.im.IMTopic; import java.util.Base64; -import java.util.concurrent.Executor; @Route(APIPath.User_Get_Token) @HttpMethod("POST") diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/KickoffGroupMemberAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/KickoffGroupMemberAction.java index 699a3557..47d92c05 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/KickoffGroupMemberAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/KickoffGroupMemberAction.java @@ -15,10 +15,7 @@ import com.xiaoleilu.loServer.RestResult; import com.xiaoleilu.loServer.annotation.HttpMethod; import com.xiaoleilu.loServer.annotation.Route; import com.xiaoleilu.loServer.handler.Request; -import com.xiaoleilu.loServer.handler.Response; import cn.wildfirechat.pojos.InputKickoffGroupMember; -import io.moquette.persistence.ServerAPIHelper; -import io.moquette.persistence.TargetEntry; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.handler.codec.http.FullHttpRequest; @@ -26,8 +23,6 @@ import io.netty.handler.codec.http.HttpResponseStatus; import cn.wildfirechat.common.ErrorCode; import win.liyufan.im.IMTopic; -import java.util.concurrent.Executor; - @Route(APIPath.Group_Member_Kickoff) @HttpMethod("POST") public class KickoffGroupMemberAction extends AdminAction { diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/ModifyGroupInfoAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/ModifyGroupInfoAction.java index dcabcbfe..118085c7 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/ModifyGroupInfoAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/ModifyGroupInfoAction.java @@ -17,17 +17,12 @@ import com.xiaoleilu.loServer.RestResult; import com.xiaoleilu.loServer.annotation.HttpMethod; import com.xiaoleilu.loServer.annotation.Route; import com.xiaoleilu.loServer.handler.Request; -import com.xiaoleilu.loServer.handler.Response; -import io.moquette.persistence.ServerAPIHelper; -import io.moquette.persistence.TargetEntry; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.handler.codec.http.FullHttpRequest; import io.netty.handler.codec.http.HttpResponseStatus; import win.liyufan.im.IMTopic; -import java.util.concurrent.Executor; - @Route(APIPath.Group_Modify_Info) @HttpMethod("POST") public class ModifyGroupInfoAction extends AdminAction { diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/ModifyGroupMemberAliasAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/ModifyGroupMemberAliasAction.java index a22b78db..844e13bd 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/ModifyGroupMemberAliasAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/ModifyGroupMemberAliasAction.java @@ -17,17 +17,12 @@ import com.xiaoleilu.loServer.RestResult; import com.xiaoleilu.loServer.annotation.HttpMethod; import com.xiaoleilu.loServer.annotation.Route; import com.xiaoleilu.loServer.handler.Request; -import com.xiaoleilu.loServer.handler.Response; -import io.moquette.persistence.ServerAPIHelper; -import io.moquette.persistence.TargetEntry; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.handler.codec.http.FullHttpRequest; import io.netty.handler.codec.http.HttpResponseStatus; import win.liyufan.im.IMTopic; -import java.util.concurrent.Executor; - @Route(APIPath.Group_Set_Member_Alias) @HttpMethod("POST") public class ModifyGroupMemberAliasAction extends AdminAction { diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/MulticastMessageAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/MulticastMessageAction.java index 76984d77..504733c3 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/MulticastMessageAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/MulticastMessageAction.java @@ -18,17 +18,12 @@ import com.xiaoleilu.loServer.RestResult; import com.xiaoleilu.loServer.annotation.HttpMethod; import com.xiaoleilu.loServer.annotation.Route; import com.xiaoleilu.loServer.handler.Request; -import com.xiaoleilu.loServer.handler.Response; -import io.moquette.persistence.ServerAPIHelper; -import io.moquette.persistence.TargetEntry; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.handler.codec.http.FullHttpRequest; import io.netty.handler.codec.http.HttpResponseStatus; import win.liyufan.im.IMTopic; -import java.util.concurrent.Executor; - @Route(APIPath.Msg_Multicast) @HttpMethod("POST") public class MulticastMessageAction extends AdminAction { diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/QuitGroupMemberAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/QuitGroupMemberAction.java index e1a8f001..6c886513 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/QuitGroupMemberAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/QuitGroupMemberAction.java @@ -17,17 +17,12 @@ import com.xiaoleilu.loServer.RestResult; import com.xiaoleilu.loServer.annotation.HttpMethod; import com.xiaoleilu.loServer.annotation.Route; import com.xiaoleilu.loServer.handler.Request; -import com.xiaoleilu.loServer.handler.Response; -import io.moquette.persistence.ServerAPIHelper; -import io.moquette.persistence.TargetEntry; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.handler.codec.http.FullHttpRequest; import io.netty.handler.codec.http.HttpResponseStatus; import win.liyufan.im.IMTopic; -import java.util.concurrent.Executor; - @Route(APIPath.Group_Member_Quit) @HttpMethod("POST") public class QuitGroupMemberAction extends AdminAction { diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/RecallMessageAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/RecallMessageAction.java index 1a2b47f9..8d7f099d 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/RecallMessageAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/RecallMessageAction.java @@ -15,10 +15,7 @@ import com.xiaoleilu.loServer.RestResult; import com.xiaoleilu.loServer.annotation.HttpMethod; import com.xiaoleilu.loServer.annotation.Route; import com.xiaoleilu.loServer.handler.Request; -import com.xiaoleilu.loServer.handler.Response; import cn.wildfirechat.pojos.RecallMessageData; -import io.moquette.persistence.ServerAPIHelper; -import io.moquette.persistence.TargetEntry; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.handler.codec.http.FullHttpRequest; @@ -27,8 +24,6 @@ import io.netty.util.internal.StringUtil; import cn.wildfirechat.common.ErrorCode; import win.liyufan.im.IMTopic; -import java.util.concurrent.Executor; - @Route(APIPath.Msg_Recall) @HttpMethod("POST") public class RecallMessageAction extends AdminAction { diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/RecallMultiCastMessageAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/RecallMultiCastMessageAction.java index 558049b8..bcd98da6 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/RecallMultiCastMessageAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/RecallMultiCastMessageAction.java @@ -17,9 +17,6 @@ import com.xiaoleilu.loServer.RestResult; import com.xiaoleilu.loServer.annotation.HttpMethod; import com.xiaoleilu.loServer.annotation.Route; import com.xiaoleilu.loServer.handler.Request; -import com.xiaoleilu.loServer.handler.Response; -import io.moquette.persistence.ServerAPIHelper; -import io.moquette.persistence.TargetEntry; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.handler.codec.http.FullHttpRequest; @@ -27,8 +24,6 @@ import io.netty.handler.codec.http.HttpResponseStatus; import io.netty.util.internal.StringUtil; import win.liyufan.im.IMTopic; -import java.util.concurrent.Executor; - @Route(APIPath.Msg_RecallMultiCast) @HttpMethod("POST") public class RecallMultiCastMessageAction extends AdminAction { diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/SendMessageAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/SendMessageAction.java index 8a45209c..acf0eae9 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/SendMessageAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/SendMessageAction.java @@ -16,11 +16,8 @@ import com.xiaoleilu.loServer.RestResult; import com.xiaoleilu.loServer.annotation.HttpMethod; import com.xiaoleilu.loServer.annotation.Route; import com.xiaoleilu.loServer.handler.Request; -import com.xiaoleilu.loServer.handler.Response; import cn.wildfirechat.pojos.SendMessageData; import cn.wildfirechat.pojos.SendMessageResult; -import io.moquette.persistence.ServerAPIHelper; -import io.moquette.persistence.TargetEntry; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.handler.codec.http.FullHttpRequest; @@ -28,8 +25,6 @@ import io.netty.handler.codec.http.HttpResponseStatus; import cn.wildfirechat.common.ErrorCode; import win.liyufan.im.IMTopic; -import java.util.concurrent.Executor; - @Route(APIPath.Msg_Send) @HttpMethod("POST") public class SendMessageAction extends AdminAction { diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/SetGroupManagerAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/SetGroupManagerAction.java index 876af138..ad6df629 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/SetGroupManagerAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/SetGroupManagerAction.java @@ -17,17 +17,12 @@ import com.xiaoleilu.loServer.RestResult; import com.xiaoleilu.loServer.annotation.HttpMethod; import com.xiaoleilu.loServer.annotation.Route; import com.xiaoleilu.loServer.handler.Request; -import com.xiaoleilu.loServer.handler.Response; -import io.moquette.persistence.ServerAPIHelper; -import io.moquette.persistence.TargetEntry; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.handler.codec.http.FullHttpRequest; import io.netty.handler.codec.http.HttpResponseStatus; import win.liyufan.im.IMTopic; -import java.util.concurrent.Executor; - @Route(APIPath.Group_Set_Manager) @HttpMethod("POST") public class SetGroupManagerAction extends AdminAction { diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/TransferGroupAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/TransferGroupAction.java index 6609ed3e..ca125f3f 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/TransferGroupAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/TransferGroupAction.java @@ -15,10 +15,7 @@ import com.xiaoleilu.loServer.RestResult; import com.xiaoleilu.loServer.annotation.HttpMethod; import com.xiaoleilu.loServer.annotation.Route; import com.xiaoleilu.loServer.handler.Request; -import com.xiaoleilu.loServer.handler.Response; import cn.wildfirechat.pojos.InputTransferGroup; -import io.moquette.persistence.ServerAPIHelper; -import io.moquette.persistence.TargetEntry; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.handler.codec.http.FullHttpRequest; @@ -26,8 +23,6 @@ import io.netty.handler.codec.http.HttpResponseStatus; import cn.wildfirechat.common.ErrorCode; import win.liyufan.im.IMTopic; -import java.util.concurrent.Executor; - @Route(APIPath.Group_Transfer) @HttpMethod("POST") public class TransferGroupAction extends AdminAction { diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/channel/ChannelAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/channel/ChannelAction.java index d6b86527..5a244840 100644 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/channel/ChannelAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/channel/ChannelAction.java @@ -16,7 +16,6 @@ import com.xiaoleilu.loServer.action.Action; import com.xiaoleilu.loServer.handler.Request; import com.xiaoleilu.loServer.handler.Response; import io.moquette.persistence.ServerAPIHelper; -import io.moquette.persistence.TargetEntry; import io.moquette.spi.impl.Utils; import io.netty.handler.codec.http.FullHttpRequest; import io.netty.handler.codec.http.HttpRequest; @@ -117,7 +116,7 @@ abstract public class ChannelAction extends Action { } protected void sendApiMessage(String topic, byte[] message, Callback callback) { - ServerAPIHelper.sendRequest(channelInfo.getOwner(), null, topic, message, channelInfo.getOwner(), TargetEntry.Type.TARGET_TYPE_USER, new ServerAPIHelper.Callback() { + ServerAPIHelper.sendRequest(channelInfo.getOwner(), null, topic, message, new ServerAPIHelper.Callback() { @Override public void onSuccess(byte[] response) { callback.onSuccess(response); diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/robot/RobotAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/robot/RobotAction.java index 2da8adcc..1fa6eb17 100644 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/robot/RobotAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/robot/RobotAction.java @@ -16,7 +16,6 @@ import com.xiaoleilu.loServer.action.Action; import com.xiaoleilu.loServer.handler.Request; import com.xiaoleilu.loServer.handler.Response; import io.moquette.persistence.ServerAPIHelper; -import io.moquette.persistence.TargetEntry; import io.moquette.spi.impl.Utils; import io.netty.handler.codec.http.FullHttpRequest; import io.netty.handler.codec.http.HttpRequest; @@ -126,7 +125,7 @@ abstract public class RobotAction extends Action { } protected void sendApiRequest(String topic, byte[] message, Callback callback) { - ServerAPIHelper.sendRequest(robot.getUid(), null, topic, message, robot.getUid(), TargetEntry.Type.TARGET_TYPE_USER, new ServerAPIHelper.Callback() { + ServerAPIHelper.sendRequest(robot.getUid(), null, topic, message, new ServerAPIHelper.Callback() { @Override public void onSuccess(byte[] response) { callback.onSuccess(response); diff --git a/broker/src/main/java/io/moquette/persistence/ServerAPIHelper.java b/broker/src/main/java/io/moquette/persistence/ServerAPIHelper.java index 2c6ba72d..a7c5abe0 100644 --- a/broker/src/main/java/io/moquette/persistence/ServerAPIHelper.java +++ b/broker/src/main/java/io/moquette/persistence/ServerAPIHelper.java @@ -37,11 +37,11 @@ public class ServerAPIHelper { Executor getResponseExecutor(); } - public static void sendRequest(String fromUser, String clientId, String request, byte[] message, String target, TargetEntry.Type type, Callback callback, boolean isAdmin) { - sendRequest(fromUser, clientId, request, message, target, type, callback, isAdmin, false); + public static void sendRequest(String fromUser, String clientId, String request, byte[] message, Callback callback, boolean isAdmin) { + sendRequest(fromUser, clientId, request, message, callback, isAdmin, false); } - public static void sendRequest(String fromUser, String clientId, String request, byte[] message, String target, TargetEntry.Type type, Callback callback, boolean isAdmin, boolean isRobotOrChannel) { + public static void sendRequest(String fromUser, String clientId, String request, byte[] message, Callback callback, boolean isAdmin, boolean isRobotOrChannel) { int requestId = 0; if (callback != null) { diff --git a/broker/src/main/java/io/moquette/persistence/TargetEntry.java b/broker/src/main/java/io/moquette/persistence/TargetEntry.java deleted file mode 100644 index 42429246..00000000 --- a/broker/src/main/java/io/moquette/persistence/TargetEntry.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * This file is part of the Wildfire Chat package. - * (c) Heavyrain2012 - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -package io.moquette.persistence; - -public class TargetEntry { - public TargetEntry(Type type, String target) { - this.type = type; - this.target = target; - } - - public enum Type { - TARGET_TYPE_USER, - TARGET_TYPE_CHATROOM, - TARGET_TYPE_MASTER_NODE, - } - public Type type; - public String target; -} diff --git a/broker/src/main/java/io/moquette/spi/impl/ProtocolProcessor.java b/broker/src/main/java/io/moquette/spi/impl/ProtocolProcessor.java index 90df7ff5..f09217bf 100755 --- a/broker/src/main/java/io/moquette/spi/impl/ProtocolProcessor.java +++ b/broker/src/main/java/io/moquette/spi/impl/ProtocolProcessor.java @@ -27,7 +27,6 @@ import io.moquette.persistence.ServerAPIHelper; import io.moquette.interception.InterceptHandler; import io.moquette.interception.messages.InterceptAcknowledgedMessage; import io.moquette.persistence.MemorySessionStore; -import io.moquette.persistence.TargetEntry; import io.moquette.server.ConnectionDescriptor; import io.moquette.server.ConnectionDescriptorStore; import io.moquette.server.Server; @@ -98,10 +97,9 @@ public class ProtocolProcessor { }); } - private void handleTargetRemovedFromCurrentNode(TargetEntry target) { - System.out.println("kickof user " + target); - if (target.type == TargetEntry.Type.TARGET_TYPE_USER) { - Collection sessions = m_sessionsStore.sessionForUser(target.target); + private void kickoffUserOffline(String userId) { + System.out.println("kickoff user " + userId); + Collection sessions = m_sessionsStore.sessionForUser(userId); for (MemorySessionStore.Session session : sessions) { ConnectionDescriptor descriptor = connectionDescriptors.getConnection(session.getClientID()); try { @@ -113,9 +111,6 @@ public class ProtocolProcessor { Utility.printExecption(LOG, e); } } - } else if(target.type == TargetEntry.Type.TARGET_TYPE_CHATROOM) { - - } } @@ -704,7 +699,7 @@ public class ProtocolProcessor { public void onApiMessage(String fromUser, String clientId, byte[] message, int messageId, String from, String request, boolean isAdmin, boolean isRobotOrChannel) { if(request.equals(ServerAPIHelper.KICKOFF_USER_REQUEST)) { String userId = new String(message); - mServer.getImBusinessScheduler().execute(()->handleTargetRemovedFromCurrentNode(new TargetEntry(TargetEntry.Type.TARGET_TYPE_USER, userId))); + mServer.getImBusinessScheduler().execute(()-> kickoffUserOffline(userId)); return; } qos1PublishHandler.onApiMessage(fromUser, clientId, message, messageId, from, request, isAdmin, isRobotOrChannel);