/** {@inheritDoc} */ public Event fromStore(Result result) { if (result == null) return null; Event evt = new Event(); evt.setUuid(Bytes.toString(result.getValue(B_AUDIT_CF, B_EVENT_UID))); evt.setSource(Bytes.toString(result.getValue(B_AUDIT_CF, B_EVENT_SOURCE))); evt.setType(Bytes.toString(result.getValue(B_AUDIT_CF, B_EVENT_TYPE))); evt.setName(Bytes.toString(result.getValue(B_AUDIT_CF, B_EVENT_NAME))); evt.setAction(Bytes.toString(result.getValue(B_AUDIT_CF, B_EVENT_ACTION))); evt.setDuration(Bytes.toLong(result.getValue(B_AUDIT_CF, B_EVENT_DURATION))); evt.setHostName(Bytes.toString(result.getValue(B_AUDIT_CF, B_EVENT_HOSTNAME))); evt.setUser(Bytes.toString(result.getValue(B_AUDIT_CF, B_EVENT_USER))); evt.setValue(Bytes.toString(result.getValue(B_AUDIT_CF, B_EVENT_VALUE))); evt.setTimestamp(Bytes.toLong(result.getValue(B_AUDIT_CF, B_EVENT_TIME))); evt.setCustomKeys(MappingUtil.toMap(Bytes.toString(result.getValue(B_AUDIT_CF, B_EVENT_KEYS)))); return evt; }
/** TDD. */ @Test public void testUserHitCount() throws InterruptedException { long start = System.currentTimeMillis(); // When for (int i = 0; i < 8; i++) { Event e1 = new Event(SOURCE_JAVA, TARGET_FEATURE, "f1", ACTION_CHECK_OK); e1.setUser("JOHN"); repo.saveEvent(e1); Thread.sleep(100); Event e2 = new Event(SOURCE_JAVA, TARGET_FEATURE, "f1", ACTION_CHECK_OK); e2.setUser("BOB"); repo.saveEvent(e2); Thread.sleep(100); } Thread.sleep(200); // Then EventQueryDefinition testQuery = new EventQueryDefinition(start - 20, System.currentTimeMillis()); Map<String, MutableHitCount> mapOfHit = repo.getUserHitCount(testQuery); Assert.assertEquals(2, mapOfHit.size()); Assert.assertTrue(mapOfHit.containsKey("JOHN")); Assert.assertTrue(mapOfHit.containsKey("BOB")); Assert.assertEquals(8, mapOfHit.get("BOB").get()); }
/** * Unmarshall a resultset to Event. * * @param rs * current line * @return * bean populated * @throws SQLException * cannot read SQL result */ public Event mapEvent(ResultSet rs) throws SQLException { // Feature Event evt = new Event(); evt.setUuid(rs.getString(COL_EVENT_UUID)); evt.setTimestamp(rs.getTimestamp(COL_EVENT_TIME).getTime()); evt.setType(rs.getString(COL_EVENT_TYPE)); evt.setName(rs.getString(COL_EVENT_NAME)); evt.setAction(rs.getString(COL_EVENT_ACTION)); evt.setHostName(rs.getString(COL_EVENT_HOSTNAME)); evt.setSource(rs.getString(COL_EVENT_SOURCE)); evt.setDuration(rs.getLong(COL_EVENT_DURATION)); evt.setUser(rs.getString(COL_EVENT_USER)); evt.setValue(rs.getString(COL_EVENT_VALUE)); evt.setCustomKeys(MappingUtil.toMap(rs.getString(COL_EVENT_KEYS))); return evt; }
/** * Constructor with ff4J. * * @param ff4j */ public EventBuilder(FF4j ff4j) { this(); // Source can be WEB, SSH, JAVA etc this.event.setSource(ff4j.getSource()); // Retrieved looged user from AuthorizationManager if (ff4j.getAuthorizationsManager() != null) { event.setUser(ff4j.getAuthorizationsManager().getCurrentUserName()); } }
/** * Marshall from cassandra row to bean {@link Event}. * * @param row * current cassandra row * @return * target property bean */ public static Event mapEvent(Row row) { if (row == null) return null; Event evt = new Event(row.getString(COL_EVENT_SOURCE), row.getString(COL_EVENT_TYPE), row.getString(COL_EVENT_NAME), row.getString(COL_EVENT_ACTION)); evt.setUuid(row.getString(COL_EVENT_UID)); evt.setCustomKeys(row.getMap(COL_EVENT_KEYS, String.class, String.class)); evt.setDuration(row.getLong(COL_EVENT_DURATION)); evt.setHostName(row.getString(COL_EVENT_HOSTNAME)); evt.setTimestamp(row.getTimestamp(COL_EVENT_TIME).getTime()); evt.setUser(row.getString(COL_EVENT_USER)); evt.setValue(row.getString(COL_EVENT_VALUE)); return evt; }
/** {@inheritDoc} */ @SuppressWarnings({"unchecked"}) @Override public Event fromStore(Document bean) { Event evt = new Event(); evt.setAction(bean.getString(ATTRIBUTE_ACTION)); evt.setDuration(bean.getInteger(ATTRIBUTE_DURATION)); evt.setHostName(bean.getString(ATTRIBUTE_HOST)); evt.setName(bean.getString(ATTRIBUTE_NAME)); evt.setSource(bean.getString(ATTRIBUTE_SOURCE)); evt.setTimestamp(bean.getLong(ATTRIBUTE_TIME)); evt.setType(bean.getString(ATTRIBUTE_TYPE)); evt.setUuid(bean.getString(ATTRIBUTE_ID)); evt.setUser(bean.getString(ATTRIBUTE_USER)); if (bean.containsKey(ATTRIBUTE_KEYS)) { evt.setCustomKeys((Map<String, String>) JSON.parse(bean.getString(ATTRIBUTE_KEYS))); } return evt; }