[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