diff --git a/src/main/java/edu/umd/dawn/common/services/UserAgentService.java b/src/main/java/edu/umd/dawn/common/services/UserAgentService.java index f0984087208d8f9d3c4b381568e85d341fecc6ec..65c950f4b56146ad96c17ca351b9ab5aa3911820 100644 --- a/src/main/java/edu/umd/dawn/common/services/UserAgentService.java +++ b/src/main/java/edu/umd/dawn/common/services/UserAgentService.java @@ -7,6 +7,9 @@ import nl.basjes.parse.useragent.UserAgent; import nl.basjes.parse.useragent.UserAgentAnalyzer; import static nl.basjes.parse.useragent.classify.DeviceClass.TABLET; + +import java.util.Map; + import static nl.basjes.parse.useragent.classify.DeviceClass.PHONE;; @Service @@ -31,12 +34,16 @@ public class UserAgentService { return builder; } - public edu.umd.dawn.common.models.UserAgent parse(String userAgenString) { - UserAgent ua = uaa.parse(userAgenString); + public edu.umd.dawn.common.models.UserAgent parse(Map<String, String> headers) { + UserAgent ua = uaa.parse(headers); UserAgentBuilder builder = edu.umd.dawn.common.models.UserAgent.builder(); builder = setDeviceType(ua, builder); builder.device(ua.get(UserAgent.DEVICE_NAME).getValue()); + builder.os(ua.get(UserAgent.OPERATING_SYSTEM_NAME).getValue()); + builder.osVersion(ua.get(UserAgent.OPERATING_SYSTEM_VERSION).getValue()); + builder.name(ua.get(UserAgent.AGENT_NAME).getValue()); + builder.version(ua.get(UserAgent.AGENT_VERSION).getValue()); return builder.build();