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

@ -46,7 +46,7 @@ import com.mongodb.WriteResult;
* @author Willem Cazander
* @version 1.0 Dec 30, 2011
*/
public class MongodbVascBackend extends AbstractVascBackend {
public class MongodbVascBackend extends AbstractVascBackend<BasicDBObject> {
private Logger logger = null;
private MongodbConnectionProvider connectionProvider = null;
@ -105,7 +105,7 @@ public class MongodbVascBackend extends AbstractVascBackend {
return query;
}
public List<Object> execute(VascBackendState state) throws VascBackendException {
public List<BasicDBObject> execute(VascBackendState state) throws VascBackendException {
DBCollection coll = getDBCollection();
DBObject query = createFilterQuery(state);
DBCursor cur = coll.find(query);
@ -113,33 +113,32 @@ public class MongodbVascBackend extends AbstractVascBackend {
cur.limit(state.getPageSize());
cur.skip(state.getPageIndex());
}
List<Object> result = new ArrayList<Object>(cur.count());
List<BasicDBObject> result = new ArrayList<BasicDBObject>(cur.count());
while (cur.hasNext()) {
DBObject row = cur.next();
result.add(row);
result.add((BasicDBObject)row);
}
return result;
}
public void persist(Object object) throws VascBackendException {
public void persist(BasicDBObject object) throws VascBackendException {
DBCollection coll = getDBCollection();
coll.insert((DBObject)object);
coll.insert(object);
}
public Object merge(Object object) throws VascBackendException {
public BasicDBObject merge(BasicDBObject row) throws VascBackendException {
DBCollection coll = getDBCollection();
DBObject row = (DBObject)object;
DBObject query = new BasicDBObject();
query.put("_id",row.get("_id"));
WriteResult wr = coll.update(query,row,false,false,WriteConcern.SAFE);
logger.info("WriteResult: "+wr);
return object;
return row;
}
public void delete(Object object) throws VascBackendException {
public void delete(BasicDBObject object) throws VascBackendException {
DBCollection coll = getDBCollection();
DBObject query = new BasicDBObject();
query.put("_id",((DBObject)object).get("_id"));
query.put("_id",object.get("_id"));
coll.remove(query); // remove by _id
}
@ -147,7 +146,7 @@ public class MongodbVascBackend extends AbstractVascBackend {
return new MongodbVascEntryFieldValue();
}
public VascEntryRecordCreator provideVascEntryRecordCreator() {
public VascEntryRecordCreator<BasicDBObject> provideVascEntryRecordCreator() {
return new MongodbVascEntryRecordCreator();
}

View file

@ -34,15 +34,11 @@ import com.mongodb.BasicDBObject;
* @author Willem Cazander
* @version 1.0 Dec 30, 2011
*/
public class MongodbVascEntryRecordCreator implements VascEntryRecordCreator {
public class MongodbVascEntryRecordCreator implements VascEntryRecordCreator<BasicDBObject> {
private static final long serialVersionUID = -9213830731796787384L;
public Object newRecord() throws VascBackendException {
public BasicDBObject newRecord() throws VascBackendException {
return new BasicDBObject();
}
public Class<?> getObjectClass() {
return BasicDBObject.class;
}
}