Example usage for org.hibernate.type StandardBasicTypes LONG

List of usage examples for org.hibernate.type StandardBasicTypes LONG

Introduction

In this page you can find the example usage for org.hibernate.type StandardBasicTypes LONG.

Prototype

LongType LONG

To view the source code for org.hibernate.type StandardBasicTypes LONG.

Click Source Link

Document

The standard Hibernate type for mapping Long to JDBC java.sql.Types#BIGINT BIGINT .

Usage

From source file:edu.psu.iam.cpr.core.database.Database.java

License:Apache License

/**
 * This routine is used to obtain a person identifier using a psu id number.
 * @param psuId contains the psu id number.
 * @return person id if the psu id can be found, otherwise it will return a -1 to indicate an error.
 * @throws CprException //  w w  w  .jav a 2  s  . co m
 */
public long getPersonIdUsingPsuId(final String psuId) throws CprException {

    Long personId = NOT_FOUND_VALUE;

    final String sqlQuery = "SELECT person_id FROM {h-schema}psu_id WHERE psu_id = :psuid AND end_date IS NULL";
    final SQLQuery query = session.createSQLQuery(sqlQuery);
    query.setParameter("psuid", psuId);
    query.addScalar("person_id", StandardBasicTypes.LONG);
    final Iterator<?> it = query.list().iterator();
    if (it.hasNext()) {
        personId = (Long) it.next();
    }

    if (personId.equals(NOT_FOUND_VALUE)) {
        throw new CprException(ReturnType.PERSON_NOT_FOUND_EXCEPTION);
    }

    return personId;

}

From source file:edu.psu.iam.cpr.core.database.Database.java

License:Apache License

/**
 * This routine is used to obtain a person identifier using a userid.
 * @param userid contains the userid to be used in the search.
 * @return person id if the userid can be found, otherwise it will return a -1 to indicate an error.
 * @throws CprException exception indicates a cpr specific java exception.
 *//*from  w  ww.  j  a v  a2 s  . com*/
public long getPersonIdUsingUserid(final String userid) throws CprException {

    Long personId = NOT_FOUND_VALUE;

    final String sqlQuery = "SELECT person_id FROM {h-schema}userid WHERE userid = :userid";
    final SQLQuery query = session.createSQLQuery(sqlQuery);
    query.setParameter("userid", userid);
    query.addScalar("person_id", StandardBasicTypes.LONG);
    final Iterator<?> it = query.list().iterator();
    if (it.hasNext()) {
        personId = (Long) it.next();
    }

    if (personId.equals(NOT_FOUND_VALUE)) {
        throw new CprException(ReturnType.PERSON_NOT_FOUND_EXCEPTION);
    }

    return personId;
}

From source file:edu.psu.iam.cpr.core.database.Database.java

License:Apache License

/**
 * This routine is used to find a person using their id card number.
 * @param idCard contains the id card that is used to be search for.
 * @return will return the person identifier if a user was found with the correct id.
 * @throws CprException will be thrown if there are any CPR specific problems.
 *//*from  w  w  w.  j  a  va2 s . c o m*/
public long getPersonIdUsingIdCard(final String idCard) throws CprException {

    Long personId = NOT_FOUND_VALUE;

    final String sqlQuery = "SELECT person_id FROM {h-schema}person_id_card WHERE id_card_number = :idcard AND end_date IS NULL";
    final SQLQuery query = session.createSQLQuery(sqlQuery);
    query.setParameter("idcard", idCard);
    query.addScalar("person_id", StandardBasicTypes.LONG);
    final Iterator<?> it = query.list().iterator();
    if (it.hasNext()) {
        personId = (Long) it.next();
    }

    if (personId.equals(NOT_FOUND_VALUE)) {
        throw new CprException(ReturnType.PERSON_NOT_FOUND_EXCEPTION);
    }

    return personId;
}

From source file:edu.psu.iam.cpr.core.database.Database.java

License:Apache License

