stefano 2003/02/22 05:50:54
Modified: src/java/org/apache/cocoon/transformation TraxTransformer.java Log: removed dependencies on deli (the new DeliTransformer will extend this one and provide Deli functionality) this is done to allow block decoupling Revision Changes Path 1.43 +2 -125 xml-cocoon2/src/java/org/apache/cocoon/transformation/TraxTransformer.java Index: TraxTransformer.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/transformation/TraxTransformer.java,v retrieving revision 1.42 retrieving revision 1.43 diff -u -r1.42 -r1.43 --- TraxTransformer.java 31 Jan 2003 22:51:57 -0000 1.42 +++ TraxTransformer.java 22 Feb 2003 13:50:54 -0000 1.43 @@ -46,8 +46,8 @@ on behalf of the Apache Software Foundation and was originally created by Stefano Mazzocchi <[EMAIL PROTECTED]>. For more information on the Apache Software Foundation, please see <http://www.apache.org/>. - */ + package org.apache.cocoon.transformation; import org.apache.excalibur.xml.xslt.XSLTProcessor; @@ -63,8 +63,6 @@ import org.apache.avalon.framework.parameters.Parameters; import org.apache.cocoon.ProcessingException; import org.apache.cocoon.caching.CacheableProcessingComponent; -import org.apache.cocoon.components.browser.Browser; -import org.apache.cocoon.components.deli.Deli; import org.apache.cocoon.components.source.SourceUtil; import org.apache.cocoon.environment.Cookie; import org.apache.cocoon.environment.ObjectModelHelper; @@ -107,12 +105,6 @@ * concerning cachability of the generated output of this transformer.<br> * This property is false by default. * <p> - * The <use-browser-capabilities-db> configuration forces the transformer to make all - * properties from the browser capability database available in the XSLT stylesheetas. - * Note that this might have issues concerning cachability of the generated output of this - * transformer.<br> - * This property is false by default. - * <p> * The <use-cookies> configuration forces the transformer to make all * cookies from the request available in the XSLT stylesheetas. * Note that this might have issues concerning cachability of the generated output of this @@ -125,14 +117,6 @@ * session-id-from-cookie, session-id-from-url, session-valid, session-id.<br> * This property is false by default. * - * <p> The <use-deli> makes the DELI information available. - * If DELI component is configured in the cocoon.xconf, transformer will - * make all the properties from the CC/PP profile resolved from - * the request available in the XSLT stylesheets. CC/PP support is - * provided via the DELI library. If the request does not provide - * CC/PP information, then CC/PP information can added via the DELI - * legacy device database. - * * <p>Note that these properties might introduces issues concerning * cacheability of the generated output of this transformer.<br> * @@ -167,24 +151,10 @@ public class TraxTransformer extends AbstractTransformer implements Transformer, Composable, Configurable, CacheableProcessingComponent, Disposable { - /** The Browser service instance */ - private Browser browser = null; - - /** The DELI service instance */ - private Deli deli = null; - - /** Should we make the DELI CC/PP profile available to the stylesheet (default is off) */ - private boolean useDeli = false; - private boolean _useDeli = false; - /** Should we make the request parameters available in the stylesheet? (default is off) */ private boolean useParameters = false; private boolean _useParameters = false; - /** Should we make the browser capability properties available in the stylesheet? (default is off) */ - private boolean useBrowserCap = false; - private boolean _useBrowserCap = false; - /** Should we make the cookies availalbe in the stylesheet? (default is off) */ private boolean useCookies = false; private boolean _useCookies = false; @@ -237,18 +207,10 @@ this.useCookies = child.getValueAsBoolean(false); this._useCookies = this.useCookies; - child = conf.getChild("use-browser-capabilities-db"); - this.useBrowserCap = child.getValueAsBoolean(false); - this._useBrowserCap = this.useBrowserCap; - child = conf.getChild("use-session-info"); this.useSessionInfo = child.getValueAsBoolean(false); this._useSessionInfo = this.useSessionInfo; - child = conf.getChild("use-deli"); - this.useDeli = child.getValueAsBoolean(false); - this._useDeli = this.useDeli; - child = conf.getChild("transformer-factory"); // traxFactory is null, if transformer-factory config is unspecified @@ -257,9 +219,7 @@ if (this.getLogger().isDebugEnabled()) { this.getLogger().debug("Use parameters is " + this.useParameters + " for " + this); this.getLogger().debug("Use cookies is " + this.useCookies + " for " + this); - this.getLogger().debug("Use browser capabilities is " + this.useBrowserCap + " for " + this); this.getLogger().debug("Use session info is " + this.useSessionInfo + " for " + this); - this.getLogger().debug("Use DELI is " + this.useDeli + " for " + this); if (this.traxFactory != null) { this.getLogger().debug("Use TrAX Transformer Factory " + this.traxFactory); @@ -286,22 +246,6 @@ */ public void compose(ComponentManager manager) throws ComponentException { this.manager = manager; - - if (this.getLogger().isDebugEnabled()) { - getLogger().debug("Looking up " + Browser.ROLE); - } - this.browser = (Browser) manager.lookup(Browser.ROLE); - - if (this.manager.hasComponent(Deli.ROLE)) { - if (this.getLogger().isDebugEnabled()) { - getLogger().debug("Looking up " + Deli.ROLE); - } - this.deli = (Deli) this.manager.lookup(Deli.ROLE); - } else { - if (this.getLogger().isDebugEnabled()) { - getLogger().debug("Deli is not available"); - } - } } /** @@ -325,10 +269,8 @@ throw SourceUtil.handle("Unable to resolve " + src, se); } _useParameters = par.getParameterAsBoolean("use-request-parameters", this.useParameters); - _useBrowserCap = par.getParameterAsBoolean("use-browser-capabilities-db", this.useBrowserCap); _useCookies = par.getParameterAsBoolean("use-cookies", this.useCookies); _useSessionInfo = par.getParameterAsBoolean("use-session-info", this.useSessionInfo); - _useDeli = par.getParameterAsBoolean("use-deli", this.useDeli); if (this.getLogger().isDebugEnabled()) { this.getLogger().debug("Using stylesheet: '" + this.inputSource.getURI() + "' in " + this); @@ -436,7 +378,6 @@ } if (this._useParameters) { - /** The Request object */ Request request = ObjectModelHelper.getRequest(objectModel); Enumeration parameters = request.getParameterNames(); @@ -455,7 +396,6 @@ } if (this._useSessionInfo) { - /** The Request object */ Request request = ObjectModelHelper.getRequest(objectModel); if (map == null) map = new HashMap(5); @@ -489,69 +429,10 @@ } } - if (this._useBrowserCap) try { - Request request = ObjectModelHelper.getRequest(objectModel); - if (map == null) { - map = new HashMap(); - } - - /* 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 */ - map.put("accept", accept); - - /* add the user agent param */ - map.put("user-agent", java.net.URLEncoder.encode(agent)); - - /* add the map param */ - HashMap agmap = browser.getBrowser(agent, accept); - map.put("browser", agmap); - - /* add the media param */ - String browserMedia = browser.getMedia(agmap); - map.put("browser-media", browserMedia); - - /* add the uaCapabilities param */ - org.w3c.dom.Document uaCapabilities = browser.getUACapabilities(agmap); - map.put("ua-capabilities", uaCapabilities); - } catch (Exception e) { - getLogger().error("Error setting Browser info", e); - } - - if (this.deli != null && this._useDeli) { - try { - Request request = ObjectModelHelper.getRequest(objectModel); - if (map == null) { - map = new HashMap(); - } - - org.w3c.dom.Document deliCapabilities = this.deli.getUACapabilities(request); - map.put("deli-capabilities", deliCapabilities); - - String accept = request.getParameter("accept"); - if (accept == null) - accept = request.getHeader("accept"); - - /* add the accept param */ - map.put("accept", accept); - } catch (Exception e) { - getLogger().error("Error setting DELI info", e); - } - } this.logicSheetParameters = map; return map; } - // FIXME (SM): this method may be a hotspot for requests with many - // parameters we should try to optimize it further static boolean isValidXSLTParameterName(String name) { if (name.length() == 0) { return false; @@ -579,12 +460,8 @@ * Disposable */ public void dispose() { - this.manager.release(this.browser); this.manager.release(this.xsltProcessor); - this.manager.release(this.deli); - this.browser = null; this.xsltProcessor = null; - this.deli = null; this.manager = null; }