001    /*
002     *  Copyright 2007 tacos.
003     * 
004     *  Licensed under the Apache License, Version 2.0 (the "License");
005     *  you may not use this file except in compliance with the License.
006     *  You may obtain a copy of the License at
007     * 
008     *       http://www.apache.org/licenses/LICENSE-2.0
009     * 
010     *  Unless required by applicable law or agreed to in writing, software
011     *  distributed under the License is distributed on an "AS IS" BASIS,
012     *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013     *  See the License for the specific language governing permissions and
014     *  limitations under the License.
015     *  under the License.
016     */
017    
018    package net.sf.tacos.javascript.dojo;
019    
020    import org.apache.tapestry.IAsset;
021    import org.apache.tapestry.IRequestCycle;
022    import org.apache.tapestry.javascript.JavascriptManager;
023    import org.apache.tapestry.javascript.SimpleAjaxShellDelegate;
024    
025    /**
026     * Adds several dojo related settings 
027     * and registers tapestry's module path.
028     * 
029     * @author Andreas Andreou
030     */
031    public class DojoOneShellDelegate extends SimpleAjaxShellDelegate {
032    
033        public DojoOneShellDelegate(JavascriptManager javascriptManager) {
034            super(javascriptManager);
035        }
036        
037        protected void processTapestryPath(StringBuffer str, IRequestCycle cycle, IAsset path) {
038            String tapestryUrl = cycle.getAbsoluteURL(path.buildURL());
039            String NEWLINE = "\n";
040            str.append(NEWLINE).append("<script type=\"text/javascript\">").append(NEWLINE)
041              .append("dojo.registerModulePath(\"tapestry\", \"")
042              .append(tapestryUrl).append("\");").append(NEWLINE);
043            str.append("</script>").append(NEWLINE);        
044        }
045        
046        
047    
048    }