@Test public void testOSDetection() { assertEquals(UserAgentOS.UNKNOWN, UserAgentOS.getUserAgentOS(null)); assertEquals(UserAgentOS.MAC, UserAgentOS.getUserAgentOS(strs[0])); assertEquals(UserAgentOS.WINDOWS, UserAgentOS.getUserAgentOS(strs[1])); assertEquals(UserAgentOS.WINDOWS, UserAgentOS.getUserAgentOS(strs[2])); assertEquals(UserAgentOS.MAC, UserAgentOS.getUserAgentOS(strs[3])); assertEquals(UserAgentOS.MAC, UserAgentOS.getUserAgentOS(strs[4])); assertEquals(UserAgentOS.WINDOWS, UserAgentOS.getUserAgentOS(strs[5])); assertEquals(UserAgentOS.WINDOWS, UserAgentOS.getUserAgentOS(strs[6])); assertEquals(UserAgentOS.LINUX, UserAgentOS.getUserAgentOS(strs[7])); assertEquals(UserAgentOS.LINUX, UserAgentOS.getUserAgentOS(strs[8])); assertEquals(UserAgentOS.WINDOWS, UserAgentOS.getUserAgentOS(strs[9])); }
public MySession(final Request request) { super(request); setLocale(request); final ClientInfo info = getClientInfo(); if (info instanceof WebClientInfo) { clientProperties = ((WebClientInfo) clientInfo).getProperties(); clientProperties.setTimeZone(ThreadLocalUserContext.getTimeZone()); userAgent = ((WebClientInfo) info).getUserAgent(); userAgentDevice = UserAgentDevice.getUserAgentDevice(userAgent); userAgentOS = UserAgentOS.getUserAgentOS(userAgent); mobileUserAgent = userAgentDevice.isMobile(); final UserAgentDetection userAgentDetection = UserAgentDetection.browserDetect(userAgent); userAgentBrowser = userAgentDetection.getUserAgentBrowser(); userAgentBrowserVersionString = userAgentDetection.getUserAgentBrowserVersion(); } else { log.error("Oups, ClientInfo is not from type WebClientInfo: " + info); } setUserContext(ThreadLocalUserContext.getUserContext()); initActualTenant(); this.csrfToken = NumberHelper.getSecureRandomUrlSaveString(20); }