use of com.tvd12.ezyfoxserver.context.EzyZoneContext in project ezyfox-server by youngmonkeys.
the class EzyPluginSendResponseImplTest method test.
@Test
public void test() {
EzyPluginContext pluginContext = mock(EzyPluginContext.class);
EzyPlugin plugin = mock(EzyPlugin.class);
when(pluginContext.getPlugin()).thenReturn(plugin);
EzySimplePluginSetting pluginSetting = new EzySimplePluginSetting();
pluginSetting.setName("test");
when(plugin.getSetting()).thenReturn(pluginSetting);
EzyZoneContext zoneContext = mock(EzyZoneContext.class);
when(pluginContext.getParent()).thenReturn(zoneContext);
EzyServerContext serverContext = mock(EzyServerContext.class);
when(zoneContext.getParent()).thenReturn(serverContext);
EzyPluginSendResponseImpl cmd = new EzyPluginSendResponseImpl(pluginContext);
EzyObject data = EzyEntityFactory.newObjectBuilder().build();
EzyAbstractSession session = spy(EzyAbstractSession.class);
cmd.execute(data, session, false);
cmd.execute(data, Lists.newArrayList(session), false);
}
use of com.tvd12.ezyfoxserver.context.EzyZoneContext in project ezyfox-server by youngmonkeys.
the class EzyBroadcastAppsEventImplTest method test.
@Test
public void test() {
EzyEvent event2 = new EzySimpleServerInitializingEvent();
EzyZoneContext zoneContext = mock(EzyZoneContext.class);
List<EzyAppContext> appContexts = Lists.newArrayList(newAppContext("1", event2), newAppContext("2", event2), newAppContext("3", event2));
when(zoneContext.getAppContexts()).thenReturn(appContexts);
EzyZone zone = mock(EzyZone.class);
EzySimpleZoneSetting zoneSetting = new EzySimpleZoneSetting();
zoneSetting.setName("test");
when(zone.getSetting()).thenReturn(zoneSetting);
when(zoneContext.getZone()).thenReturn(zone);
EzyBroadcastAppsEventImpl cmd = new EzyBroadcastAppsEventImpl(zoneContext);
EzyEvent event = new EzySimpleServerInitializingEvent();
cmd.fire(EzyEventType.SERVER_INITIALIZING, event, true);
cmd.fire(EzyEventType.SERVER_INITIALIZING, event, false);
EzySimpleUser user = new EzySimpleUser();
user.setName("user1");
cmd.fire(EzyEventType.SERVER_INITIALIZING, event, user, true);
cmd.fire(EzyEventType.SERVER_INITIALIZING, event, "user1", true);
cmd.fire(EzyEventType.SERVER_INITIALIZING, event2, true);
}
use of com.tvd12.ezyfoxserver.context.EzyZoneContext in project ezyfox-server by youngmonkeys.
the class EzyLoginProcessor method apply.
public void apply(EzyZoneContext zoneContext, EzyUserLoginEvent event) {
EzyZone zone = zoneContext.getZone();
EzyZoneSetting zoneSetting = zone.getSetting();
EzyUserManagementSetting userManagementSetting = zoneSetting.getUserManagement();
String username = checkUsername(event.getUsername(), userManagementSetting.getUserNamePattern(), userManagementSetting.isAllowGuestLogin(), userManagementSetting.getGuestNamePrefix());
String password = event.getPassword();
EzyZoneUserManager userManager = zone.getUserManager();
EzyUser user;
EzySession session = event.getSession();
boolean alreadyLoggedIn;
Lock lock = userManager.getLock(username);
lock.lock();
try {
alreadyLoggedIn = userManager.containsUser(username);
if (alreadyLoggedIn) {
user = userManager.getUser(username);
} else {
user = newUser(zoneSetting, userManagementSetting, username, password, event.getUserProperties());
}
int maxSessionPerUser = userManagementSetting.getMaxSessionPerUser();
boolean allowChangeSession = userManagementSetting.isAllowChangeSession();
EzyStreamingSetting streamingSetting = zoneSetting.getStreaming();
boolean streamingEnable = streamingSetting.isEnable() && event.isStreamingEnable();
processUserSessions(user, session, maxSessionPerUser, allowChangeSession, streamingEnable);
addUserToManager(userManager, user, session, alreadyLoggedIn);
} finally {
lock.unlock();
userManager.removeLock(username);
}
fireUserAddedEvent(zoneContext, user, session, event.getData(), alreadyLoggedIn);
EzyResponse response = newLoginResponse(zoneContext, user, event.getOutput());
serverContext.send(response, session, false);
}
use of com.tvd12.ezyfoxserver.context.EzyZoneContext in project ezyfox-server by youngmonkeys.
the class EzyPluginInfoController method handle.
@Override
public void handle(EzyServerContext ctx, EzyPluginInfoRequest request) {
EzyUser user = request.getUser();
EzySession session = request.getSession();
EzyPluginInfoParams params = request.getParams();
EzyZoneContext zoneCtx = ctx.getZoneContext(user.getZoneId());
EzyPluginContext pluginCtx = zoneCtx.getPluginContext(params.getPluginName());
if (pluginCtx != null) {
EzyPluginSetting setting = pluginCtx.getPlugin().getSetting();
EzyResponse response = newPluginInfoResponse(setting);
ctx.send(response, session, false);
}
}
use of com.tvd12.ezyfoxserver.context.EzyZoneContext in project ezyfox-server by youngmonkeys.
the class EzySimpleUserDelegate method onUserRemoved.
@Override
public void onUserRemoved(EzyUser user, EzyConstant reason) {
EzyZoneContext zoneContext = serverContext.getZoneContext(user.getZoneId());
EzySocketUserRemoval removal = new EzySimpleSocketUserRemoval(zoneContext, user, reason);
userRemovalQueue.add(removal);
}
Aggregations