Maybe someone can help me with this: I've got a dataTable and it's populated by ArrayList<> and when I try to update this dataTable after causing some changes in it I've got an exception
SEVERE [http-apr-8080-exec-1] com.sun.faces.renderkit.html_basic.MenuRenderer.createCollection Unable to create new Collection instance for type java.util.Arrays$ArrayList java.lang.InstantiationException: java.util.Arrays$ArrayList
Caused by: java.lang.NoSuchMethodException: java.util.Arrays$ArrayList.()
I saw similar questions on SOF but, unfortunatly, it's no use for me. (my ArrayList doesn't instantiated by Arrays.asList). My app works fine, but I need to remove this exception.
this is a part of my .xhtml where dataTable is define:
<p:dataTable id="columnsDef"
widgetVar="columnsList"
value="#{setup.columnWrapperList}"
var="columnVar"
rowKey="#{columnVar.wrappedColumnId}"
selectionMode="single"
selection="#{setup.selectedColumn}"
lazy="false"
rows="10"
paginator="false"
style="width: 100%"
emptyMessage="#{msg['common.emptyMsg']}"
resizableColumns="true"
filterEvent="enter"
tableStyle="width: auto">
here is part of .xhtml whre setup.columnWrapperList updated
<div class="left">
<p:commandButton icon="ui-icon-triangle-1-n"
actionListener="#{setup.decOrder}"
update="@([id$=columnsDef])"
/>
<p:commandButton icon="ui-icon-triangle-1-s"
actionListener="#{setup.incOrder}"
update="@([id$=columnsDef])"
/>
</div>
and finaly part of "setup" bean that cause changes in ArrayList:
public void decOrder() {
int i = selectedColumn.getOrder();
if (i > 0) {
columnWrapperList.get(i).setOrder(i - 1);
columnWrapperList.get(i - 1).setOrder(i);
columnWrapperList.sort(new Comparator<ColumnWrapper>() {
@Override
public int compare(ColumnWrapper o1, ColumnWrapper o2) {
return o1.getOrder() < o2.getOrder() ? -1 : 1;
}
});
}
}
can some one help me please?