You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by sv...@apache.org on 2016/11/24 15:37:02 UTC

wicket git commit: WICKET-6056 make it easier to gather more properties

Repository: wicket
Updated Branches:
  refs/heads/WICKET-6056-client-properties [created] d6235ba55


WICKET-6056 make it easier to gather more properties


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/d6235ba5
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/d6235ba5
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/d6235ba5

Branch: refs/heads/WICKET-6056-client-properties
Commit: d6235ba555657b44af58fd3bb2a5da67ca5b931f
Parents: ce66c24
Author: Sven Meier <sv...@apache.org>
Authored: Thu Nov 24 16:32:22 2016 +0100
Committer: Sven Meier <sv...@apache.org>
Committed: Thu Nov 24 16:36:02 2016 +0100

----------------------------------------------------------------------
 .../wicket/ajax/AjaxClientInfoBehavior.java     | 36 +---------------
 .../markup/html/pages/BrowserInfoForm.html      | 16 -------
 .../markup/html/pages/BrowserInfoForm.java      | 43 ++-----------------
 .../markup/html/pages/wicket-browser-info.js    |  6 ++-
 .../wicket/protocol/http/ClientProperties.java  | 45 +++++++++++++++++++-
 5 files changed, 54 insertions(+), 92 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/d6235ba5/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java b/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java
index 164c551..ca39644 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java
@@ -67,45 +67,13 @@ public class AjaxClientInfoBehavior extends AbstractAjaxTimerBehavior
 
 		RequestCycle requestCycle = RequestCycle.get();
 		IRequestParameters requestParameters = requestCycle.getRequest().getRequestParameters();
-		String navigatorAppName = requestParameters.getParameterValue("navigatorAppName").toString("N/A");
-		String navigatorAppVersion = requestParameters.getParameterValue("navigatorAppVersion").toString("N/A");
-		String navigatorAppCodeName = requestParameters.getParameterValue("navigatorAppCodeName").toString("N/A");
-		boolean navigatorCookieEnabled = requestParameters.getParameterValue("navigatorCookieEnabled").toBoolean(false);
-		Boolean navigatorJavaEnabled = requestParameters.getParameterValue("navigatorJavaEnabled").toBoolean(false);
-		String navigatorLanguage = requestParameters.getParameterValue("navigatorLanguage").toString("N/A");
-		String navigatorPlatform = requestParameters.getParameterValue("navigatorPlatform").toString("N/A");
-		String navigatorUserAgent = requestParameters.getParameterValue("navigatorUserAgent").toString("N/A");
-		int screenWidth = requestParameters.getParameterValue("screenWidth").toInt(-1);
-		int screenHeight = requestParameters.getParameterValue("screenHeight").toInt(-1);
-		int screenColorDepth = requestParameters.getParameterValue("screenColorDepth").toInt(-1);
-		String utcOffset = requestParameters.getParameterValue("utcOffset").toString("N/A");
-		String utcDSTOffset = requestParameters.getParameterValue("utcDSTOffset").toString("N/A");
-		int browserWidth = requestParameters.getParameterValue("browserWidth").toInt(-1);
-		int browserHeight = requestParameters.getParameterValue("browserHeight").toInt(-1);
-		String hostname = requestParameters.getParameterValue("hostname").toString("N/A");
 
 		WebClientInfo clientInfo = new WebClientInfo(requestCycle);
 		Session.get().setClientInfo(clientInfo);
 
 		ClientProperties properties = clientInfo.getProperties();
-		properties.setJavaScriptEnabled(true);
-
-		properties.setNavigatorAppCodeName(navigatorAppCodeName);
-		properties.setNavigatorAppName(navigatorAppName);
-		properties.setNavigatorAppVersion(navigatorAppVersion);
-		properties.setNavigatorCookieEnabled(navigatorCookieEnabled);
-		properties.setNavigatorJavaEnabled(navigatorJavaEnabled);
-		properties.setNavigatorLanguage(navigatorLanguage);
-		properties.setNavigatorPlatform(navigatorPlatform);
-		properties.setNavigatorUserAgent(navigatorUserAgent);
-		properties.setScreenWidth(screenWidth);
-		properties.setScreenHeight(screenHeight);
-		properties.setScreenColorDepth(screenColorDepth);
-		properties.setUtcOffset(utcOffset);
-		properties.setUtcDSTOffset(utcDSTOffset);
-		properties.setBrowserWidth(browserWidth);
-		properties.setBrowserHeight(browserHeight);
-		properties.setHostname(hostname);
+
+		properties.read(requestParameters);
 
 		onClientInfo(target, clientInfo);
 	}

