2
0
Fork 0

Upgraded backend api with generics.

This commit is contained in:
Willem Cazander 2014-05-28 14:16:03 +02:00
parent 9a6227be5b
commit 1b3e65fa83
53 changed files with 282 additions and 256 deletions

View file

@ -23,6 +23,7 @@
package net.forwardfire.vasc.test.frontend.data;
import java.io.Serializable;
import java.util.Date;
import net.forwardfire.vasc.annotations.VascDefaultValue;
@ -41,8 +42,9 @@ import net.forwardfire.vasc.validators.VascStringLength;
* @author Willem Cazander
* @version 1.0 Mar 28, 2007
*/
@SuppressWarnings("serial")
@VascEntry(headerName="En een tooltip op het model")
public class TestModelOrder {
public class TestModelOrder implements Serializable {
private Integer id = null;
private String name = null;

View file

@ -23,6 +23,7 @@
package net.forwardfire.vasc.test.frontend.data;
import java.io.Serializable;
import java.util.Date;
import net.forwardfire.vasc.annotations.VascDefaultValue;
@ -41,8 +42,9 @@ import net.forwardfire.vasc.validators.VascStringLength;
* @author Willem Cazander
* @version 1.0 Feb 7, 2012
*/
@SuppressWarnings("serial")
@VascEntry(headerName="OrderLine")
public class TestModelOrderLine {
public class TestModelOrderLine implements Serializable {
private TestModelOrder order = null;
private String name = null;

View file

@ -22,6 +22,7 @@
package net.forwardfire.vasc.test.frontend.data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -45,8 +46,8 @@ import net.forwardfire.vasc.backend.data.BeanVascEntryRecordCreator;
public class TestModelVascDataSource {
//private List<TestModelOrder> testModels = null;
public ListObjectVascDataSource orderModel = null;
public ListObjectVascDataSource orderLineModel = null;
public ListObjectVascDataSource<TestModelOrder> orderModel = null;
public ListObjectVascDataSource<TestModelOrderLine> orderLineModel = null;
public TestModelVascDataSource() {
this(new ArrayList<TestModelOrder>(200),new ArrayList<TestModelOrderLine>(200));
@ -86,26 +87,26 @@ public class TestModelVascDataSource {
}
}
class ListObjectVascDataSource extends AbstractVascBackend {
class ListObjectVascDataSource<DATA_OBJECT extends Serializable> extends AbstractVascBackend<DATA_OBJECT> {
private Class<?> modelClass = null;
private List<Object> modelList = null;
private List<DATA_OBJECT> modelList = null;
private String nullLabel = null;
private String nullKeyValue = null;
public ListObjectVascDataSource(Class<?> modelClass,List<Object> modelList) {
public ListObjectVascDataSource(Class<?> modelClass,List<DATA_OBJECT> modelList) {
this.modelClass=modelClass;
this.modelList=modelList;
}
public List<Object> getObjectList() {
public List<DATA_OBJECT> getObjectList() {
return modelList;
}
public List<Object> execute(VascBackendState state) throws VascBackendException {
public List<DATA_OBJECT> execute(VascBackendState state) throws VascBackendException {
if (state.getDataParameterKeys().isEmpty()==false) {
List<Object> result = new ArrayList<Object>(modelList.size()/2);
List<DATA_OBJECT> result = new ArrayList<DATA_OBJECT>(modelList.size()/2);
DefaultElementObjectPropertyValue helper = new DefaultElementObjectPropertyValue();
for (Object row:modelList) {
for (DATA_OBJECT row:modelList) {
boolean addRow = true;
for (String key:state.getDataParameterKeys()) {
Object keyValue = state.getDataParameter(key);
@ -129,26 +130,26 @@ public class TestModelVascDataSource {
}
return result;
} else {
List<Object> result = new ArrayList<Object>(modelList.size());
for (Object row:modelList) {
List<DATA_OBJECT> result = new ArrayList<DATA_OBJECT>(modelList.size());
for (DATA_OBJECT row:modelList) {
result.add(row);
}
return result;
}
}
public void persist(Object object) throws VascBackendException {
public void persist(DATA_OBJECT object) throws VascBackendException {
modelList.add(object);
}
public Object merge(Object object) throws VascBackendException {
public DATA_OBJECT merge(DATA_OBJECT object) throws VascBackendException {
if(modelList.contains(object)==false) {
modelList.add(object);
}
return object;
}
public void delete(Object object) throws VascBackendException {
public void delete(DATA_OBJECT object) throws VascBackendException {
modelList.remove(object);
}