[Yanel-commits] rev 59336 - public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/resources
michi at wyona.com
michi at wyona.com
Tue Jul 12 17:33:11 CEST 2011
Author: michi
Date: 2011-07-12 17:33:11 +0200 (Tue, 12 Jul 2011)
New Revision: 59336
Modified:
public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/resources/BasicXMLResource.java
Log:
get user agent and check whether is mobile device refactored
Modified: public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/resources/BasicXMLResource.java
===================================================================
--- public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/resources/BasicXMLResource.java 2011-07-12 14:07:39 UTC (rev 59335)
+++ public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/resources/BasicXMLResource.java 2011-07-12 15:33:11 UTC (rev 59336)
@@ -440,30 +440,24 @@
transformer.setParameter("yanel.back2realm", backToRealm);
transformer.setParameter("yarep.back2realm", backToRealm); // for backwards compatibility
- // Set OS and client
- javax.servlet.http.HttpServletRequest request = getEnvironment().getRequest();
- String userAgent = request.getHeader("User-Agent");
- if (userAgent == null) {
- log.warn("Header contains no User-Agent!");
- userAgent = "null";
- }
transformer.setParameter("language", getRequestedLanguage());
+
+ // INFO: Set OS and client
+ String userAgent = getUserAgent();
String os = getOS(userAgent);
if (os != null) transformer.setParameter("os", os);
String client = getClient(userAgent);
if (client != null) transformer.setParameter("client", client);
- String mobileDevice = (String) getEnvironment().getRequest().getSession(true).getAttribute("yanel.mobile");
- //TODO: String mobileDevice = (String) getEnvironment().getRequest().getSession(true).getAttribute(org.wyona.yanel.servlet.YanelServlet.MOBILE_KEY);
- if (mobileDevice != null && !mobileDevice.equals("false")) {
- //if (isMobileDevice(userAgent)) {
+ // INFO: Set whether default or mobile device
+ if (isMobileDevice()) {
transformer.setParameter("is-mobile-device", "true");
} else {
transformer.setParameter("is-mobile-device", "false");
}
// Set query string
- String queryString = request.getQueryString();
+ String queryString = getEnvironment().getRequest().getQueryString();
if (queryString != null) {
transformer.setParameter("yanel.request.query-string", queryString);
}
@@ -496,19 +490,16 @@
/**
* Check whether user agent is a mobile device
- * @param userAgent User agent identifier, e.g. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1" or "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3 like Mac OS X; fr-fr) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8F190 Safari/6533.18.5" (also see for example http://deviceatlas.com/node/1826129)
*/
-/*
- private boolean isMobileDevice(String userAgent) {
- //log.debug("Check user agent: " + userAgent);
- if (userAgent.indexOf("iPhone") > 0) {
- log.warn("DEBUG: User agent seems to be an iPhone: " + userAgent);
+ protected boolean isMobileDevice() {
+ String mobileDevice = (String) getEnvironment().getRequest().getSession(true).getAttribute("yanel.mobile");
+ //TODO: String mobileDevice = (String) getEnvironment().getRequest().getSession(true).getAttribute(org.wyona.yanel.servlet.YanelServlet.MOBILE_KEY);
+ if (mobileDevice != null && !mobileDevice.equals("false")) {
return true;
} else {
return false;
}
}
-*/
/**
* Get operating system
@@ -605,4 +596,16 @@
}
return language;
}
+
+ /**
+ * Get user agent
+ */
+ protected String getUserAgent() {
+ String userAgent = getEnvironment().getRequest().getHeader("User-Agent");
+ if (userAgent == null) {
+ log.warn("Header contains no User-Agent!");
+ userAgent = "null";
+ }
+ return userAgent;
+ }
}
More information about the Yanel-commits
mailing list