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