[gatein-commits] gatein SVN: r3076 - in portal/trunk: webui/portal/src/main/java/org/exoplatform/portal/webui/navigation and 1 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Thu May 13 03:49:56 EDT 2010


Author: hoang_to
Date: 2010-05-13 03:49:55 -0400 (Thu, 13 May 2010)
New Revision: 3076

Added:
   portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageNodeForm.java
Removed:
   portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageNodeForm2.java
Modified:
   portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/navigation/webui/component/UIGroupNavigationManagement.java
   portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/navigation/webui/component/UISiteManagement.java
   portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/navigation/UINavigationManagement.java
   portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/navigation/UINavigationNodeSelector.java
Log:
Rename UIPageNodeForm2 to UIPageNodeForm, as former class UIPageNodeForm has been removed

Modified: portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/navigation/webui/component/UIGroupNavigationManagement.java
===================================================================
--- portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/navigation/webui/component/UIGroupNavigationManagement.java	2010-05-13 07:22:09 UTC (rev 3075)
+++ portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/navigation/webui/component/UIGroupNavigationManagement.java	2010-05-13 07:49:55 UTC (rev 3076)
@@ -30,7 +30,7 @@
 import org.exoplatform.portal.webui.navigation.UINavigationManagement;
 import org.exoplatform.portal.webui.navigation.UINavigationNodeSelector;
 import org.exoplatform.portal.webui.navigation.UIPageNavigationForm;
-import org.exoplatform.portal.webui.page.UIPageNodeForm2;
+import org.exoplatform.portal.webui.page.UIPageNodeForm;
 import org.exoplatform.portal.webui.portal.UIPortal;
 import org.exoplatform.portal.webui.util.Util;
 import org.exoplatform.portal.webui.workspace.UIMaskWorkspace;
@@ -70,13 +70,13 @@
       @EventConfig(listeners = UIGroupNavigationManagement.AddNavigationActionListener.class),
       @EventConfig(listeners = UIGroupNavigationManagement.DeleteNavigationActionListener.class, confirm = "UIGroupNavigationManagement.Delete.Confirm")}),
    @ComponentConfig(id = "UIGroupNavigationGrid", type = UIRepeater.class, template = "app:/groovy/navigation/webui/component/UINavigationGrid.gtmpl"),
-   @ComponentConfig(type = UIPageNodeForm2.class, lifecycle = UIFormLifecycle.class, template = "system:/groovy/webui/form/UIFormTabPane.gtmpl", events = {
-      @EventConfig(listeners = UIPageNodeForm2.SaveActionListener.class),
+   @ComponentConfig(type = UIPageNodeForm.class, lifecycle = UIFormLifecycle.class, template = "system:/groovy/webui/form/UIFormTabPane.gtmpl", events = {
+      @EventConfig(listeners = UIPageNodeForm.SaveActionListener.class),
       @EventConfig(listeners = UIGroupNavigationManagement.BackActionListener.class, phase = Phase.DECODE),
-      @EventConfig(listeners = UIPageNodeForm2.SwitchPublicationDateActionListener.class, phase = Phase.DECODE),
-      @EventConfig(listeners = UIPageNodeForm2.SwitchVisibleActionListener.class, phase = Phase.DECODE),
-      @EventConfig(listeners = UIPageNodeForm2.ClearPageActionListener.class, phase = Phase.DECODE),
-      @EventConfig(listeners = UIPageNodeForm2.CreatePageActionListener.class, phase = Phase.DECODE)})})
+      @EventConfig(listeners = UIPageNodeForm.SwitchPublicationDateActionListener.class, phase = Phase.DECODE),
+      @EventConfig(listeners = UIPageNodeForm.SwitchVisibleActionListener.class, phase = Phase.DECODE),
+      @EventConfig(listeners = UIPageNodeForm.ClearPageActionListener.class, phase = Phase.DECODE),
+      @EventConfig(listeners = UIPageNodeForm.CreatePageActionListener.class, phase = Phase.DECODE)})})
 public class UIGroupNavigationManagement extends UIContainer
 {
 
@@ -384,12 +384,12 @@
       }
    }
 
-   static public class BackActionListener extends EventListener<UIPageNodeForm2>
+   static public class BackActionListener extends EventListener<UIPageNodeForm>
    {
 
-      public void execute(Event<UIPageNodeForm2> event) throws Exception
+      public void execute(Event<UIPageNodeForm> event) throws Exception
       {
-         UIPageNodeForm2 uiPageNodeForm = event.getSource();
+         UIPageNodeForm uiPageNodeForm = event.getSource();
          PageNavigation contextNavigation = uiPageNodeForm.getContextPageNavigation();
          
          UIGroupNavigationManagement uiGroupNavigation =

Modified: portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/navigation/webui/component/UISiteManagement.java
===================================================================
--- portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/navigation/webui/component/UISiteManagement.java	2010-05-13 07:22:09 UTC (rev 3075)
+++ portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/navigation/webui/component/UISiteManagement.java	2010-05-13 07:49:55 UTC (rev 3076)
@@ -32,7 +32,7 @@
 import org.exoplatform.portal.webui.navigation.PageNavigationUtils;
 import org.exoplatform.portal.webui.navigation.UINavigationManagement;
 import org.exoplatform.portal.webui.navigation.UINavigationNodeSelector;
-import org.exoplatform.portal.webui.page.UIPageNodeForm2;
+import org.exoplatform.portal.webui.page.UIPageNodeForm;
 import org.exoplatform.portal.webui.page.UISiteBody;
 import org.exoplatform.portal.webui.portal.UIPortal;
 import org.exoplatform.portal.webui.portal.UIPortalComposer;
@@ -69,13 +69,13 @@
       @EventConfig(name = "EditPortalLayout", listeners = UISiteManagement.EditPortalLayoutActionListener.class),
       @EventConfig(listeners = UISiteManagement.EditNavigationActionListener.class),
       @EventConfig(listeners = UISiteManagement.DeletePortalActionListener.class, confirm = "UIPortalBrowser.deletePortal")}),
