Search in sources :

Example 16 with NoResultException

use of javax.persistence.NoResultException in project Asqatasun by Asqatasun.

the class StatisticsDAOImpl method findResultCountByResultTypeAndTheme.

/**
     * Native sql query :
     * SELECT th.Id_Theme, ts.$testSolution
     * FROM THEME_STATISTICS as ts, THEME as th, WEB_RESOURCE_STATISTICS as wrs
     *        WHERE ts.Id_Web_Resource_Statistics=wrs.Id_Web_Resource_Statistics
     *        AND wrs.Id_Web_Resource=:idWebResource
     *        AND wrs.Id_Audit=:idAudit
     *        AND th.Id_Theme=ts.Id_Theme
     *        ORDER BY $testSolution
     *        LIMIT :nbOfResult;
     * where $testSolution is computed on the fly for the given the testSolution
     * passed in argument.
     *
     * @param webResource
     * @param audit
     * @param testSolution
     * @param nbOfResult
     * @return
     *      a collection of initialised failedThemeInfo instances
     */
@Override
public Collection<FailedThemeInfo> findResultCountByResultTypeAndTheme(WebResource webResource, Audit audit, TestSolution testSolution, int nbOfResult) {
    StringBuilder queryString = new StringBuilder();
    queryString.append(SELECT_STR);
    queryString.append(ID_THEME_FIELD_STR);
    queryString.append(COMA_CHAR);
    queryString.append(THEME_STATISTICS_TABLE_STR);
    queryString = selectNbField(queryString, testSolution);
    queryString.append(TOP_N_BY_THEME_AND_RESULT_TYPE_QUERY);
    queryString.append(ORDER_BY_STR);
    queryString = selectNbField(queryString, testSolution);
    queryString.append(DESC_STR);
    queryString.append(PARAMETRABLE_LIMIT_STR);
    Query query = entityManager.createNativeQuery(queryString.toString());
    query.setParameter("idWebResource", webResource.getId());
    query.setParameter("idAudit", audit.getId());
    query.setParameter("nbOfResult", nbOfResult);
    try {
        List<Object[]> result = (List<Object[]>) query.getResultList();
        if (result.isEmpty()) {
            return Collections.emptySet();
        }
        return convertRawResultAsFailedThemeInfo(result);
    } catch (NoResultException nre) {
        return Collections.emptySet();
    }
}
Also used : Query(javax.persistence.Query) NoResultException(javax.persistence.NoResultException)

Example 17 with NoResultException

use of javax.persistence.NoResultException in project Asqatasun by Asqatasun.

the class UserDAOImpl method findUserFromName.

@Override
public User findUserFromName(String name) {
    Query query = entityManager.createQuery("SELECT u FROM " + getEntityClass().getName() + " u" + " left join fetch u.contractSet c" + " WHERE u.name = :name");
    query.setParameter("name", name);
    try {
        return (User) query.getSingleResult();
    } catch (NoResultException e) {
        return null;
    }
}
Also used : User(org.asqatasun.webapp.entity.user.User) Query(javax.persistence.Query) NoResultException(javax.persistence.NoResultException)

Example 18 with NoResultException

use of javax.persistence.NoResultException in project Asqatasun by Asqatasun.

the class UserDAOImpl method findUserFromEmail.

@Override
public User findUserFromEmail(String email) {
    Query query = entityManager.createQuery("SELECT u FROM " + getEntityClass().getName() + " u" + " left join fetch u.contractSet c" + //                + " left join fetch c.actSet a"
    " WHERE u.email = :email");
    query.setParameter("email", email);
    try {
        return (User) query.getSingleResult();
    } catch (NoResultException e) {
        return null;
    }
}
Also used : User(org.asqatasun.webapp.entity.user.User) Query(javax.persistence.Query) NoResultException(javax.persistence.NoResultException)

Example 19 with NoResultException

use of javax.persistence.NoResultException in project Asqatasun by Asqatasun.

the class StatisticsDAOImpl method findWebResourceCountByAuditAndHttpStatusCode.

/**
     * Native sql query :
     * SELECT count(Id_Web_Resource_Statistics)
     * FROM WEB_RESOURCE_STATISTICS as wrs, WEB_RESOURCE as w 
     *       WHERE wrs.Id_Audit=:idAudit 
     *       AND wrs.Id_Web_Resource=w.Id_Web_Resource 
     *       AND wrs.Http_Status_Code like :httpStatusCode
     *       AND w.Url like %:containingValue%;
     *
     * The condition applied on the web resource is optionnal, depending on
     * if the given sequence is not null or empty
     *
     * @param idAudit
     * @param httpStatusCode
     * @param containingValue
     * @return
     *      the number of webresource for given audit, webresource and http return
     *      status code.
     */
