You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by jw...@apache.org on 2009/04/16 20:13:59 UTC
svn commit: r765711 - in /myfaces/trinidad/trunk:
trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/
trinidad-examples/trinidad-demo/src/main/webapp/WEB-INF/
trinidad-examples/trinidad-demo/src/main/webapp/demos/
trinidad-examples/trinidad...
Author: jwaldman
Date: Thu Apr 16 18:13:58 2009
New Revision: 765711
URL: http://svn.apache.org/viewvc?rev=765711&view=rev
Log:
TRINIDAD-1452 add an agent for email
Added an agent with name email and email capabilities (no javascript, no external css files) when the url has the request parameter "org.apache.myfaces.trinidad.agent.email". Now @agent email works for skinning as well.
Added:
myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/email.xml
Modified:
myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/Agent.java
myfaces/trinidad/trunk/trinidad-examples/trinidad-demo/src/main/webapp/WEB-INF/trinidad-config.xml
myfaces/trinidad/trunk/trinidad-examples/trinidad-demo/src/main/webapp/WEB-INF/web.xml
myfaces/trinidad/trunk/trinidad-examples/trinidad-demo/src/main/webapp/demos/panelPageSkinDemo.jspx
myfaces/trinidad/trunk/trinidad-examples/trinidad-demo/src/main/webapp/skins/purple/purpleSkin.css
myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentFactoryImpl.java
myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentNameUtil.java
myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/TrinidadAgent.java
myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/style/util/NameUtils.java
myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/capabilities.xml
Modified: myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/Agent.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/Agent.java?rev=765711&r1=765710&r2=765711&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/Agent.java (original)
+++ myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/Agent.java Thu Apr 16 18:13:58 2009
@@ -140,6 +140,12 @@
public static final String AGENT_GECKO = "gecko";
/**
+ * Constant for email agent. Used for all email agents like Outlook 2007
+ * and Thunderbird
+ */
+ public static final String AGENT_EMAIL = "email";
+
+ /**
* Constant for Apple Webkit agent. Used for all Webkit based agent like Safari
*/
public static final String AGENT_WEBKIT = "webkit";
Modified: myfaces/trinidad/trunk/trinidad-examples/trinidad-demo/src/main/webapp/WEB-INF/trinidad-config.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-examples/trinidad-demo/src/main/webapp/WEB-INF/trinidad-config.xml?rev=765711&r1=765710&r2=765711&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-examples/trinidad-demo/src/main/webapp/WEB-INF/trinidad-config.xml (original)
+++ myfaces/trinidad/trunk/trinidad-examples/trinidad-demo/src/main/webapp/WEB-INF/trinidad-config.xml Thu Apr 16 18:13:58 2009
@@ -30,8 +30,10 @@
<!-- you can use EL to get the skin. This allows the skin to change between
requests. -->
-
+<!--
<skin-family>#{prefs.proxy.skinFamily}</skin-family>
+ -->
+ <skin-family>purple</skin-family>
<!--
Modified: myfaces/trinidad/trunk/trinidad-examples/trinidad-demo/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-examples/trinidad-demo/src/main/webapp/WEB-INF/web.xml?rev=765711&r1=765710&r2=765711&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-examples/trinidad-demo/src/main/webapp/WEB-INF/web.xml (original)
+++ myfaces/trinidad/trunk/trinidad-examples/trinidad-demo/src/main/webapp/WEB-INF/web.xml Thu Apr 16 18:13:58 2009
@@ -73,12 +73,12 @@
<param-name>org.apache.myfaces.trinidad.USE_APPLICATION_VIEW_CACHE</param-name>
<param-value>false</param-value>
</context-param>
-<!-- Uncomment this if you are debugging skinning and want the styleclasses to not be compressed
+<!-- Uncomment this if you are debugging skinning and want the styleclasses to not be compressed -->
<context-param>
<param-name>org.apache.myfaces.trinidad.DISABLE_CONTENT_COMPRESSION</param-name>
<param-value>true</param-value>
</context-param>
--->
+<!-- -->
<!-- If this parameter is enabled, Trinidad will automatically
check the modification date of your JSPs, and discard saved
Modified: myfaces/trinidad/trunk/trinidad-examples/trinidad-demo/src/main/webapp/demos/panelPageSkinDemo.jspx
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-examples/trinidad-demo/src/main/webapp/demos/panelPageSkinDemo.jspx?rev=765711&r1=765710&r2=765711&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-examples/trinidad-demo/src/main/webapp/demos/panelPageSkinDemo.jspx (original)
+++ myfaces/trinidad/trunk/trinidad-examples/trinidad-demo/src/main/webapp/demos/panelPageSkinDemo.jspx Thu Apr 16 18:13:58 2009
@@ -88,6 +88,9 @@
<tr:selectItem label="suede" value="suede"/>
</tr:selectOneChoice>
<tr:commandButton text="Go"/>
+ <tr:goLink id="goLinkId" text="EmailablePageMode"
+ destination="panelPageSkinDemo.jspx?org.apache.myfaces.trinidad.agent.email=true" />
+ <tr:selectBooleanCheckbox text="true" label="Label (red in purple skin + email mode):" value="true"/>
</tr:panelGroupLayout>
<tr:panelGroupLayout layout="horizontal" styleClass="welcomePanel">
<tr:outputFormatted styleUsage="instruction"
Modified: myfaces/trinidad/trunk/trinidad-examples/trinidad-demo/src/main/webapp/skins/purple/purpleSkin.css
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-examples/trinidad-demo/src/main/webapp/skins/purple/purpleSkin.css?rev=765711&r1=765710&r2=765711&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-examples/trinidad-demo/src/main/webapp/skins/purple/purpleSkin.css (original)
+++ myfaces/trinidad/trunk/trinidad-examples/trinidad-demo/src/main/webapp/skins/purple/purpleSkin.css Thu Apr 16 18:13:58 2009
@@ -906,3 +906,8 @@
-tr-show-lines:false;
}
}
+
+@agent email
+{
+ af|selectBooleanCheckbox::label {color: red}
+}
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentFactoryImpl.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentFactoryImpl.java?rev=765711&r1=765710&r2=765711&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentFactoryImpl.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentFactoryImpl.java Thu Apr 16 18:13:58 2009
@@ -39,7 +39,7 @@
// this method primarily exists for use during testing
AgentImpl agent = new AgentImpl();
- _populateAgentImpl(headerMap,agent);
+ _populateAgentImpl(null, headerMap,agent);
return agent;
}
@@ -61,17 +61,30 @@
//TODO: Add declarative and extensible means for populating AgentImpl object
// the RequestHeaderMap helps populate the agent
- _populateAgentImpl(headerMap, agent);
+ _populateAgentImpl(facesContext, headerMap, agent);
return agent;
}
// The headerMap is the RequestHeaderMap from the externalContext. It is
// consulted to correctly populate the agent
- private void _populateAgentImpl(Map<String, String> headerMap, AgentImpl agent)
+ private void _populateAgentImpl(
+ FacesContext facesContext,
+ Map<String, String> headerMap,
+ AgentImpl agent)
{
-
+
String userAgent = headerMap.get("User-Agent");
+ String isEmail = null;
+ if (facesContext != null)
+ isEmail = facesContext.getExternalContext().getRequestParameterMap().
+ get(_EMAIL_PARAM);
+
+ if ("true".equals(isEmail))
+ {
+ _populateEmailAgentImpl(agent);
+ return;
+ }
if ((userAgent != null) && userAgent.startsWith("PTG"))
{
@@ -854,6 +867,23 @@
}
}
}
+
+ /**
+ * Returns an AgentEntry for the email agents like Outlook 2007 and
+ * Thunderbird
+ */
+ private void _populateEmailAgentImpl(AgentImpl agentObj)
+ {
+
+ agentObj.setType(Agent.TYPE_DESKTOP);
+
+ agentObj.setAgent(Agent.AGENT_EMAIL);
+ agentObj.setAgentVersion("0.0");
+ agentObj.setPlatform(_UNKNOWN);
+ agentObj.setPlatformVersion(_UNKNOWN);
+ agentObj.setMakeModel(_UNKNOWN);
+
+ }
/**
@@ -912,7 +942,8 @@
return null;
}
-
+ static private final String _EMAIL_PARAM =
+ "org.apache.myfaces.trinidad.agent.email";
static final private String _IASW_DEVICE_HINT_PARAM = "X-Oracle-Device.Class";
static final private String _UNKNOWN = "unknown";
static final private TrinidadLogger _LOG = TrinidadLogger.createTrinidadLogger(AgentFactoryImpl.class);
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentNameUtil.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentNameUtil.java?rev=765711&r1=765710&r2=765711&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentNameUtil.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentNameUtil.java Thu Apr 16 18:13:58 2009
@@ -51,6 +51,11 @@
return TrinidadAgent.APPLICATION_GECKO;
}
+ if (TrinidadAgent.AGENT_EMAIL.equals(agentName))
+ {
+ return TrinidadAgent.APPLICATION_EMAIL;
+ }
+
if (TrinidadAgent.AGENT_ELAINE.equals(agentName))
{
return TrinidadAgent.APPLICATION_WEB_CLIPPING;
@@ -216,6 +221,8 @@
return TrinidadAgent.AGENT_GENERICPDA;
case TrinidadAgent.APPLICATION_KONQUEROR:
return TrinidadAgent.AGENT_KONQUEROR;
+ case TrinidadAgent.APPLICATION_EMAIL:
+ return TrinidadAgent.AGENT_EMAIL;
default:
return TrinidadAgent.AGENT_UNKNOWN;
}
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/TrinidadAgent.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/TrinidadAgent.java?rev=765711&r1=765710&r2=765711&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/TrinidadAgent.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/TrinidadAgent.java Thu Apr 16 18:13:58 2009
@@ -336,6 +336,10 @@
static public final int APPLICATION_KONQUEROR = 15;
/**
+ * Application constant for email.
+ */
+ static public final int APPLICATION_EMAIL = 16;
+ /**
* OS constant for an unknown operating system.
*/
static public final int OS_UNKNOWN = 0;
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/style/util/NameUtils.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/style/util/NameUtils.java?rev=765711&r1=765710&r2=765711&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/style/util/NameUtils.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/style/util/NameUtils.java Thu Apr 16 18:13:58 2009
@@ -67,6 +67,8 @@
browser = TrinidadAgent.APPLICATION_NOKIA_S60;
else if (_BROWSER_GENERICPDA.equals(browserName))
browser = TrinidadAgent.APPLICATION_GENERICPDA;
+ else if (_BROWSER_EMAIL.equals(browserName))
+ browser = TrinidadAgent.APPLICATION_EMAIL;
else
{
// Either a new or an invalid browser
@@ -755,6 +757,7 @@
private static final String _BROWSER_GENERICPDA = "genericpda";
+ private static final String _BROWSER_EMAIL = "email";
// Platform constants
private static final String _PLATFORM_WINDOWS = "windows";
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/capabilities.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/capabilities.xml?rev=765711&r1=765710&r2=765711&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/capabilities.xml (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/capabilities.xml Thu Apr 16 18:13:58 2009
@@ -58,6 +58,12 @@
<include refid="html" />
<include src="gecko.xml" />
</capabilities>
+
+
+ <capabilities id="email" agents="email">
+ <include refid="html" />
+ <include src="email.xml" />
+ </capabilities>
<capabilities id="webkit" agents="webkit">
<include refid="html" />
Added: myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/email.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/email.xml?rev=765711&view=auto
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/email.xml (added)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/email.xml Thu Apr 16 18:13:58 2009
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+<capabilityData xmlns="http://myfaces.apache.org/trinidad/agent/capabilities">
+ <capability name="-adfinternal-scriptingSpeed" value="none"/>
+ <capability name="-adfinternal-editing" value="false"/>
+ <capability name="-adfinternal-intrinsicEvents" value="false"/>
+ <capability name="-adfinternal-styleAttributes" value="internal"/>
+ <capability name="-adfinternal-partialRendering" value="false"/>
+</capabilityData>