[gatein-commits] gatein SVN: r3300 - in portal/trunk/component: portal/src/main/java and 7 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Jun 11 05:11:27 EDT 2010


Author: julien_viet
Date: 2010-06-11 05:11:25 -0400 (Fri, 11 Jun 2010)
New Revision: 3300

Added:
   portal/trunk/component/portal/src/main/java/gatein_resources_1_1.xsd
   portal/trunk/component/portal/src/test/resources/org/
   portal/trunk/component/portal/src/test/resources/org/exoplatform/
   portal/trunk/component/portal/src/test/resources/org/exoplatform/portal/
   portal/trunk/component/portal/src/test/resources/org/exoplatform/portal/resource/
   portal/trunk/component/portal/src/test/resources/org/exoplatform/portal/resource/gatein-resources-1_0-with-skin-module.xml
   portal/trunk/component/portal/src/test/resources/org/exoplatform/portal/resource/gatein-resources-1_0.xml
   portal/trunk/component/portal/src/test/resources/org/exoplatform/portal/resource/gatein-resources-1_1.xml
Modified:
   portal/trunk/component/common/src/main/java/org/exoplatform/commons/xml/XMLValidator.java
   portal/trunk/component/portal/src/main/java/gatein_resources_1_0.xsd
   portal/trunk/component/portal/src/main/java/org/exoplatform/portal/resource/config/xml/SkinConfigParser.java
   portal/trunk/component/portal/src/test/java/org/exoplatform/portal/resource/TestGateInResourceParser.java
Log:
GTNPORTAL-1316: Resource descriptor 1.1 to handle skin module declaration

Modified: portal/trunk/component/common/src/main/java/org/exoplatform/commons/xml/XMLValidator.java
===================================================================
--- portal/trunk/component/common/src/main/java/org/exoplatform/commons/xml/XMLValidator.java	2010-06-11 06:47:02 UTC (rev 3299)
+++ portal/trunk/component/common/src/main/java/org/exoplatform/commons/xml/XMLValidator.java	2010-06-11 09:11:25 UTC (rev 3300)
@@ -28,6 +28,7 @@
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.ParserConfigurationException;
 import java.io.IOException;