-   @ComponentConfig(type = UIPageNodeForm2.class, lifecycle = UIFormLifecycle.class, template = "system:/groovy/webui/form/UIFormTabPane.gtmpl", events = {
-      @EventConfig(listeners = UIPageNodeForm2.SaveActionListener.class),
+   @ComponentConfig(type = UIPageNodeForm.class, lifecycle = UIFormLifecycle.class, template = "system:/groovy/webui/form/UIFormTabPane.gtmpl", events = {
+      @EventConfig(listeners = UIPageNodeForm.SaveActionListener.class),
       @EventConfig(listeners = UISiteManagement.BackActionListener.class, phase = Phase.DECODE),
-      @EventConfig(listeners = UIPageNodeForm2.SwitchPublicationDateActionListener.class, phase = Phase.DECODE),
-      @EventConfig(listeners = UIPageNodeForm2.SwitchVisibleActionListener.class, phase = Phase.DECODE),
-      @EventConfig(listeners = UIPageNodeForm2.ClearPageActionListener.class, phase = Phase.DECODE),
-      @EventConfig(listeners = UIPageNodeForm2.CreatePageActionListener.class, phase = Phase.DECODE)})})
+      @EventConfig(listeners = UIPageNodeForm.SwitchPublicationDateActionListener.class, phase = Phase.DECODE),
+      @EventConfig(listeners = UIPageNodeForm.SwitchVisibleActionListener.class, phase = Phase.DECODE),
+      @EventConfig(listeners = UIPageNodeForm.ClearPageActionListener.class, phase = Phase.DECODE),
+      @EventConfig(listeners = UIPageNodeForm.CreatePageActionListener.class, phase = Phase.DECODE)})})
 public class UISiteManagement extends UIContainer
 {
 
@@ -367,12 +367,12 @@
       }
    }
 
-   static public class BackActionListener extends EventListener<UIPageNodeForm2>
+   static public class BackActionListener extends EventListener<UIPageNodeForm>
    {
 
-      public void execute(Event<UIPageNodeForm2> event) throws Exception
+      public void execute(Event<UIPageNodeForm> event) throws Exception
       {
-         UIPageNodeForm2 uiPageNodeForm = event.getSource();
+         UIPageNodeForm uiPageNodeForm = event.getSource();
          PageNavigation contextNavigation = uiPageNodeForm.getContextPageNavigation();
          UISiteManagement uiSiteManagement = uiPageNodeForm.getAncestorOfType(UISiteManagement.class);
          UIPopupWindow uiNavigationPopup = uiSiteManagement.getChild(UIPopupWindow.class);

Modified: portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/navigation/UINavigationManagement.java
===================================================================
--- portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/navigation/UINavigationManagement.java	2010-05-13 07:22:09 UTC (rev 3075)
+++ portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/navigation/UINavigationManagement.java	2010-05-13 07:49:55 UTC (rev 3076)
@@ -25,7 +25,7 @@
 import org.exoplatform.portal.config.UserPortalConfigService;
 import org.exoplatform.portal.config.model.PageNavigation;
 import org.exoplatform.portal.config.model.PortalConfig;
-import org.exoplatform.portal.webui.page.UIPageNodeForm2;
+import org.exoplatform.portal.webui.page.UIPageNodeForm;
 import org.exoplatform.portal.webui.portal.UIPortal;
 import org.exoplatform.portal.webui.util.Util;
 import org.exoplatform.portal.webui.workspace.UIPortalApplication;
@@ -192,7 +192,7 @@
          UINavigationManagement uiManagement = event.getSource();
          UINavigationNodeSelector uiNodeSelector = uiManagement.getChild(UINavigationNodeSelector.class);
          UIPopupWindow uiManagementPopup = uiNodeSelector.getAncestorOfType(UIPopupWindow.class);
-         UIPageNodeForm2 uiNodeForm = uiManagementPopup.createUIComponent(UIPageNodeForm2.class, null, null);
+         UIPageNodeForm uiNodeForm = uiManagementPopup.createUIComponent(UIPageNodeForm.class, null, null);
          uiNodeForm.setValues(null);
          uiManagementPopup.setUIComponent(uiNodeForm);
          PageNavigation nav = uiNodeSelector.getEdittedNavigation();

Modified: portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/navigation/UINavigationNodeSelector.java
===================================================================
--- portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/navigation/UINavigationNodeSelector.java	2010-05-13 07:22:09 UTC (rev 3075)
+++ portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/navigation/UINavigationNodeSelector.java	2010-05-13 07:49:55 UTC (rev 3076)
@@ -28,7 +28,7 @@
 import org.exoplatform.portal.mop.Visibility;
 import org.exoplatform.portal.webui.navigation.ParentChildPair;
 import org.exoplatform.portal.webui.page.UIPage;
-import org.exoplatform.portal.webui.page.UIPageNodeForm2;
+import org.exoplatform.portal.webui.page.UIPageNodeForm;
 import org.exoplatform.portal.webui.portal.UIPortalComposer;
 import org.exoplatform.portal.webui.util.PortalDataMapper;
 import org.exoplatform.portal.webui.util.Util;
@@ -346,7 +346,7 @@
 
          UINavigationNodeSelector uiNodeSelector = uiPopupMenu.getAncestorOfType(UINavigationNodeSelector.class);
          UIPopupWindow uiManagementPopup = uiNodeSelector.getAncestorOfType(UIPopupWindow.class);
-         UIPageNodeForm2 uiNodeForm = uiManagementPopup.createUIComponent(UIPageNodeForm2.class, null, null);
+         UIPageNodeForm uiNodeForm = uiManagementPopup.createUIComponent(UIPageNodeForm.class, null, null);
          uiNodeForm.setValues(null);
          uiManagementPopup.setUIComponent(uiNodeForm);
 
@@ -490,7 +490,7 @@
             }
          }
          UIPopupWindow uiManagementPopup = uiNodeSelector.getAncestorOfType(UIPopupWindow.class);
-         UIPageNodeForm2 uiNodeForm = uiApp.createUIComponent(UIPageNodeForm2.class, null, null);
+         UIPageNodeForm uiNodeForm = uiApp.createUIComponent(UIPageNodeForm.class, null, null);
          uiManagementPopup.setUIComponent(uiNodeForm);
 
          uiNodeForm.setContextPageNavigation(edittedNav);