/**
 * This routine is used to determine whether a userid/person id is valid and whether the userid is still active.
 * @param personId contains the person identifier to do the query for.
 * @param userid contains the userid to do the query for.
 * @return will return true if valid, otherwise it will return false.
 *//*from   ww w.j a v  a  2 s . c  om*/
public boolean isValidUserid(final Long personId, final String userid) {

    boolean found = false;

    final String sqlQuery = "SELECT person_id FROM {h-schema}userid WHERE userid = :userid AND person_id = :person_id AND end_date IS NULL";
    final SQLQuery query = session.createSQLQuery(sqlQuery);
    query.setParameter("person_id", personId);
    query.setParameter("userid", userid);
    query.addScalar("person_id", StandardBasicTypes.LONG);
    found = (query.list().size() == 0) ? false : true;

    return found;
}

From source file:edu.psu.iam.cpr.core.database.Database.java

License:Apache License

/**
 * This routine is used to determine if a person with a person identifier exists in the CPR or not.  
 * @param personId contains the person identifier to do a search for.
 * @return returns the person identifier found.
 * @throws CprException exception indicates a cpr specific java exception.
 *//*  w  ww . j a  v  a 2  s . c om*/
public long getPersonIdUsingPersonId(final long personId) throws CprException {

    Long personIdOut = NOT_FOUND_VALUE;

    final String sqlQuery = "SELECT person_id FROM {h-schema}person WHERE person_id = :personid";
    final SQLQuery query = session.createSQLQuery(sqlQuery);
    query.setParameter("personid", personId);
    query.addScalar("person_id", StandardBasicTypes.LONG);
    final Iterator<?> it = query.list().iterator();
    if (it.hasNext()) {
        personIdOut = (Long) it.next();
    }

    if (personIdOut.equals(NOT_FOUND_VALUE)) {
        throw new CprException(ReturnType.PERSON_NOT_FOUND_EXCEPTION);
    }

    return personId;
}

From source file:edu.psu.iam.cpr.core.database.Database.java

License:Apache License

/**
 * This routine is used to obtain a person identifier using a SOR identifier.
 * @param identifierType contains the identifier type.
 * @param identifier contains the identifier value.
 * @return will return the person identifier or throw an exception.
 * @throws CprException will be thrown if there is a CPR specific problem.
 *//*from   w ww . j  av  a2 s  .co m*/
public long getPersonIdUsingPersonIdentifier(final IdentifierType identifierType, final String identifier)
        throws CprException {

    Long personId = NOT_FOUND_VALUE;

    final StringBuilder sb = new StringBuilder(BUFFER_SIZE);
    sb.append("SELECT person_id FROM {h-schema}person_identifier WHERE type_key = :type_key ");
    sb.append("AND identifier_value = :identifier_value ");
    sb.append("AND end_date IS NULL");
    final SQLQuery query = session.createSQLQuery(sb.toString());
    query.setParameter("type_key", identifierType.getTypeKey());
    query.setParameter("identifier_value", identifier);
    query.addScalar("person_id", StandardBasicTypes.LONG);
    final Iterator<?> it = query.list().iterator();
    if (it.hasNext()) {
        personId = (Long) it.next();
    }

    if (personId.equals(NOT_FOUND_VALUE)) {
        throw new CprException(ReturnType.PERSON_NOT_FOUND_EXCEPTION);
    }

    return personId;
}

From source file:edu.psu.iam.cpr.core.database.Database.java

License:Apache License

/**
 * This routine will called a stored function to determine if a person is active in the CPR or not.
 * @param personId person identifier from the Central Person Registry.
 * @return true if the person is active.
 * @throws CprException exception indicates a cpr specific java exception.
 *//* w ww . j a v  a  2 s  .  c o  m*/
public boolean isPersonActive(final long personId) throws CprException {

    long personIdOut = NOT_FOUND_VALUE;

    final String sqlQuery = "SELECT person_id FROM {h-schema}person WHERE person_id = :personid AND end_date IS NULL";
    final SQLQuery query = session.createSQLQuery(sqlQuery);
    query.setParameter("personid", personId);
    query.addScalar("person_id", StandardBasicTypes.LONG);
    final Iterator<?> it = query.list().iterator();
    if (it.hasNext()) {
        personIdOut = (Long) it.next();
    }

    if (personId != personIdOut) {
        throw new CprException(ReturnType.PERSON_NOT_ACTIVE_EXCEPTION);
    }

    return true;
}