+import java.util.Map;
 
 /**
  * @author <a href="mailto:julien.viet at exoplatform.com">Julien Viet</a>
@@ -51,9 +52,10 @@
       resolver = new ResourceEntityResolver(clazz, systemId, resourcePath);
    }
 
-   public String getSystemId()
+   public XMLValidator(Class clazz, Map<String, String> systemIdToResourcePath)
    {
-      return schemas[0];
+      schemas = systemIdToResourcePath.keySet().toArray(new String[0]);
+      resolver = new ResourceEntityResolver(clazz, systemIdToResourcePath);
    }
 
    /**

Modified: portal/trunk/component/portal/src/main/java/gatein_resources_1_0.xsd
===================================================================
--- portal/trunk/component/portal/src/main/java/gatein_resources_1_0.xsd	2010-06-11 06:47:02 UTC (rev 3299)
+++ portal/trunk/component/portal/src/main/java/gatein_resources_1_0.xsd	2010-06-11 09:11:25 UTC (rev 3300)
@@ -2,17 +2,17 @@
 <!--
 
     Copyright (C) 2009 eXo Platform SAS.
-    
+
     This is free software; you can redistribute it and/or modify it
     under the terms of the GNU Lesser General Public License as
     published by the Free Software Foundation; either version 2.1 of
     the License, or (at your option) any later version.
-    
+
     This software is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
     Lesser General Public License for more details.
-    
+
     You should have received a copy of the GNU Lesser General Public
     License along with this software; if not, write to the Free
     Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
@@ -45,12 +45,11 @@
 	<xs:complexType name="portal-skin">
 		<xs:sequence>
 			<xs:element name="skin-name" type="xs:string" minOccurs="1" maxOccurs="1"/>
-			<xs:element name="skin-module" type="xs:string" minOccurs="0" maxOccurs="1"/>
 			<xs:element name="css-path" type="xs:string" minOccurs="1" maxOccurs="1"/>
 			<xs:element name="overwrite" type="xs:string" minOccurs="0" maxOccurs="1"/>
 		</xs:sequence>
 	</xs:complexType>
-	
+
   <!-- Declares a portlet skin resource -->
 	<xs:complexType name="portlet-skin">
 		<xs:sequence>
@@ -82,7 +81,7 @@
 			<xs:element name="style-theme" type="style-theme" minOccurs="0" maxOccurs="unbounded"/>
 		</xs:sequence>
 	</xs:complexType>
-	
+
   <!-- The window style theme -->
 	<xs:complexType name="style-theme">
 		<xs:sequence>
@@ -97,7 +96,7 @@
 			<xs:element name="param" type="param" minOccurs="0" maxOccurs="unbounded"/>
 		</xs:sequence>
 	</xs:complexType>
-	
+
 	<xs:complexType name="param">
 		<xs:sequence>
       <!-- The javascript module -->

Added: portal/trunk/component/portal/src/main/java/gatein_resources_1_1.xsd
===================================================================
--- portal/trunk/component/portal/src/main/java/gatein_resources_1_1.xsd	                        (rev 0)
+++ portal/trunk/component/portal/src/main/java/gatein_resources_1_1.xsd	2010-06-11 09:11:25 UTC (rev 3300)
@@ -0,0 +1,116 @@
+<?xml version="1.0"?>
+<!--
+  ~ Copyright (C) 2009 eXo Platform SAS.
+  ~
+  ~ This is free software; you can redistribute it and/or modify it
+  ~ under the terms of the GNU Lesser General Public License as
+  ~ published by the Free Software Foundation; either version 2.1 of
+  ~ the License, or (at your option) any later version.
+  ~
+  ~ This software is distributed in the hope that it will be useful,
+  ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ Lesser General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU Lesser General Public
+  ~ License along with this software; if not, write to the Free
+  ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  -->
+
+<xs:schema
+   targetNamespace="http://www.gatein.org/xml/ns/gatein_resources_1_1"
+   xmlns="http://www.gatein.org/xml/ns/gatein_resources_1_1"
+   xmlns:xs="http://www.w3.org/2001/XMLSchema"
+   elementFormDefault="qualified"
+   attributeFormDefault="unqualified"
+   version="1.0">
+
+  <!-- The root element type that contains the various resource declarations -->
+	<xs:element name="gatein-resources">
+		<xs:complexType>
+			<xs:choice minOccurs="0" maxOccurs="unbounded">
+				<xs:element name="portal-skin" type="portal-skin" />
+				<xs:element name="portlet-skin" type="portlet-skin" />
+				<xs:element name="window-style" type="window-style" />
+				<xs:element name="javascript" type="javascript" />
+				<xs:element name="resource-bundle" type="resource-bundle" />
+			</xs:choice>
+		</xs:complexType>
+	</xs:element>
+
+  <!-- Declares a portal skin resource -->
+	<xs:complexType name="portal-skin">
+		<xs:sequence>
+			<xs:element name="skin-name" type="xs:string" minOccurs="1" maxOccurs="1"/>
+			<xs:element name="skin-module" type="xs:string" minOccurs="0" maxOccurs="1"/>
+			<xs:element name="css-path" type="xs:string" minOccurs="1" maxOccurs="1"/>
+			<xs:element name="overwrite" type="xs:string" minOccurs="0" maxOccurs="1"/>
+		</xs:sequence>
+	</xs:complexType>
+	
+  <!-- Declares a portlet skin resource -->
+	<xs:complexType name="portlet-skin">
+		<xs:sequence>
+      <!-- The portlet application name -->
+			<xs:element name="application-name" type="xs:string" minOccurs="1" maxOccurs="1"/>
+
+      <!-- The portlet name -->
+			<xs:element name="portlet-name" type="xs:string" minOccurs="1" maxOccurs="1"/>
+
+      <!-- The name of the skin to load -->
+			<xs:element name="skin-name" type="xs:string" minOccurs="1" maxOccurs="1"/>
+
+      <!-- The css path of the skin relative to the application context -->
+			<xs:element name="css-path" type="xs:string" minOccurs="1" maxOccurs="1"/>
+
+      <!-- Overwrite -->
+			<xs:element name="overwrite" type="xs:string" minOccurs="0" maxOccurs="1"/>
+		</xs:sequence>
+	</xs:complexType>
+
+  <!-- Declares a window style -->
+	<xs:complexType name="window-style" mixed="true">
+		<xs:sequence>
+
+      <!-- The window style name -->
+			<xs:element name="style-name" type="xs:string" minOccurs="1" maxOccurs="1"/>
+
+      <!-- The window style theme -->
+			<xs:element name="style-theme" type="style-theme" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+	</xs:complexType>
+	
+  <!-- The window style theme -->
+	<xs:complexType name="style-theme">
+		<xs:sequence>
+      <!-- The theme name -->
+			<xs:element name="theme-name" type="xs:string" minOccurs="1" maxOccurs="1"/>
+		</xs:sequence>
+	</xs:complexType>
+
+  <!-- Declares a javascript resource  -->
+	<xs:complexType name="javascript">
+		<xs:sequence>
+			<xs:element name="param" type="param" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+	</xs:complexType>
+	
+	<xs:complexType name="param">
+		<xs:sequence>
+      <!-- The javascript module -->
+			<xs:element name="js-module" type="xs:string" minOccurs="1" maxOccurs="1"/>
+
+      <!-- The javascript path -->
+			<xs:element name="js-path" type="xs:string" minOccurs="1" maxOccurs="1"/>
+
+      <!-- The javascript priority -->
+			<xs:element name="js-priority" type="xs:string" minOccurs="0" maxOccurs="1"/>
+		</xs:sequence>
+	</xs:complexType>
+
+  <!-- Declares a resource bundle -->
+	<xs:complexType name="resource-bundle">
+	</xs:complexType>
+
+</xs:schema>
\ No newline at end of file

Modified: portal/trunk/component/portal/src/main/java/org/exoplatform/portal/resource/config/xml/SkinConfigParser.java
===================================================================
--- portal/trunk/component/portal/src/main/java/org/exoplatform/portal/resource/config/xml/SkinConfigParser.java	2010-06-11 06:47:02 UTC (rev 3299)
+++ portal/trunk/component/portal/src/main/java/org/exoplatform/portal/resource/config/xml/SkinConfigParser.java	2010-06-11 09:11:25 UTC (rev 3300)
@@ -33,7 +33,9 @@
 import org.w3c.dom.NodeList;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import javax.servlet.ServletContext;
 
@@ -49,14 +51,25 @@
    public static final String GATEIN_RESOURCES_1_0_SYSTEM_ID = "http://www.gatein.org/xml/ns/gatein_resources_1_0";
 
    /** . */
