Skip to content

Commit 20815b7

Browse files
committed
ArangoDB: use _key instead of _id
1 parent 68447cb commit 20815b7

File tree

8 files changed

+20
-48
lines changed

8 files changed

+20
-48
lines changed

jnosql-arangodb/src/main/java/org/eclipse/jnosql/databases/arangodb/communication/DefaultArangoDBDocumentManager.java

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,9 @@ public CommunicationEntity update(CommunicationEntity entity) {
7676
requireNonNull(entity, "entity is required");
7777
String collectionName = entity.name();
7878
checkCollection(collectionName);
79-
String id = entity.find(ID, String.class)
79+
entity.find(KEY, String.class)
8080
.orElseThrow(() -> new IllegalArgumentException("The document does not provide" +
81-
" the _id column"));
82-
feedKey(entity, id);
81+
" the _key column"));
8382
JsonObject jsonObject = ArangoDBUtil.toJsonObject(entity);
8483
DocumentUpdateEntity<Void> arangoDocument = arangoDB.db(database)
8584
.collection(collectionName).updateDocument(jsonObject.getString(KEY), jsonObject);
@@ -208,17 +207,6 @@ private void updateEntity(CommunicationEntity entity, String key, String id, Str
208207
entity.add(Element.of(REV, rev));
209208
}
210209

211-
private static void feedKey(CommunicationEntity entity, String id) {
212-
if (entity.find(KEY).isEmpty()) {
213-
String[] values = id.split("/");
214-
if (values.length == 2) {
215-
entity.add(KEY, values[1]);
216-
} else {
217-
entity.add(KEY, values[0]);
218-
}
219-
}
220-
}
221-
222210
ArangoDB getArangoDB() {
223211
return arangoDB;
224212
}

jnosql-arangodb/src/test/java/org/eclipse/jnosql/databases/arangodb/communication/ArangoDBDocumentManagerTest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@
3636
import java.util.Map;
3737
import java.util.Optional;
3838
import java.util.Random;
39+
import java.util.UUID;
3940
import java.util.stream.Collectors;
40-
import java.util.stream.Stream;
4141

4242
import static java.util.Arrays.asList;
4343
import static java.util.Collections.singletonMap;
@@ -334,8 +334,9 @@ private CommunicationEntity getEntity() {
334334
}
335335

