EN · DE · RU · FR · ES

#809: UserAgentDetection.java

projectforge-business/src/main/java/org/projectforge/web/session/UserAgentDetection.java User agent detection service, projectforge-business/src/main/java/org/projectforge/web/session/UserAgentDetection.java 160 lines · 105 code · 35 comments · 20 blank
Server-side browser detection based on the HTTP User-Agent header. Identifies 12 browser types (Chrome, Firefox, Safari, IE, Opera, etc.) and extracts their version numbers using pattern matching.

Architecture

This class provides server-side user agent parsing for browser capability detection in ProjectForge's Wicket web layer. The implementation:

Referenced URI: quirksmode.org — a classic JavaScript browser-detection resource. The detected browser info is used by the Wicket framework to adjust rendering, enable/disable features, or serve different markup for legacy browsers (particularly IE). The detection result is typically stored in the Wicket session for request-scoped access.

Git History

868d6abb7 2025 -> 2026\n63081666f Source file headers: 2024-> 2025.\nb6092df09 Copyright 2023 -> 2024\nab45d51fa Copyright 2001-2022 -> 2001-2023.\n5f7ef41b8 Copyright 2021 -> 2022\nceb63e8a1 Source code header: (C) 2001-2021.\n7c79f1922 Copyright of source header -> 2020.\n73a9755df More code cleanup: Collapsed catch blocks, replaced StringBuffer with StringBuilder, etc.\n000ca723d Remove pointless boolean expressions (business)\ndd5ca38ac CopyRight of all java file-header updated or created.\n9ebb88522 Initial commit