http://git-wip-us.apache.org/repos/asf/wicket/blob/d6235ba5/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoForm.html
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoForm.html b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoForm.html
index 5676493..add368f 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoForm.html
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoForm.html
@@ -19,22 +19,6 @@
 <html xmlns:wicket="http://wicket.apache.org">
 	<wicket:panel>
 		<form name="postback" wicket:id="postback" style="position:absolute; left: -10000px;">
-			<input type="text" wicket:id="navigatorAppName" value="test" />
-			<input type="text" wicket:id="navigatorAppVersion" value="test" />
-			<input type="text" wicket:id="navigatorAppCodeName" />
-			<input type="text" wicket:id="navigatorCookieEnabled" />
-			<input type="text" wicket:id="navigatorJavaEnabled" />
-			<input type="text" wicket:id="navigatorLanguage" />
-			<input type="text" wicket:id="navigatorPlatform" />
-			<input type="text" wicket:id="navigatorUserAgent" />
-			<input type="text" wicket:id="screenWidth" />
-			<input type="text" wicket:id="screenHeight" />
-			<input type="text" wicket:id="screenColorDepth" />
-			<input type="text" wicket:id="utcOffset" />
-			<input type="text" wicket:id="utcDSTOffset" />
-			<input type="text" wicket:id="browserWidth" />
-			<input type="text" wicket:id="browserHeight" />
-			<input type="text" wicket:id="hostname" />
 		</form>
 	</wicket:panel>
 </html>

http://git-wip-us.apache.org/repos/asf/wicket/blob/d6235ba5/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoForm.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoForm.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoForm.java
index 8164c1b..5a659e9 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoForm.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoForm.java
@@ -16,12 +16,9 @@
  */
 package org.apache.wicket.markup.html.pages;
 
-import java.util.Locale;
-
 import org.apache.wicket.markup.head.IHeaderResponse;
 import org.apache.wicket.markup.head.JavaScriptHeaderItem;
 import org.apache.wicket.markup.html.form.Form;
-import org.apache.wicket.markup.html.form.TextField;
 import org.apache.wicket.markup.html.panel.GenericPanel;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.IModel;
@@ -75,25 +72,11 @@ public class BrowserInfoForm extends GenericPanel<ClientProperties>
 			@Override
 			protected void onSubmit()
 			{
+				getModelObject().read(getRequest().getPostParameters());
+
 				afterSubmit();
 			}
 		};
-		form.add(new ReadOnlyTextField<String>("navigatorAppName"));
-		form.add(new ReadOnlyTextField<String>("navigatorAppVersion"));
-		form.add(new ReadOnlyTextField<String>("navigatorAppCodeName"));
-		form.add(new ReadOnlyTextField<Boolean>("navigatorCookieEnabled"));
-		form.add(new ReadOnlyTextField<Boolean>("navigatorJavaEnabled"));
-		form.add(new ReadOnlyTextField<String>("navigatorLanguage"));
-		form.add(new ReadOnlyTextField<String>("navigatorPlatform"));
-		form.add(new ReadOnlyTextField<String>("navigatorUserAgent"));
-		form.add(new ReadOnlyTextField<String>("screenWidth"));
-		form.add(new ReadOnlyTextField<String>("screenHeight"));
-		form.add(new ReadOnlyTextField<String>("screenColorDepth"));
-		form.add(new ReadOnlyTextField<String>("utcOffset"));
-		form.add(new ReadOnlyTextField<String>("utcDSTOffset"));
-		form.add(new ReadOnlyTextField<String>("browserWidth"));
-		form.add(new ReadOnlyTextField<String>("browserHeight"));
-		form.add(new ReadOnlyTextField<String>("hostname"));
 		return form;
 	}
 
@@ -116,24 +99,4 @@ public class BrowserInfoForm extends GenericPanel<ClientProperties>
 	{
 		return form.getMarkupId();
 	}
