Upgraded backend api with generics.
This commit is contained in:
parent
9a6227be5b
commit
1b3e65fa83
53 changed files with 282 additions and 256 deletions
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue