@Override public <E extends TaggedLogAPIEntity> ModifyResult<String> update(List<E> entities, EntityDefinition entityDefinition) throws IOException { ModifyResult<String> result = new ModifyResult<String>(); try { JdbcEntityDefinition jdbcEntityDefinition = JdbcEntityDefinitionManager.getJdbcEntityDefinition(entityDefinition); JdbcEntityUpdater updater = new JdbcEntityUpdaterImpl(jdbcEntityDefinition); int updated = updater.update(entities); result.setSize(updated); result.setSuccess(true); } catch (Exception e) { LOG.error(e.getMessage(), e); result.setSuccess(false); throw new IOException(e.getCause()); } return result; }
@Override public <E extends TaggedLogAPIEntity> ModifyResult<String> create(List<E> entities, EntityDefinition entityDefinition) throws IOException { ModifyResult<String> result = new ModifyResult<>(); try { GenericEntityWriter entityWriter = new GenericEntityWriter(entityDefinition); result.setIdentifiers(entityWriter.write(entities)); result.setSuccess(true); } catch (Exception e) { LOG.error(e.getMessage(),e); throw new IOException(e); } audit.auditOperation(AUDIT_EVENT_CREATE, entities, null, entityDefinition); // added for jira: EAGLE-47 return result; }
@Override public <E extends TaggedLogAPIEntity> ModifyResult<String> create(List<E> entities, EntityDefinition entityDefinition) throws IOException { ModifyResult<String> result = new ModifyResult<>(); try { JdbcEntityDefinition jdbcEntityDefinition = JdbcEntityDefinitionManager.getJdbcEntityDefinition(entityDefinition); JdbcEntityWriter writer = new JdbcEntityWriterImpl(jdbcEntityDefinition); List<String> keys = writer.write(entities); result.setIdentifiers(keys); result.setSize(keys.size()); result.setSuccess(true); } catch (Exception e) { LOG.error(e.getMessage(), e.getCause()); result.setSuccess(false); throw new IOException(e.getCause()); } return result; }
if(result.isSuccess()) { List<String> keys =result.getIdentifiers(); if(keys != null) { response.setObj(keys, String.class);
} else { LOG.info("Deleting 0 entities"); result = new ModifyResult<String>(); result.setSuccess(true);
@Test public void testWrite1000Metrics() throws InterruptedException, IOException { // Write 1000 entities List<GenericMetricEntity> entityList = new ArrayList<>(); int i= 0; while( i++ < 1000){ entityList.add(newMetric()); Thread.sleep(1); } ModifyResult<String> result = storage.create(entityList, entityDefinition); Assert.assertTrue(result.getSize() >= 1000); }
@Test public void testCreate() throws IllegalDataStorageTypeException, IOException { final List<TestTimeSeriesAPIEntity> entities = new ArrayList<>(); TestTimeSeriesAPIEntity entity = new TestTimeSeriesAPIEntity(); entity.setField1(1); entity.setField2(2); entity.setField3(10000000L); entity.setField4(10000000L); entity.setField5(0.12345678); entity.setTags(new HashMap<String, String>() { { put("cluster", "test"); put("datacenter", "test"); put("name", "unit.test.name"); } }); entities.add(entity); CreateStatement createStatement = new CreateStatement(entities, "TestTimeSeriesAPIEntity"); ModifyResult resultSet = createStatement.execute(DataStorageManager.newDataStorage("hbase")); Assert.assertEquals(1, resultSet.getIdentifiers().size()); createStatement = new CreateStatement(entities, "TestTimeSeriesAPIEntity"); resultSet = createStatement.execute(DataStorageManager.newDataStorage("hbase")); Assert.assertEquals(1, resultSet.getIdentifiers().size()); }
@Override public <E extends TaggedLogAPIEntity> ModifyResult<String> create(List<E> entities, EntityDefinition entityDefinition) throws IOException { ModifyResult<String> result = new ModifyResult<>(); try { JdbcEntityDefinition jdbcEntityDefinition = JdbcEntityDefinitionManager.getJdbcEntityDefinition(entityDefinition); JdbcEntityWriter writer = new JdbcEntityWriterImpl(jdbcEntityDefinition); List<String> keys = writer.write(entities); result.setIdentifiers(keys); result.setSize(keys.size()); result.setSuccess(true); } catch (Exception e) { LOG.error(e.getMessage(), e.getCause()); result.setSuccess(false); throw new IOException(e.getCause()); } return result; }
if(result.isSuccess()) { List<String> keys =result.getIdentifiers(); if(keys != null) { response.setObj(keys, String.class);
@Test public void testGenericEntityServiceResourceupdateDatabaseFalse() throws IllegalDataStorageTypeException, IOException, IllegalAccessException, InstantiationException { TestTimeSeriesAPIEntity e = new TestTimeSeriesAPIEntity(); List<TestTimeSeriesAPIEntity> entities = new ArrayList<>(); entities.add(e); EntityDefinition ed = EntityDefinitionManager.getEntityByServiceName("TestTimeSeriesAPIEntity"); ModifyResult<String> modifyResult = new ModifyResult<>(); modifyResult.setSuccess(false); when(dataStorage.update(entities, ed)).thenReturn(modifyResult); GenericServiceAPIResponseEntity responseEntity = genericEntityServiceResource.updateDatabase(new UpdateStatement(entities, "TestTimeSeriesAPIEntity")); Assert.assertFalse(responseEntity.isSuccess()); Assert.assertEquals(null, responseEntity.getMeta()); Assert.assertEquals(null, responseEntity.getType()); Assert.assertEquals(null, responseEntity.getObj()); Assert.assertEquals(null, responseEntity.getException()); verify(dataStorage).update(entities, ed); }
@Test public void testWrite() throws IOException { List<TestTimeSeriesAPIEntity> entityList = new ArrayList<TestTimeSeriesAPIEntity>(); int i= 0; while( i++ < 5){ TestTimeSeriesAPIEntity entity = newInstance(); entityList.add(entity); } ModifyResult<String> result = storage.create(entityList, entityDefinition); Assert.assertTrue(result.getSize() > 0); }
@Override public <E extends TaggedLogAPIEntity> ModifyResult<String> delete(List<E> entities, EntityDefinition entityDefinition) throws IOException { ModifyResult<String> result = new ModifyResult<String>(); try { JdbcEntityDefinition jdbcEntityDefinition = JdbcEntityDefinitionManager.getJdbcEntityDefinition(entityDefinition); JdbcEntityDeleter writer = new JdbcEntityDeleterImpl(jdbcEntityDefinition); int num = writer.delete(entities); result.setSize(num); result.setSuccess(true); } catch (Exception e) { LOG.error(e.getMessage(), e); result.setSuccess(false); throw new IOException(e.getCause()); } return result; }
@Override public ModifyResult<String> deleteByID(List<String> ids, EntityDefinition entityDefinition) throws IOException { ModifyResult<String> result = new ModifyResult<String>(); try { GenericDeleter deleter = new GenericDeleter(entityDefinition.getTable(), entityDefinition.getColumnFamily()); deleter.deleteByEncodedRowkeys(ids); result.setIdentifiers(ids); } catch (Exception ex) { LOG.error(ex.getMessage(), ex); result.setSuccess(false); throw new IOException(ex); } audit.auditOperation(AUDIT_EVENT_DELETE, null, ids, entityDefinition); // added for jira: EAGLE-47 result.setSuccess(true); return result; }
@Override public <E extends TaggedLogAPIEntity> ModifyResult<String> create(List<E> entities, EntityDefinition entityDefinition) throws IOException { ModifyResult<String> result = new ModifyResult<>(); try { GenericEntityWriter entityWriter = new GenericEntityWriter(entityDefinition); List<String> keys = entityWriter.write(entities); result.setIdentifiers(keys); result.setSize(keys.size()); result.setSuccess(true); } catch (Exception e) { LOG.error(e.getMessage(), e); throw new IOException(e); } audit.auditOperation(AUDIT_EVENT_CREATE, entities, null, entityDefinition); // added for jira: EAGLE-47 return result; }
if(result.isSuccess()) { List<String> keys =result.getIdentifiers(); if(keys != null) { response.setObj(keys, String.class);
}else{ LOG.info("Deleting 0 entities"); result = new ModifyResult<String>(); result.setSuccess(true);
@Test public void testWrite() throws IOException { List<TestTimeSeriesAPIEntity> entityList = new ArrayList<TestTimeSeriesAPIEntity>(); int i = 0; while (i++ < 5) { TestTimeSeriesAPIEntity entity = newInstance(); entityList.add(entity); } ModifyResult<String> result = storage.create(entityList, entityDefinition); Assert.assertTrue(result.getSize() > 0); }
@Override public <E extends TaggedLogAPIEntity> ModifyResult<String> delete(List<E> entities, EntityDefinition entityDefinition) throws IOException { ModifyResult<String> result = new ModifyResult<String>(); try { JdbcEntityDefinition jdbcEntityDefinition = JdbcEntityDefinitionManager.getJdbcEntityDefinition(entityDefinition); JdbcEntityDeleter writer = new JdbcEntityDeleterImpl(jdbcEntityDefinition); int num = writer.delete(entities); result.setSize(num); result.setSuccess(true); } catch (Exception e) { LOG.error(e.getMessage(), e); result.setSuccess(false); throw new IOException(e.getCause()); } return result; }
/** * TODO: * * @param ids * @param entityDefinition * @return * @throws IOException */ @Override public ModifyResult<String> deleteByID(List<String> ids, EntityDefinition entityDefinition) throws IOException { ModifyResult<String> result = new ModifyResult<String>(); try{ GenericDeleter deleter = new GenericDeleter(entityDefinition.getTable(), entityDefinition.getColumnFamily()); deleter.deleteByEncodedRowkeys(ids); result.setIdentifiers(ids); }catch(Exception ex){ LOG.error(ex.getMessage(),ex); result.setSuccess(false); throw new IOException(ex); } audit.auditOperation(AUDIT_EVENT_DELETE, null, ids, entityDefinition); // added for jira: EAGLE-47 result.setSuccess(true); return result; }
@Override public <E extends TaggedLogAPIEntity> ModifyResult<String> delete(List<E> entities, EntityDefinition entityDefinition) throws IOException { ModifyResult<String> result = new ModifyResult<String>(); try { GenericDeleter deleter = new GenericDeleter(entityDefinition.getTable(), entityDefinition.getColumnFamily()); List<String> keys = deleter.delete(entities); result.setIdentifiers(keys); result.setSize(keys.size()); } catch (Exception ex) { LOG.error(ex.getMessage(), ex); result.setSuccess(false); throw new IOException(ex); } audit.auditOperation(AUDIT_EVENT_DELETE, entities, null, entityDefinition); // added for jira: EAGLE-47 result.setSuccess(true); return result; }