+   public static final String GATEIN_RESOURCES_1_1_SYSTEM_ID = "http://www.gatein.org/xml/ns/gatein_resources_1_1";
+
+   /** . */
    private static final String GATEIN_RESOURCE_1_0_XSD_PATH = "gatein_resources_1_0.xsd";
 
    /** . */
-   private static final XMLValidator VALIDATOR = new XMLValidator(
-      SkinConfigParser.class,
-      GATEIN_RESOURCES_1_0_SYSTEM_ID,
-      GATEIN_RESOURCE_1_0_XSD_PATH);
+   private static final String GATEIN_RESOURCE_1_1_XSD_PATH = "gatein_resources_1_1.xsd";
 
+   /** . */
+   private static final XMLValidator VALIDATOR;
+
+   static
+   {
+      Map<String, String> systemIdToResourcePath = new HashMap<String, String>();
+      systemIdToResourcePath.put(GATEIN_RESOURCES_1_0_SYSTEM_ID, GATEIN_RESOURCE_1_0_XSD_PATH);
+      systemIdToResourcePath.put(GATEIN_RESOURCES_1_1_SYSTEM_ID, GATEIN_RESOURCE_1_1_XSD_PATH);
+      VALIDATOR = new XMLValidator(SkinConfigParser.class, systemIdToResourcePath);
+   }
+
    public static void processConfigResource(DocumentSource source, SkinService skinService, ServletContext scontext)
    {
       List<SkinConfigTask> allTasks = fetchTasks(source);

Modified: portal/trunk/component/portal/src/test/java/org/exoplatform/portal/resource/TestGateInResourceParser.java
===================================================================
--- portal/trunk/component/portal/src/test/java/org/exoplatform/portal/resource/TestGateInResourceParser.java	2010-06-11 06:47:02 UTC (rev 3299)
+++ portal/trunk/component/portal/src/test/java/org/exoplatform/portal/resource/TestGateInResourceParser.java	2010-06-11 09:11:25 UTC (rev 3300)
@@ -12,9 +12,25 @@
 
 public class TestGateInResourceParser extends TestCase
 {   
-   public void testBinding() throws MalformedURLException {
-      URL url = this.getClass().getResource("/WEB-INF/gatein-resources.xml");
-      assertNotNull("the gatein-resources.xml can not be found", url);
+   public void testResources1_0() throws MalformedURLException
+   {
+      assertDescriptorCanBeLoaded("org/exoplatform/portal/resource/gatein-resources-1_0.xml");
+   }
+
+   public void testResources1_0WithSkinModule() throws MalformedURLException
+   {
+      assertDescriptorCanBeLoaded("org/exoplatform/portal/resource/gatein-resources-1_0-with-skin-module.xml");
+   }
+
+   public void testResources1_1() throws MalformedURLException
+   {
+      assertDescriptorCanBeLoaded("org/exoplatform/portal/resource/gatein-resources-1_1.xml");
+   }
+
+   private void assertDescriptorCanBeLoaded(String descriptorPath) throws MalformedURLException
+   {
+      URL url = Thread.currentThread().getContextClassLoader().getResource(descriptorPath);
+      assertNotNull("The " + descriptorPath + " can not be found", url);
       DocumentSource source = DocumentSource.create(url);
       List<SkinConfigTask> tasks = SkinConfigParser.fetchTasks(source);
       assertNotNull("There are no tasks", tasks);

Added: portal/trunk/component/portal/src/test/resources/org/exoplatform/portal/resource/gatein-resources-1_0-with-skin-module.xml
===================================================================
--- portal/trunk/component/portal/src/test/resources/org/exoplatform/portal/resource/gatein-resources-1_0-with-skin-module.xml	                        (rev 0)
+++ portal/trunk/component/portal/src/test/resources/org/exoplatform/portal/resource/gatein-resources-1_0-with-skin-module.xml	2010-06-11 09:11:25 UTC (rev 3300)
@@ -0,0 +1,334 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  ~ Copyright (C) 2009 eXo Platform SAS.
+  ~
+  ~ This is free software; you can redistribute it and/or modify it
+  ~ under the terms of the GNU Lesser General Public License as
+  ~ published by the Free Software Foundation; either version 2.1 of
+  ~ the License, or (at your option) any later version.
+  ~
+  ~ This software is distributed in the hope that it will be useful,
+  ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ Lesser General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU Lesser General Public
+  ~ License along with this software; if not, write to the Free
+  ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  -->
+<gatein-resources
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://www.gatein.org/xml/ns/gatein_resources_1_0 http://www.gatein.org/xml/ns/gatein_resources_1_0"
+    xmlns="http://www.gatein.org/xml/ns/gatein_resources_1_0">
+
+	<!-- Portal skins -->
+	<portal-skin>
+		<skin-name>Default</skin-name>
+    <skin-module>MyModule</skin-module>
+		<css-path>/skin/Stylesheet.css</css-path>
+	</portal-skin>
+
+	<!-- BannerPortlet skins -->
+
+	<portlet-skin>
+		<application-name>web</application-name>
+		<portlet-name>BannerPortlet</portlet-name>
+		<skin-name>Default</skin-name>
+		<css-path>/skin/portal/webui/component/UIBannerPortlet/DefaultStylesheet.css</css-path>
+	</portlet-skin>
+
+	<!-- FooterPortlet skins -->
+
+	<portlet-skin>
+		<application-name>web</application-name>
+		<portlet-name>FooterPortlet</portlet-name>
+		<skin-name>Default</skin-name>
+		<css-path>/skin/portal/webui/component/UIFooterPortlet/DefaultStylesheet.css</css-path>
+	</portlet-skin>
+
+	<!-- Simple window style -->
+	<window-style>
+		<style-name>Simple</style-name>
+		<style-theme>
+			<theme-name>SimpleBlue</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>SimpleViolet</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>SimpleOrange</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>SimplePink</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>SimpleGreen</theme-name>
+		</style-theme>
+	</window-style>
+
+	<!-- RoundConer window style -->
+	<window-style>
+		<style-name>RoundConer</style-name>
+		<style-theme>
+			<theme-name>RoundConerBlue</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>RoundConerViolet</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>RoundConerOrange</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>RoundConerPink</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>RoundConerGreen</theme-name>
+		</style-theme>
+	</window-style>
+
+	<!-- Shadow window style -->
+	<window-style>
+		<style-name>Shadow</style-name>
+		<style-theme>
+			<theme-name>ShadowBlue</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>ShadowViolet</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>ShadowOrange</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>ShadowPink</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>ShadowGreen</theme-name>
+		</style-theme>
+	</window-style>
+
+	<!-- MacStyle window style -->
+	<window-style>
+		<style-name>MacStyle</style-name>
+		<style-theme>
+			<theme-name>MacTheme</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>MacGray</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>MacGreenSteel</theme-name>
+		</style-theme>
+	</window-style>
+
+	<!-- VistaStyle window style -->
+	<window-style>
+		<style-name>VistaStyle</style-name>
+		<style-theme>
+			<theme-name>VistaTheme</theme-name>
+		</style-theme>
+	</window-style>
+
+	<javascript>
+		<param>
+			<js-module>eXo</js-module>
+			<js-path>/javascript/eXo.js</js-path>
+			<js-priority>0</js-priority>
+		</param>
+	</javascript>
+
+	<!-- CORE Javascripts -->
+	<javascript>
+		<param>
+			<js-module>eXo.core.Utils</js-module>
+			<js-path>/javascript/eXo/core/Util.js</js-path>
+			<js-priority>1</js-priority>
+		</param>
+		<param>
+			<js-module>eXo.core.DOMUtil</js-module>
+			<js-path>/javascript/eXo/core/DOMUtil.js</js-path>
+			<js-priority>1</js-priority>
+		</param>
+		<param>
+			<js-module>eXo.core.Browser</js-module>
+			<js-path>/javascript/eXo/core/Browser.js</js-path>
+			<js-priority>2</js-priority>
+		</param>
+		<param>
+			<js-module>eXo.core.MouseEventManager</js-module>
+			<js-path>/javascript/eXo/core/MouseEventManager.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.core.UIMaskLayer</js-module>
+			<js-path>/javascript/eXo/core/UIMaskLayer.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.core.Skin</js-module>
+			<js-path>/javascript/eXo/core/Skin.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.core.DragDrop</js-module>
+			<js-path>/javascript/eXo/core/DragDrop.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.core.DragDrop2</js-module>
+			<js-path>/javascript/eXo/core/DragDrop2.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.core.Topic</js-module>
+			<js-path>/javascript/eXo/core/Topic.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.core.JSON</js-module>
+			<js-path>/javascript/eXo/core/JSON.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.core.Cometd</js-module>
+			<js-path>/javascript/eXo/core/Cometd.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.core.Spliter</js-module>
+			<js-path>/javascript/eXo/core/Spliter.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.core.Notification</js-module>
+			<js-path>/javascript/eXo/core/Notification.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.core.Loader</js-module>
+			<js-path>/javascript/eXo/core/Loader.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.core.I18n</js-module>
+			<js-path>/javascript/eXo/core/I18n.js</js-path>
+		</param>
+	</javascript>
+
+	<!-- Gadget Javascripts -->
+	<javascript>
+		<param>
+			<js-module>eXo.gadget.UIGadget</js-module>
+			<js-path>/javascript/eXo/gadget/UIGadget.js</js-path>
+		</param>
+	</javascript>
+
+	<!-- WebUI Javascripts -->
+	<javascript>
+		<param>
+			<js-module>eXo.webui.UIItemSelector</js-module>
+			<js-path>/javascript/eXo/webui/UIItemSelector.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIForm</js-module>
+			<js-path>/javascript/eXo/webui/UIForm.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIPopup</js-module>
+			<js-path>/javascript/eXo/webui/UIPopup.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIPopupSelectCategory</js-module>
+			<js-path>/javascript/eXo/webui/UIPopupSelectCategory.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIPopupWindow</js-module>
+			<js-path>/javascript/eXo/webui/UIPopupWindow.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIHorizontalTabs</js-module>
+			<js-path>/javascript/eXo/webui/UIHorizontalTabs.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIPopupMenu</js-module>
+			<js-path>/javascript/eXo/webui/UIPopupMenu.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIDropDownControl</js-module>
+			<js-path>/javascript/eXo/webui/UIDropDownControl.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIRightClickPopupMenu</js-module>
+			<js-path>/javascript/eXo/webui/UIRightClickPopupMenu.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIVerticalSlideTabs</js-module>
+			<js-path>/javascript/eXo/webui/UIVerticalSlideTabs.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIPermissionSelectorTab</js-module>
+			<js-path>/javascript/eXo/webui/UIPermissionSelectorTab.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIDashboard</js-module>
+			<js-path>/javascript/eXo/webui/UIDashboard.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIDashboardUtil</js-module>
+			<js-path>/javascript/eXo/webui/UIDashboardUtil.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UINotification</js-module>
+			<js-path>/javascript/eXo/webui/UINotification.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIUserSelector</js-module>
+			<js-path>/javascript/eXo/webui/UIUserSelector.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UICombobox</js-module>
+			<js-path>/javascript/eXo/webui/UICombobox.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UICombobox</js-module>
+			<js-path>/javascript/eXo/webui/UIVirtualList.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIColorPicker</js-module>
+			<js-path>/javascript/eXo/webui/UIColorPicker.js</js-path>
+		</param>
+	</javascript>
+
+	<!-- Portal Javascripts -->
+	<javascript>
+		<param>
+			<js-module>eXo.portal.PortalHttpRequest</js-module>
+			<js-path>/javascript/eXo/portal/PortalHttpRequest.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.portal.UIPortal</js-module>
+			<js-path>/javascript/eXo/portal/UIPortal.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.portal.UIWorkspace</js-module>
+			<js-path>/javascript/eXo/portal/UIWorkspace.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.portal.UIPortalControl</js-module>
+			<js-path>/javascript/eXo/portal/UIPortalControl.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.portal.PortalDragDrop</js-module>
+			<js-path>/javascript/eXo/portal/PortalDragDrop.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.portal.UIPortalNavigation</js-module>
+			<js-path>/javascript/eXo/portal/UIPortalNavigation.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.portal.UIMaskWorkspace</js-module>
+			<js-path>/javascript/eXo/portal/UIMaskWorkspace.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.portal.UIBrowseContent</js-module>
+			<js-path>/javascript/eXo/portal/UIBrowseContent.js</js-path>
+		</param>
+	</javascript>
+
+	<javascript>
+		<param>
+			<js-module>eXo.webui.UIPortlet</js-module>
+			<js-path>/javascript/eXo/webui/UIPortlet.js</js-path>
+		</param>
+	</javascript>
+</gatein-resources>

Added: portal/trunk/component/portal/src/test/resources/org/exoplatform/portal/resource/gatein-resources-1_0.xml
===================================================================
--- portal/trunk/component/portal/src/test/resources/org/exoplatform/portal/resource/gatein-resources-1_0.xml	                        (rev 0)
+++ portal/trunk/component/portal/src/test/resources/org/exoplatform/portal/resource/gatein-resources-1_0.xml	2010-06-11 09:11:25 UTC (rev 3300)
@@ -0,0 +1,332 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Copyright (C) 2009 eXo Platform SAS.
+  ~
+  ~ This is free software; you can redistribute it and/or modify it
+  ~ under the terms of the GNU Lesser General Public License as
+  ~ published by the Free Software Foundation; either version 2.1 of
+  ~ the License, or (at your option) any later version.
+  ~
+  ~ This software is distributed in the hope that it will be useful,
+  ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ Lesser General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU Lesser General Public
+  ~ License along with this software; if not, write to the Free
+  ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  -->
+<gatein-resources
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://www.gatein.org/xml/ns/gatein_resources_1_0 http://www.gatein.org/xml/ns/gatein_resources_1_0"
+    xmlns="http://www.gatein.org/xml/ns/gatein_resources_1_0">
+
+	<!-- Portal skins -->
+	<portal-skin>
+		<skin-name>Default</skin-name>
+		<css-path>/skin/Stylesheet.css</css-path>
+	</portal-skin>
+
+	<!-- BannerPortlet skins -->
+
+	<portlet-skin>
+		<application-name>web</application-name>
+		<portlet-name>BannerPortlet</portlet-name>
+		<skin-name>Default</skin-name>
+		<css-path>/skin/portal/webui/component/UIBannerPortlet/DefaultStylesheet.css</css-path>
+	</portlet-skin>
+
+	<!-- FooterPortlet skins -->
+
+	<portlet-skin>
+		<application-name>web</application-name>
+		<portlet-name>FooterPortlet</portlet-name>
+		<skin-name>Default</skin-name>
+		<css-path>/skin/portal/webui/component/UIFooterPortlet/DefaultStylesheet.css</css-path>
+	</portlet-skin>
+
+	<!-- Simple window style -->
+	<window-style>
+		<style-name>Simple</style-name>
+		<style-theme>
+			<theme-name>SimpleBlue</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>SimpleViolet</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>SimpleOrange</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>SimplePink</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>SimpleGreen</theme-name>
+		</style-theme>
+	</window-style>
+
+	<!-- RoundConer window style -->
+	<window-style>
+		<style-name>RoundConer</style-name>
+		<style-theme>
+			<theme-name>RoundConerBlue</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>RoundConerViolet</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>RoundConerOrange</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>RoundConerPink</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>RoundConerGreen</theme-name>
+		</style-theme>
+	</window-style>
+
+	<!-- Shadow window style -->
+	<window-style>
+		<style-name>Shadow</style-name>
+		<style-theme>
+			<theme-name>ShadowBlue</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>ShadowViolet</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>ShadowOrange</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>ShadowPink</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>ShadowGreen</theme-name>
+		</style-theme>
+	</window-style>
+
+	<!-- MacStyle window style -->
+	<window-style>
+		<style-name>MacStyle</style-name>
+		<style-theme>
+			<theme-name>MacTheme</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>MacGray</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>MacGreenSteel</theme-name>
+		</style-theme>
+	</window-style>
+
+	<!-- VistaStyle window style -->
+	<window-style>
+		<style-name>VistaStyle</style-name>
+		<style-theme>
+			<theme-name>VistaTheme</theme-name>
+		</style-theme>
+	</window-style>
+
+	<javascript>
+		<param>
+			<js-module>eXo</js-module>
+			<js-path>/javascript/eXo.js</js-path>
+			<js-priority>0</js-priority>
+		</param>
+	</javascript>
+
+	<!-- CORE Javascripts -->
+	<javascript>
+		<param>
+			<js-module>eXo.core.Utils</js-module>
+			<js-path>/javascript/eXo/core/Util.js</js-path>
+			<js-priority>1</js-priority>
+		</param>
+		<param>
+			<js-module>eXo.core.DOMUtil</js-module>
+			<js-path>/javascript/eXo/core/DOMUtil.js</js-path>
+			<js-priority>1</js-priority>
+		</param>
+		<param>
+			<js-module>eXo.core.Browser</js-module>
+			<js-path>/javascript/eXo/core/Browser.js</js-path>
+			<js-priority>2</js-priority>
+		</param>
+		<param>
+			<js-module>eXo.core.MouseEventManager</js-module>
+			<js-path>/javascript/eXo/core/MouseEventManager.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.core.UIMaskLayer</js-module>
+			<js-path>/javascript/eXo/core/UIMaskLayer.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.core.Skin</js-module>
+			<js-path>/javascript/eXo/core/Skin.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.core.DragDrop</js-module>
+			<js-path>/javascript/eXo/core/DragDrop.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.core.DragDrop2</js-module>
+			<js-path>/javascript/eXo/core/DragDrop2.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.core.Topic</js-module>
+			<js-path>/javascript/eXo/core/Topic.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.core.JSON</js-module>
+			<js-path>/javascript/eXo/core/JSON.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.core.Cometd</js-module>
+			<js-path>/javascript/eXo/core/Cometd.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.core.Spliter</js-module>
+			<js-path>/javascript/eXo/core/Spliter.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.core.Notification</js-module>
+			<js-path>/javascript/eXo/core/Notification.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.core.Loader</js-module>
+			<js-path>/javascript/eXo/core/Loader.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.core.I18n</js-module>
+			<js-path>/javascript/eXo/core/I18n.js</js-path>
+		</param>
+	</javascript>
+
+	<!-- Gadget Javascripts -->
+	<javascript>
+		<param>
+			<js-module>eXo.gadget.UIGadget</js-module>
+			<js-path>/javascript/eXo/gadget/UIGadget.js</js-path>
+		</param>
+	</javascript>
+
+	<!-- WebUI Javascripts -->
+	<javascript>
+		<param>
+			<js-module>eXo.webui.UIItemSelector</js-module>
+			<js-path>/javascript/eXo/webui/UIItemSelector.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIForm</js-module>
+			<js-path>/javascript/eXo/webui/UIForm.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIPopup</js-module>
+			<js-path>/javascript/eXo/webui/UIPopup.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIPopupSelectCategory</js-module>
+			<js-path>/javascript/eXo/webui/UIPopupSelectCategory.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIPopupWindow</js-module>
+			<js-path>/javascript/eXo/webui/UIPopupWindow.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIHorizontalTabs</js-module>
+			<js-path>/javascript/eXo/webui/UIHorizontalTabs.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIPopupMenu</js-module>
+			<js-path>/javascript/eXo/webui/UIPopupMenu.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIDropDownControl</js-module>
+			<js-path>/javascript/eXo/webui/UIDropDownControl.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIRightClickPopupMenu</js-module>
+			<js-path>/javascript/eXo/webui/UIRightClickPopupMenu.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIVerticalSlideTabs</js-module>
+			<js-path>/javascript/eXo/webui/UIVerticalSlideTabs.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIPermissionSelectorTab</js-module>
+			<js-path>/javascript/eXo/webui/UIPermissionSelectorTab.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIDashboard</js-module>
+			<js-path>/javascript/eXo/webui/UIDashboard.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIDashboardUtil</js-module>
+			<js-path>/javascript/eXo/webui/UIDashboardUtil.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UINotification</js-module>
+			<js-path>/javascript/eXo/webui/UINotification.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIUserSelector</js-module>
+			<js-path>/javascript/eXo/webui/UIUserSelector.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UICombobox</js-module>
+			<js-path>/javascript/eXo/webui/UICombobox.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UICombobox</js-module>
+			<js-path>/javascript/eXo/webui/UIVirtualList.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIColorPicker</js-module>
+			<js-path>/javascript/eXo/webui/UIColorPicker.js</js-path>
+		</param>
+	</javascript>
+
+	<!-- Portal Javascripts -->
+	<javascript>
+		<param>
+			<js-module>eXo.portal.PortalHttpRequest</js-module>
+			<js-path>/javascript/eXo/portal/PortalHttpRequest.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.portal.UIPortal</js-module>
+			<js-path>/javascript/eXo/portal/UIPortal.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.portal.UIWorkspace</js-module>
+			<js-path>/javascript/eXo/portal/UIWorkspace.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.portal.UIPortalControl</js-module>
+			<js-path>/javascript/eXo/portal/UIPortalControl.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.portal.PortalDragDrop</js-module>
+			<js-path>/javascript/eXo/portal/PortalDragDrop.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.portal.UIPortalNavigation</js-module>
+			<js-path>/javascript/eXo/portal/UIPortalNavigation.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.portal.UIMaskWorkspace</js-module>
+			<js-path>/javascript/eXo/portal/UIMaskWorkspace.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.portal.UIBrowseContent</js-module>
+			<js-path>/javascript/eXo/portal/UIBrowseContent.js</js-path>
+		</param>
+	</javascript>
+
+	<javascript>
+		<param>
+			<js-module>eXo.webui.UIPortlet</js-module>
+			<js-path>/javascript/eXo/webui/UIPortlet.js</js-path>
+		</param>
+	</javascript>
+</gatein-resources>

Added: portal/trunk/component/portal/src/test/resources/org/exoplatform/portal/resource/gatein-resources-1_1.xml
===================================================================
--- portal/trunk/component/portal/src/test/resources/org/exoplatform/portal/resource/gatein-resources-1_1.xml	                        (rev 0)
+++ portal/trunk/component/portal/src/test/resources/org/exoplatform/portal/resource/gatein-resources-1_1.xml	2010-06-11 09:11:25 UTC (rev 3300)
@@ -0,0 +1,334 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  ~ Copyright (C) 2009 eXo Platform SAS.
+  ~
+  ~ This is free software; you can redistribute it and/or modify it
+  ~ under the terms of the GNU Lesser General Public License as
+  ~ published by the Free Software Foundation; either version 2.1 of
+  ~ the License, or (at your option) any later version.
+  ~
+  ~ This software is distributed in the hope that it will be useful,
+  ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ Lesser General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU Lesser General Public
+  ~ License along with this software; if not, write to the Free
+  ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  -->
+<gatein-resources
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://www.gatein.org/xml/ns/gatein_resources_1_1 http://www.gatein.org/xml/ns/gatein_resources_1_1"
+    xmlns="http://www.gatein.org/xml/ns/gatein_resources_1_1">
+
+	<!-- Portal skins -->
+	<portal-skin>
+		<skin-name>Default</skin-name>
+    <skin-module>MyModule</skin-module>
+		<css-path>/skin/Stylesheet.css</css-path>
+	</portal-skin>	
+
+	<!-- BannerPortlet skins -->
+
+	<portlet-skin>
+		<application-name>web</application-name>
+		<portlet-name>BannerPortlet</portlet-name>
+		<skin-name>Default</skin-name>
+		<css-path>/skin/portal/webui/component/UIBannerPortlet/DefaultStylesheet.css</css-path>
+	</portlet-skin>
+		
+	<!-- FooterPortlet skins -->
+
+	<portlet-skin>
+		<application-name>web</application-name>
+		<portlet-name>FooterPortlet</portlet-name>
+		<skin-name>Default</skin-name>
+		<css-path>/skin/portal/webui/component/UIFooterPortlet/DefaultStylesheet.css</css-path>
+	</portlet-skin>
+		
+	<!-- Simple window style -->
+	<window-style>
+		<style-name>Simple</style-name>
+		<style-theme>
+			<theme-name>SimpleBlue</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>SimpleViolet</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>SimpleOrange</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>SimplePink</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>SimpleGreen</theme-name>
+		</style-theme>
+	</window-style>
+	
+	<!-- RoundConer window style -->
+	<window-style>
+		<style-name>RoundConer</style-name>
+		<style-theme>
+			<theme-name>RoundConerBlue</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>RoundConerViolet</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>RoundConerOrange</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>RoundConerPink</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>RoundConerGreen</theme-name>
+		</style-theme>
+	</window-style>
+	
+	<!-- Shadow window style -->
+	<window-style>
+		<style-name>Shadow</style-name>
+		<style-theme>
+			<theme-name>ShadowBlue</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>ShadowViolet</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>ShadowOrange</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>ShadowPink</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>ShadowGreen</theme-name>
+		</style-theme>
+	</window-style>
+	
+	<!-- MacStyle window style -->
+	<window-style>
+		<style-name>MacStyle</style-name>
+		<style-theme>
+			<theme-name>MacTheme</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>MacGray</theme-name>
+		</style-theme>
+		<style-theme>
+			<theme-name>MacGreenSteel</theme-name>
+		</style-theme>
+	</window-style>
+	
+	<!-- VistaStyle window style -->
+	<window-style>
+		<style-name>VistaStyle</style-name>
+		<style-theme>
+			<theme-name>VistaTheme</theme-name>
+		</style-theme>
+	</window-style>
+	
+	<javascript>
+		<param>
+			<js-module>eXo</js-module>
+			<js-path>/javascript/eXo.js</js-path>
+			<js-priority>0</js-priority>
+		</param>
+	</javascript>
+
+	<!-- CORE Javascripts -->
+	<javascript>
+		<param>
+			<js-module>eXo.core.Utils</js-module>
+			<js-path>/javascript/eXo/core/Util.js</js-path>
+			<js-priority>1</js-priority>
+		</param>
+		<param>
+			<js-module>eXo.core.DOMUtil</js-module>
+			<js-path>/javascript/eXo/core/DOMUtil.js</js-path>
+			<js-priority>1</js-priority>
+		</param>
+		<param>
+			<js-module>eXo.core.Browser</js-module>
+			<js-path>/javascript/eXo/core/Browser.js</js-path>
+			<js-priority>2</js-priority>
+		</param>
+		<param>
+			<js-module>eXo.core.MouseEventManager</js-module>
+			<js-path>/javascript/eXo/core/MouseEventManager.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.core.UIMaskLayer</js-module>
+			<js-path>/javascript/eXo/core/UIMaskLayer.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.core.Skin</js-module>
+			<js-path>/javascript/eXo/core/Skin.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.core.DragDrop</js-module>
+			<js-path>/javascript/eXo/core/DragDrop.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.core.DragDrop2</js-module>
+			<js-path>/javascript/eXo/core/DragDrop2.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.core.Topic</js-module>
+			<js-path>/javascript/eXo/core/Topic.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.core.JSON</js-module>
+			<js-path>/javascript/eXo/core/JSON.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.core.Cometd</js-module>
+			<js-path>/javascript/eXo/core/Cometd.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.core.Spliter</js-module>
+			<js-path>/javascript/eXo/core/Spliter.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.core.Notification</js-module>
+			<js-path>/javascript/eXo/core/Notification.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.core.Loader</js-module>
+			<js-path>/javascript/eXo/core/Loader.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.core.I18n</js-module>
+			<js-path>/javascript/eXo/core/I18n.js</js-path>
+		</param>
+	</javascript>
+
+	<!-- Gadget Javascripts -->
+	<javascript>
+		<param>
+			<js-module>eXo.gadget.UIGadget</js-module>
+			<js-path>/javascript/eXo/gadget/UIGadget.js</js-path>
+		</param>
+	</javascript>
+
+	<!-- WebUI Javascripts -->
+	<javascript> 
+		<param>
+			<js-module>eXo.webui.UIItemSelector</js-module>
+			<js-path>/javascript/eXo/webui/UIItemSelector.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIForm</js-module>
+			<js-path>/javascript/eXo/webui/UIForm.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIPopup</js-module>
+			<js-path>/javascript/eXo/webui/UIPopup.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIPopupSelectCategory</js-module>
+			<js-path>/javascript/eXo/webui/UIPopupSelectCategory.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIPopupWindow</js-module>
+			<js-path>/javascript/eXo/webui/UIPopupWindow.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIHorizontalTabs</js-module>
+			<js-path>/javascript/eXo/webui/UIHorizontalTabs.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIPopupMenu</js-module>
+			<js-path>/javascript/eXo/webui/UIPopupMenu.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIDropDownControl</js-module>
+			<js-path>/javascript/eXo/webui/UIDropDownControl.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIRightClickPopupMenu</js-module>
+			<js-path>/javascript/eXo/webui/UIRightClickPopupMenu.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIVerticalSlideTabs</js-module>
+			<js-path>/javascript/eXo/webui/UIVerticalSlideTabs.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIPermissionSelectorTab</js-module>
+			<js-path>/javascript/eXo/webui/UIPermissionSelectorTab.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIDashboard</js-module>
+			<js-path>/javascript/eXo/webui/UIDashboard.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIDashboardUtil</js-module>
+			<js-path>/javascript/eXo/webui/UIDashboardUtil.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UINotification</js-module>
+			<js-path>/javascript/eXo/webui/UINotification.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIUserSelector</js-module>
+			<js-path>/javascript/eXo/webui/UIUserSelector.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UICombobox</js-module>
+			<js-path>/javascript/eXo/webui/UICombobox.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UICombobox</js-module>
+			<js-path>/javascript/eXo/webui/UIVirtualList.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.webui.UIColorPicker</js-module>
+			<js-path>/javascript/eXo/webui/UIColorPicker.js</js-path>
+		</param>
+	</javascript>
+
+	<!-- Portal Javascripts -->
+	<javascript>
+		<param>
+			<js-module>eXo.portal.PortalHttpRequest</js-module>
+			<js-path>/javascript/eXo/portal/PortalHttpRequest.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.portal.UIPortal</js-module>
+			<js-path>/javascript/eXo/portal/UIPortal.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.portal.UIWorkspace</js-module>
+			<js-path>/javascript/eXo/portal/UIWorkspace.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.portal.UIPortalControl</js-module>
+			<js-path>/javascript/eXo/portal/UIPortalControl.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.portal.PortalDragDrop</js-module>
+			<js-path>/javascript/eXo/portal/PortalDragDrop.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.portal.UIPortalNavigation</js-module>
+			<js-path>/javascript/eXo/portal/UIPortalNavigation.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.portal.UIMaskWorkspace</js-module>
+			<js-path>/javascript/eXo/portal/UIMaskWorkspace.js</js-path>
+		</param>
+		<param>
+			<js-module>eXo.portal.UIBrowseContent</js-module>
+			<js-path>/javascript/eXo/portal/UIBrowseContent.js</js-path>
+		</param>
+	</javascript>
+
+	<javascript>
+		<param>
+			<js-module>eXo.webui.UIPortlet</js-module>
+			<js-path>/javascript/eXo/webui/UIPortlet.js</js-path>
+		</param>
+	</javascript>
+</gatein-resources>



More information about the gatein-commits mailing list