Search in sources :

Example 6 with Event

use of org.apache.rya.indexing.geotemporal.model.Event in project incubator-rya by apache.

the class MongoEventStorageIT method delete.

@Test
public void delete() throws Exception {
    final Geometry geo = GF.createPoint(new Coordinate(10, 10));
    final TemporalInstant instant = new TemporalInstantRfc3339(DateTime.now());
    // An Event that will be stored.
    final Event event = Event.builder().setSubject(new RyaURI("urn:event/002")).setGeometry(geo).setTemporalInstant(instant).build();
    // Create it.
    final EventStorage storage = new MongoEventStorage(super.getMongoClient(), RYA_INSTANCE_NAME);
    storage.create(event);
    // Delete it.
    final boolean deleted = storage.delete(new RyaURI("urn:event/002"));
    // Verify a document was deleted.
    assertTrue(deleted);
}
Also used : Geometry(com.vividsolutions.jts.geom.Geometry) RyaURI(org.apache.rya.api.domain.RyaURI) Coordinate(com.vividsolutions.jts.geom.Coordinate) TemporalInstantRfc3339(org.apache.rya.indexing.TemporalInstantRfc3339) Event(org.apache.rya.indexing.geotemporal.model.Event) TemporalInstant(org.apache.rya.indexing.TemporalInstant) EventStorage(org.apache.rya.indexing.geotemporal.storage.EventStorage) Test(org.junit.Test)

Example 7 with Event

use of org.apache.rya.indexing.geotemporal.model.Event in project incubator-rya by apache.

the class MongoEventStorageIT method update_differentSubjects.

@Test(expected = EventStorageException.class)
public void update_differentSubjects() throws Exception {
    final EventStorage storage = new MongoEventStorage(super.getMongoClient(), RYA_INSTANCE_NAME);
    final Geometry geo = GF.createPoint(new Coordinate(10, 10));
    final TemporalInstant instant = new TemporalInstantRfc3339(DateTime.now());
    // Two objects that do not have the same Subjects.
    final Event old = Event.builder().setSubject(new RyaURI("urn:event/001")).setGeometry(geo).setTemporalInstant(instant).build();
    final Event updated = Event.builder().setSubject(new RyaURI("urn:event/002")).setGeometry(geo).setTemporalInstant(instant).build();
    // The update will fail.
    storage.update(old, updated);
}
Also used : Geometry(com.vividsolutions.jts.geom.Geometry) RyaURI(org.apache.rya.api.domain.RyaURI) Coordinate(com.vividsolutions.jts.geom.Coordinate) TemporalInstantRfc3339(org.apache.rya.indexing.TemporalInstantRfc3339) Event(org.apache.rya.indexing.geotemporal.model.Event) TemporalInstant(org.apache.rya.indexing.TemporalInstant) EventStorage(org.apache.rya.indexing.geotemporal.storage.EventStorage) Test(org.junit.Test)

Example 8 with Event

use of org.apache.rya.indexing.geotemporal.model.Event in project incubator-rya by apache.

the class MongoEventStorageIT method get_noneExisting.

@Test
public void get_noneExisting() throws Exception {
    // Get a Type that hasn't been created.
    final EventStorage storage = new MongoEventStorage(super.getMongoClient(), RYA_INSTANCE_NAME);
    final Optional<Event> storedEvent = storage.get(new RyaURI("urn:event/000"));
    // Verify nothing was returned.
    assertFalse(storedEvent.isPresent());
}
Also used : RyaURI(org.apache.rya.api.domain.RyaURI) Event(org.apache.rya.indexing.geotemporal.model.Event) EventStorage(org.apache.rya.indexing.geotemporal.storage.EventStorage) Test(org.junit.Test)

Example 9 with Event

use of org.apache.rya.indexing.geotemporal.model.Event in project incubator-rya by apache.

the class MongoEventStorageIT method can_not_create_with_same_subject.

