You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by wo...@apache.org on 2009/04/17 20:49:34 UTC

svn commit: r766114 - in /portals/jetspeed-2/portal/trunk: applications/jetspeed/src/main/webapp/WEB-INF/ components/jetspeed-portal/src/main/java/org/apache/jetspeed/velocity/ jetspeed-api/src/main/java/org/apache/jetspeed/layout/

Author: woonsan
Date: Fri Apr 17 18:49:33 2009
New Revision: 766114

URL: http://svn.apache.org/viewvc?rev=766114&view=rev
Log:
JS2-961: Adding dojo configurations for dojo-enabled portlet contents.

Modified:
    portals/jetspeed-2/portal/trunk/applications/jetspeed/src/main/webapp/WEB-INF/jetspeed_macros.vm
    portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/velocity/JetspeedPowerToolImpl.java
    portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/JetspeedPowerTool.java

Modified: portals/jetspeed-2/portal/trunk/applications/jetspeed/src/main/webapp/WEB-INF/jetspeed_macros.vm
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/applications/jetspeed/src/main/webapp/WEB-INF/jetspeed_macros.vm?rev=766114&r1=766113&r2=766114&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/applications/jetspeed/src/main/webapp/WEB-INF/jetspeed_macros.vm (original)
+++ portals/jetspeed-2/portal/trunk/applications/jetspeed/src/main/webapp/WEB-INF/jetspeed_macros.vm Fri Apr 17 18:49:33 2009
@@ -78,6 +78,11 @@
 #macro (includeHeaderResource)
 #acquireHeaderResource()
 $resourceHeader.getContent()
+#if ( $jetspeed.dojoEnabled )
+<script language="javascript">
+$jetspeed.dojoConfigurations
+</script>
+#end
 #set($headElements = $jetspeed.headElements)
 #foreach($kvPair in $headElements)
 #set($headElemHtml = $jetspeed.getElementHtmlString($kvPair.value))
@@ -95,6 +100,16 @@
 #macro (desktopIncludeHeaderContent)
  #acquireHeaderResource()
 $resourceHeader.getContent()
+#if ( $jetspeed.dojoEnabled )
+<script language="javascript">
+$jetspeed.dojoConfigurations
+</script>
+#end
+#set($headElements = $jetspeed.headElements)
+#foreach($kvPair in $headElements)
+#set($headElemHtml = $jetspeed.getElementHtmlString($kvPair.value))
+$headElemHtml
+#end
 #end
 
 #macro (acquireHeaderResource)

Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/velocity/JetspeedPowerToolImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/velocity/JetspeedPowerToolImpl.java?rev=766114&r1=766113&r2=766114&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/velocity/JetspeedPowerToolImpl.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/velocity/JetspeedPowerToolImpl.java Fri Apr 17 18:49:33 2009
@@ -49,6 +49,7 @@
 import org.apache.jetspeed.locator.TemplateLocatorException;
 import org.apache.jetspeed.om.page.ContentFragment;
 import org.apache.jetspeed.om.page.Page;
+import org.apache.jetspeed.portlet.HeaderPhaseSupportConstants;
 import org.apache.jetspeed.request.RequestContext;
 import org.apache.jetspeed.util.ArgUtil;
 import org.apache.jetspeed.util.DOMUtils;
@@ -854,5 +855,43 @@
     {
         return getHeadElements(getCurrentFragment());
     }
+
+    public boolean isDojoEnabled(ContentFragment f)
+    {
+        try
+        {
+            for (KeyValue<String, Element> kvPair : getHeadElements(f))
+            {
+                Element element = kvPair.getValue();
+                
+                if (element.hasAttribute(HeaderPhaseSupportConstants.HEAD_ELEMENT_CONTRIBUTION_MERGE_HINT_ATTRIBUTE) 
+                                && HeaderPhaseSupportConstants.HEAD_ELEMENT_CONTRIBUTION_MERGE_HINT_KEY_DOJO_JS_INCLUDE.equals(element.getAttribute(HeaderPhaseSupportConstants.HEAD_ELEMENT_CONTRIBUTION_MERGE_HINT_ATTRIBUTE)))
+                {
+                    return true;
+                }
+            }
+        }
+        catch (Exception e)
+        {
+            handleError(e, e.toString(), f);
+        }
+        
+        return false;
+    }
+
+    public boolean isDojoEnabled()
+    {
+        return isDojoEnabled(getCurrentFragment());
+    }
     
+    public String getDojoConfigurations()
+    {
+        HttpServletRequest request = getRequestContext().getRequest();
+        StringBuilder sb = new StringBuilder(128);
+        sb.append("var djConfig = {jetspeed: {}};\r\n");
+        sb.append("djConfig.baseScriptUri = \"" + request.getContextPath() + "/javascript/dojo/\";\r\n");
+        sb.append("djConfig.jetspeed.servletPath = \"" + request.getServletPath() + "\";");
+        return sb.toString();
+    }
+
 }

Modified: portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/JetspeedPowerTool.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/JetspeedPowerTool.java?rev=766114&r1=766113&r2=766114&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/JetspeedPowerTool.java (original)
+++ portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/JetspeedPowerTool.java Fri Apr 17 18:49:33 2009
@@ -261,6 +261,26 @@
      * @return
      * @throws Exception
      */
-    List<KeyValue<String, Element>> getHeadElements() throws Exception;;
+    List<KeyValue<String, Element>> getHeadElements() throws Exception;
+    
+    /**
+     * Returns true if any portlet contributes dojo include head element.
+     * @param f
+     * @return
+     */
+    boolean isDojoEnabled(ContentFragment f);
+    
+    /**
+     * Returns true if any portlet contributes dojo include head element.
+     * @param f
+     * @return
+     */
+    boolean isDojoEnabled();
+    
+    /**
+     * Returns dojo configurations script body text
+     * @return
+     */
+    String getDojoConfigurations();
     
 }
\ No newline at end of file



---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org