/*L
* Copyright Washington University in St.Louis
* Copyright Information Management Services, Inc.
* Copyright Sapient
* Copyright Booz Allen Hamilton
*
* Distributed under the OSI-approved BSD 3-Clause License.
* See http://ncip.github.com/common-biorepository-model/LICENSE.txt for details.
*/
package org.cagrid.CBM.test.query;
import gov.nih.nci.cagrid.cqlquery.CQLQuery;
import gov.nih.nci.cagrid.cqlquery.QueryModifier;
import java.io.StringReader;
import org.cagrid.CBM.test.CbmObject;
public class ObjectCountQueryBuilder extends QueryBuilder {
public ObjectCountQueryBuilder(QueryType queryType) {
super(queryType);
}
public ObjectCountQueryBuilder() {
super();
}
@Override
protected void checkArgs(String... args) throws IllegalArgumentException {
if (args.length != 0) {
throw new IllegalArgumentException("Illegal arguments passed into query builder: " + this.getClass().getSimpleName());
}
}
@Override
public CQLQuery getQueryFromCql(CbmObject object, String... strings) throws Exception {
StringBuffer cql = new StringBuffer();
cql.append("<CQLQuery xmlns=\"http://CQL.caBIG/1/gov.nih.nci.cagrid.CQLQuery\">");
cql.append("<Target name=\"gov.nih.nci.cbm.domain.LogicalModel." + object.getSimpleName() + "\"/>");
cql.append("<QueryModifier countOnly=\"true\"/>");
cql.append("</CQLQuery>");
String queryString = cql.toString();
CQLQuery query = (CQLQuery)gov.nih.nci.cagrid.common.Utils.deserializeObject(new StringReader(queryString), CQLQuery.class);
return query;
}
@Override
public CQLQuery getQueryFromApi(CbmObject object, String... strings) throws Exception {
CQLQuery query = new gov.nih.nci.cagrid.cqlquery.CQLQuery();
gov.nih.nci.cagrid.cqlquery.Object target = new gov.nih.nci.cagrid.cqlquery.Object();
target.setName(object.getCbmClass().getName());
query.setTarget(target);
QueryModifier mod = new QueryModifier();
mod.setCountOnly(true);
query.setQueryModifier(mod);
return query;
}
}