Author: phuong_vu
Date: 2011-01-24 21:08:29 -0500 (Mon, 24 Jan 2011)
New Revision: 5807
Modified:
exo/portal/branches/webos-gatein-branch/component/portal/src/main/java/org/exoplatform/portal/config/model/Page.java
exo/portal/branches/webos-gatein-branch/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPage.java
exo/portal/branches/webos-gatein-branch/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageBody.java
exo/portal/branches/webos-gatein-branch/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageCreationWizard.java
exo/portal/branches/webos-gatein-branch/webui/portal/src/main/java/org/exoplatform/portal/webui/util/Util.java
exo/portal/branches/webos-gatein-branch/webui/portal/src/main/java/org/exoplatform/portal/webui/workspace/UIMainActionListener.java
Log:
Page's factoryID should be 'Desktop' for UIDesktopPage or 'Default'
for UIPage
Modified:
exo/portal/branches/webos-gatein-branch/component/portal/src/main/java/org/exoplatform/portal/config/model/Page.java
===================================================================
---
exo/portal/branches/webos-gatein-branch/component/portal/src/main/java/org/exoplatform/portal/config/model/Page.java 2011-01-24
15:48:05 UTC (rev 5806)
+++
exo/portal/branches/webos-gatein-branch/component/portal/src/main/java/org/exoplatform/portal/config/model/Page.java 2011-01-25
02:08:29 UTC (rev 5807)
@@ -196,19 +196,5 @@
public String toString()
{
return "Page[ownerType=" + ownerType + ",ownerId=" + ownerId +
",name=" + name + "]";
- }
-
- @Override
- public final String getFactoryId()
- {
- String factoryId = super.getFactoryId();
- if (factoryId != null)
- {
- return factoryId;
- }
- else
- {
- return "org.exoplatform.portal.webui.page.UIPage";
- }
- }
+ }
}
\ No newline at end of file
Modified:
exo/portal/branches/webos-gatein-branch/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPage.java
===================================================================
---
exo/portal/branches/webos-gatein-branch/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPage.java 2011-01-24
15:48:05 UTC (rev 5806)
+++
exo/portal/branches/webos-gatein-branch/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPage.java 2011-01-25
02:08:29 UTC (rev 5807)
@@ -36,6 +36,8 @@
import org.exoplatform.webui.config.annotation.EventConfig;
import org.exoplatform.webui.event.Event;
import org.exoplatform.webui.event.EventListener;
+import java.util.HashMap;
+import java.util.Map;
/**
* May 19, 2006
@@ -44,7 +46,6 @@
@EventConfig(name = "EditCurrentPage", listeners =
UIPage.EditCurrentPageActionListener.class)})
public class UIPage extends UIContainer
{
-
/** . */
private String pageId;
@@ -58,6 +59,28 @@
private UIPortlet maximizedUIPortlet;
+ protected static Map<String, Class<? extends UIPage>> realClass;
+
+ public static String DEFAULT_FACTORY_ID = "Default";
+
+ static
+ {
+ if (realClass == null)
+ {
+ realClass = new HashMap<String, Class<? extends UIPage>>();
+ realClass.put(DEFAULT_FACTORY_ID, UIPage.class);
+ }
+ }
+
+ public static Class<? extends UIPage> getRealClass(String factoryID)
+ {
+ if (factoryID == null || factoryID.trim().equals("") ||
factoryID.trim().equals(DEFAULT_FACTORY_ID))
+ {
+ return UIPage.class;
+ }
+ return realClass.get(factoryID);
+ }
+
public String getOwnerId()
{
return ownerId;
@@ -160,8 +183,7 @@
uiApp.setModeState(UIPortalApplication.APP_BLOCK_EDIT_MODE);
// We clone the edited UIPage object, that is required for Abort action
- Class<? extends UIPage> clazz = Class.forName(page.getFactoryId())
- .asSubclass(UIPage.class);
+ Class<? extends UIPage> clazz = UIPage.getRealClass(uiPage.getFactoryId());
UIPage newUIPage = uiWorkingWS.createUIComponent(clazz, null, null);
PortalDataMapper.toUIPage(newUIPage, page);
uiToolPanel.setWorkingComponent(newUIPage);
Modified:
exo/portal/branches/webos-gatein-branch/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageBody.java
===================================================================
---
exo/portal/branches/webos-gatein-branch/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageBody.java 2011-01-24
15:48:05 UTC (rev 5806)
+++
exo/portal/branches/webos-gatein-branch/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageBody.java 2011-01-25
02:08:29 UTC (rev 5807)
@@ -145,8 +145,8 @@
{
return uiPage;
}
-
- Class<? extends UIPage> clazz =
Class.forName(page.getFactoryId()).asSubclass(UIPage.class);
+
+ Class<? extends UIPage> clazz = UIPage.getRealClass(page.getFactoryId());
uiPage = createUIComponent(context, clazz, null, null);
PortalDataMapper.toUIPage(uiPage, page);
Modified:
exo/portal/branches/webos-gatein-branch/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageCreationWizard.java
===================================================================
---
exo/portal/branches/webos-gatein-branch/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageCreationWizard.java 2011-01-24
15:48:05 UTC (rev 5806)
+++
exo/portal/branches/webos-gatein-branch/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageCreationWizard.java 2011-01-25
02:08:29 UTC (rev 5807)
@@ -351,7 +351,7 @@
UIPagePreview uiPagePreview = uiWizard.getChild(UIPagePreview.class);
- Class<? extends UIPage> clazz =
Class.forName(page.getFactoryId()).asSubclass(UIPage.class);
+ Class<? extends UIPage> clazz = UIPage.getRealClass(page.getFactoryId());
UIPage uiPage = uiWizard.createUIComponent(context, clazz, null, null);
PortalDataMapper.toUIPage(uiPage, page);
Modified:
exo/portal/branches/webos-gatein-branch/webui/portal/src/main/java/org/exoplatform/portal/webui/util/Util.java
===================================================================
---
exo/portal/branches/webos-gatein-branch/webui/portal/src/main/java/org/exoplatform/portal/webui/util/Util.java 2011-01-24
15:48:05 UTC (rev 5806)
+++
exo/portal/branches/webos-gatein-branch/webui/portal/src/main/java/org/exoplatform/portal/webui/util/Util.java 2011-01-25
02:08:29 UTC (rev 5807)
@@ -226,7 +226,7 @@
return uiPage;
WebuiRequestContext context = Util.getPortalRequestContext();
- Class<? extends UIPage> clazz =
Class.forName(page.getFactoryId()).asSubclass(UIPage.class);
+ Class<? extends UIPage> clazz = UIPage.getRealClass(page.getFactoryId());
uiPage = uiParent.createUIComponent(context, clazz, null, null);
PortalDataMapper.toUIPage(uiPage, page);
Modified:
exo/portal/branches/webos-gatein-branch/webui/portal/src/main/java/org/exoplatform/portal/webui/workspace/UIMainActionListener.java
===================================================================
---
exo/portal/branches/webos-gatein-branch/webui/portal/src/main/java/org/exoplatform/portal/webui/workspace/UIMainActionListener.java 2011-01-24
15:48:05 UTC (rev 5806)
+++
exo/portal/branches/webos-gatein-branch/webui/portal/src/main/java/org/exoplatform/portal/webui/workspace/UIMainActionListener.java 2011-01-25
02:08:29 UTC (rev 5807)
@@ -91,7 +91,7 @@
uiApp.setModeState(UIPortalApplication.APP_BLOCK_EDIT_MODE);
// We clone the edited UIPage object, that is required for Abort action
- Class<? extends UIPage> clazz =
Class.forName(page.getFactoryId()).asSubclass(UIPage.class);
+ Class<? extends UIPage> clazz = UIPage.getRealClass(page.getFactoryId());
UIPage newUIPage = uiWorkingWS.createUIComponent(clazz, null, null);
PortalDataMapper.toUIPage(newUIPage, page);
uiToolPanel.setWorkingComponent(newUIPage);