[gatein-commits] gatein SVN: r1528 - in portal/branches/3.0.0-Beta05-CP: web/eXoResources/src/main/webapp/WEB-INF and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Thu Feb 4 01:46:53 EST 2010


Author: trong.tran
Date: 2010-02-04 01:46:53 -0500 (Thu, 04 Feb 2010)
New Revision: 1528

Modified:
   portal/branches/3.0.0-Beta05-CP/component/web/src/main/java/org/exoplatform/web/application/javascript/JavascriptConfigService.java
   portal/branches/3.0.0-Beta05-CP/component/web/src/main/java/org/exoplatform/web/application/javascript/JavascriptTask.java
   portal/branches/3.0.0-Beta05-CP/web/eXoResources/src/main/webapp/WEB-INF/gatein-resources.xml
Log:
GTNPORTAL-541: Refactor ordering Javascript

Modified: portal/branches/3.0.0-Beta05-CP/component/web/src/main/java/org/exoplatform/web/application/javascript/JavascriptConfigService.java
===================================================================
--- portal/branches/3.0.0-Beta05-CP/component/web/src/main/java/org/exoplatform/web/application/javascript/JavascriptConfigService.java	2010-02-04 06:36:37 UTC (rev 1527)
+++ portal/branches/3.0.0-Beta05-CP/component/web/src/main/java/org/exoplatform/web/application/javascript/JavascriptConfigService.java	2010-02-04 06:46:53 UTC (rev 1528)
@@ -30,9 +30,13 @@
 import java.io.InputStreamReader;
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.AbstractMap.SimpleEntry;
+import java.util.Map.Entry;
 
 import javax.servlet.ServletContext;
 
@@ -43,6 +47,8 @@
 
    private Collection<String> availableScriptsPaths_;
 
+   private List<Entry<JavascriptKey, ServletContext>> availableScriptsKey_;
+
    private String mergedJavascript = "";
 
    private HashMap<String, String> extendedJavascripts;
@@ -61,6 +67,7 @@
    {
       availableScripts_ = new ArrayList<String>();
       availableScriptsPaths_ = new ArrayList<String>();
+      availableScriptsKey_ = new ArrayList<Entry<JavascriptKey, ServletContext>>();
       extendedJavascripts = new HashMap<String, String>();
       deployer = new JavascriptDeployer(context.getPortalContainerName(), this);
       removal = new JavascriptRemoval(context.getPortalContainerName(), this);
@@ -83,21 +90,53 @@
       return availableScriptsPaths_;
    }
 
-   public void addExtendedJavascript(String module, String scriptPath, ServletContext scontext, String scriptData)
+   /*
+    * TANPD: This method no longer needed
+    * public void addExtendedJavascript(String module, String scriptPath, ServletContext scontext, String scriptData)
    {
       String servletContextName = scontext.getServletContextName();
       String path = "/" + servletContextName + scriptPath;
       availableScripts_.add(module);
       availableScriptsPaths_.add(path);
       extendedJavascripts.put(path, scriptData);
-   }
+   }*/
 
-   public void addJavascript(JavascriptKey key, ServletContext scontext)
+   @SuppressWarnings("unchecked")
+   public void addJavascripts(List<JavascriptKey> jsKeys, ServletContext scontext)
    {
-      addJavascript(key.getModule(), key.getScriptPath(), key.getPriority(), scontext);
+      for (JavascriptKey key : jsKeys)
+      {
+         availableScriptsKey_.add(new SimpleEntry(key, scontext));
+      }
+
+      Collections.sort(availableScriptsKey_, new Comparator<Entry<JavascriptKey, ServletContext>>()
+      {
+         public int compare(Entry<JavascriptKey, ServletContext> e1, Entry<JavascriptKey, ServletContext> e2)
+         {
+            JavascriptKey js1 = e1.getKey();
+            JavascriptKey js2 = e2.getKey();
+            if (js1.getPriority() == js2.getPriority())
+               return js1.getModule().compareTo(js2.getModule());
+            else if (js1.getPriority() < 0)
+               return 1;
+            else if (js2.getPriority() < 0)
+               return -1;
+            else
+               return js1.getPriority() - js2.getPriority();
+         }
+      });
+
+      mergedJavascript = "";
+      availableScripts_.clear();
+      availableScriptsPaths_.clear();
+      object_view_of_merged_JS.clear();
+      for (Entry<JavascriptKey, ServletContext> e : availableScriptsKey_)
+      {
+         addJavascript(e.getKey().getModule(), e.getKey().getScriptPath(), e.getValue());
+      }
    }
 
