Skip to content

Commit

Permalink
feat: create support to graph repository
Browse files Browse the repository at this point in the history
Signed-off-by: Otavio Santana <otaviopolianasantana@gmail.com>
  • Loading branch information
otaviojava committed Dec 28, 2023
1 parent 2804c74 commit 5c915b0
Showing 1 changed file with 55 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,14 @@
package org.eclipse.jnosql.mapping.graph.query;

import jakarta.data.exceptions.MappingException;
import jakarta.data.repository.Delete;
import jakarta.data.repository.Insert;
import jakarta.data.repository.OrderBy;
import jakarta.data.repository.PageableRepository;
import jakarta.data.repository.Param;
import jakarta.data.repository.Query;
import jakarta.data.repository.Save;
import jakarta.data.repository.Update;
import jakarta.inject.Inject;
import jakarta.nosql.PreparedStatement;
import org.apache.tinkerpop.gremlin.structure.Edge;
Expand Down Expand Up @@ -541,6 +545,46 @@ void shouldExecuteCustomRepository(){
});
}

@Test
void shouldInsertUsingAnnotation(){
Person person = Person.builder().withName("Ada")
.withId(10L)
.withPhones(singletonList("123123"))
.build();
personRepository.insertPerson(person);
Mockito.verify(template).insert(person);
}

@Test
void shouldUpdateUsingAnnotation(){
Person person = Person.builder().withName("Ada")
.withId(10L)
.withPhones(singletonList("123123"))
.build();
personRepository.updatePerson(person);
Mockito.verify(template).update(person);
}

@Test
void shouldDeleteUsingAnnotation(){
Person person = Person.builder().withName("Ada")
.withId(10L)
.withPhones(singletonList("123123"))
.build();
personRepository.deletePerson(person);
Mockito.verify(template).delete(Person.class, 10L);
}

@Test
void shouldSaveUsingAnnotation(){
Person person = Person.builder().withName("Ada")
.withId(10L)
.withPhones(singletonList("123123"))
.build();
personRepository.savePerson(person);
Mockito.verify(template).insert(person);
}

public interface BaseQuery<T> {

List<T> findByScoreLessThan(int value);
Expand Down Expand Up @@ -578,6 +622,17 @@ public interface PersonRepository extends PageableRepository<Person, Long>, Base

Set<Person> findByNameAndAgeGreaterThanEqual(String name, Integer age);

@Insert
Person insertPerson(Person person);
@Update
Person updatePerson(Person person);

@Save
Person savePerson(Person person);

@Delete
void deletePerson(Person person);

@Query("g.V().hasLabel('Person').toList()")
List<Person> findByQuery();

Expand Down

0 comments on commit 5c915b0

Please sign in to comment.