protected Comparator createComparator() { Object comparator = getComparator(); if (null == comparator) return null; if (false == comparator instanceof Comparator) { throw new ClassCastException(getClassCastExceptionMessage("comparator", Comparator.class, comparator)); } return (Comparator)comparator; }
String foreignComponentName = getFor(); foreignValue = getConvertedValueNonValid(facesContext, foreignComponent); String operator = getOperatorForString(getOperator()); String alternateOperatorName = getAlternateOperatorName(); Object[] args = { uiComponent.getId(), value.toString(), (alternateOperatorName == null) ? nameForOperator(operator) : alternateOperatorName, foreignComponent.getId(), foreignValue.toString() }; String message = getMessage(); if (null == message) message = COMPARE_TO_MESSAGE_ID; Comparator comparator = createComparator(); if (false == validateOperatorOnComparisonResult(operator, comparator.compare(value, foreignValue))) if (false == validateOperatorOnComparisonResult(operator, ((Comparable)value).compareTo(foreignValue))) throw new ClassCastException(getClassCastExceptionMessage(foreignComponent.getId(), Comparable.class, foreignValue)); throw new ClassCastException(getClassCastExceptionMessage(uiComponent.getId(), Comparable.class, value));
Renderer renderer = getRenderer(facesContext, component); if (renderer != null) Converter converter = findUIOutputConverter(facesContext, component); if (converter != null)
private Converter findUIOutputConverter(FacesContext facesContext, UIComponent component) { Converter converter = null; if (component instanceof ValueHolder) { converter = ((ValueHolder)component).getConverter(); } if (converter != null) return converter; //Try to find out by value binding ValueBinding vb = component.getValueBinding("value"); if (vb == null) return null; Class valueType = vb.getType(facesContext); if (valueType == null) return null; if (String.class.equals(valueType)) return null; //No converter needed for String type if (Object.class.equals(valueType)) return null; //There is no converter for Object class try { return facesContext.getApplication().createConverter(valueType); } catch (FacesException e) { getFacesContext().getExternalContext().log("No Converter for type " + valueType.getName() + " found", e); return null; } }
String foreignComponentName = getFor(); foreignValue = getConvertedValueNonValid(facesContext, foreignComponent); String operator = getOperatorForString(getOperator()); String alternateOperatorName = getAlternateOperatorName(); Object[] args = { uiComponent.getId(), value.toString(), (alternateOperatorName == null) ? nameForOperator(operator) : alternateOperatorName, foreignComponent.getId(), foreignValue.toString() }; String message = getMessage(); if (null == message) message = COMPARE_TO_MESSAGE_ID; Comparator comparator = createComparator(); if (false == validateOperatorOnComparisonResult(operator, comparator.compare(value, foreignValue))) if (false == validateOperatorOnComparisonResult(operator, ((Comparable)value).compareTo(foreignValue))) throw new ClassCastException(getClassCastExceptionMessage(foreignComponent.getId(), Comparable.class, foreignValue)); throw new ClassCastException(getClassCastExceptionMessage(uiComponent.getId(), Comparable.class, value));
Renderer renderer = getRenderer(facesContext, component); if (renderer != null) Converter converter = findUIOutputConverter(facesContext, component); if (converter != null)
private Converter findUIOutputConverter(FacesContext facesContext, UIComponent component) { Converter converter = null; if (component instanceof ValueHolder) { converter = ((ValueHolder)component).getConverter(); } if (converter != null) return converter; //Try to find out by value binding ValueExpression vb = component.getValueExpression("value"); if (vb == null) return null; Class valueType = vb.getType(facesContext.getELContext()); if (valueType == null) return null; if (String.class.equals(valueType)) return null; //No converter needed for String type if (Object.class.equals(valueType)) return null; //There is no converter for Object class try { return facesContext.getApplication().createConverter(valueType); } catch (FacesException e) { getFacesContext().getExternalContext().log("No Converter for type " + valueType.getName() + " found", e); return null; } }
String foreignComponentName = getFor(); foreignComponentName = (foreignComponentName != null && foreignComponentName.length() > 0) ? foreignComponentName : getForId(); if (foreignComponentName == null) foreignValue = getConvertedValueNonValid(facesContext, foreignComponent); String operator = getOperatorForString(getOperator()); String alternateOperatorName = getAlternateOperatorName(); Object[] args = (alternateOperatorName == null) ? nameForOperator(operator) : alternateOperatorName, foreignComponent.getId(), foreignValue.toString() }; String message = getMessage(); if (null == message) Comparator comparator = createComparator(); if (false == validateOperatorOnComparisonResult(operator, comparator.compare(value, foreignValue))) if (false == validateOperatorOnComparisonResult(operator, ((Comparable)value).compareTo(foreignValue))) throw new ClassCastException(getClassCastExceptionMessage(foreignComponent.getId(), Comparable.class, foreignValue));
protected Comparator createComparator() { Object comparator = getComparator(); if (null == comparator) { return null; } if (false == comparator instanceof Comparator) { throw new ClassCastException(getClassCastExceptionMessage("comparator", Comparator.class, comparator)); } return (Comparator)comparator; }
Renderer renderer = getRenderer(facesContext, component); if (renderer != null) Converter converter = findUIOutputConverter(facesContext, component); if (converter != null)
private Renderer getRenderer(FacesContext context, UIComponent foreignComponent) { if (context == null) throw new NullPointerException("context"); String rendererType = foreignComponent.getRendererType(); if (rendererType == null) return null; String renderKitId = context.getViewRoot().getRenderKitId(); RenderKitFactory rkf = (RenderKitFactory)FactoryFinder.getFactory(FactoryFinder.RENDER_KIT_FACTORY); RenderKit renderKit = rkf.getRenderKit(context, renderKitId); Renderer renderer = renderKit.getRenderer(foreignComponent.getFamily(), rendererType); if (renderer == null) { getFacesContext().getExternalContext().log("No Renderer found for component " + foreignComponent + " (component-family=" + foreignComponent.getFamily() + ", renderer-type=" + rendererType + ")"); } return renderer; }
protected Comparator createComparator() { Object comparator = getComparator(); if (null == comparator) return null; if (false == comparator instanceof Comparator) { throw new ClassCastException(getClassCastExceptionMessage("comparator", Comparator.class, comparator)); } return (Comparator)comparator; }
getFacesContext().getExternalContext().log("No Converter for type " + valueType.getName() + " found", e); return null;
private Renderer getRenderer(FacesContext context, UIComponent foreignComponent) { if (context == null) throw new NullPointerException("context"); String rendererType = foreignComponent.getRendererType(); if (rendererType == null) return null; String renderKitId = context.getViewRoot().getRenderKitId(); RenderKitFactory rkf = (RenderKitFactory)FactoryFinder.getFactory(FactoryFinder.RENDER_KIT_FACTORY); RenderKit renderKit = rkf.getRenderKit(context, renderKitId); Renderer renderer = renderKit.getRenderer(foreignComponent.getFamily(), rendererType); if (renderer == null) { getFacesContext().getExternalContext().log("No Renderer found for component " + foreignComponent + " (component-family=" + foreignComponent.getFamily() + ", renderer-type=" + rendererType + ")"); } return renderer; }
private Renderer getRenderer(FacesContext context, UIComponent foreignComponent) { if (context == null) { throw new NullPointerException("context"); } String rendererType = foreignComponent.getRendererType(); if (rendererType == null) { return null; } String renderKitId = context.getViewRoot().getRenderKitId(); RenderKitFactory rkf = (RenderKitFactory)FactoryFinder.getFactory(FactoryFinder.RENDER_KIT_FACTORY); RenderKit renderKit = rkf.getRenderKit(context, renderKitId); Renderer renderer = renderKit.getRenderer(foreignComponent.getFamily(), rendererType); if (renderer == null) { getFacesContext().getExternalContext().log("No Renderer found for component " + foreignComponent + " (component-family=" + foreignComponent.getFamily() + ", renderer-type=" + rendererType + ")"); } return renderer; }