novie-core/src/main/java/com/groupon/novie/internal/services/SqlQueryEngine.java
public <T extends MeasureAppender> T retrieveSummary(SchemaDefinition schemaDefinition, Class<T> resultClazz, QueryParameter queryParameter) throws NovieRuntimeException {
        final SqlQueryBuilder<T> sqlQueryBuilder = new SqlQueryBuilder<T>(schemaDefinition, resultClazz,
                queryParameter.partialCopy(QueryParameterKind.GROUPS, QueryParameterKind.PAGE));
        List<T> result = executeQuery(sqlQueryBuilder);
        if (result.isEmpty()) {
            throw new NovieRuntimeException("Summary doesn't return any result.");
        }
        if (result.size() > 1) {
            throw new NovieRuntimeException("Summary returns more than one result.");
        }
        return result.get(0);
    }
public <T extends MeasureAppender> T retrieveSummary(SchemaDefinition schemaDefinition, Class<T> resultClazz, QueryParameter queryParameter) throws NovieRuntimeException {
        final SqlQueryBuilder<T> sqlQueryBuilder = new SqlQueryBuilder<T>(schemaDefinition, resultClazz,
                queryParameter.partialCopy(QueryParameterKind.GROUPS, QueryParameterKind.PAGE));
        List<T> result = executeQuery(sqlQueryBuilder);
        if (result.isEmpty()) {
            throw new NovieRuntimeException("Summary doesn't return any result.");
        }
        if (result.size() > 1) {
            throw new NovieRuntimeException("Summary returns more than one result.");
        }
        return result.get(0);
    }
public < T extends MeasureAppender > T retrieveSummary ( SchemaDefinition schemaDefinition , Class < T > resultClazz , QueryParameter queryParameter ) throws NovieRuntimeException { final SqlQueryBuilder < T > sqlQueryBuilder = new SqlQueryBuilder < T > ( schemaDefinition , resultClazz , queryParameter . partialCopy ( QueryParameterKind . GROUPS , QueryParameterKind . PAGE ) ) ; List < T > result = executeQuery ( sqlQueryBuilder ) ; if ( result . isEmpty ( ) ) { throw new NovieRuntimeException ( "Summary doesn't return any result." ) ; } if ( result . size ( ) > 1 ) { throw new NovieRuntimeException ( "Summary returns more than one result." ) ; } return result . get ( 0 ) ; }
Execute a query to retrieve the summary. This do not have any group by element

@param schemaDefinition The schema definition
@param resultClazz      The result object
@param queryParameter   The Query parameters object
@return the summary object if exist. Otherwise throws an exception.
@throws com.groupon.novie.internal.exception.NovieRuntimeException
Execute a query to retrieve the summary . This do not have any group by element