UserAgentDetection.javaUser-Agent header. Identifies 12 browser types (Chrome, Firefox, Safari, IE, Opera, etc.) and extracts their version numbers using pattern matching.This class provides server-side user agent parsing for browser capability detection in ProjectForge's Wicket web layer. The implementation:
UserAgentDetectionBrowser entries, each with an identity string (e.g. "MSIE", "Firefox", "Chrome") and optional versionSearch string for locating the version number in the user agent string."Chrome" and "Safari", so Chrome must be tested first to avoid false Safari identification.'b' (for beta versions like 4.0b4) from the user agent string after the identity marker.browserDetect(String) method iterates through the browser array, returning a UserAgentDetection instance with the matched UserAgentBrowser enum and extracted version string.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.
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