View Javadoc

    1   /*
    2    * Licensed to the Apache Software Foundation (ASF) under one
    3    * or more contributor license agreements.  See the NOTICE file
    4    * distributed with this work for additional information
    5    * regarding copyright ownership.  The ASF licenses this file
    6    * to you under the Apache License, Version 2.0 (the
    7    * "License"); you may not use this file except in compliance
    8    * with the License.  You may obtain a copy of the License at
    9    *
    10   *   http://www.apache.org/licenses/LICENSE-2.0
    11   *
    12   * Unless required by applicable law or agreed to in writing,
    13   * software distributed under the License is distributed on an
    14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    15   * KIND, either express or implied.  See the License for the
    16   * specific language governing permissions and limitations
    17   * under the License.
    18   */
    19
    20  package org.apache.myfaces.orchestra.conversation.jsf;
    21
    22  import org.apache.myfaces.orchestra.conversation.ConversationManager;
    23
    24  import javax.faces.context.FacesContext;
    25
    26  /**
    27   * Some helpers usable for public use
    28   */
    29  public final class JsfConversationUtils
    30  {
    31      private JsfConversationUtils()
    32      {
    33      }
    34
    35      /**
    36       * <p>if no conversation with name <code>conversationName</code> is active a navigation with
    37       * the given action will be issued</p>
    38       * <p/>
    39       * Notice: optionally you can use the conversationName as "fromAction" in your faces-config.xml
    40       * </p>
    41       */
    42      public static void ensureConversation(String conversationName, String action)
    43      {
    44          if (!ConversationManager.getInstance().hasConversation(conversationName))
    45          {
    46              FacesContext.getCurrentInstance().getApplication().getNavigationHandler().handleNavigation(
    47                  FacesContext.getCurrentInstance(),
    48                  conversationName,
    49                  action
    50              );
    51          }
    52      }
    53  }