You are viewing a plain text version of this content. The canonical link for it is here.
Posted to adffaces-commits@incubator.apache.org by aw...@apache.org on 2007/03/16 15:52:55 UTC
svn commit: r519018 - in
/incubator/adffaces/trunk/trinidad/trinidad-impl/src/main:
java/org/apache/myfaces/trinidadinternal/agent/AgentFactoryImpl.java
javascript/META-INF/adf/jsLibs/Core.js
Author: awiner
Date: Fri Mar 16 08:52:55 2007
New Revision: 519018
URL: http://svn.apache.org/viewvc?view=rev&rev=519018
Log:
ADFFACES-246: actual Trinidad demo does not work with opera 9.02
- Check in patch from Carsten Hohne
- And fix JS agent detection for Opera per Patrick Huber's suggestion
Modified:
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentFactoryImpl.java
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/Core.js
Modified: incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentFactoryImpl.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentFactoryImpl.java?view=diff&rev=519018&r1=519017&r2=519018
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentFactoryImpl.java (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentFactoryImpl.java Fri Mar 16 08:52:55 2007
@@ -194,6 +194,12 @@
_populateMozillaAgentImpl(userAgent,agent);
return;
}
+
+ if (userAgent.startsWith("Opera"))
+ {
+ _populateOperaAgentImpl(userAgent,agent);
+ return;
+ }
if(userAgent.startsWith("BlackBerry"))
{
@@ -612,6 +618,46 @@
//int start = agent.indexOf("rv:");
//entry._agentVersion = _getVersion(agent, start + 2);
+
+ int paren = agent.indexOf('(');
+
+ if (paren >= 0)
+ {
+ // try to determine the OS
+ if (agent.indexOf("Win", paren) > 0)
+ {
+ agentObj.setPlatform(Agent.PLATFORM_WINDOWS);
+ }
+ else if (agent.indexOf("Mac", paren) > 0)
+ {
+ agentObj.setPlatform(Agent.PLATFORM_MACOS);
+ }
+ else if (agent.indexOf("Linux", paren) > 0)
+ {
+ agentObj.setPlatform(Agent.PLATFORM_LINUX);
+ }
+ else if (agent.indexOf("Sun", paren) > 0)
+ {
+ agentObj.setPlatform(Agent.PLATFORM_SOLARIS);
+ }
+ }
+ }
+
+ /**
+ * Returns an AgentEntry for the Opera browser.
+ */
+
+ private void _populateOperaAgentImpl(String agent,AgentImpl agentObj)
+ {
+ agentObj.setType(Agent.TYPE_DESKTOP);
+ agentObj.setAgent(Agent.AGENT_GECKO);
+
+ int operaIndex = agent.indexOf("Opera/");
+ int firstSpace = agent.indexOf(" ");
+ if (operaIndex >= 0 && firstSpace >=0 )
+ {
+ agentObj.setAgentVersion(agent.substring(operaIndex + 6,firstSpace));
+ }
int paren = agent.indexOf('(');
Modified: incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/Core.js
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/Core.js?view=diff&rev=519018&r1=519017&r2=519018
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/Core.js (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/Core.js Fri Mar 16 08:52:55 2007
@@ -205,7 +205,7 @@
{
retVal = false;
}
- else if (_agent.isGecko || _agent.isSafari)
+ else if (_agent.isGecko || _agent.isSafari || _agent.isOpera)
{
retVal = true;
}
@@ -262,7 +262,7 @@
kind = "ie";
}
}
- else if (agentString.indexOf("opera") != -1)
+ else if (agentString.indexOf("Opera") != -1)
{
isOpera = true;
kind = "opera";