From source file:edu.psu.iam.cpr.core.database.Database.java

License:Apache License

/**
 * doesPsuIdExist accepts a single parameter the psuId and checks to see if it exists in the CPR.
 * @param psuId contains the psu id to check for existence.
 * @throws CprException exception indicates a cpr specific java exception.
 *//*from   ww  w .  j  a  v  a  2 s . c om*/
public void doesPsuIdExist(final String psuId) throws CprException {

    Long personId = NOT_FOUND_VALUE;

    final String sqlQuery = "SELECT person_id FROM {h-schema}psu_id WHERE psu_id = :psuid AND end_date IS NULL";
    final SQLQuery query = session.createSQLQuery(sqlQuery);
    query.setParameter("psuid", psuId);
    query.addScalar("person_id", StandardBasicTypes.LONG);
    final Iterator<?> it = query.list().iterator();
    if (it.hasNext()) {
        personId = (Long) it.next();
    }

    if (personId.equals(NOT_FOUND_VALUE)) {
        throw new CprException(ReturnType.PSUID_NOT_FOUND_EXCEPTION);
    }
}

From source file:edu.psu.iam.cpr.core.database.Database.java

License:Apache License

/**
 * This routine will verify whether a userid exists in the CPR or not.
 * @param userid input userid to be checked for existence.
 * @throws CprException exception indicates a cpr specific java exception.
 *//*from  w w  w.ja va 2s  . co  m*/
public void doesUseridExist(final String userid) throws CprException {

    Long personId = NOT_FOUND_VALUE;

    final String sqlQuery = "SELECT person_id FROM {h-schema}userid WHERE userid = :userid";
    final SQLQuery query = session.createSQLQuery(sqlQuery);
    query.setParameter("userid", userid);
    query.addScalar("person_id", StandardBasicTypes.LONG);
    final Iterator<?> it = query.list().iterator();
    if (it.hasNext()) {
        personId = (Long) it.next();
    }

    if (personId.equals(NOT_FOUND_VALUE)) {
        throw new CprException(ReturnType.RECORD_NOT_FOUND_EXCEPTION, "userid");
    }
}

From source file:edu.psu.iam.cpr.core.database.helpers.UseridHelper.java

License:Apache License

/**
 * This routine is used to generate a userid an assign it.
 * @param session contains a database session.
 * @param bean contains a userid database bean that will contain the assigned userid.
 *///from   w  w  w . j a va 2  s  .c  o  m
