private Iterator<SelectItem> createSelectItemsIterator(UIComponent component, Object value) { if (value == null) { return ImmutableSet.<SelectItem>of().iterator(); } else if (value instanceof SelectItem) { return Iterators.singletonIterator((SelectItem) value); } else if (value instanceof Object[]) { Iterator<Object> data = Iterators.forArray((Object[]) value); return new GenericItemsIterator(context, component, data); } else if (value instanceof Iterable<?>) { Iterator<?> data = ((Iterable<?>) value).iterator(); return new GenericItemsIterator(context, component, data); } else if (value instanceof Map) { return new MapItemsIterator((Map<?, ?>) value); } else { Logger.Level level = Logger.Level.INFO; if (!context.isProjectStage(ProjectStage.Production)) { level = Logger.Level.WARNING; } if (LOG.isLogEnabled(level)) { ValueExpression expression = component.getValueExpression("value"); LOG.log(level, String.format("ValueExpression %s of UISelectItems with component-path %s" + " does not reference an Object of type SelectItem," + " array, Iterable or Map, but of type: %s", (expression == null ? null : expression.getExpressionString()), RichfacesLogger.getComponentPath(component), (value == null ? null : value.getClass().getName()))); } } return ImmutableSet.<SelectItem>of().iterator(); }
private Iterator<SelectItem> createSelectItemsIterator(UIComponent component, Object value) { if (value == null) { return Iterators.emptyIterator(); } else if (value instanceof SelectItem) { return Iterators.singletonIterator((SelectItem) value); } else if (value instanceof Object[]) { Iterator<Object> data = Iterators.forArray((Object[]) value); return new GenericItemsIterator(context, component, data); } else if (value instanceof Iterable<?>) { Iterator<?> data = ((Iterable<?>) value).iterator(); return new GenericItemsIterator(context, component, data); } else if (value instanceof Map) { return new MapItemsIterator((Map<?, ?>) value); } else { Logger.Level level = Logger.Level.INFO; if (!context.isProjectStage(ProjectStage.Production)) { level = Logger.Level.WARNING; } if (LOG.isLogEnabled(level)) { ValueExpression expression = component.getValueExpression("value"); LOG.log(level, String.format("ValueExpression %s of UISelectItems with component-path %s" + " does not reference an Object of type SelectItem," + " array, Iterable or Map, but of type: %s", (expression == null ? null : expression.getExpressionString()), RichfacesLogger.getComponentPath(component), (value == null ? null : value.getClass().getName()))); } } return Iterators.emptyIterator(); }
private Iterator<SelectItem> createSelectItemsIterator(UIComponent component, Object value) { if (value == null) { return Iterators.emptyIterator(); } else if (value instanceof SelectItem) { return Iterators.singletonIterator((SelectItem) value); } else if (value instanceof Object[]) { Iterator<Object> data = Iterators.forArray((Object[]) value); return new GenericItemsIterator(context, component, data); } else if (value instanceof Iterable<?>) { Iterator<?> data = ((Iterable<?>) value).iterator(); return new GenericItemsIterator(context, component, data); } else if (value instanceof Map) { return new MapItemsIterator((Map<?, ?>) value); } else { Logger.Level level = Logger.Level.INFO; if (!context.isProjectStage(ProjectStage.Production)) { level = Logger.Level.WARNING; } if (LOG.isLogEnabled(level)) { ValueExpression expression = component.getValueExpression("value"); LOG.log(level, String.format("ValueExpression %s of UISelectItems with component-path %s" + " does not reference an Object of type SelectItem," + " array, Iterable or Map, but of type: %s", (expression == null ? null : expression.getExpressionString()), RichfacesLogger.getComponentPath(component), (value == null ? null : value.getClass().getName()))); } } return Iterators.emptyIterator(); }