Added: portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageNodeForm.java
===================================================================
--- portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageNodeForm.java	                        (rev 0)
+++ portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageNodeForm.java	2010-05-13 07:49:55 UTC (rev 3076)
@@ -0,0 +1,471 @@
+/**
+ * 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.
+ */
+
+package org.exoplatform.portal.webui.page;
+
+import org.exoplatform.portal.application.PortalRequestContext;
+import org.exoplatform.portal.config.DataStorage;
+import org.exoplatform.portal.config.UserACL;
+import org.exoplatform.portal.config.model.ModelObject;
+import org.exoplatform.portal.config.model.Page;
+import org.exoplatform.portal.config.model.PageNavigation;
+import org.exoplatform.portal.config.model.PageNode;
+import org.exoplatform.portal.config.model.PortalConfig;
+import org.exoplatform.portal.webui.navigation.PageNavigationUtils;
+import org.exoplatform.portal.webui.portal.UIPortal;
+import org.exoplatform.portal.webui.util.Util;
+import org.exoplatform.portal.webui.workspace.UIPortalApplication;
+import org.exoplatform.web.application.ApplicationMessage;
+import org.exoplatform.webui.application.WebuiRequestContext;
+import org.exoplatform.webui.core.UIApplication;
+import org.exoplatform.webui.core.UIComponent;
+import org.exoplatform.webui.core.UIPopupWindow;
+import org.exoplatform.webui.event.Event;
+import org.exoplatform.webui.event.EventListener;
+import org.exoplatform.webui.event.Event.Phase;
+import org.exoplatform.webui.exception.MessageException;
+import org.exoplatform.webui.form.UIFormCheckBoxInput;
+import org.exoplatform.webui.form.UIFormDateTimeInput;
+import org.exoplatform.webui.form.UIFormInputBase;
+import org.exoplatform.webui.form.UIFormInputIconSelector;
+import org.exoplatform.webui.form.UIFormInputSet;
+import org.exoplatform.webui.form.UIFormStringInput;
+import org.exoplatform.webui.form.UIFormTabPane;
+import org.exoplatform.webui.form.validator.DateTimeValidator;
+import org.exoplatform.webui.form.validator.IdentifierValidator;
+import org.exoplatform.webui.form.validator.MandatoryValidator;
+import org.exoplatform.webui.form.validator.StringLengthValidator;
+import org.exoplatform.webui.form.validator.Validator;
+
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Author : Dang Van Minh, Pham Tuan minhdv81 at yahoo.com Jun 14, 2006
+ */
+public class UIPageNodeForm extends UIFormTabPane
+{
+
+   private PageNode pageNode_;
+
+   private String owner_;
+
+   private String ownerType_;
+
+   private Object selectedParent;
+
+   private PageNavigation contextPageNavigation;
+   
+   final private static String SHOW_PUBLICATION_DATE = "showPublicationDate";
+
+   final private static String START_PUBLICATION_DATE = "startPublicationDate";
+
+   final private static String END_PUBLICATION_DATE = "endPublicationDate";
+   
+   final private static String VISIBLE = "visible";
+
+   public UIPageNodeForm() throws Exception
+   {
+      super("UIPageNodeForm");
+
+      UIFormInputSet uiSettingSet = new UIFormInputSet("PageNodeSetting");
+      UIFormCheckBoxInput<Boolean> uiDateInputCheck =
+         new UIFormCheckBoxInput<Boolean>(SHOW_PUBLICATION_DATE, SHOW_PUBLICATION_DATE, false);
+      UIFormCheckBoxInput<Boolean> uiVisibleCheck = new UIFormCheckBoxInput<Boolean>(VISIBLE, VISIBLE, true);
+      
+      uiDateInputCheck.setOnChange("SwitchPublicationDate");
+      uiVisibleCheck.setOnChange("SwitchVisible");
+      uiSettingSet.addUIFormInput(new UIFormStringInput("uri", "uri", null).setEditable(false))
+      				.addUIFormInput(new UIFormStringInput("name", "name", null).addValidator(MandatoryValidator.class).addValidator(StringLengthValidator.class, 3, 30).addValidator(IdentifierValidator.class))
+      				.addUIFormInput(new UIFormStringInput("label", "label", null).addValidator(StringLengthValidator.class, 3, 120))
+      				.addUIFormInput(uiVisibleCheck.setChecked(true))
+      				.addUIFormInput(uiDateInputCheck)
+      				.addUIFormInput(new UIFormDateTimeInput(START_PUBLICATION_DATE, null, null).addValidator(DateTimeValidator.class))
+      				.addUIFormInput(new UIFormDateTimeInput(END_PUBLICATION_DATE, null, null).addValidator(DateTimeValidator.class));
+      
+      addUIFormInput(uiSettingSet);
+      setSelectedTab(uiSettingSet.getId());
+
+      UIPageSelector2 uiPageSelector = createUIComponent(UIPageSelector2.class, null, null);
+      uiPageSelector.configure("UIPageSelector2", "pageReference");
+      addUIFormInput(uiPageSelector);
+
+      UIFormInputIconSelector uiIconSelector = new UIFormInputIconSelector("Icon", "icon");
+      addUIFormInput(uiIconSelector);
+      setActions(new String[]{"Save", "Back"});
+   }
+
+   public PageNode getPageNode()
+   {
+      return pageNode_;
+   }
+
+   public void setValues(PageNode pageNode) throws Exception
+   {
+      pageNode_ = pageNode;
+      if (pageNode == null)
+      {
+         getUIStringInput("name").setEditable(UIFormStringInput.ENABLE);
+         getChild(UIFormInputIconSelector.class).setSelectedIcon("Default");
+         setShowPublicationDate(false);
+         return;
+      }
+      getUIStringInput("name").setEditable(UIFormStringInput.DISABLE);
+      invokeGetBindingBean(pageNode_);
+   }
+
+   public void invokeGetBindingBean(Object bean) throws Exception
+   {
+      super.invokeGetBindingBean(bean);
+      PageNode pageNode = (PageNode)bean;
+      String icon = pageNode_.getIcon();
+      if (icon == null || icon.length() < 0)
+         icon = "Default";
+      getChild(UIFormInputIconSelector.class).setSelectedIcon(icon);
+      getUIStringInput("label").setValue(pageNode_.getLabel());
+      getUIFormCheckBoxInput(VISIBLE).setChecked(pageNode_.isVisible());
+      getUIFormCheckBoxInput(SHOW_PUBLICATION_DATE).setChecked(pageNode.isShowPublicationDate());
+      setShowCheckPublicationDate(pageNode_.isVisible());
+      Calendar cal = Calendar.getInstance();
+      if (pageNode.getStartPublicationDate() != null)
+      {
+         cal.setTime(pageNode.getStartPublicationDate());
+         getUIFormDateTimeInput(START_PUBLICATION_DATE).setCalendar(cal);
+      }
+      else
+         getUIFormDateTimeInput(START_PUBLICATION_DATE).setValue(null);
+      if (pageNode.getEndPublicationDate() != null)
+      {
+         cal.setTime(pageNode.getEndPublicationDate());
+         getUIFormDateTimeInput(END_PUBLICATION_DATE).setCalendar(cal);
+      }
+      else
+         getUIFormDateTimeInput(END_PUBLICATION_DATE).setValue(null);
+   }
+
+   public void invokeSetBindingBean(Object bean) throws Exception
+   {
+      super.invokeSetBindingBean(bean);
+      PageNode node = (PageNode)bean;
+      Calendar cal = getUIFormDateTimeInput(START_PUBLICATION_DATE).getCalendar();
+      Date date = (cal != null) ? cal.getTime() : null;
+      node.setStartPublicationDate(date);
+      cal = getUIFormDateTimeInput(END_PUBLICATION_DATE).getCalendar();
+      date = (cal != null) ? cal.getTime() : null;
+      node.setEndPublicationDate(date);
+   }
+
+   public void setShowCheckPublicationDate(boolean show)
+   {
+   	getUIFormCheckBoxInput(VISIBLE).setChecked(show);
+   	UIFormCheckBoxInput<Boolean> uiForm = getUIFormCheckBoxInput(SHOW_PUBLICATION_DATE);
+   	uiForm.setRendered(show);
+   	setShowPublicationDate(show && uiForm.isChecked());
+   }
+   
+   public void setShowPublicationDate(boolean show)
+   {
+      getUIFormDateTimeInput(START_PUBLICATION_DATE).setRendered(show);
+      getUIFormDateTimeInput(END_PUBLICATION_DATE).setRendered(show);
+   }
+
+   public Object getSelectedParent()
+   {
+      return selectedParent;
+   }
+
+   public void setSelectedParent(Object obj)
+   {
+      this.selectedParent = obj;
+   }
+
+   public void processRender(WebuiRequestContext context) throws Exception
+   {
+      super.processRender(context);
+
+      UIPageSelector2 uiPageSelector = getChild(UIPageSelector2.class);
+      if (uiPageSelector == null)
+         return;
+      UIPopupWindow uiPopupWindowPage = uiPageSelector.getChild(UIPopupWindow.class);
+      if (uiPopupWindowPage == null)
+         return;
+      uiPopupWindowPage.processRender(context);
+   }
+
+   public String getOwner()
+   {
+      return contextPageNavigation.getOwnerId();
+   }
+
+   public String getOwnerType()
+   {
+      return contextPageNavigation.getOwnerType();
+   }
+   
+   public void setContextPageNavigation(PageNavigation _contextPageNav)
+   {
+      this.contextPageNavigation = _contextPageNav;
+   }
+   
+   public PageNavigation getContextPageNavigation()
+   {
+      return this.contextPageNavigation;
+   }
+
+   static public class SaveActionListener extends EventListener<UIPageNodeForm>
+   {
+      public void execute(Event<UIPageNodeForm> event) throws Exception
+      {
+         WebuiRequestContext ctx = event.getRequestContext();
+         UIPageNodeForm uiPageNodeForm = event.getSource();
+         UIApplication uiPortalApp = ctx.getUIApplication();
+         if (uiPageNodeForm.getUIFormCheckBoxInput(SHOW_PUBLICATION_DATE).isChecked())
+         {
+            Calendar currentCalendar = Calendar.getInstance();
+            currentCalendar.set(currentCalendar.get(Calendar.YEAR), currentCalendar.get(Calendar.MONTH), currentCalendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
+            Date currentDate = currentCalendar.getTime();
+            
+            Calendar startCalendar =
+               uiPageNodeForm.getUIFormDateTimeInput(UIWizardPageSetInfo.START_PUBLICATION_DATE).getCalendar();
+            Date startDate = startCalendar != null ? startCalendar.getTime() : currentDate;
+            Calendar endCalendar =
+               uiPageNodeForm.getUIFormDateTimeInput(UIWizardPageSetInfo.END_PUBLICATION_DATE).getCalendar();
+            Date endDate = endCalendar != null ? endCalendar.getTime() : null;
+            
+            // Case 1: current date after start date
+            if (currentDate.after(startDate))
+            {
+               Object[] args = {};
+               uiPortalApp.addMessage(new ApplicationMessage("UIPageNodeForm2.msg.currentDateBeforeStartDate", args, ApplicationMessage.WARNING));
+               return;
+            }
+            // Case 2: start date after end date
+            else if ((endCalendar != null) && (startCalendar != null) && (startDate.after(endDate)))
+            {
+               Object[] args = {};
+               uiPortalApp.addMessage(new ApplicationMessage("UIPageNodeForm2.msg.startDateBeforeEndDate", args, ApplicationMessage.WARNING));
+               return;
+            }
+            // Case 3: start date is null and current date after end date
+            else if((endCalendar != null) && (currentDate.after(endDate)))
+            {
+               Object[] args = {};
+               uiPortalApp.addMessage(new ApplicationMessage("UIPageNodeForm2.msg.currentDateBeforeEndDate", args, ApplicationMessage.WARNING));
+               return;
+            }
+            
+         }
+
+         PageNode pageNode = uiPageNodeForm.getPageNode();
+         if (pageNode == null)
+            pageNode = new PageNode();
+         uiPageNodeForm.invokeSetBindingBean(pageNode);
+         UIPageSelector2 pageSelector = uiPageNodeForm.getChild(UIPageSelector2.class);
+         if (pageSelector.getPage() == null)
+            pageNode.setPageReference(null);
+         UIFormInputIconSelector uiIconSelector = uiPageNodeForm.getChild(UIFormInputIconSelector.class);
+         if (uiIconSelector.getSelectedIcon().equals("Default"))
+            pageNode.setIcon(null);
+         else
+            pageNode.setIcon(uiIconSelector.getSelectedIcon());
+         if (pageNode.getLabel() == null)
+            pageNode.setLabel(pageNode.getName());
+
+         Object selectedParent = uiPageNodeForm.getSelectedParent();
+         PageNavigation pageNav = null;
+
+         if (selectedParent instanceof PageNavigation)
+         {
+            pageNav = (PageNavigation)selectedParent;
+            pageNode.setUri(pageNode.getName());
+            if (!pageNav.getNodes().contains(pageNode))
+            {
+               if (PageNavigationUtils.searchPageNodeByUri(pageNav, pageNode.getUri()) != null)
+               {
+                  uiPortalApp.addMessage(new ApplicationMessage("UIPageNodeForm2.msg.SameName", null));
+                  return;
+               }
+               pageNav.addNode(pageNode);
+            }
+         }
+         else if (selectedParent instanceof PageNode)
+         {
+            PageNode parentNode = (PageNode)selectedParent;
+            List<PageNode> children = parentNode.getChildren();
+            if (children == null)
+            {
+               children = new ArrayList<PageNode>();
+               parentNode.setChildren((ArrayList<PageNode>)children);
+            }
+            pageNode.setUri(parentNode.getUri() + "/" + pageNode.getName());
+            if (!children.contains(pageNode))
+            {
+               if (PageNavigationUtils.searchPageNodeByUri(parentNode, pageNode.getUri()) != null)
+               {
+                  uiPortalApp.addMessage(new ApplicationMessage("UIPageNodeForm2.msg.SameName", null));
+                  return;
+               }
+               children.add(pageNode);
+            }
+         }
+         uiPageNodeForm.createEvent("Back", Phase.DECODE, ctx).broadcast();
+      }
+   }
+
+   static public class BackActionListener extends EventListener<UIPageNodeForm>
+   {
+
+      public void execute(Event<UIPageNodeForm> event) throws Exception
+      {
+      }
+
+   }
+
+   static public class SwitchPublicationDateActionListener extends EventListener<UIPageNodeForm>
+   {
+      public void execute(Event<UIPageNodeForm> event) throws Exception
+      {
+         UIPageNodeForm uiForm = event.getSource();
+         boolean isCheck = uiForm.getUIFormCheckBoxInput(SHOW_PUBLICATION_DATE).isChecked();
+         uiForm.setShowPublicationDate(isCheck);
+         event.getRequestContext().addUIComponentToUpdateByAjax(uiForm);
+      }
+   }
+   
+   static public class SwitchVisibleActionListener extends EventListener<UIPageNodeForm>
+   {
+		@Override
+		public void execute(Event<UIPageNodeForm> event) throws Exception
+		{
+			UIPageNodeForm uiForm = event.getSource();
+			boolean isCheck = uiForm.getUIFormCheckBoxInput(VISIBLE).isChecked();
+			uiForm.setShowCheckPublicationDate(isCheck);
+			event.getRequestContext().addUIComponentToUpdateByAjax(uiForm);
+		}
+   }
+
+   static public class ClearPageActionListener extends EventListener<UIPageNodeForm>
+   {
+      public void execute(Event<UIPageNodeForm> event) throws Exception
+      {
+         UIPageNodeForm uiForm = event.getSource();
+         UIPageSelector2 pageSelector = uiForm.findFirstComponentOfType(UIPageSelector2.class);
+         pageSelector.setPage(null);
+         event.getRequestContext().addUIComponentToUpdateByAjax(pageSelector);
+      }
+   }
+
+   static public class CreatePageActionListener extends EventListener<UIPageNodeForm>
+   {
+      public void execute(Event<UIPageNodeForm> event) throws Exception
+      {
+         UIPageNodeForm uiForm = event.getSource();
+         UIPageSelector2 pageSelector = uiForm.findFirstComponentOfType(UIPageSelector2.class);
+
+         PortalRequestContext pcontext = Util.getPortalRequestContext();
+         UIPortalApplication uiPortalApp = Util.getUIPortalApplication();
+
+         UIFormInputSet uiInputSet = pageSelector.getChild(UIFormInputSet.class);
+         List<UIComponent> children = uiInputSet.getChildren();
+         /*********************************************************************/
+         for (UIComponent uiChild : children)
+         {
+            if (uiChild instanceof UIFormInputBase)
+            {
+               UIFormInputBase uiInput = (UIFormInputBase)uiChild;
+               if (!uiInput.isValid())
+                  continue;
+               List<Validator> validators = uiInput.getValidators();
+               if (validators == null)
+                  continue;
+               try
+               {
+                  for (Validator validator : validators)
+                     validator.validate(uiInput);
+               }
+               catch (MessageException ex)
+               {
+                  uiPortalApp.addMessage(ex.getDetailMessage());
+                  return;
+               }
+               catch (Exception ex)
+               {
+                  //TODO:  This is a  critical exception and should be handle  in the UIApplication
+                  uiPortalApp.addMessage(new ApplicationMessage(ex.getMessage(), null));
+                  return;
+               }
+            }
+         }
+
+         UserACL userACL = uiForm.getApplicationComponent(UserACL.class);
+
+         String ownerId = uiForm.getOwner();
+         String[] accessPermission = new String[1];
+         accessPermission[0] = "*:" + ownerId;
+         String editPermission = userACL.getMakableMT() + ":" + ownerId;
+         
+         if (PortalConfig.PORTAL_TYPE.equals(uiForm.getOwnerType()))
+         {
+            UIPortal uiPortal = Util.getUIPortal();
+            accessPermission = uiPortal.getAccessPermissions();
+            editPermission = uiPortal.getEditPermission();
+         }
+         
+         
+         UIFormStringInput uiPageName = uiInputSet.getChildById("pageName");
+         UIFormStringInput uiPageTitle = uiInputSet.getChildById("pageTitle");
+
+         Page page = new Page();
+         page.setOwnerType(uiForm.getOwnerType());
+         page.setOwnerId(ownerId);
+         page.setName(uiPageName.getValue());
+         String title = uiPageTitle.getValue();;
+         if (title == null || title.trim().length() < 1)
+            title = page.getName();
+         page.setTitle(title);
+
+         page.setShowMaxWindow(false);
+
+         page.setAccessPermissions(accessPermission);
+         page.setEditPermission(editPermission);
+
+         userACL.hasPermission(page);
+
+         page.setModifiable(true);
+         if (page.getChildren() == null)
+            page.setChildren(new ArrayList<ModelObject>());
+
+         // check page is exist
+         DataStorage dataService = uiForm.getApplicationComponent(DataStorage.class);
+         Page existPage = dataService.getPage(page.getPageId());
+         if (existPage != null)
+         {
+            uiPortalApp.addMessage(new ApplicationMessage("UIPageForm.msg.sameName", null));
+            pcontext.addUIComponentToUpdateByAjax(uiPortalApp.getUIPopupMessages());
+            return;
+         }
+
+         // save page to database
+         dataService.create(page);
+         pageSelector.setValue(page.getPageId());
+      }
+   }
+}

Deleted: portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageNodeForm2.java
===================================================================
--- portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageNodeForm2.java	2010-05-13 07:22:09 UTC (rev 3075)
+++ portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageNodeForm2.java	2010-05-13 07:49:55 UTC (rev 3076)
@@ -1,471 +0,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.
- */
-
-package org.exoplatform.portal.webui.page;
-
-import org.exoplatform.portal.application.PortalRequestContext;
-import org.exoplatform.portal.config.DataStorage;
-import org.exoplatform.portal.config.UserACL;
-import org.exoplatform.portal.config.model.ModelObject;
-import org.exoplatform.portal.config.model.Page;
-import org.exoplatform.portal.config.model.PageNavigation;
-import org.exoplatform.portal.config.model.PageNode;
-import org.exoplatform.portal.config.model.PortalConfig;
-import org.exoplatform.portal.webui.navigation.PageNavigationUtils;
-import org.exoplatform.portal.webui.portal.UIPortal;
-import org.exoplatform.portal.webui.util.Util;
-import org.exoplatform.portal.webui.workspace.UIPortalApplication;
-import org.exoplatform.web.application.ApplicationMessage;
-import org.exoplatform.webui.application.WebuiRequestContext;
-import org.exoplatform.webui.core.UIApplication;
-import org.exoplatform.webui.core.UIComponent;
-import org.exoplatform.webui.core.UIPopupWindow;
-import org.exoplatform.webui.event.Event;
-import org.exoplatform.webui.event.EventListener;
-import org.exoplatform.webui.event.Event.Phase;
-import org.exoplatform.webui.exception.MessageException;
-import org.exoplatform.webui.form.UIFormCheckBoxInput;
-import org.exoplatform.webui.form.UIFormDateTimeInput;
-import org.exoplatform.webui.form.UIFormInputBase;
-import org.exoplatform.webui.form.UIFormInputIconSelector;
-import org.exoplatform.webui.form.UIFormInputSet;
-import org.exoplatform.webui.form.UIFormStringInput;
-import org.exoplatform.webui.form.UIFormTabPane;
-import org.exoplatform.webui.form.validator.DateTimeValidator;
-import org.exoplatform.webui.form.validator.IdentifierValidator;
-import org.exoplatform.webui.form.validator.MandatoryValidator;
-import org.exoplatform.webui.form.validator.StringLengthValidator;
-import org.exoplatform.webui.form.validator.Validator;
-
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.List;
-
-/**
- * Author : Dang Van Minh, Pham Tuan minhdv81 at yahoo.com Jun 14, 2006
- */
-public class UIPageNodeForm2 extends UIFormTabPane
-{
-
-   private PageNode pageNode_;
-
-   private String owner_;
-
-   private String ownerType_;
-
-   private Object selectedParent;
-
-   private PageNavigation contextPageNavigation;
-   
-   final private static String SHOW_PUBLICATION_DATE = "showPublicationDate";
-
-   final private static String START_PUBLICATION_DATE = "startPublicationDate";
-
-   final private static String END_PUBLICATION_DATE = "endPublicationDate";
-   
-   final private static String VISIBLE = "visible";
-
-   public UIPageNodeForm2() throws Exception
-   {
-      super("UIPageNodeForm");
-
-      UIFormInputSet uiSettingSet = new UIFormInputSet("PageNodeSetting");
-      UIFormCheckBoxInput<Boolean> uiDateInputCheck =
-         new UIFormCheckBoxInput<Boolean>(SHOW_PUBLICATION_DATE, SHOW_PUBLICATION_DATE, false);
-      UIFormCheckBoxInput<Boolean> uiVisibleCheck = new UIFormCheckBoxInput<Boolean>(VISIBLE, VISIBLE, true);
-      
-      uiDateInputCheck.setOnChange("SwitchPublicationDate");
-      uiVisibleCheck.setOnChange("SwitchVisible");
-      uiSettingSet.addUIFormInput(new UIFormStringInput("uri", "uri", null).setEditable(false))
-      				.addUIFormInput(new UIFormStringInput("name", "name", null).addValidator(MandatoryValidator.class).addValidator(StringLengthValidator.class, 3, 30).addValidator(IdentifierValidator.class))
-      				.addUIFormInput(new UIFormStringInput("label", "label", null).addValidator(StringLengthValidator.class, 3, 120))
-      				.addUIFormInput(uiVisibleCheck.setChecked(true))
-      				.addUIFormInput(uiDateInputCheck)
-      				.addUIFormInput(new UIFormDateTimeInput(START_PUBLICATION_DATE, null, null).addValidator(DateTimeValidator.class))
-      				.addUIFormInput(new UIFormDateTimeInput(END_PUBLICATION_DATE, null, null).addValidator(DateTimeValidator.class));
-      
-      addUIFormInput(uiSettingSet);
-      setSelectedTab(uiSettingSet.getId());
-
-      UIPageSelector2 uiPageSelector = createUIComponent(UIPageSelector2.class, null, null);
-      uiPageSelector.configure("UIPageSelector2", "pageReference");
-      addUIFormInput(uiPageSelector);
-
-      UIFormInputIconSelector uiIconSelector = new UIFormInputIconSelector("Icon", "icon");
-      addUIFormInput(uiIconSelector);
-      setActions(new String[]{"Save", "Back"});
-   }
-
-   public PageNode getPageNode()
-   {
-      return pageNode_;
-   }
-
-   public void setValues(PageNode pageNode) throws Exception
-   {
-      pageNode_ = pageNode;
-      if (pageNode == null)
-      {
-         getUIStringInput("name").setEditable(UIFormStringInput.ENABLE);
-         getChild(UIFormInputIconSelector.class).setSelectedIcon("Default");
-         setShowPublicationDate(false);
-         return;
-      }
-      getUIStringInput("name").setEditable(UIFormStringInput.DISABLE);
-      invokeGetBindingBean(pageNode_);
-   }
-
-   public void invokeGetBindingBean(Object bean) throws Exception
-   {
-      super.invokeGetBindingBean(bean);
-      PageNode pageNode = (PageNode)bean;
-      String icon = pageNode_.getIcon();
-      if (icon == null || icon.length() < 0)
-         icon = "Default";
-      getChild(UIFormInputIconSelector.class).setSelectedIcon(icon);
-      getUIStringInput("label").setValue(pageNode_.getLabel());
-      getUIFormCheckBoxInput(VISIBLE).setChecked(pageNode_.isVisible());
-      getUIFormCheckBoxInput(SHOW_PUBLICATION_DATE).setChecked(pageNode.isShowPublicationDate());
-      setShowCheckPublicationDate(pageNode_.isVisible());
-      Calendar cal = Calendar.getInstance();
-      if (pageNode.getStartPublicationDate() != null)
-      {
-         cal.setTime(pageNode.getStartPublicationDate());
-         getUIFormDateTimeInput(START_PUBLICATION_DATE).setCalendar(cal);
-      }
-      else
-         getUIFormDateTimeInput(START_PUBLICATION_DATE).setValue(null);
-      if (pageNode.getEndPublicationDate() != null)
-      {
-         cal.setTime(pageNode.getEndPublicationDate());
-         getUIFormDateTimeInput(END_PUBLICATION_DATE).setCalendar(cal);
-      }
-      else
-         getUIFormDateTimeInput(END_PUBLICATION_DATE).setValue(null);
-   }
-
-   public void invokeSetBindingBean(Object bean) throws Exception
-   {
-      super.invokeSetBindingBean(bean);
-      PageNode node = (PageNode)bean;
-      Calendar cal = getUIFormDateTimeInput(START_PUBLICATION_DATE).getCalendar();
-      Date date = (cal != null) ? cal.getTime() : null;
-      node.setStartPublicationDate(date);
-      cal = getUIFormDateTimeInput(END_PUBLICATION_DATE).getCalendar();
-      date = (cal != null) ? cal.getTime() : null;
-      node.setEndPublicationDate(date);
-   }
-
-   public void setShowCheckPublicationDate(boolean show)
-   {
-   	getUIFormCheckBoxInput(VISIBLE).setChecked(show);
-   	UIFormCheckBoxInput<Boolean> uiForm = getUIFormCheckBoxInput(SHOW_PUBLICATION_DATE);
-   	uiForm.setRendered(show);
-   	setShowPublicationDate(show && uiForm.isChecked());
-   }
-   
-   public void setShowPublicationDate(boolean show)
-   {
-      getUIFormDateTimeInput(START_PUBLICATION_DATE).setRendered(show);
-      getUIFormDateTimeInput(END_PUBLICATION_DATE).setRendered(show);
-   }
-
-   public Object getSelectedParent()
-   {
-      return selectedParent;
-   }
-
-   public void setSelectedParent(Object obj)
-   {
-      this.selectedParent = obj;
-   }
-
-   public void processRender(WebuiRequestContext context) throws Exception
-   {
-      super.processRender(context);
-
-      UIPageSelector2 uiPageSelector = getChild(UIPageSelector2.class);
-      if (uiPageSelector == null)
-         return;
-      UIPopupWindow uiPopupWindowPage = uiPageSelector.getChild(UIPopupWindow.class);
-      if (uiPopupWindowPage == null)
-         return;
-      uiPopupWindowPage.processRender(context);
-   }
-
-   public String getOwner()
-   {
-      return contextPageNavigation.getOwnerId();
-   }
-
-   public String getOwnerType()
-   {
-      return contextPageNavigation.getOwnerType();
-   }
-   
-   public void setContextPageNavigation(PageNavigation _contextPageNav)
-   {
-      this.contextPageNavigation = _contextPageNav;
-   }
-   
-   public PageNavigation getContextPageNavigation()
-   {
-      return this.contextPageNavigation;
-   }
-
-   static public class SaveActionListener extends EventListener<UIPageNodeForm2>
-   {
-      public void execute(Event<UIPageNodeForm2> event) throws Exception
-      {
-         WebuiRequestContext ctx = event.getRequestContext();
-         UIPageNodeForm2 uiPageNodeForm = event.getSource();
-         UIApplication uiPortalApp = ctx.getUIApplication();
-         if (uiPageNodeForm.getUIFormCheckBoxInput(SHOW_PUBLICATION_DATE).isChecked())
-         {
-            Calendar currentCalendar = Calendar.getInstance();
-            currentCalendar.set(currentCalendar.get(Calendar.YEAR), currentCalendar.get(Calendar.MONTH), currentCalendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
-            Date currentDate = currentCalendar.getTime();
-            
-            Calendar startCalendar =
-               uiPageNodeForm.getUIFormDateTimeInput(UIWizardPageSetInfo.START_PUBLICATION_DATE).getCalendar();
-            Date startDate = startCalendar != null ? startCalendar.getTime() : currentDate;
-            Calendar endCalendar =
-               uiPageNodeForm.getUIFormDateTimeInput(UIWizardPageSetInfo.END_PUBLICATION_DATE).getCalendar();
-            Date endDate = endCalendar != null ? endCalendar.getTime() : null;
-            
-            // Case 1: current date after start date
-            if (currentDate.after(startDate))
-            {
-               Object[] args = {};
-               uiPortalApp.addMessage(new ApplicationMessage("UIPageNodeForm2.msg.currentDateBeforeStartDate", args, ApplicationMessage.WARNING));
-               return;
-            }
-            // Case 2: start date after end date
-            else if ((endCalendar != null) && (startCalendar != null) && (startDate.after(endDate)))
-            {
-               Object[] args = {};
-               uiPortalApp.addMessage(new ApplicationMessage("UIPageNodeForm2.msg.startDateBeforeEndDate", args, ApplicationMessage.WARNING));
-               return;
-            }
-            // Case 3: start date is null and current date after end date
-            else if((endCalendar != null) && (currentDate.after(endDate)))
-            {
-               Object[] args = {};
-               uiPortalApp.addMessage(new ApplicationMessage("UIPageNodeForm2.msg.currentDateBeforeEndDate", args, ApplicationMessage.WARNING));
-               return;
-            }
-            
-         }
-
-         PageNode pageNode = uiPageNodeForm.getPageNode();
-         if (pageNode == null)
-            pageNode = new PageNode();
-         uiPageNodeForm.invokeSetBindingBean(pageNode);
-         UIPageSelector2 pageSelector = uiPageNodeForm.getChild(UIPageSelector2.class);
-         if (pageSelector.getPage() == null)
-            pageNode.setPageReference(null);
-         UIFormInputIconSelector uiIconSelector = uiPageNodeForm.getChild(UIFormInputIconSelector.class);
-         if (uiIconSelector.getSelectedIcon().equals("Default"))
-            pageNode.setIcon(null);
-         else
-            pageNode.setIcon(uiIconSelector.getSelectedIcon());
-         if (pageNode.getLabel() == null)
-            pageNode.setLabel(pageNode.getName());
-
-         Object selectedParent = uiPageNodeForm.getSelectedParent();
-         PageNavigation pageNav = null;
-
-         if (selectedParent instanceof PageNavigation)
-         {
-            pageNav = (PageNavigation)selectedParent;
-            pageNode.setUri(pageNode.getName());
-            if (!pageNav.getNodes().contains(pageNode))
-            {
-               if (PageNavigationUtils.searchPageNodeByUri(pageNav, pageNode.getUri()) != null)
-               {
-                  uiPortalApp.addMessage(new ApplicationMessage("UIPageNodeForm2.msg.SameName", null));
-                  return;
-               }
-               pageNav.addNode(pageNode);
-            }
-         }
-         else if (selectedParent instanceof PageNode)
-         {
-            PageNode parentNode = (PageNode)selectedParent;
-            List<PageNode> children = parentNode.getChildren();
-            if (children == null)
-            {
-               children = new ArrayList<PageNode>();
-               parentNode.setChildren((ArrayList<PageNode>)children);
-            }
-            pageNode.setUri(parentNode.getUri() + "/" + pageNode.getName());
-            if (!children.contains(pageNode))
-            {
-               if (PageNavigationUtils.searchPageNodeByUri(parentNode, pageNode.getUri()) != null)
-               {
-                  uiPortalApp.addMessage(new ApplicationMessage("UIPageNodeForm2.msg.SameName", null));
-                  return;
-               }
-               children.add(pageNode);
-            }
-         }
-         uiPageNodeForm.createEvent("Back", Phase.DECODE, ctx).broadcast();
-      }
-   }
-
-   static public class BackActionListener extends EventListener<UIPageNodeForm2>
-   {
-
-      public void execute(Event<UIPageNodeForm2> event) throws Exception
-      {
-      }
-
-   }
-
-   static public class SwitchPublicationDateActionListener extends EventListener<UIPageNodeForm2>
-   {
-      public void execute(Event<UIPageNodeForm2> event) throws Exception
-      {
-         UIPageNodeForm2 uiForm = event.getSource();
-         boolean isCheck = uiForm.getUIFormCheckBoxInput(SHOW_PUBLICATION_DATE).isChecked();
-         uiForm.setShowPublicationDate(isCheck);
-         event.getRequestContext().addUIComponentToUpdateByAjax(uiForm);
-      }
-   }
-   
-   static public class SwitchVisibleActionListener extends EventListener<UIPageNodeForm2>
-   {
-		@Override
-		public void execute(Event<UIPageNodeForm2> event) throws Exception
-		{
-			UIPageNodeForm2 uiForm = event.getSource();
-			boolean isCheck = uiForm.getUIFormCheckBoxInput(VISIBLE).isChecked();
-			uiForm.setShowCheckPublicationDate(isCheck);
-			event.getRequestContext().addUIComponentToUpdateByAjax(uiForm);
-		}
-   }
-
-   static public class ClearPageActionListener extends EventListener<UIPageNodeForm2>
-   {
-      public void execute(Event<UIPageNodeForm2> event) throws Exception
-      {
-         UIPageNodeForm2 uiForm = event.getSource();
-         UIPageSelector2 pageSelector = uiForm.findFirstComponentOfType(UIPageSelector2.class);
-         pageSelector.setPage(null);
-         event.getRequestContext().addUIComponentToUpdateByAjax(pageSelector);
-      }
-   }
-
-   static public class CreatePageActionListener extends EventListener<UIPageNodeForm2>
-   {
-      public void execute(Event<UIPageNodeForm2> event) throws Exception
-      {
-         UIPageNodeForm2 uiForm = event.getSource();
-         UIPageSelector2 pageSelector = uiForm.findFirstComponentOfType(UIPageSelector2.class);
-
-         PortalRequestContext pcontext = Util.getPortalRequestContext();
-         UIPortalApplication uiPortalApp = Util.getUIPortalApplication();
-
-         UIFormInputSet uiInputSet = pageSelector.getChild(UIFormInputSet.class);
-         List<UIComponent> children = uiInputSet.getChildren();
-         /*********************************************************************/
-         for (UIComponent uiChild : children)
-         {
-            if (uiChild instanceof UIFormInputBase)
-            {
-               UIFormInputBase uiInput = (UIFormInputBase)uiChild;
-               if (!uiInput.isValid())
-                  continue;
-               List<Validator> validators = uiInput.getValidators();
-               if (validators == null)
-                  continue;
-               try
-               {
-                  for (Validator validator : validators)
-                     validator.validate(uiInput);
-               }
-               catch (MessageException ex)
-               {
-                  uiPortalApp.addMessage(ex.getDetailMessage());
-                  return;
-               }
-               catch (Exception ex)
-               {
-                  //TODO:  This is a  critical exception and should be handle  in the UIApplication
-                  uiPortalApp.addMessage(new ApplicationMessage(ex.getMessage(), null));
-                  return;
-               }
-            }
-         }
-
-         UserACL userACL = uiForm.getApplicationComponent(UserACL.class);
-
-         String ownerId = uiForm.getOwner();
-         String[] accessPermission = new String[1];
-         accessPermission[0] = "*:" + ownerId;
-         String editPermission = userACL.getMakableMT() + ":" + ownerId;
-         
-         if (PortalConfig.PORTAL_TYPE.equals(uiForm.getOwnerType()))
-         {
-            UIPortal uiPortal = Util.getUIPortal();
-            accessPermission = uiPortal.getAccessPermissions();
-            editPermission = uiPortal.getEditPermission();
-         }
-         
-         
-         UIFormStringInput uiPageName = uiInputSet.getChildById("pageName");
-         UIFormStringInput uiPageTitle = uiInputSet.getChildById("pageTitle");
-
-         Page page = new Page();
-         page.setOwnerType(uiForm.getOwnerType());
-         page.setOwnerId(ownerId);
-         page.setName(uiPageName.getValue());
-         String title = uiPageTitle.getValue();;
-         if (title == null || title.trim().length() < 1)
-            title = page.getName();
-         page.setTitle(title);
-
-         page.setShowMaxWindow(false);
-
-         page.setAccessPermissions(accessPermission);
-         page.setEditPermission(editPermission);
-
-         userACL.hasPermission(page);
-
-         page.setModifiable(true);
-         if (page.getChildren() == null)
-            page.setChildren(new ArrayList<ModelObject>());
-
-         // check page is exist
-         DataStorage dataService = uiForm.getApplicationComponent(DataStorage.class);
-         Page existPage = dataService.getPage(page.getPageId());
-         if (existPage != null)
-         {
-            uiPortalApp.addMessage(new ApplicationMessage("UIPageForm.msg.sameName", null));
-            pcontext.addUIComponentToUpdateByAjax(uiPortalApp.getUIPopupMessages());
-            return;
-         }
-
-         // save page to database
-         dataService.create(page);
-         pageSelector.setValue(page.getPageId());
-      }
-   }
-}



More information about the gatein-commits mailing list