-	
-	private static final class ReadOnlyTextField<T> extends TextField<T> {
-
-		public ReadOnlyTextField(String id)
-		{
-			super(id);
-		}
-
-		@Override
-		protected String getModelValue()
-		{
-			return "";
-		}
-		
-		@Override
-		public Locale getLocale()
-		{
-			return Locale.ENGLISH;
-		}
-	}
-}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/wicket/blob/d6235ba5/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/wicket-browser-info.js
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/wicket-browser-info.js b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/wicket-browser-info.js
index 0d524af..5832fa0 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/wicket-browser-info.js
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/wicket-browser-info.js
@@ -77,7 +77,11 @@
 				var info = Wicket.BrowserInfo.collect();
 				var i;
 				for (i in info) {
-					postbackForm[i].value = info[i];
+					var input = document.createElement('input');
+					input.type = 'text';
+					input.name = i;
+					input.value = info[i];
+					postbackForm.appendChild(input);
 				}
 
 				return postbackForm;

http://git-wip-us.apache.org/repos/asf/wicket/blob/d6235ba5/wicket-core/src/main/java/org/apache/wicket/protocol/http/ClientProperties.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/ClientProperties.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/ClientProperties.java
index b566708..3d5b54a 100644
--- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/ClientProperties.java
+++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/ClientProperties.java
@@ -23,6 +23,7 @@ import java.util.TimeZone;
 import javax.servlet.http.Cookie;
 
 import org.apache.wicket.markup.html.pages.BrowserInfoPage;
+import org.apache.wicket.request.IRequestParameters;
 import org.apache.wicket.request.cycle.RequestCycle;
 import org.apache.wicket.request.http.WebRequest;
 import org.apache.wicket.util.io.IClusterable;
@@ -777,4 +778,46 @@ public class ClientProperties implements IClusterable
 		return b.toString();
 	}
 
-}
+	/**
+	 * Read parameters.
+	 * 
+	 * @param parameters
+	 *            parameters sent from browser
+	 */
+	public void read(IRequestParameters parameters)
+	{
+		String navigatorAppName = parameters.getParameterValue("navigatorAppName").toString("N/A");
+		String navigatorAppVersion = parameters.getParameterValue("navigatorAppVersion").toString("N/A");
+		String navigatorAppCodeName = parameters.getParameterValue("navigatorAppCodeName").toString("N/A");
+		boolean navigatorCookieEnabled = parameters.getParameterValue("navigatorCookieEnabled").toBoolean(false);
+		Boolean navigatorJavaEnabled = parameters.getParameterValue("navigatorJavaEnabled").toBoolean(false);
+		String navigatorLanguage = parameters.getParameterValue("navigatorLanguage").toString("N/A");
+		String navigatorPlatform = parameters.getParameterValue("navigatorPlatform").toString("N/A");
+		String navigatorUserAgent = parameters.getParameterValue("navigatorUserAgent").toString("N/A");
+		int screenWidth = parameters.getParameterValue("screenWidth").toInt(-1);
+		int screenHeight = parameters.getParameterValue("screenHeight").toInt(-1);
+		int screenColorDepth = parameters.getParameterValue("screenColorDepth").toInt(-1);
+		String utcOffset = parameters.getParameterValue("utcOffset").toString(null);
+		String utcDSTOffset = parameters.getParameterValue("utcDSTOffset").toString(null);
+		int browserWidth = parameters.getParameterValue("browserWidth").toInt(-1);
+		int browserHeight = parameters.getParameterValue("browserHeight").toInt(-1);
+		String hostname = parameters.getParameterValue("hostname").toString("N/A");
+
+		setNavigatorAppCodeName(navigatorAppCodeName);
+		setNavigatorAppName(navigatorAppName);
+		setNavigatorAppVersion(navigatorAppVersion);
+		setNavigatorCookieEnabled(navigatorCookieEnabled);
+		setNavigatorJavaEnabled(navigatorJavaEnabled);
+		setNavigatorLanguage(navigatorLanguage);
+		setNavigatorPlatform(navigatorPlatform);
+		setNavigatorUserAgent(navigatorUserAgent);
+		setScreenWidth(screenWidth);
+		setScreenHeight(screenHeight);
+		setScreenColorDepth(screenColorDepth);
+		setUtcOffset(utcOffset);
+		setUtcDSTOffset(utcDSTOffset);
+		setBrowserWidth(browserWidth);
+		setBrowserHeight(browserHeight);
+		setHostname(hostname);
+	}
+}
\ No newline at end of file