} else { byte[] b = createStartTimeLookupKey(entity.getId(), entity.getType()); byte[] v = starttimedb.get(b); if (v == null) {
} else { byte[] b = createStartTimeLookupKey(entity.getId(), entity.getType()); byte[] v = db.get(b); if (v == null) {
} else { byte[] b = createStartTimeLookupKey(entity.getId(), entity.getType()); byte[] v = db.get(b); if (v == null) {
} else { byte[] b = createStartTimeLookupKey(entity.getId(), entity.getType()); byte[] v = db.get(b); if (v == null) {
Long startAndInsertTime = null; byte[] b = createStartTimeLookupKey(entity.getId(), entity.getType()); synchronized (this) {
private byte[] getStartTimeKey(K entityId) { LeveldbUtils.KeyBuilder startTimeKeyBuilder = LeveldbUtils.KeyBuilder.newInstance(); startTimeKeyBuilder.add(TIME_INDEX_PREFIX).add(entityId.getId()) .add(entityId.getType()); return startTimeKeyBuilder.getBytes(); }
private byte[] getEntityKey(K entityId, byte[] startTimeBytes) { LeveldbUtils.KeyBuilder entityKeyBuilder = LeveldbUtils.KeyBuilder.newInstance(); entityKeyBuilder.add(ENTITY_STORAGE_PREFIX).add(startTimeBytes, true) .add(entityId.getId()).add(entityId.getType()); return entityKeyBuilder.getBytes(); } }
StartAndInsertTime startAndInsertTime = null; byte[] b = createStartTimeLookupKey(entity.getId(), entity.getType()); try {
try { existingEntity = store.getEntity(entityID.getId(), entityID.getType(), EnumSet.of(Field.PRIMARY_FILTERS)); if (existingEntity != null) { new TimelinePutResponse.TimelinePutError(); error.setEntityId(entityID.getId()); error.setEntityType(entityID.getType()); error.setErrorCode( TimelinePutResponse.TimelinePutError.ACCESS_DENIED);
StartAndInsertTime startAndInsertTime = null; byte[] b = createStartTimeLookupKey(entity.getId(), entity.getType()); try {
StartAndInsertTime startAndInsertTime = null; byte[] b = createStartTimeLookupKey(entity.getId(), entity.getType()); try {
try { existingEntity = store.getEntity(entityID.getId(), entityID.getType(), EnumSet.of(Field.PRIMARY_FILTERS)); if (existingEntity != null) { new TimelinePutResponse.TimelinePutError(); error.setEntityId(entityID.getId()); error.setEntityType(entityID.getType()); error.setErrorCode( TimelinePutResponse.TimelinePutError.ACCESS_DENIED);
@Override public void remove(K entityId) { // Read the start time from the index (key starts with an "i") then delete // the record LeveldbUtils.KeyBuilder startTimeKeyBuilder = LeveldbUtils.KeyBuilder.newInstance(); startTimeKeyBuilder.add(TIME_INDEX_PREFIX).add(entityId.getId()) .add(entityId.getType()); byte[] startTimeBytes = entityDb.get(startTimeKeyBuilder.getBytes()); if (startTimeBytes == null) { return; } entityDb.delete(startTimeKeyBuilder.getBytes()); // Build the key for the entity storage and delete it entityDb.delete(getEntityKey(entityId, startTimeBytes)); }
TimelinePutError error = new TimelinePutError(); error.setEntityId(entityId.getId()); error.setEntityType(entityId.getType()); error.setErrorCode(TimelinePutError.NO_DOMAIN); response.addError(error); TimelinePutError error = new TimelinePutError(); error.setEntityId(entityId.getId()); error.setEntityType(entityId.getType()); error.setErrorCode(TimelinePutError.NO_START_TIME); response.addError(error); relatedEntity = new TimelineEntity(); relatedEntity.setEntityId(relatedEntityId.getId()); relatedEntity.setEntityType(relatedEntityId.getType()); relatedEntity.setStartTime(existingEntity.getStartTime()); relatedEntity.addRelatedEntity(existingEntity.getEntityType(),
try { StartAndInsertTime relatedEntityStartAndInsertTime = getAndSetStartTime(relatedEntity.getId(), relatedEntity.getType(), readReverseOrderedLong(revStartTime, 0), null); if (relatedEntityStartAndInsertTime == null) { relatedEntity.getType(), relatedEntityStartTime); db.put(key, entity.getDomainId().getBytes(Charset.forName("UTF-8"))); db.put(createRelatedEntityKey(relatedEntity.getId(), relatedEntity.getType(), relatedEntityStartTime, entity.getEntityId(), entity.getEntityType()), EMPTY_BYTES); db.put(createEntityMarkerKey(relatedEntity.getId(), relatedEntity.getType(), relatedEntityStartTime), writeReverseOrderedLong(relatedEntityStartAndInsertTime .insertTime)); } catch (DBException de) { LOG.error("Error putting related entity " + relatedEntity.getId() + " of type " + relatedEntity.getType() + " for entity " + entity.getEntityId() + " of type " + entity.getEntityType(), de); handleError(entity, response, TimelinePutError.IO_EXCEPTION); } catch (IOException e) { LOG.error("Error putting related entity " + relatedEntity.getId() + " of type " + relatedEntity.getType() + " for entity " + entity.getEntityId() + " of type " + entity.getEntityType(), e); handleError(entity, response, TimelinePutError.IO_EXCEPTION);
TimelinePutError error = new TimelinePutError(); error.setEntityId(entityId.getId()); error.setEntityType(entityId.getType()); error.setErrorCode(TimelinePutError.NO_DOMAIN); response.addError(error); TimelinePutError error = new TimelinePutError(); error.setEntityId(entityId.getId()); error.setEntityType(entityId.getType()); error.setErrorCode(TimelinePutError.NO_START_TIME); response.addError(error); relatedEntity = new TimelineEntity(); relatedEntity.setEntityId(relatedEntityId.getId()); relatedEntity.setEntityType(relatedEntityId.getType()); relatedEntity.setStartTime(existingEntity.getStartTime()); relatedEntity.addRelatedEntity(existingEntity.getEntityType(),
try { StartAndInsertTime relatedEntityStartAndInsertTime = getAndSetStartTime(relatedEntity.getId(), relatedEntity.getType(), readReverseOrderedLong(revStartTime, 0), null); if (relatedEntityStartAndInsertTime == null) { relatedEntity.getType(), relatedEntityStartTime); db.put(key, entity.getDomainId().getBytes(Charset.forName("UTF-8"))); db.put(createRelatedEntityKey(relatedEntity.getId(), relatedEntity.getType(), relatedEntityStartTime, entity.getEntityId(), entity.getEntityType()), EMPTY_BYTES); db.put(createEntityMarkerKey(relatedEntity.getId(), relatedEntity.getType(), relatedEntityStartTime), writeReverseOrderedLong(relatedEntityStartAndInsertTime .insertTime)); } catch (DBException de) { LOG.error("Error putting related entity " + relatedEntity.getId() + " of type " + relatedEntity.getType() + " for entity " + entity.getEntityId() + " of type " + entity.getEntityType(), de); handleError(entity, response, TimelinePutError.IO_EXCEPTION); } catch (IOException e) { LOG.error("Error putting related entity " + relatedEntity.getId() + " of type " + relatedEntity.getType() + " for entity " + entity.getEntityId() + " of type " + entity.getEntityType(), e); handleError(entity, response, TimelinePutError.IO_EXCEPTION);
try { StartAndInsertTime relatedEntityStartAndInsertTime = getAndSetStartTime(relatedEntity.getId(), relatedEntity.getType(), readReverseOrderedLong(revStartTime, 0), null); if (relatedEntityStartAndInsertTime == null) { relatedEntity.getType(), relatedEntityStartTime); db.put(key, entity.getDomainId().getBytes(Charset.forName("UTF-8"))); db.put(createRelatedEntityKey(relatedEntity.getId(), relatedEntity.getType(), relatedEntityStartTime, entity.getEntityId(), entity.getEntityType()), EMPTY_BYTES); db.put(createEntityMarkerKey(relatedEntity.getId(), relatedEntity.getType(), relatedEntityStartTime), writeReverseOrderedLong(relatedEntityStartAndInsertTime .insertTime)); } catch (DBException de) { LOG.error("Error putting related entity " + relatedEntity.getId() + " of type " + relatedEntity.getType() + " for entity " + entity.getEntityId() + " of type " + entity.getEntityType(), de); handleError(entity, response, TimelinePutError.IO_EXCEPTION); } catch (IOException e) { LOG.error("Error putting related entity " + relatedEntity.getId() + " of type " + relatedEntity.getType() + " for entity " + entity.getEntityId() + " of type " + entity.getEntityType(), e); handleError(entity, response, TimelinePutError.IO_EXCEPTION);
TimelinePutError error = new TimelinePutError(); error.setEntityId(entityId.getId()); error.setEntityType(entityId.getType()); error.setErrorCode(TimelinePutError.NO_DOMAIN); response.addError(error); TimelinePutError error = new TimelinePutError(); error.setEntityId(entityId.getId()); error.setEntityType(entityId.getType()); error.setErrorCode(TimelinePutError.NO_START_TIME); response.addError(error); relatedEntity = new TimelineEntity(); relatedEntity.setEntityId(relatedEntityId.getId()); relatedEntity.setEntityType(relatedEntityId.getType()); relatedEntity.setStartTime(existingEntity.getStartTime()); relatedEntity.addRelatedEntity(existingEntity.getEntityType(),
try { Long relatedEntityStartAndInsertTime = getAndSetStartTime( relatedEntity.getId(), relatedEntity.getType(), readReverseOrderedLong(revStartTime, 0), null); if (relatedEntityStartAndInsertTime == null) { relatedEntity.getType(), relatedEntityStartTime); relatedWriteBatch.put(key, entity.getDomainId().getBytes(UTF_8)); ++putCount; relatedWriteBatch.put( createRelatedEntityKey(relatedEntity.getId(), relatedEntity.getType(), relatedEntityStartTime, entity.getEntityId(), entity.getEntityType()), EMPTY_BYTES); ++putCount; relatedWriteBatch.put( createEntityMarkerKey(relatedEntity.getId(), relatedEntity.getType(), relatedEntityStartTime), EMPTY_BYTES); ++putCount; } catch (IOException e) { LOG.error( "Error putting related entity " + relatedEntity.getId() + " of type " + relatedEntity.getType() + " for entity " + entity.getEntityId() + " of type " + entity.getEntityType(), e);