[Yanel-commits] rev 60380 - public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet
michi at wyona.com
michi at wyona.com
Thu Sep 1 23:38:13 CEST 2011
Author: michi
Date: 2011-09-01 23:38:13 +0200 (Thu, 01 Sep 2011)
New Revision: 60380
Modified:
public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java
Log:
list of mobile devices made configurable. next step would be something like wurlf
Modified: public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java
===================================================================
--- public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java 2011-09-01 21:34:58 UTC (rev 60379)
+++ public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java 2011-09-01 21:38:13 UTC (rev 60380)
@@ -161,6 +161,11 @@
private Scheduler scheduler;
+ private String[] mobileDevices;
+
+ /**
+ * @see javax.servlet.GenericServlet#init(ServletConfig)
+ */
@Override
public void init(ServletConfig config) throws ServletException {
servletContextRealPath = config.getServletContext().getRealPath("/");
@@ -194,6 +199,13 @@
detectMobilePerRequest = new Boolean(config.getInitParameter("detect-mobile-per-request")).booleanValue();
}
+ if (config.getInitParameter("mobile-devices") != null) {
+ mobileDevices = org.springframework.util.StringUtils.tokenizeToStringArray(config.getInitParameter("mobile-devices"), ",", true, true);
+ } else {
+ mobileDevices = new String[]{"iPhone", "Android"};
+ log.error("No mobile devices configured! Please make sure to update your web.xml configuration file accordingly. Fallback to hard-coded list: " + mobileDevices);
+ }
+
if (yanelInstance.isSchedulerEnabled()) {
log.warn("Startup scheduler ...");
scheduler = StdSchedulerFactory.getDefaultScheduler();
@@ -2778,8 +2790,6 @@
//log.debug("User agent screen: " + request.getHeader("UA-Pixels")); // INFO: UA-Pixels, UA-Color, UA-OS, UA-CPU
// TODO: Lower case!
- // TODO: iPhone|iPod|BlackBerry|PalmSource|PalmOS|Nokia|Sony|SonyEricsson|Samsung|SAMSUNG|Android|Symbian
- String[] mobileDevices = {"iPhone", "Android"};
session.setAttribute(YanelServlet.MOBILE_KEY, "false"); // INFO: First assume user agent is not a mobile device...
for (int i = 0; i < mobileDevices.length; i++) {
if (userAgent != null && userAgent.indexOf(mobileDevices[i]) > 0) { // TODO: Use http://wurfl.sourceforge.net/njava/, http://www.cloudfour.com/comparative-speed-of-wurfl-and-device-atlas/, http://www.id.uzh.ch/zinfo/mobileview.html
More information about the Yanel-commits
mailing list