336336
private CommunicationEntity createDocumentList() {
337+
String id = UUID.randomUUID().toString();
337338
CommunicationEntity entity = CommunicationEntity.of("AppointmentBook");
338-
entity.add(Element.of("_id", "ids"));
339+
entity.add(Element.of("_key", id));
339340
List<List<Element>> documents = new ArrayList<>();
340341

341342
documents.add(asList(Element.of("name", "Ada"), Element.of("type", ContactType.EMAIL),

jnosql-arangodb/src/test/java/org/eclipse/jnosql/databases/arangodb/integration/Book.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
@Entity
2424
public class Book {
2525

26-
@Id
26+
@Id("_key")
2727
private String id;
2828

2929
@Column("title")

jnosql-arangodb/src/test/java/org/eclipse/jnosql/databases/arangodb/integration/TemplateIntegrationTest.java

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535

3636
import java.util.List;
3737
import java.util.Optional;
38+
import java.util.UUID;
3839

3940
import static java.util.UUID.randomUUID;
4041
import static org.assertj.core.api.Assertions.assertThat;
@@ -114,9 +115,9 @@ void shouldDelete() {
114115

115116
@Test
116117
void shouldUpdateEmbeddable() {
118+
String id = UUID.randomUUID().toString();
117119
var workflowStep = WorkflowStep.builder()
118-
.id("id")
119-
.key("key1")
120+
.id(id)
120121
.workflowSchemaKey("workflowSchemaKey")
121122
.stepName("stepName")
122123
.mainStepType(MainStepType.MAIN)
@@ -130,8 +131,7 @@ void shouldUpdateEmbeddable() {
130131

131132
SoftAssertions.assertSoftly(soft ->{
132133
soft.assertThat(result).isNotNull();
133-
soft.assertThat(result.id()).isEqualTo("workflow_step/key1");
134-
soft.assertThat(result.key()).isEqualTo("key1");
134+
soft.assertThat(result.id()).isEqualTo(id);
135135
soft.assertThat(result.workflowSchemaKey()).isEqualTo("workflowSchemaKey");
136136
soft.assertThat(result.stepName()).isEqualTo("stepName");
137137
soft.assertThat(result.mainStepType()).isEqualTo(MainStepType.MAIN);
@@ -149,9 +149,9 @@ void shouldUpdateEmbeddable() {
149149

150150
@Test
151151
void shouldUpdateEmbeddable2() {
152+
String id = UUID.randomUUID().toString();
152153
var workflowStep = WorkflowStep.builder()
153-
.id("id")
154-
.key("key2")
154+
.id(id)
155155
.workflowSchemaKey("workflowSchemaKey")
156156
.stepName("stepName")
157157
.mainStepType(MainStepType.MAIN)
@@ -164,8 +164,7 @@ void shouldUpdateEmbeddable2() {
164164

165165
SoftAssertions.assertSoftly(soft ->{
166166
soft.assertThat(result).isNotNull();
167-
soft.assertThat(result.id()).isEqualTo("workflow_step/key2");
168-
soft.assertThat(result.key()).isEqualTo("key2");
167+
soft.assertThat(result.id()).isEqualTo(id);
169168
soft.assertThat(result.workflowSchemaKey()).isEqualTo("workflowSchemaKey");
170169
soft.assertThat(result.stepName()).isEqualTo("stepName");
171170
soft.assertThat(result.mainStepType()).isEqualTo(MainStepType.MAIN);
@@ -192,8 +191,7 @@ void shouldExecuteWithoutKey(){
192191

193192
SoftAssertions.assertSoftly(soft ->{
194193
soft.assertThat(result).isNotNull();
195-
soft.assertThat(result.id()).contains("workflow_step/");
196-
soft.assertThat(result.key()).isNotNull();
194+
soft.assertThat(result.id()).isEqualTo("id");
197195
soft.assertThat(result.workflowSchemaKey()).isEqualTo("workflowSchemaKey");
198196
soft.assertThat(result.stepName()).isEqualTo("stepName");
199197
soft.assertThat(result.mainStepType()).isEqualTo(MainStepType.MAIN);
@@ -219,8 +217,7 @@ void shouldExecuteWithoutKId(){
219217

220218
SoftAssertions.assertSoftly(soft ->{
221219
soft.assertThat(result).isNotNull();
222-
soft.assertThat(result.id()).contains("workflow_step/");
223-
soft.assertThat(result.key()).isNotNull();
220+
soft.assertThat(result.id()).isNotNull();
224221
soft.assertThat(result.workflowSchemaKey()).isEqualTo("workflowSchemaKey");
225222
soft.assertThat(result.stepName()).isEqualTo("stepName");
226223
soft.assertThat(result.mainStepType()).isEqualTo(MainStepType.MAIN);

jnosql-arangodb/src/test/java/org/eclipse/jnosql/databases/arangodb/integration/WorkflowStep.java

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,9 @@
2323
@Entity("workflow_step")
2424
public class WorkflowStep {
2525

26-
@Id
26+
@Id("_key")
2727
private String id;
2828

29-
@Column("_key")
30-
private String key;
31-
3229
@Column
3330
private String workflowSchemaKey;
3431

@@ -50,12 +47,11 @@ public class WorkflowStep {
5047
@Column
5148
private List<Transition> availableTransitions;
5249

53-
WorkflowStep(String id, String key, String workflowSchemaKey,
50+
WorkflowStep(String id, String workflowSchemaKey,
5451
String stepName, MainStepType mainStepType,
5552
Integer stepNo, String componentConfigurationKey,
5653
String relationTypeKey, List<Transition> availableTransitions) {
5754
this.id = id;
58-
this.key = key;
5955
this.workflowSchemaKey = workflowSchemaKey;
6056
this.stepName = stepName;
6157
this.mainStepType = mainStepType;
@@ -76,10 +72,6 @@ public String id() {
7672
return id;
7773
}
7874

79-
public String key() {
80-
return key;
81-
}
82-
8375
public String workflowSchemaKey() {
8476
return workflowSchemaKey;
8577
}

jnosql-arangodb/src/test/java/org/eclipse/jnosql/databases/arangodb/integration/WorkflowStepBuilder.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818

1919
public class WorkflowStepBuilder {
2020
private String id;
21-
private String key;
2221
private String workflowSchemaKey;
2322
private String stepName;
2423
private MainStepType mainStepType;
@@ -32,11 +31,6 @@ public WorkflowStepBuilder id(String id) {
3231
return this;
3332
}
3433

35-
public WorkflowStepBuilder key(String key) {
36-
this.key = key;
37-
return this;
38-
}
39-
4034
public WorkflowStepBuilder workflowSchemaKey(String workflowSchemaKey) {
4135
this.workflowSchemaKey = workflowSchemaKey;
4236
return this;
@@ -73,7 +67,7 @@ public WorkflowStepBuilder availableTransitions(List<Transition> availableTransi
7367
}
7468

7569
public WorkflowStep build() {
76-
return new WorkflowStep(id, key, workflowSchemaKey, stepName, mainStepType,
70+
return new WorkflowStep(id, workflowSchemaKey, stepName, mainStepType,
7771
stepNo, componentConfigurationKey, relationTypeKey, availableTransitions);
7872
}
7973
}

jnosql-arangodb/src/test/java/org/eclipse/jnosql/databases/arangodb/mapping/DefaultArangoDBTemplateTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ public void setup() {
7878
template = new DefaultArangoDBTemplate(instance, converter, persistManager, entities, converters);
7979

8080
CommunicationEntity entity = CommunicationEntity.of("Person");
81-
entity.add(Element.of("_id", "Ada"));
81+
entity.add(Element.of("_key", "Ada"));
8282
entity.add(Element.of("age", 10));
8383

8484
}

jnosql-arangodb/src/test/java/org/eclipse/jnosql/databases/arangodb/mapping/Person.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
@Entity
2525
public class Person {
2626

27-
@Id
27+
@Id("_key")
2828
private String name;
2929

3030
@Column

0 commit comments

Comments
 (0)