-   public void addJavascript(String module, String scriptPath, Integer priority, ServletContext scontext)
+   private void addJavascript(String module, String scriptPath, ServletContext scontext)
    {
       String servletContextName = scontext.getServletContextName();
       availableScripts_.add(module);
@@ -149,6 +188,13 @@
       availableScripts_.remove(key.getModule());
       availableScriptsPaths_.remove(contextPath + key.getScriptPath());
       object_view_of_merged_JS.remove(contextPath);
+
+      for (Entry<JavascriptKey, ServletContext> entry : availableScriptsKey_)
+      {
+         if (key.equals(entry.getKey())
+            && scontext.getServletContextName().equals(entry.getValue().getServletContextName()))
+            availableScriptsKey_.remove(entry);
+      }
    }
 
    /** Refresh the mergedJavascript **/

Modified: portal/branches/3.0.0-Beta05-CP/component/web/src/main/java/org/exoplatform/web/application/javascript/JavascriptTask.java
===================================================================
--- portal/branches/3.0.0-Beta05-CP/component/web/src/main/java/org/exoplatform/web/application/javascript/JavascriptTask.java	2010-02-04 06:36:37 UTC (rev 1527)
+++ portal/branches/3.0.0-Beta05-CP/component/web/src/main/java/org/exoplatform/web/application/javascript/JavascriptTask.java	2010-02-04 06:46:53 UTC (rev 1528)
@@ -19,8 +19,6 @@
 package org.exoplatform.web.application.javascript;
 
 import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
 import java.util.List;
 
 import javax.servlet.ServletContext;
@@ -42,24 +40,7 @@
 
    public void execute(JavascriptConfigService service, ServletContext scontext)
    {
-      Collections.sort(jsKeys, new Comparator<JavascriptKey>()
-      {
-         public int compare(JavascriptKey js1, JavascriptKey js2)
-         {
-            if (js1.getPriority() == js2.getPriority())
-               return js1.getModule().compareTo(js2.getModule());
-            else if (js1.getPriority() < 0)
-               return 1;
-            else if (js2.getPriority() < 0)
-               return -1;
-            else
-               return js1.getPriority() - js2.getPriority();
-         }
-      });
-      for (JavascriptKey key : jsKeys)
-      {
-         service.addJavascript(key, scontext);
-      }
+      service.addJavascripts(jsKeys, scontext);
       JavascriptDependentManager.addJavascriptDependent(scontext.getContextPath(), jsKeys);
    }
 

Modified: portal/branches/3.0.0-Beta05-CP/web/eXoResources/src/main/webapp/WEB-INF/gatein-resources.xml
===================================================================
--- portal/branches/3.0.0-Beta05-CP/web/eXoResources/src/main/webapp/WEB-INF/gatein-resources.xml	2010-02-04 06:36:37 UTC (rev 1527)
+++ portal/branches/3.0.0-Beta05-CP/web/eXoResources/src/main/webapp/WEB-INF/gatein-resources.xml	2010-02-04 06:46:53 UTC (rev 1528)
@@ -121,7 +121,7 @@
 		<param>
 			<js-module>eXo.core.Utils</js-module>
 			<js-path>/javascript/eXo/core/Util.js</js-path>
-			<js-priority>0</js-priority>
+			<js-priority>1</js-priority>
 		</param>
 		<param>
 			<js-module>eXo.core.DOMUtil</js-module>
@@ -131,7 +131,7 @@
 		<param>
 			<js-module>eXo.core.Browser</js-module>
 			<js-path>/javascript/eXo/core/Browser.js</js-path>
-			<js-priority>1</js-priority>
+			<js-priority>2</js-priority>
 		</param>
 		<param>
 			<js-module>eXo.core.MouseEventManager</js-module>



More information about the gatein-commits mailing list