5 changed files with 96 additions and 21 deletions
@ -0,0 +1,25 @@ |
|||||||
|
package org.springframework.datastore.document.mongodb.query; |
||||||
|
|
||||||
|
import com.mongodb.DBObject; |
||||||
|
import com.mongodb.util.JSON; |
||||||
|
|
||||||
|
public class BasicQuery implements Query { |
||||||
|
|
||||||
|
private DBObject dbo = null; |
||||||
|
|
||||||
|
|
||||||
|
public BasicQuery(String query) { |
||||||
|
super(); |
||||||
|
this.dbo = (DBObject) JSON.parse(query); |
||||||
|
} |
||||||
|
|
||||||
|
public BasicQuery(DBObject dbo) { |
||||||
|
super(); |
||||||
|
this.dbo = dbo; |
||||||
|
} |
||||||
|
|
||||||
|
public DBObject getQueryObject() { |
||||||
|
return dbo; |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
@ -0,0 +1,9 @@ |
|||||||
|
package org.springframework.datastore.document.mongodb.query; |
||||||
|
|
||||||
|
import com.mongodb.DBObject; |
||||||
|
|
||||||
|
public interface CriteriaSpec { |
||||||
|
|
||||||
|
DBObject getCriteriaObject(String key); |
||||||
|
|
||||||
|
} |
||||||
@ -0,0 +1,31 @@ |
|||||||
|
package org.springframework.datastore.document.mongodb.query; |
||||||
|
|
||||||
|
import org.bson.types.BasicBSONList; |
||||||
|
|
||||||
|
import com.mongodb.BasicDBObject; |
||||||
|
import com.mongodb.DBObject; |
||||||
|
|
||||||
|
public class OrCriteria implements CriteriaSpec { |
||||||
|
|
||||||
|
Query[] queries = null; |
||||||
|
|
||||||
|
public OrCriteria(Query[] queries) { |
||||||
|
super(); |
||||||
|
this.queries = queries; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/* (non-Javadoc) |
||||||
|
* @see org.springframework.datastore.document.mongodb.query.Criteria#getCriteriaObject(java.lang.String) |
||||||
|
*/ |
||||||
|
public DBObject getCriteriaObject(String key) { |
||||||
|
DBObject dbo = new BasicDBObject(); |
||||||
|
BasicBSONList l = new BasicBSONList(); |
||||||
|
for (Query q : queries) { |
||||||
|
l.add(q.getQueryObject()); |
||||||
|
} |
||||||
|
dbo.put(key, l); |
||||||
|
return dbo; |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
Loading…
Reference in new issue