You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by di...@apache.org on 2001/04/13 20:19:33 UTC
cvs commit: xml-cocoon/src/org/apache/cocoon/transformation TraxTransformer.java
dims 01/04/13 11:19:33
Modified: src/org/apache/cocoon/transformation Tag: xml-cocoon2
TraxTransformer.java
Log:
Updated TraxTransformer to use the new Browser component and
populate the XSLT parameters.
Revision Changes Path
No revision
No revision
1.1.2.16 +42 -1 xml-cocoon/src/org/apache/cocoon/transformation/Attic/TraxTransformer.java
Index: TraxTransformer.java
===================================================================
RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/transformation/Attic/TraxTransformer.java,v
retrieving revision 1.1.2.15
retrieving revision 1.1.2.16
diff -u -r1.1.2.15 -r1.1.2.16
--- TraxTransformer.java 2001/04/13 16:02:27 1.1.2.15
+++ TraxTransformer.java 2001/04/13 18:19:32 1.1.2.16
@@ -13,6 +13,7 @@
import java.util.Enumeration;
import java.util.Map;
import java.util.Hashtable;
+import java.util.HashMap;
import java.text.StringCharacterIterator;
import java.lang.reflect.Method;
@@ -35,6 +36,7 @@
import org.apache.cocoon.Roles;
import org.apache.cocoon.ProcessingException;
import org.apache.cocoon.components.store.Store;
+import org.apache.cocoon.components.browser.Browser;
import org.apache.cocoon.caching.Cacheable;
import org.apache.cocoon.caching.CacheValidity;
import org.apache.cocoon.caching.TimeStampCacheValidity;
@@ -63,7 +65,7 @@
* (Apache Software Foundation, Exoffice Technologies)
* @author <a href="mailto:dims@yahoo.com">Davanum Srinivas</a>
* @author <a href="mailto:cziegeler@apache.org">Carsten Ziegeler</a>
- * @version CVS $Revision: 1.1.2.15 $ $Date: 2001/04/13 16:02:27 $
+ * @version CVS $Revision: 1.1.2.16 $ $Date: 2001/04/13 18:19:32 $
*/
public class TraxTransformer extends ContentHandlerWrapper
implements Transformer, Composer, Recyclable, Configurable, Cacheable, Disposable {
@@ -72,6 +74,9 @@
/** The store service instance */
private Store store = null;
+ /** The Browser service instance */
+ private Browser browser = null;
+
/** The trax TransformerFactory */
private SAXTransformerFactory tfactory = (SAXTransformerFactory) TransformerFactory.newInstance();
@@ -161,6 +166,7 @@
this.manager = manager;
log.debug("Looking up " + Roles.STORE);
this.store = (Store) manager.lookup(Roles.STORE);
+ this.browser = (Browser) manager.lookup(Roles.BROWSER);
} catch (Exception e) {
log.error("Could not find component", e);
}
@@ -267,6 +273,39 @@
}
}
+ try
+ {
+ /* Get the accept header; it's needed to get the browser type. */
+ String accept = request.getParameter("accept");
+ if (accept == null)
+ accept = request.getHeader("accept");
+
+ /* Get the user agent; it's needed to get the browser type. */
+ String agent = request.getParameter("user-Agent");
+ if (agent == null)
+ agent = request.getHeader("user-Agent");
+
+ /* add the accept param */
+ transformerHandler.getTransformer().setParameter("accept", accept);
+
+ /* add the user agent param */
+ transformerHandler.getTransformer().setParameter("user-agent", java.net.URLEncoder.encode(agent));
+
+ /* add the map param */
+ HashMap map = browser.getBrowser(agent, accept);
+ transformerHandler.getTransformer().setParameter("browser",map);
+
+ /* add the media param */
+ String browserMedia = browser.getMedia(map);
+ transformerHandler.getTransformer().setParameter("browser-media",map);
+
+ /* add the uaCapabilities param */
+ org.w3c.dom.Document uaCapabilities = browser.getUACapabilities(map);
+ transformerHandler.getTransformer().setParameter("ua-capabilities", uaCapabilities);
+ } catch (Exception e) {
+ getLogger().error("Error setting Browser info", e);
+ }
+
super.setContentHandler(transformerHandler);
if(transformerHandler instanceof Loggable) {
((Loggable)transformerHandler).setLogger(this.log);
@@ -328,6 +367,8 @@
{
if(this.store != null)
this.manager.release((Component)this.store);
+ if(this.browser != null)
+ this.manager.release((Component)this.browser);
}
public void recycle()
----------------------------------------------------------------------
In case of troubles, e-mail: webmaster@xml.apache.org
To unsubscribe, e-mail: cocoon-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: cocoon-cvs-help@xml.apache.org
Re: cvs commit: xml-cocoon/src/org/apache/cocoon/transformation
TraxTransformer.java
Posted by giacomo <gi...@apache.org>.
On 13 Apr 2001 dims@apache.org wrote:
> dims 01/04/13 11:19:33
>
> Modified: src/org/apache/cocoon/transformation Tag: xml-cocoon2
> TraxTransformer.java
> Log:
> Updated TraxTransformer to use the new Browser component and
> populate the XSLT parameters.
Have you taken cachability into account?
Giacomo
---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org