Skip to content

Commit

Permalink
implements update
Browse files Browse the repository at this point in the history
  • Loading branch information
otaviojava committed Apr 27, 2018
1 parent 1cba368 commit e7bcf3f
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 5 deletions.
Expand Up @@ -18,12 +18,15 @@
import net.ravendb.client.documents.DocumentStore;
import net.ravendb.client.documents.session.IDocumentSession;
import net.ravendb.client.documents.session.IMetadataDictionary;
import net.ravendb.client.exceptions.RavenException;
import org.jnosql.diana.api.document.Document;
import org.jnosql.diana.api.document.DocumentCollectionManager;
import org.jnosql.diana.api.document.DocumentDeleteQuery;
import org.jnosql.diana.api.document.DocumentEntity;
import org.jnosql.diana.api.document.DocumentQuery;

import java.time.Duration;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
Expand All @@ -48,10 +51,7 @@ public class RavenDBDocumentCollectionManager implements DocumentCollectionManag

@Override
public DocumentEntity insert(DocumentEntity entity) {

Objects.requireNonNull(entity, "entity is required");


try (IDocumentSession session = store.openSession()) {
String collection = entity.getName();

Expand All @@ -77,7 +77,17 @@ public DocumentEntity insert(DocumentEntity entity, Duration ttl) {

@Override
public DocumentEntity update(DocumentEntity entity) {
return null;
Objects.requireNonNull(entity, "entity is required");

try (IDocumentSession session = store.openSession()) {
Document id = entity.find(EntityConverter.ID_FIELD)
.orElseThrow(() -> new RavenException("Id is required to Raven Update operation"));

HashMap<String, Object> map = session.load(HashMap.class, id.get(String.class));
map.putAll(EntityConverter.getMap(entity));
session.saveChanges();
}
return entity;
}


Expand Down
Expand Up @@ -73,7 +73,7 @@ public void shouldThrowExceptionWhenInsertWithTTL() {
}

@Test
public void shouldUpdateSave() {
public void shouldUpdate() {
DocumentEntity entity = getEntity();
DocumentEntity documentEntity = entityManager.insert(entity);
Document newField = Documents.of("newField", "10");
Expand Down

0 comments on commit e7bcf3f

Please sign in to comment.