use of com.tvd12.ezyfoxserver.setting.EzyAppSetting in project ezyfox-server-example by tvd12.
the class AppEntry method setupBeanContext.
@Override
protected void setupBeanContext(EzyAppContext context, EzyBeanContextBuilder builder) {
EzyAppSetting setting = context.getApp().getSetting();
String appConfigFile = getConfigFile(setting);
AppConfig appConfig = readAppConfig(appConfigFile);
logger.info("hello-word app config: {}", appConfig);
}
use of com.tvd12.ezyfoxserver.setting.EzyAppSetting in project ezyfox-server by youngmonkeys.
the class EzySimpleServerContextBuilder method newAppContext.
protected EzyAppContext newAppContext(EzyZoneContext parent, EzyAppSetting setting) {
EzySimpleAppUserDelegate userDelegate = new EzySimpleAppUserDelegate();
EzyAppUserManager appUserManager = newAppUserManager(setting, userDelegate);
EzyEventControllers eventControllers = newEventControllers();
EzySimpleApplication app = new EzySimpleApplication();
app.setSetting(setting);
app.setUserManager(appUserManager);
app.setEventControllers(eventControllers);
ScheduledExecutorService appExecutorService = newAppExecutorService(setting);
EzySimpleAppContext appContext = new EzySimpleAppContext();
userDelegate.setAppContext(appContext);
appContext.setApp(app);
appContext.setParent(parent);
appContext.setExecutorService(appExecutorService);
appContext.init();
return appContext;
}
use of com.tvd12.ezyfoxserver.setting.EzyAppSetting in project ezyfox-server by youngmonkeys.
the class EzyAccessAppController method doHandle.
protected void doHandle(EzyServerContext ctx, EzyAccessAppRequest request) {
EzyUser user = request.getUser();
int zoneId = user.getZoneId();
EzyAccessAppParams params = request.getParams();
EzyZoneContext zoneContext = ctx.getZoneContext(zoneId);
EzyAppContext appContext = zoneContext.getAppContext(params.getAppName());
EzyApplication app = appContext.getApp();
EzyAppSetting appSetting = app.getSetting();
EzyAppUserManager appUserManger = app.getUserManager();
EzySession session = request.getSession();
String username = user.getName();
Lock lock = appUserManger.getLock(username);
lock.lock();
try {
boolean hasNotAccessed = !appUserManger.containsUser(user);
if (hasNotAccessed) {
checkAppUserMangerAvailable(appUserManger);
}
EzyUserAccessAppEvent accessAppEvent = new EzySimpleUserAccessAppEvent(user);
appContext.handleEvent(EzyEventType.USER_ACCESS_APP, accessAppEvent);
if (hasNotAccessed) {
addUser(appUserManger, user, appSetting);
EzyUserAccessedAppEvent accessedAppEvent = new EzySimpleUserAccessedAppEvent(user);
appContext.handleEvent(EzyEventType.USER_ACCESSED_APP, accessedAppEvent);
}
EzyArray output = accessAppEvent.getOutput();
EzyResponse accessAppResponse = newAccessAppResponse(appSetting, output);
ctx.send(accessAppResponse, session, false);
} finally {
lock.unlock();
appUserManger.removeLock(username);
}
}
use of com.tvd12.ezyfoxserver.setting.EzyAppSetting in project ezyfox-server by youngmonkeys.
the class EzySimpleAppUserDelegate method newExitedAppResponse.
protected EzyResponse newExitedAppResponse(EzyConstant reason) {
EzyExitedAppParams params = new EzyExitedAppParams();
EzyAppSetting appSetting = appContext.getApp().getSetting();
params.setApp(appSetting);
params.setReason(reason);
return new EzyExitedAppResponse(params);
}
Aggregations