@Test
public void can_not_create_with_same_subject() throws Exception {
    final Geometry geo = GF.createPoint(new Coordinate(10, 10));
    final TemporalInstant instant = new TemporalInstantRfc3339(DateTime.now());
    // An Event that will be stored.
    final Event event = Event.builder().setSubject(new RyaURI("urn:event/001")).setGeometry(geo).setTemporalInstant(instant).build();
    // Create it.
    final EventStorage storage = new MongoEventStorage(super.getMongoClient(), RYA_INSTANCE_NAME);
    storage.create(event);
    // Try to create it again. This will fail.
    boolean failed = false;
    try {
        storage.create(event);
    } catch (final EventAlreadyExistsException e) {
        failed = true;
    }
    assertTrue(failed);
}
Also used : Geometry(com.vividsolutions.jts.geom.Geometry) RyaURI(org.apache.rya.api.domain.RyaURI) Coordinate(com.vividsolutions.jts.geom.Coordinate) TemporalInstantRfc3339(org.apache.rya.indexing.TemporalInstantRfc3339) Event(org.apache.rya.indexing.geotemporal.model.Event) TemporalInstant(org.apache.rya.indexing.TemporalInstant) EventAlreadyExistsException(org.apache.rya.indexing.geotemporal.storage.EventStorage.EventAlreadyExistsException) EventStorage(org.apache.rya.indexing.geotemporal.storage.EventStorage) Test(org.junit.Test)

Example 10 with Event

use of org.apache.rya.indexing.geotemporal.model.Event in project incubator-rya by apache.

the class MongoEventStorageIT method update.

@Test
public void update() throws Exception {
    final EventStorage storage = new MongoEventStorage(super.getMongoClient(), RYA_INSTANCE_NAME);
    final Geometry geo = GF.createPoint(new Coordinate(10, 10));
    TemporalInstant instant = new TemporalInstantRfc3339(DateTime.now());
    // An Event that will be stored.
    final Event event = Event.builder().setSubject(new RyaURI("urn:event/004")).setGeometry(geo).setTemporalInstant(instant).build();
    storage.create(event);
    // Show Alice was stored.
    Optional<Event> latest = storage.get(new RyaURI("urn:event/004"));
    assertEquals(event, latest.get());
    instant = new TemporalInstantRfc3339(DateTime.now());
    // Change Alice's eye color to brown.
    final Event updated = Event.builder(event).setTemporalInstant(instant).build();
    storage.update(event, updated);
    // Fetch the Alice object and ensure it has the new value.
    latest = storage.get(new RyaURI("urn:event/004"));
    assertEquals(updated, latest.get());
}
Also used : Geometry(com.vividsolutions.jts.geom.Geometry) RyaURI(org.apache.rya.api.domain.RyaURI) Coordinate(com.vividsolutions.jts.geom.Coordinate) TemporalInstantRfc3339(org.apache.rya.indexing.TemporalInstantRfc3339) Event(org.apache.rya.indexing.geotemporal.model.Event) TemporalInstant(org.apache.rya.indexing.TemporalInstant) EventStorage(org.apache.rya.indexing.geotemporal.storage.EventStorage) Test(org.junit.Test)

Aggregations

Event (org.apache.rya.indexing.geotemporal.model.Event)12 RyaURI (org.apache.rya.api.domain.RyaURI)10 EventStorage (org.apache.rya.indexing.geotemporal.storage.EventStorage)9 Test (org.junit.Test)9 TemporalInstant (org.apache.rya.indexing.TemporalInstant)8 TemporalInstantRfc3339 (org.apache.rya.indexing.TemporalInstantRfc3339)8 Coordinate (com.vividsolutions.jts.geom.Coordinate)7 Geometry (com.vividsolutions.jts.geom.Geometry)7 Document (org.bson.Document)3 TemporalInterval (org.apache.rya.indexing.TemporalInterval)2 BasicDBObjectBuilder (com.mongodb.BasicDBObjectBuilder)1 DBObject (com.mongodb.DBObject)1 MongoException (com.mongodb.MongoException)1 CoordinateList (com.vividsolutions.jts.geom.CoordinateList)1 GeometryFactory (com.vividsolutions.jts.geom.GeometryFactory)1 LinearRing (com.vividsolutions.jts.geom.LinearRing)1 ParseException (com.vividsolutions.jts.io.ParseException)1 IOException (java.io.IOException)1 ArrayList (java.util.ArrayList)1 Date (java.util.Date)1