Author: nbelaevski
Date: 2007-11-20 22:49:37 -0500 (Tue, 20 Nov 2007)
New Revision: 4127
Modified:
branches/3.1.x/ui/orderingList/src/main/java/org/richfaces/component/UIOrderingBaseComponent.java
branches/3.1.x/ui/orderingList/src/main/java/org/richfaces/component/UIOrderingList.java
Log:
orderingList refactored
Modified:
branches/3.1.x/ui/orderingList/src/main/java/org/richfaces/component/UIOrderingBaseComponent.java
===================================================================
---
branches/3.1.x/ui/orderingList/src/main/java/org/richfaces/component/UIOrderingBaseComponent.java 2007-11-21
03:49:02 UTC (rev 4126)
+++
branches/3.1.x/ui/orderingList/src/main/java/org/richfaces/component/UIOrderingBaseComponent.java 2007-11-21
03:49:37 UTC (rev 4127)
@@ -4,6 +4,7 @@
package org.richfaces.component;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -14,6 +15,9 @@
import javax.faces.context.FacesContext;
import javax.faces.el.MethodBinding;
import javax.faces.el.ValueBinding;
+import javax.faces.model.ArrayDataModel;
+import javax.faces.model.DataModel;
+import javax.faces.model.ListDataModel;
import javax.faces.validator.Validator;
import org.ajax4jsf.component.UIDataAdaptor;
@@ -236,4 +240,19 @@
this.localValueSet = localValueSet;
}
+ protected DataModel createDataModel(Object value) {
+ DataModel dataModel;
+
+ if (value == null) {
+ dataModel = new ListDataModel(Collections.EMPTY_LIST);
+ } else if (value instanceof List) {
+ dataModel = new ListDataModel((List) value);
+ } else if (Object[].class.isAssignableFrom(value.getClass())) {
+ dataModel = new ArrayDataModel((Object[]) value);
+ } else {
+ throw new IllegalArgumentException();
+ }
+
+ return dataModel;
+ }
}
Modified:
branches/3.1.x/ui/orderingList/src/main/java/org/richfaces/component/UIOrderingList.java
===================================================================
---
branches/3.1.x/ui/orderingList/src/main/java/org/richfaces/component/UIOrderingList.java 2007-11-21
03:49:02 UTC (rev 4126)
+++
branches/3.1.x/ui/orderingList/src/main/java/org/richfaces/component/UIOrderingList.java 2007-11-21
03:49:37 UTC (rev 4127)
@@ -41,7 +41,7 @@
public abstract class UIOrderingList extends UIOrderingBaseComponent {
- public static final class ValueHolder {
+ protected static final class ValueHolder {
private Collection selection;
private boolean selectionSet;
@@ -49,7 +49,7 @@
private boolean activeItemSet;
}
- public static final class SubmittedValue {
+ protected static final class SubmittedValue {
private int[] permutationOrder;
private Set selectedItems = new HashSet();
private Integer activeItem;
@@ -138,11 +138,11 @@
}
}
- private final class CommonItemState implements ItemState {
+ private final class ModelItemState implements ItemState {
private Collection selectedItems;
private Object activeItem;
- public CommonItemState(Collection selectedItems, Object activeItem) {
+ public ModelItemState(Collection selectedItems, Object activeItem) {
super();
this.selectedItems = selectedItems;
this.activeItem = activeItem;
@@ -158,17 +158,7 @@
}
protected ExtendedDataModel createDataModel() {
- DataModel dataModel;
- Object current = getValue();
- if (current == null) {
- dataModel = new ListDataModel(Collections.EMPTY_LIST);
- } else if (current instanceof List) {
- dataModel = new ListDataModel((List) current);
- } else if (Object[].class.isAssignableFrom(current.getClass())) {
- dataModel = new ArrayDataModel((Object[]) current);
- } else {
- throw new IllegalArgumentException();
- }
+ DataModel dataModel = createDataModel(getValue());
if (isTranslatedRenderingState() || isTranslatedState()) {
return new TranslatedSequenceDataModel(dataModel, isTranslatedState(),
submittedValueHolder != null ? submittedValueHolder.permutationOrder : null);
@@ -954,7 +944,7 @@
if (submittedValueHolder != null) {
return new SubmittedItemState(submittedValueHolder.selectedItems,
submittedValueHolder.activeItem);
} else {
- return new CommonItemState(getSelection(), getActiveItem());
+ return new ModelItemState(getSelection(), getActiveItem());
}
}
Show replies by date