@Override
public Long findWebResourceCountByAuditAndHttpStatusCode(Long idAudit, HttpStatusCodeFamily httpStatusCode, String invalidTestLabel, String containingValue) {
    boolean hasContainingValue = false;
    boolean hasInvalidTestConstraint = false;
    if (containingValue != null && !containingValue.isEmpty()) {
        hasContainingValue = true;
    }
    if (invalidTestLabel != null) {
        hasInvalidTestConstraint = true;
    }
    StringBuilder queryString = new StringBuilder();
    queryString.append(SELECT_STR);
    queryString.append(WEB_RESOURCE_STAT_COUNT);
    queryString.append(W_WRS_JOINTURE);
    if (hasInvalidTestConstraint) {
        queryString.append(PR_T_JOINTURE);
    }
    queryString.append(AUDIT_AND_STATUS_CODE_CONDITION);
    // HttpStatusCodeFamily.CODE4xx instance is passed as argument.
    if (httpStatusCode.equals(HttpStatusCodeFamily.f4xx)) {
        queryString.append(EXTRA_HTTP_STATUS_CODE_CONDITION);
    } else {
        queryString.append(')');
    }
    if (hasContainingValue) {
        queryString.append(CONTAINING_VALUE_CONDITION);
    }
    if (hasInvalidTestConstraint) {
        queryString.append(INVALID_TEST_CONDITION);
    }
    Query query = entityManager.createNativeQuery(queryString.toString());
    query.setParameter("httpStatusCode", httpStatusCode.getCode() + "%");
    if (httpStatusCode.equals(HttpStatusCodeFamily.f4xx)) {
        query.setParameter("extraHttpStatusCode", HttpStatusCodeFamily.f5xx.getCode() + "%");
    }
    query.setParameter("idAudit", idAudit);
    if (hasContainingValue) {
        query.setParameter("containingValue", "%" + containingValue + "%");
    }
    if (hasInvalidTestConstraint) {
        query.setParameter("invalidTestLabel", invalidTestLabel);
    }
    try {
        return (((BigInteger) query.getSingleResult()).longValue());
    } catch (NoResultException e) {
        return (long) 0;
    }
}
Also used : Query(javax.persistence.Query) NoResultException(javax.persistence.NoResultException)

Example 20 with NoResultException

use of javax.persistence.NoResultException in project Asqatasun by Asqatasun.

the class StatisticsDAOImpl method findWebResourceByAuditAndHttpStatusCode.

/**
     * Native sql query :
     * SELECT w.Url, w.Rank, wrs.Mark, wrs.Id_Web_Resource, wrs.Http_Status_Code
     * FROM WEB_RESOURCE_STATISTICS as wrs, WEB_RESOURCE as w
     *       WHERE wrs.Id_Audit=:idAudit
     *       AND wrs.Id_Web_Resource=w.Id_Web_Resource
     *       AND wrs.Http_Status_Code like :httpStatusCode
     *       AND w.Url like %:containingValue%;
     *       ORDER BY $orderValue
     *       $sortDirection
     *       LIMIT :nbOfResult,:window 
     *
     * The condition applied on the web resource is optional, depending on
     * if the given sequence is not null or empty
     *
     * The $orderValue can be set to "wrs.Mark" (if "mark" is passed as argument),
     * to "wrs.Http_Status_Code" (if "httpStatusCode is passed as arguement) and
     * to "w.Url" (default value).
     *
     * The $sortDirection can be to DESC (if "2" is passed as argument) or ASC
     * (default value).
     *
     * The limitation is disables when window is set to -1.
     *
     * @param idAudit
     * @param httpStatusCode
     * @param invalidTestLabel
     * @param window
     * @param nbOfResult
     * @param sortDirection
     * @param sortCriterion
     * @param containingValue
     * @return
     */
