Package javax.faces.convert

Examples of javax.faces.convert.ConverterException


    // parsing, allowing:
    // 01/13/99  --> 13-Jan-99
    // 03/Oct/99 --> 03-Oct-99
    // 03.Oct.99 --> 03-Oct-99

    ConverterException ce;
    try
    {
      return _parse(context, component, value, pattern);
    }
    catch (ConverterException convException)
View Full Code Here


  protected final DateFormat getDateFormat(
    FacesContext context,
    String pattern
    ) throws ConverterException
  {
    ConverterException exception = null;
    try
    {
      DateFormat format = _getDateFormat(context, pattern);
      return format;
    }
    catch (ConverterException ce)
    {
      exception = ce;
    }
    catch (Exception e)
    {
      exception = new ConverterException(e);
    }
    throw exception;
  }
View Full Code Here

    {
      return _parseString(context, value);
    }
    catch (ParseException pe)
    {
      throw new ConverterException(
                         _getConvertMessage(context, component, value,
                                            getPatterns()));
    }
  }
View Full Code Here

      Object label = _getLabel(component);
      FacesMessage message = MessageFactory.getMessage(context,
                                          messageId,
                                          new Object[]{label, value, param},
                                          label);
      return new ConverterException(message);
   }
View Full Code Here

  static private void _throwConversionError(
    FacesContext context, UIComponent component)
      throws ConverterException
  {
    throw new ConverterException(
          MessageFactory.getMessage(context,
                      UIXSelectMany.CONVERSION_MESSAGE_ID,
                      component));
  }
View Full Code Here

  static private void _throwUnsupportedModelType(
    FacesContext context, Class<?> type, UIComponent component)
      throws ConverterException
  {
    throw new ConverterException(
          MessageFactory.getMessage(context,
                      UIXSelectMany.UNSUPPORTED_MODEL_TYPE_MESSAGE_ID,
                      new Object[]{type}, component));
  }
View Full Code Here

                        if (!Object.class.equals(componentType))
                        {
                            // target is not an Object array
                            // and not a String array (checked some lines above)
                            // and we do not have a Converter
                            throw new ConverterException(
                                    "Could not obtain a Converter for "
                                            + componentType.getName());
                        }
                    }
                }
                // instantiate the array
                targetForConvertedValues = Array.newInstance(componentType,
                        submittedValue.length);
            }
            else if (Collection.class.isAssignableFrom(modelType) || Object.class.equals(modelType))
            {
                if (converter == null)
                {
                    // try to get the by-type-converter from the type of the SelectItems
                    SelectItemsIterator iterator = new SelectItemsIterator(component, facesContext);
                    converter = getSelectItemsValueConverter(iterator, facesContext);
                }
               
                if (Collection.class.isAssignableFrom(modelType))
                {
                    // the target should be a Collection
                    Object collectionTypeAttr = component.getAttributes().get(
                            COLLECTION_TYPE_KEY);
                    if (collectionTypeAttr != null)
                    {
                        Class<?> collectionType = getClassFromAttribute(facesContext, collectionTypeAttr);
                        if (collectionType == null)
                        {
                            throw new FacesException(
                                    "The attribute "
                                            + COLLECTION_TYPE_KEY
                                            + " of component "
                                            + component.getClientId()
                                            + " does not evaluate to a "
                                            + "String, a Class object or a ValueExpression pointing "
                                            + "to a String or a Class object.");
                        }
                        // now we have a collectionType --> but is it really some kind of Collection
                        if (!Collection.class.isAssignableFrom(collectionType))
                        {
                            throw new FacesException("The attribute "
                                    + COLLECTION_TYPE_KEY + " of component "
                                    + component.getClientId()
                                    + " does not point to a valid type of Collection.");
                        }
                        // now we have a real collectionType --> try to instantiate it
                        try
                        {
                            targetForConvertedValues = collectionType.newInstance();
                        }
                        catch (Exception e)
                        {
                            throw new FacesException("The Collection "
                                    + collectionType.getName()
                                    + "can not be instantiated.", e);
                        }
                    }
                    else
                    {
                        // component.getValue() will implement Collection at this point
                        Collection<?> componentValue = (Collection<?>) component
                                .getValue();
                        // can we clone the Collection
                        if (componentValue instanceof Cloneable)
                        {
                            // clone method of Object is protected --> use reflection
                            try
                            {
                                Method cloneMethod = componentValue.getClass()
                                        .getMethod("clone");
                                Collection<?> clone = (Collection<?>) cloneMethod
                                        .invoke(componentValue);
                                clone.clear();
                                targetForConvertedValues = clone;
                            }
                            catch (Exception e)
                            {
                                log(facesContext, "Could not clone "
                                        + componentValue.getClass().getName(), e);
                            }
                        }
   
                        // if clone did not work
                        if (targetForConvertedValues == null)
                        {
                            // try to create the (concrete) collection from modelType
                            // or with the class object of componentValue (if any)
                            try
                            {
                                targetForConvertedValues = (componentValue != null
                                        ? componentValue.getClass()
                                        : modelType).newInstance();
                            }
                            catch (Exception e)
                            {
                                // this did not work either
                                // use the standard concrete type
                                if (SortedSet.class.isAssignableFrom(modelType))
                                {
                                    targetForConvertedValues = new TreeSet();
                                }
                                else if (Queue.class.isAssignableFrom(modelType))
                                {
                                    targetForConvertedValues = new LinkedList();
                                }
                                else if (Set.class.isAssignableFrom(modelType))
                                {
                                    targetForConvertedValues = new HashSet(
                                            submittedValue.length);
                                }
                                else
                                {
                                    targetForConvertedValues = new ArrayList(
                                            submittedValue.length);
                                }
                            }
                        }
                    }
                }
                else /* if (Object.class.equals(modelType)) */
                {
                    // a modelType of Object is also permitted, in order to support
                    // managed bean properties of type Object
                   
                    // optimization: if we don't have a converter, we can return the submittedValue
                    if (converter == null)
                    {
                        return submittedValue;
                    }
                   
                    targetForConvertedValues = new Object[submittedValue.length];
                }
            }
            else
            {
                // the expression does neither point to an array nor to a collection
                throw new ConverterException(
                        "ValueExpression for UISelectMany must be of type Collection or Array.");
            }
        }
        else
        {
View Full Code Here

        {
            converter = findUIOutputConverter(facesContext, output);
        }
        catch (FacesException e)
        {
            throw new ConverterException(e);
        }

        return converter == null ? submittedValue : converter.getAsObject(
                facesContext, output, (String) submittedValue);
    }
View Full Code Here

        {
            converter = findUIOutputConverter(facesContext, output);
        }
        catch (FacesException e)
        {
            throw new ConverterException(e);
        }

        return converter == null ? submittedValue : converter.getAsObject(
                facesContext, output, (String) submittedValue);
    }
View Full Code Here

            return null;
        }

        if (!(submittedValue instanceof String[]))
        {
            throw new ConverterException(
                    "Submitted value of type String[] for component : "
                            + getPathToComponent(selectMany) + "expected");
        }

        return _SharedRendererUtils.getConvertedUISelectManyValue(facesContext,
View Full Code Here

TOP

Related Classes of javax.faces.convert.ConverterException

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.