public Event getEvent(int dataBaseActionId, BaseComponentManager bcm) throws SQLException { if (this.database == null || !this.database.isOpen()) { try { this.database = (SQLiteDatabase) dataManager.getDatabaseHelper().openDatabaseConnection(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } Event event = null; String sql = " SELECT generated_events.id, generated_events.event_id, generated_events.entity_id, generated_events.component_id, generated_events.time, " + " timeout, generated_events.event_type, description, synchronous " + " FROM generated_events, generated_actions, events " + " WHERE generated_actions.id = ? AND events.id = generated_events.event_id AND generated_actions.event_id = generated_events.id;"; // consulta Cursor cursor = this.database.rawQuery(sql, new String[] {String.valueOf(dataBaseActionId)}); if (cursor.moveToNext()) { for (ComponentManager cm : bcm.getComponentManagers()) { if (cursor.getInt(cursor.getColumnIndex("component_id")) == cm.getComponentId()) { event = new SystemEvent(cm); } } event.setId(cursor.getInt(cursor.getColumnIndex("event_id"))); event.setDatabaseId(cursor.getInt(cursor.getColumnIndex("id"))); event.setEventType(cursor.getInt(cursor.getColumnIndex("event_type"))); event.setEntityId(cursor.getInt(cursor.getColumnIndex("entity_id"))); event.setTime(new Date(cursor.getLong(cursor.getColumnIndex("time")))); event.setTimeout(cursor.getInt(cursor.getColumnIndex("timeout"))); event.setName(cursor.getString(cursor.getColumnIndex("description"))); event.setSynchronous(cursor.getInt(cursor.getColumnIndex("synchronous")) > 0); } if (!cursor.isClosed()) { cursor.close(); } return event; }