public void generateUserid(final Session session, final Userid bean) {

    // Obtain the list of active names for the person.
    String sqlQuery = "from Names where personId = :person_id AND endDate IS NULL";
    Query query = session.createQuery(sqlQuery);
    query.setParameter("person_id", bean.getPersonId());
    Names names = null;
    for (Iterator<?> it = query.list().iterator(); it.hasNext();) {
        names = (Names) it.next();

        // If we find a legal name, let's use it.
        if (names.getDataTypeKey() == NameType.LEGAL_NAME.index()) {
            break;
        }
    }

    // Extract the first letter from the selected name.
    String firstNameLetter = null;
    String middleNamesLetter = null;
    String lastNameLetter = null;
    if (names != null) {
        firstNameLetter = getFirstLetter(names.getFirstName());
        middleNamesLetter = getFirstLetter(names.getMiddleNames());
        lastNameLetter = getFirstLetter(names.getLastName());
    }

    boolean done = false;
    int missCount = 0;
    final Random random = new Random(new Date().getTime());

    while (!done) {
        double randomValue = random.nextDouble();

        // first name was not specified.
        if (firstNameLetter == null) {
            if (randomValue < FIRST_LETTER_RANGE1) {
                firstNameLetter = FIRST_LETTERS[INDEX_0];
            } else if (randomValue < FIRST_LETTER_RANGE2) {
                firstNameLetter = FIRST_LETTERS[INDEX_1];
            } else if (randomValue < FIRST_LETTER_RANGE3) {
                firstNameLetter = FIRST_LETTERS[INDEX_2];
            } else if (randomValue < FIRST_LETTER_RANGE4) {
                firstNameLetter = FIRST_LETTERS[INDEX_3];
            } else if (randomValue < FIRST_LETTER_RANGE5) {
                firstNameLetter = FIRST_LETTERS[INDEX_4];
            } else if (randomValue < FIRST_LETTER_RANGE6) {
                firstNameLetter = FIRST_LETTERS[INDEX_5];
            } else {
                firstNameLetter = FIRST_LETTERS[INDEX_6];
            }
        }

        // Middle names was not specified.
        if (middleNamesLetter == null) {
            if (randomValue < MIDDLE_LETTER_RANGE1) {
                middleNamesLetter = MIDDLE_LETTERS[INDEX_0];
            } else if (randomValue < MIDDLE_LETTER_RANGE2) {
                middleNamesLetter = MIDDLE_LETTERS[INDEX_1];
            } else if (randomValue < MIDDLE_LETTER_RANGE3) {
                middleNamesLetter = MIDDLE_LETTERS[INDEX_2];
            } else if (randomValue < MIDDLE_LETTER_RANGE4) {
                middleNamesLetter = MIDDLE_LETTERS[INDEX_3];
            } else if (randomValue < MIDDLE_LETTER_RANGE5) {
                middleNamesLetter = MIDDLE_LETTERS[INDEX_4];
            } else if (randomValue < MIDDLE_LETTER_RANGE6) {
                middleNamesLetter = MIDDLE_LETTERS[INDEX_5];
            } else {
                middleNamesLetter = MIDDLE_LETTERS[INDEX_6];
            }
        }

        // Last name was not specified.
        if (lastNameLetter == null) {
            if (randomValue < LAST_LETTER_RANGE1) {
                lastNameLetter = LAST_LETTERS[INDEX_0];
            } else if (randomValue < LAST_LETTER_RANGE2) {
                lastNameLetter = LAST_LETTERS[INDEX_1];
            } else {
                lastNameLetter = LAST_LETTERS[INDEX_2];
            }
        }

        // Construct the character portion of the userid.
        StringBuilder sb = new StringBuilder(BUFFER_SIZE);
        sb.append(firstNameLetter);
        sb.append(middleNamesLetter);
        sb.append(lastNameLetter);

        String charPart = sb.toString();

        // Verify that the character porition of the userid does not exist in the bad prefixes database table.
        sqlQuery = "from BadPrefixes where charPart = :char_part";
        query = session.createQuery(sqlQuery);
        query.setParameter("char_part", charPart);

        if (query.list().size() == 0) {

            // Find a userid in the pool to be used.
            sqlQuery = "SELECT MIN(num_part) AS min_num_part FROM {h-schema}userid_pool WHERE char_part = :char_part";
            SQLQuery query1 = session.createSQLQuery(sqlQuery);
            query1.setParameter("char_part", charPart);
            query1.addScalar("min_num_part", StandardBasicTypes.LONG);
            Long numPart = null;
            for (Iterator<?> it = query1.list().iterator(); it.hasNext();) {
                numPart = (Long) it.next();
            }

            String userid = charPart + numPart.toString();

            // Delete the userid from the pool.
            query = session
                    .createQuery("delete UseridPool where charPart = :char_part AND numPart = :num_part");
            query.setParameter("char_part", charPart);
            query.setParameter("num_part", numPart);
            query.executeUpdate();
            session.flush();

            bean.setUserid(userid);
            done = true;
        } else {

            // OK, let's pick a different letter.
            missCount = (missCount + 1) % TOTAL_LETTERS;
            switch (missCount) {
            case FIRST_LETTER:
                firstNameLetter = null;
                break;
            case MIDDLE_LETTER:
                middleNamesLetter = null;
                break;
            case LAST_LETTER:
                lastNameLetter = null;
                break;
            }
        }
    }
}