@Override
public Collection<PageResult> findWebResourceByAuditAndHttpStatusCode(Long idAudit, HttpStatusCodeFamily httpStatusCode, String invalidTestLabel, int window, int nbOfResult, SortOrderEnum sortDirection, String sortCriterion, String containingValue) {
    boolean hasContainingValue = false;
    boolean hasInvalidTestConstraint = false;
    if (containingValue != null && !containingValue.isEmpty()) {
        hasContainingValue = true;
    }
    if (invalidTestLabel != null) {
        hasInvalidTestConstraint = true;
    }
    StringBuilder queryString = new StringBuilder();
    queryString.append(SELECT_STR);
    queryString.append(URL_FIELD_STR);
    queryString.append(COMA_CHAR);
    queryString.append("w.Rank");
    queryString.append(COMA_CHAR);
    queryString.append("wrs.Mark");
    queryString.append(COMA_CHAR);
    queryString.append("wrs.Raw_Mark");
    queryString.append(COMA_CHAR);
    queryString.append("wrs.Id_Web_Resource");
    queryString.append(COMA_CHAR);
    queryString.append("wrs.Http_Status_Code");
    queryString.append(W_WRS_JOINTURE);
    if (hasInvalidTestConstraint) {
        queryString.append(PR_T_JOINTURE);
    }
    queryString.append(AUDIT_AND_STATUS_CODE_CONDITION);
    // HttpStatusCodeFamily.CODE4xx instance is passed as argument.
    if (httpStatusCode.equals(HttpStatusCodeFamily.f4xx)) {
        queryString.append(EXTRA_HTTP_STATUS_CODE_CONDITION);
    } else {
        queryString.append(')');
    }
    if (hasContainingValue) {
        queryString.append(CONTAINING_VALUE_CONDITION);
    }
    if (hasInvalidTestConstraint) {
        queryString.append(INVALID_TEST_CONDITION);
    }
    queryString.append(ORDER_BY_STR);
    if (sortCriterion.equalsIgnoreCase("weightedMark")) {
        queryString.append("wrs.Mark");
    } else if (sortCriterion.equalsIgnoreCase("rawMark")) {
        queryString.append("wrs.Raw_Mark");
    } else if (sortCriterion.equalsIgnoreCase("httpStatusCode")) {
        queryString.append("wrs.Http_Status_Code");
    } else if (sortCriterion.equalsIgnoreCase("rank")) {
        queryString.append("w.Rank");
    } else {
        queryString.append(URL_FIELD_STR);
    }
    if (sortDirection.equals(SortOrderEnum.DESCENDING)) {
        queryString.append(DESC_STR);
    } else {
        queryString.append(ASC_STR);
    }
    if (nbOfResult != -1) {
        queryString.append(PARAMETRABLE_LIMIT_STR);
        queryString.append(PARAMETRABLE_WINDOW_STR);
    }
    Query query = entityManager.createNativeQuery(queryString.toString());
    query.setParameter("httpStatusCode", httpStatusCode.getCode() + "%");
    if (httpStatusCode.equals(HttpStatusCodeFamily.f4xx)) {
        query.setParameter("extraHttpStatusCode", HttpStatusCodeFamily.f5xx.getCode() + "%");
    }
    query.setParameter("idAudit", idAudit);
    if (nbOfResult != -1) {
        query.setParameter("nbOfResult", nbOfResult);
        query.setParameter("window", window);
    }
    if (hasContainingValue) {
        query.setParameter("containingValue", "%" + containingValue + "%");
    }
    if (hasInvalidTestConstraint) {
        query.setParameter("invalidTestLabel", invalidTestLabel);
    }
    try {
        List<Object[]> result = (List<Object[]>) query.getResultList();
        if (result.isEmpty()) {
            return Collections.emptySet();
        }
        return convertRawResultAsPageResultSet(result);
    } catch (NoResultException e) {
        return Collections.emptySet();
    }
}
Also used : Query(javax.persistence.Query) NoResultException(javax.persistence.NoResultException)

Aggregations

NoResultException (javax.persistence.NoResultException)356 Query (javax.persistence.Query)205 EntityManager (javax.persistence.EntityManager)69 NonUniqueResultException (javax.persistence.NonUniqueResultException)33 CriteriaQuery (javax.persistence.criteria.CriteriaQuery)25 TypedQuery (javax.persistence.TypedQuery)22 Transactional (org.springframework.transaction.annotation.Transactional)20 CriteriaBuilder (javax.persistence.criteria.CriteriaBuilder)19 Test (org.junit.Test)17 IOException (java.io.IOException)16 ArrayList (java.util.ArrayList)15 Session (org.hibernate.Session)13 UnitOfWork (com.google.inject.persist.UnitOfWork)12 Project (de.tudarmstadt.ukp.clarin.webanno.model.Project)11 PersistenceException (javax.persistence.PersistenceException)11 Date (java.util.Date)9 NotFoundException (org.opencastproject.util.NotFoundException)9 TblMle (com.intel.mtwilson.as.data.TblMle)8 List (java.util.List)8 NamedQuery (javax.persistence.NamedQuery)8