Search in sources :

Example 1 with Row

use of com.gamebuster19901.excite.bot.database.Row in project ExciteBot by TheGameCommunity.

the class Audit method createAudit.

@Nullable
@SuppressWarnings({ "rawtypes", "unchecked" })
protected static Audit createAudit(MessageContext context, Row row) throws SQLException {
    AuditType type = AuditType.getType(row);
    long auditID = row.getLong(AUDIT_ID);
    Class<? extends Audit> auditTypeClazz = AuditType.getType(row).getType();
    try {
        Constructor<? extends Audit> constructor = auditTypeClazz.getDeclaredConstructor(Row.class);
        constructor.setAccessible(true);
        Result result = Table.selectAllFromJoinedUsingWhere(new MessageContext(context.getAuthor()), AUDITS, type.getTable(), AUDIT_ID, new Comparison(AUDIT_ID, EQUALS, auditID));
        result.next();
        if (result.cursorValid()) {
            Row resultRow = result.getRow();
            return constructor.newInstance(resultRow);
        }
        return null;
    } catch (NoSuchMethodException | SecurityException | InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
        throw new AssertionError(e);
    }
}
Also used : InvocationTargetException(java.lang.reflect.InvocationTargetException) Result(com.gamebuster19901.excite.bot.database.Result) Comparison(com.gamebuster19901.excite.bot.database.Comparison) MessageContext(com.gamebuster19901.excite.bot.command.MessageContext) Row(com.gamebuster19901.excite.bot.database.Row) Nullable(javax.annotation.Nullable)

Example 2 with Row

use of com.gamebuster19901.excite.bot.database.Row in project ExciteBot by TheGameCommunity.

the class Audit method addAudit.

@Deprecated
@SuppressWarnings("rawtypes")
protected static Audit addAudit(MessageContext executor, MessageContext context, AuditType type, String description, Instant dateIssued) {
    PreparedStatement ps;
    try {
        ps = Insertion.insertInto(AUDITS).setColumns(AUDIT_TYPE, ISSUER_ID, ISSUER_NAME, DESCRIPTION, DATE_ISSUED).to(type, context.getAuthor().getID(), context.getAuthor().getName(), description, Instant.now()).prepare(executor, true);
        ps.execute();
        ResultSet results = ps.getGeneratedKeys();
        results.next();
        long auditID = results.getLong(GENERATED_KEY);
        Row row = Table.selectAllFromWhere(executor, AUDITS, new Comparison(AUDIT_ID, EQUALS, auditID)).getRow(true);
        return new Audit(row, type);
    } catch (SQLException e) {
        throw new IOError(e);
    }
}
Also used : Comparison(com.gamebuster19901.excite.bot.database.Comparison) SQLException(java.sql.SQLException) IOError(java.io.IOError) ResultSet(com.gamebuster19901.excite.bot.database.sql.ResultSet) PreparedStatement(com.gamebuster19901.excite.bot.database.sql.PreparedStatement) Row(com.gamebuster19901.excite.bot.database.Row)

Aggregations

Comparison (com.gamebuster19901.excite.bot.database.Comparison)2 Row (com.gamebuster19901.excite.bot.database.Row)2 MessageContext (com.gamebuster19901.excite.bot.command.MessageContext)1 Result (com.gamebuster19901.excite.bot.database.Result)1 PreparedStatement (com.gamebuster19901.excite.bot.database.sql.PreparedStatement)1 ResultSet (com.gamebuster19901.excite.bot.database.sql.ResultSet)1 IOError (java.io.IOError)1 InvocationTargetException (java.lang.reflect.InvocationTargetException)1 SQLException (java.sql.SQLException)1 Nullable (javax.annotation.Nullable)1