Search in sources :

Example 1 with EzyAccessAppParams

use of com.tvd12.ezyfoxserver.request.EzyAccessAppParams in project ezyfox-server by youngmonkeys.

the class EzyAccessAppResponseTest method test.

@Test
public void test() {
    EzySimpleAppSetting setting = new EzySimpleAppSetting();
    EzyAccessAppParams params = new EzyAccessAppParams();
    EzyData data = EzyEntityFactory.EMPTY_ARRAY;
    params.setData(data);
    params.setApp(setting);
    assert params.getApp() == setting;
    assert params.getData() == data;
    EzyAccessAppResponse response = new EzyAccessAppResponse(params);
    assert response.getParams() == params;
    assert response.getCommand() == EzyCommand.APP_ACCESS;
    assert response.serialize().size() > 0;
    response.release();
}
Also used : EzySimpleAppSetting(com.tvd12.ezyfoxserver.setting.EzySimpleAppSetting) EzyAccessAppResponse(com.tvd12.ezyfoxserver.response.EzyAccessAppResponse) EzyAccessAppParams(com.tvd12.ezyfoxserver.response.EzyAccessAppParams) EzyData(com.tvd12.ezyfox.entity.EzyData) BaseTest(com.tvd12.test.base.BaseTest) Test(org.testng.annotations.Test)

Example 2 with EzyAccessAppParams

use of com.tvd12.ezyfoxserver.request.EzyAccessAppParams 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);
    }
}
Also used : EzyUser(com.tvd12.ezyfoxserver.entity.EzyUser) EzyAccessAppParams(com.tvd12.ezyfoxserver.request.EzyAccessAppParams) EzyZoneContext(com.tvd12.ezyfoxserver.context.EzyZoneContext) EzyAppContext(com.tvd12.ezyfoxserver.context.EzyAppContext) EzySimpleUserAccessedAppEvent(com.tvd12.ezyfoxserver.event.EzySimpleUserAccessedAppEvent) EzyResponse(com.tvd12.ezyfoxserver.response.EzyResponse) EzySession(com.tvd12.ezyfoxserver.entity.EzySession) Lock(java.util.concurrent.locks.Lock) EzyAppSetting(com.tvd12.ezyfoxserver.setting.EzyAppSetting) EzyApplication(com.tvd12.ezyfoxserver.EzyApplication) EzyAppUserManager(com.tvd12.ezyfoxserver.wrapper.EzyAppUserManager) EzyUserAccessedAppEvent(com.tvd12.ezyfoxserver.event.EzyUserAccessedAppEvent) EzyArray(com.tvd12.ezyfox.entity.EzyArray) EzyUserAccessAppEvent(com.tvd12.ezyfoxserver.event.EzyUserAccessAppEvent) EzySimpleUserAccessAppEvent(com.tvd12.ezyfoxserver.event.EzySimpleUserAccessAppEvent)

Aggregations

EzyArray (com.tvd12.ezyfox.entity.EzyArray)1 EzyData (com.tvd12.ezyfox.entity.EzyData)1 EzyApplication (com.tvd12.ezyfoxserver.EzyApplication)1 EzyAppContext (com.tvd12.ezyfoxserver.context.EzyAppContext)1 EzyZoneContext (com.tvd12.ezyfoxserver.context.EzyZoneContext)1 EzySession (com.tvd12.ezyfoxserver.entity.EzySession)1 EzyUser (com.tvd12.ezyfoxserver.entity.EzyUser)1 EzySimpleUserAccessAppEvent (com.tvd12.ezyfoxserver.event.EzySimpleUserAccessAppEvent)1 EzySimpleUserAccessedAppEvent (com.tvd12.ezyfoxserver.event.EzySimpleUserAccessedAppEvent)1 EzyUserAccessAppEvent (com.tvd12.ezyfoxserver.event.EzyUserAccessAppEvent)1 EzyUserAccessedAppEvent (com.tvd12.ezyfoxserver.event.EzyUserAccessedAppEvent)1 EzyAccessAppParams (com.tvd12.ezyfoxserver.request.EzyAccessAppParams)1 EzyAccessAppParams (com.tvd12.ezyfoxserver.response.EzyAccessAppParams)1 EzyAccessAppResponse (com.tvd12.ezyfoxserver.response.EzyAccessAppResponse)1 EzyResponse (com.tvd12.ezyfoxserver.response.EzyResponse)1 EzyAppSetting (com.tvd12.ezyfoxserver.setting.EzyAppSetting)1 EzySimpleAppSetting (com.tvd12.ezyfoxserver.setting.EzySimpleAppSetting)1 EzyAppUserManager (com.tvd12.ezyfoxserver.wrapper.EzyAppUserManager)1 BaseTest (com.tvd12.test.base.BaseTest)1 Lock (java.util.concurrent.locks.Lock)1