2
0
Fork 0

Moved all data objects to Serializable and some generics bits.

This commit is contained in:
Willem Cazander 2014-05-28 15:15:12 +02:00
parent 1b3e65fa83
commit 3bf185ad48
73 changed files with 228 additions and 181 deletions

View file

@ -55,7 +55,7 @@ public interface VascBackend<DATA_OBJECT extends Serializable> {
* note: Do not use inline class here because it needs to be seriabable and the backend is not seriabbzle.
* @return
*/
public VascEntryFieldValue provideVascEntryFieldValue();
public VascEntryFieldValue<DATA_OBJECT> provideVascEntryFieldValue();
/**
* Creates a new RecordCreater obj the the given entry.

View file

@ -22,6 +22,7 @@
package net.forwardfire.vasc.backend;
import java.io.Serializable;
import java.util.List;
@ -32,7 +33,7 @@ import java.util.List;
*/
public interface VascBackendController {
public VascBackend getVascBackendById(String id);
public VascBackend<Serializable> getVascBackendById(String id);
public List<String> getVascBackendIds();
}

View file

@ -31,11 +31,11 @@ import java.io.Serializable;
* @author Willem Cazander
* @version 1.0 Mar 21, 2007
*/
public interface VascEntryFieldValue extends Serializable {
public interface VascEntryFieldValue<DATA_OBJECT extends Serializable> extends Serializable {
public Object getValue(String backendName,Object record) throws VascBackendException;
public Serializable getValue(String backendName,DATA_OBJECT record) throws VascBackendException;
public String getDisplayValue(String backendName,Object record) throws VascBackendException;
public String getDisplayValue(String backendName,DATA_OBJECT record) throws VascBackendException;
public void setValue(String backendName,Object record,Object value) throws VascBackendException;
public void setValue(String backendName,DATA_OBJECT record,Serializable value) throws VascBackendException;
}

View file

@ -23,6 +23,8 @@
package net.forwardfire.vasc.backend.data;
import java.io.Serializable;
import net.forwardfire.vasc.backend.VascBackendException;
import net.forwardfire.vasc.backend.VascEntryFieldValue;
@ -34,7 +36,7 @@ import org.x4o.xml.element.DefaultElementObjectPropertyValue;
* @author Willem Cazander
* @version 1.0 Dec 05, 2009
*/
public class BeanVascEntryFieldValue implements VascEntryFieldValue {
public class BeanVascEntryFieldValue<DATA_OBJECT extends Serializable> implements VascEntryFieldValue<DATA_OBJECT> {
private static final long serialVersionUID = 1L;
private DefaultElementObjectPropertyValue bean = new DefaultElementObjectPropertyValue();
@ -42,7 +44,7 @@ public class BeanVascEntryFieldValue implements VascEntryFieldValue {
/**
* @see net.forwardfire.vasc.core.entry.VascEntryFieldValue#getValue(java.lang.String, java.lang.Object)
*/
public Object getValue(String backendName, Object record) throws VascBackendException {
public Serializable getValue(String backendName, DATA_OBJECT record) throws VascBackendException {
if (backendName==null) {
throw new NullPointerException("Can't get value of null backendName.");
}
@ -50,7 +52,7 @@ public class BeanVascEntryFieldValue implements VascEntryFieldValue {
throw new NullPointerException("Can't get value of null object.");
}
try {
Object o = bean.getProperty(record,backendName);
Serializable o = (Serializable)bean.getProperty(record,backendName);
return o;
} catch (Exception e) {
throw new VascBackendException(e);
@ -60,8 +62,8 @@ public class BeanVascEntryFieldValue implements VascEntryFieldValue {
/**
* @see net.forwardfire.vasc.core.entry.VascEntryFieldValue#getDisplayValue(java.lang.String, java.lang.Object)
*/
public String getDisplayValue(String backendName, Object record) throws VascBackendException {
Object value = getValue(backendName,record);
public String getDisplayValue(String backendName, DATA_OBJECT record) throws VascBackendException {
Serializable value = getValue(backendName,record);
if (value==null) {
return "";
}
@ -89,7 +91,7 @@ public class BeanVascEntryFieldValue implements VascEntryFieldValue {
/**
* @see net.forwardfire.vasc.core.entry.VascEntryFieldValue#setValue(java.lang.String, java.lang.Object, java.lang.Object)
*/
public void setValue(String backendName, Object record,Object value) throws VascBackendException {
public void setValue(String backendName, DATA_OBJECT record,Serializable value) throws VascBackendException {
if (backendName==null) {
throw new NullPointerException("Can't set value of null backendName.");
}

View file

@ -22,43 +22,41 @@
package net.forwardfire.vasc.backend.data;
import java.util.Map;
import java.io.Serializable;
import java.util.HashMap;
import net.forwardfire.vasc.backend.VascBackendException;
import net.forwardfire.vasc.backend.VascEntryFieldValue;
/**
* MapVascEntryFieldValue provides get/set support on Map record object.
*
* @author Willem Cazander
* @version 1.0 Dec 05, 2009
*/
public class HashMapVascEntryFieldValue implements VascEntryFieldValue {
public class HashMapVascEntryFieldValue implements VascEntryFieldValue<HashMap<String,Serializable>> {
private static final long serialVersionUID = 1L;
/**
* @see net.forwardfire.vasc.core.entry.VascEntryFieldValue#getValue(java.lang.String, java.lang.Object)
*/
@SuppressWarnings("unchecked")
public Object getValue(String backendName, Object record) throws VascBackendException {
public Serializable getValue(String backendName,HashMap<String,Serializable> map) throws VascBackendException {
if (backendName==null) {
throw new NullPointerException("Can't get value of null backendName field.");
}
if (record==null) {
if (map==null) {
throw new NullPointerException("Can't get value of null object.");
}
Map<String,Object> map = (Map<String,Object>)record;
Object fieldValue = map.get(backendName);
Serializable fieldValue = map.get(backendName);
return fieldValue;
}
/**
* @see net.forwardfire.vasc.core.entry.VascEntryFieldValue#getDisplayValue(net.forwardfire.vasc.core.VascEntryField, java.lang.Object)
*/
public String getDisplayValue(String field, Object record) throws VascBackendException {
Object fieldValue = getValue(field,record);
public String getDisplayValue(String field, HashMap<String,Serializable> record) throws VascBackendException {
Serializable fieldValue = getValue(field,record);
if (fieldValue==null) {
fieldValue = "";
}
@ -68,10 +66,7 @@ public class HashMapVascEntryFieldValue implements VascEntryFieldValue {
/**
* @see net.forwardfire.vasc.core.entry.VascEntryFieldValue#setValue(java.lang.String, java.lang.Object, java.lang.Object)
*/
@SuppressWarnings("unchecked")
public void setValue(String backendName, Object record,Object value) throws VascBackendException {
Map<String,Object> map = (Map<String,Object>)record;
public void setValue(String backendName, HashMap<String,Serializable> map,Serializable value) throws VascBackendException {
map.put(backendName, value);
}
}

View file

@ -22,6 +22,7 @@
package net.forwardfire.vasc.backend.data;
import java.io.Serializable;
import java.util.HashMap;
import net.forwardfire.vasc.backend.VascBackendException;
@ -33,11 +34,11 @@ import net.forwardfire.vasc.backend.VascEntryRecordCreator;
* @author Willem Cazander
* @version 1.0 Dec 05, 2009
*/
public class HashMapVascEntryRecordCreator implements VascEntryRecordCreator<HashMap<String,Object>> {
public class HashMapVascEntryRecordCreator implements VascEntryRecordCreator<HashMap<String,Serializable>> {
private static final long serialVersionUID = 1L;
public HashMap<String,Object> newRecord() throws VascBackendException {
return new HashMap<String,Object>(10);
public HashMap<String,Serializable> newRecord() throws VascBackendException {
return new HashMap<String,Serializable>(10);
}
}

View file

@ -45,7 +45,6 @@ import org.eobjects.metamodel.schema.Table;
import net.forwardfire.vasc.backend.AbstractVascBackend;
import net.forwardfire.vasc.backend.VascBackendException;
import net.forwardfire.vasc.backend.VascBackendState;
import net.forwardfire.vasc.backend.VascEntryFieldValue;
import net.forwardfire.vasc.backend.VascEntryRecordCreator;
import net.forwardfire.vasc.backend.metamodel.crud.CrudDataContext;
import net.forwardfire.vasc.backend.metamodel.crud.UpdateableRow;
@ -283,7 +282,7 @@ public class MetaModelVascBackend extends AbstractVascBackend<Row> {
crudDataContext.delete((UpdateableRow) object);
}
public VascEntryFieldValue provideVascEntryFieldValue() {
public RowVascEntryFieldValue provideVascEntryFieldValue() {
return new RowVascEntryFieldValue();
}

View file

@ -1,5 +1,7 @@
package net.forwardfire.vasc.backend.metamodel;
import java.io.Serializable;
import org.eobjects.metamodel.data.Row;
import org.eobjects.metamodel.query.SelectItem;
@ -7,14 +9,14 @@ import net.forwardfire.vasc.backend.VascBackendException;
import net.forwardfire.vasc.backend.VascEntryFieldValue;
import net.forwardfire.vasc.backend.metamodel.crud.UpdateableRow;
public class RowVascEntryFieldValue implements VascEntryFieldValue {
public class RowVascEntryFieldValue implements VascEntryFieldValue<Row> {
private static final long serialVersionUID = -806674640688182132L;
/**
* @see net.forwardfire.vasc.backend.VascEntryFieldValue#getValue(java.lang.String, java.lang.Object)
*/
public Object getValue(String backendName, Object record) throws VascBackendException {
public Serializable getValue(String backendName, Row record) throws VascBackendException {
if (backendName==null) {
throw new NullPointerException("Can't get value of null backendName.");
}
@ -23,10 +25,9 @@ public class RowVascEntryFieldValue implements VascEntryFieldValue {
}
if (record instanceof UpdateableRow) {
UpdateableRow row = (UpdateableRow)record;
return row.getValue(backendName);
return (Serializable) row.getValue(backendName);
}
Row row = (Row)record;
Object fieldValue = row.getValue(indexOf(backendName,row));
Serializable fieldValue = (Serializable) record.getValue(indexOf(backendName,record));
return fieldValue;
}
@ -47,7 +48,7 @@ public class RowVascEntryFieldValue implements VascEntryFieldValue {
/**
* @see net.forwardfire.vasc.backend.VascEntryFieldValue#getDisplayValue(java.lang.String, java.lang.Object)
*/
public String getDisplayValue(String backendName, Object record) throws VascBackendException {
public String getDisplayValue(String backendName, Row record) throws VascBackendException {
Object fieldValue = getValue(backendName,record);
if (fieldValue==null) {
fieldValue = "";
@ -58,7 +59,7 @@ public class RowVascEntryFieldValue implements VascEntryFieldValue {
/**
* @see net.forwardfire.vasc.backend.VascEntryFieldValue#setValue(java.lang.String, java.lang.Object, java.lang.Object)
*/
public void setValue(String backendName, Object record,Object value) throws VascBackendException {
public void setValue(String backendName, Row record,Serializable value) throws VascBackendException {
if (record instanceof UpdateableRow) {
UpdateableRow row = (UpdateableRow)record;
row.setValue(backendName, value);

View file

@ -29,7 +29,6 @@ import java.util.logging.Logger;
import net.forwardfire.vasc.backend.AbstractVascBackend;
import net.forwardfire.vasc.backend.VascBackendException;
import net.forwardfire.vasc.backend.VascBackendState;
import net.forwardfire.vasc.backend.VascEntryFieldValue;
import net.forwardfire.vasc.backend.VascEntryRecordCreator;
import com.mongodb.DB;
@ -142,7 +141,7 @@ public class MongodbVascBackend extends AbstractVascBackend<BasicDBObject> {
coll.remove(query); // remove by _id
}
public VascEntryFieldValue provideVascEntryFieldValue() {
public MongodbVascEntryFieldValue provideVascEntryFieldValue() {
return new MongodbVascEntryFieldValue();
}

View file

@ -22,6 +22,8 @@
package net.forwardfire.vasc.backend.mongodb;
import java.io.Serializable;
import net.forwardfire.vasc.backend.VascBackendException;
import net.forwardfire.vasc.backend.VascEntryFieldValue;
@ -33,22 +35,20 @@ import com.mongodb.BasicDBObject;
* @author Willem Cazander
* @version 1.0 Dec 30, 2011
*/
public class MongodbVascEntryFieldValue implements VascEntryFieldValue {
public class MongodbVascEntryFieldValue implements VascEntryFieldValue<BasicDBObject> {
private static final long serialVersionUID = -7371273796529818557L;
public Object getValue(String backendName, Object record) throws VascBackendException {
BasicDBObject row = (BasicDBObject)record;
Object data = row.get(backendName);
public Serializable getValue(String backendName, BasicDBObject row) throws VascBackendException {
Serializable data = (Serializable) row.get(backendName);
return data;
}
public String getDisplayValue(String field, Object record) throws VascBackendException {
return ""+getValue(field,record);
public String getDisplayValue(String field, BasicDBObject row) throws VascBackendException {
return ""+getValue(field,row);
}
public void setValue(String backendName, Object record, Object value) throws VascBackendException {
BasicDBObject row = (BasicDBObject)record;
public void setValue(String backendName, BasicDBObject row, Serializable value) throws VascBackendException {
row.put(backendName, value);
}
}