Skip to content
This repository was archived by the owner on Feb 12, 2019. It is now read-only.

Commit 82433c6

Browse files
committed
fixes proxy
1 parent 134932e commit 82433c6

File tree

4 files changed

+20
-268
lines changed

4 files changed

+20
-268
lines changed

artemis-graph/src/main/java/org/jnosql/artemis/graph/query/AbstractGraphRepositoryProxy.java

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import org.apache.tinkerpop.gremlin.structure.Element;
1919
import org.apache.tinkerpop.gremlin.structure.Graph;
2020
import org.apache.tinkerpop.gremlin.structure.Vertex;
21+
import org.jnosql.artemis.Converters;
2122
import org.jnosql.artemis.Param;
2223
import org.jnosql.artemis.PreparedStatement;
2324
import org.jnosql.artemis.Query;
@@ -30,6 +31,7 @@
3031
import java.lang.reflect.InvocationHandler;
3132
import java.lang.reflect.Method;
3233
import java.lang.reflect.Parameter;
34+
import java.util.Arrays;
3335
import java.util.HashMap;
3436
import java.util.List;
3537
import java.util.Map;
@@ -47,18 +49,21 @@
4749
abstract class AbstractGraphRepositoryProxy<T, ID> implements InvocationHandler {
4850

4951

52+
private final SelectQueryConverter converter = new SelectQueryConverter();
53+
private final DeleteQueryConverter deleteConverter = new DeleteQueryConverter();
54+
5055
protected abstract ClassRepresentation getClassRepresentation();
5156

5257
protected abstract Repository getRepository();
5358

54-
protected abstract GraphQueryParser getQueryParser();
55-
5659
protected abstract Graph getGraph();
5760

5861
protected abstract GraphConverter getConverter();
5962

6063
protected abstract GraphTemplate getTemplate();
6164

65+
protected abstract Converters getConverters();
66+
6267

6368
@Override
6469
public Object invoke(Object instance, Method method, Object[] args) throws Throwable {
@@ -70,9 +75,9 @@ public Object invoke(Object instance, Method method, Object[] args) throws Throw
7075
case DEFAULT:
7176
return method.invoke(getRepository(), args);
7277
case FIND_BY:
73-
return executeFindByMethod(method, args, methodName);
78+
return executeFindByMethod(method, args);
7479
case DELETE_BY:
75-
return executeDeleteMethod(args, methodName);
80+
return executeDeleteMethod(method, args);
7681
case FIND_ALL:
7782
return executeFindAll(method, args);
7883
case OBJECT_METHOD:
@@ -86,26 +91,24 @@ public Object invoke(Object instance, Method method, Object[] args) throws Throw
8691
}
8792
}
8893

89-
private Object executeDeleteMethod(Object[] args, String methodName) {
90-
GraphTraversal<Vertex, Vertex> traversal = getGraph().traversal().V();
91-
getQueryParser().deleteByParse(methodName, args, getClassRepresentation(), traversal);
94+
private Object executeDeleteMethod(Method method, Object[] args) {
9295

93-
List<?> vertices = traversal.toList();
96+
GraphQueryMethod queryMethod = new GraphQueryMethod(getClassRepresentation(),
97+
getGraph().traversal().V(),
98+
getConverters(), method, args);
9499

95-
for (Object element : vertices) {
96-
if (Element.class.isInstance(element)) {
97-
Element.class.cast(element).remove();
98-
}
99-
}
100+
List<Vertex> vertices = deleteConverter.apply(queryMethod);
101+
vertices.forEach(Vertex::remove);
100102
return Void.class;
101103
}
102104

103-
private Object executeFindByMethod(Method method, Object[] args, String methodName) {
105+
private Object executeFindByMethod(Method method, Object[] args) {
104106
Class<?> classInstance = getClassRepresentation().getClassInstance();
105-
GraphTraversal<Vertex, Vertex> traversal = getGraph().traversal().V();
106-
getQueryParser().findByParse(methodName, args, getClassRepresentation(), traversal);
107+
GraphQueryMethod queryMethod = new GraphQueryMethod(getClassRepresentation(),
108+
getGraph().traversal().V(),
109+
getConverters(), method, args);
107110

108-
List<Vertex> vertices = traversal.hasLabel(getClassRepresentation().getName()).toList();
111+
List<Vertex> vertices = converter.apply(queryMethod);
109112
Stream<T> stream = vertices.stream().map(getConverter()::toEntity);
110113

111114
return returnObject(stream, classInstance, method);

artemis-graph/src/main/java/org/jnosql/artemis/graph/query/GraphQueryParser.java

Lines changed: 0 additions & 67 deletions
This file was deleted.

artemis-graph/src/main/java/org/jnosql/artemis/graph/query/TokenProcessor.java

Lines changed: 0 additions & 28 deletions
This file was deleted.

artemis-graph/src/main/java/org/jnosql/artemis/graph/query/TokenProcessorType.java

Lines changed: 0 additions & 156 deletions
This file was deleted.

0 commit comments

Comments
 (0)