portals-jetspeed-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From tay...@apache.org
Subject cvs commit: jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/portlets ControlUpdateAction.java ControllerUpdateAction.java
Date Fri, 02 May 2003 20:36:37 GMT
taylor      2003/05/02 13:36:37

  Added:       src/java/org/apache/jetspeed/modules/actions/portlets
                        ControlUpdateAction.java
                        ControllerUpdateAction.java
  Log:
  - Added Registry editors for Controls and Controllers from Jeremy Ford
  
  Revision  Changes    Path
  1.1                  jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/portlets/ControlUpdateAction.java
  
  Index: ControlUpdateAction.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2000-2003 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *     "Apache Jetspeed" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache" or
   *    "Apache Jetspeed", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  package org.apache.jetspeed.modules.actions.portlets;
  
  import org.apache.jetspeed.modules.actions.portlets.security.SecurityConstants;
  import org.apache.jetspeed.om.registry.MediaTypeRegistry;
  import org.apache.jetspeed.om.registry.PortletControlEntry;
  import org.apache.jetspeed.om.registry.RegistryEntry;
  import org.apache.jetspeed.portal.portlets.VelocityPortlet;
  import org.apache.jetspeed.services.Registry;
  import org.apache.turbine.util.RunData;
  import org.apache.velocity.context.Context;
  
  /**
   * This action enables to update the control entries
   *
   * @author <a href="mailto:caius1440@hotmail.com">Jeremy Ford</a>
   * @version $Id: ControlUpdateAction.java,v 1.1 2003/05/02 20:36:37 taylor Exp $
   */
  public class ControlUpdateAction extends RegistryUpdateAction
  {
      private static final String CONTROL_UPDATE_PANE = "ControlForm";
  
      public ControlUpdateAction()
      {
          registryEntryName = "control_name";
          registry = Registry.PORTLET_CONTROL;
          pane = CONTROL_UPDATE_PANE;
      }
  
      /**
       * @see org.apache.jetspeed.modules.actions.portlets.VelocityPortletAction#buildNormalContext(org.apache.jetspeed.portal.portlets.VelocityPortlet,
org.apache.velocity.context.Context, org.apache.turbine.util.RunData)
       */
      protected void buildNormalContext(
          VelocityPortlet portlet,
          Context context,
          RunData rundata)
          throws Exception
      {
          super.buildNormalContext(portlet, context, rundata);
  
          String mode =
              rundata.getParameters().getString(SecurityConstants.PARAM_MODE);
  
          if (mode != null
              && (mode.equals(SecurityConstants.PARAM_MODE_DELETE)
                  || mode.equals(SecurityConstants.PARAM_MODE_UPDATE)))
          {
              String controllerName =
                  rundata.getParameters().getString(registryEntryName);
              PortletControlEntry controlEntry =
                  (PortletControlEntry) Registry.getEntry(
                      registry,
                      controllerName);
              context.put("entry", controlEntry);
  
              MediaTypeRegistry mediaTypeReg =
                  (MediaTypeRegistry) Registry.get(Registry.MEDIA_TYPE);
              context.put(
                  "media_types",
                  iteratorToCollection(mediaTypeReg.listEntryNames()));
          }
      }
  
      protected void updateRegistryEntry(
          RunData rundata,
          RegistryEntry registryEntry)
          throws Exception
      {
          super.updateRegistryEntry(rundata, registryEntry);
  
          PortletControlEntry controllerEntry =
              (PortletControlEntry) registryEntry;
          String className = rundata.getParameters().getString("class_name");
          if (hasChanged(controllerEntry.getClassname(), className))
          {
              controllerEntry.setClassname(className);
          }
      }
  
      /**
       * @see org.apache.jetspeed.modules.actions.portlets.RegistryUpdateAction#resetForm(org.apache.turbine.util.RunData)
       */
      protected void resetForm(RunData rundata)
      {
          super.resetForm(rundata);
      }
  
      /**
       * @see org.apache.jetspeed.modules.actions.portlets.RegistryUpdateAction#clearUserData(org.apache.turbine.util.RunData)
       */
      protected void clearUserData(RunData rundata)
      {
          super.clearUserData(rundata);
      }
  
  }
  
  
  
  1.1                  jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/portlets/ControllerUpdateAction.java
  
  Index: ControllerUpdateAction.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2000-2003 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *     "Apache Jetspeed" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache" or
   *    "Apache Jetspeed", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  package org.apache.jetspeed.modules.actions.portlets;
  
  import org.apache.jetspeed.modules.actions.portlets.security.SecurityConstants;
  import org.apache.jetspeed.om.registry.PortletControllerEntry;
  import org.apache.jetspeed.om.registry.RegistryEntry;
  import org.apache.jetspeed.portal.portlets.VelocityPortlet;
  import org.apache.jetspeed.services.Registry;
  import org.apache.turbine.util.Log;
  import org.apache.turbine.util.RunData;
  import org.apache.velocity.context.Context;
  
  /**
   * This action enables to update the controller entries
   *
   * @author <a href="mailto:caius1440@hotmail.com">Jeremy Ford</a>
   * @version $Id: ControllerUpdateAction.java,v 1.1 2003/05/02 20:36:37 taylor Exp $
   */
  public class ControllerUpdateAction extends RegistryUpdateAction
  {
      private static final String CONTROLLER_UPDATE_PANE = "ControllerForm";
  
      public ControllerUpdateAction()
      {
          registryEntryName = "controller_name";
          registry = Registry.PORTLET_CONTROLLER;
          pane = CONTROLLER_UPDATE_PANE;
      }
  
      /**
       * @see org.apache.jetspeed.modules.actions.portlets.VelocityPortletAction#buildNormalContext(org.apache.jetspeed.portal.portlets.VelocityPortlet,
org.apache.velocity.context.Context, org.apache.turbine.util.RunData)
       */
      protected void buildNormalContext(
          VelocityPortlet portlet,
          Context context,
          RunData rundata)
          throws Exception
      {
          super.buildNormalContext(portlet, context, rundata);
  
          String mode =
              rundata.getParameters().getString(SecurityConstants.PARAM_MODE);
  
          if (mode != null
              && (mode.equals(SecurityConstants.PARAM_MODE_DELETE)
                  || mode.equals(SecurityConstants.PARAM_MODE_UPDATE)))
          {
              String controllerName =
                  rundata.getParameters().getString(registryEntryName);
              PortletControllerEntry controllerEntry =
                  (PortletControllerEntry) Registry.getEntry(
                      registry,
                      controllerName);
              context.put("entry", controllerEntry);
          }
      }
  
      protected void updateRegistryEntry(
          RunData rundata,
          RegistryEntry registryEntry)
          throws Exception
      {
          super.updateRegistryEntry(rundata, registryEntry);
  
          PortletControllerEntry controllerEntry =
              (PortletControllerEntry) registryEntry;
          String className = rundata.getParameters().getString("class_name");
          if (hasChanged(controllerEntry.getClassname(), className))
          {
              controllerEntry.setClassname(className);
          }
      }
  
      /**
       * @param rundata
       */
      protected void clearUserData(RunData rundata)
      {
          try
          {
              super.clearUserData(rundata);
  
              rundata.getUser().removeTemp("media_type_ref");
          }
          catch (Exception e)
          {
              if (Log.getLogger().isDebugEnabled())
              {
                  Log.debug("ControllerUpdateAction: Failed to clear user data");
              }
          }
  
      }
  
      /**
       * @param rundata
       */
      protected void resetForm(RunData rundata)
      {
          super.resetForm(rundata);
          String mediaTypeRef =
              rundata.getParameters().getString("media_type_ref");
  
          rundata.getUser().setTemp("media_type_ref", mediaTypeRef);
      }
  }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jetspeed-dev-help@jakarta.apache.org


Mime
View raw message