Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Adaptation of API changes
  • Loading branch information
mpv1989 committed Jul 25, 2018
commit abbee1d8be1880e0ad0cb2d9fd83ed65ca8306c7
7 changes: 7 additions & 0 deletions src/main/java/com/arangodb/entity/ViewEntity.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,13 @@ public ViewEntity() {
super();
}

public ViewEntity(final String id, final String name, final ViewType type) {
super();
this.id = id;
this.name = name;
this.type = type;
}

public String getId() {
return id;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
* Copyright holder is ArangoDB GmbH, Cologne, Germany
*/

package com.arangodb.model.arangosearch;
package com.arangodb.entity.arangosearch;

import java.util.ArrayList;
import java.util.Arrays;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,7 @@
import java.util.Collection;

import com.arangodb.entity.ViewEntity;
import com.arangodb.model.arangosearch.ArangoSearchProperties;
import com.arangodb.model.arangosearch.CollectionLink;
import com.arangodb.model.arangosearch.ConsolidateThreshold;
import com.arangodb.entity.ViewType;

/**
* @author Mark Vollmary
Expand All @@ -35,9 +33,10 @@ public class ArangoSearchPropertiesEntity extends ViewEntity {

private final ArangoSearchProperties properties;

public ArangoSearchPropertiesEntity() {
super();
this.properties = new ArangoSearchProperties();
public ArangoSearchPropertiesEntity(final String id, final String name, final ViewType type,
final ArangoSearchProperties properties) {
super(id, name, type);
this.properties = properties;
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
* Copyright holder is ArangoDB GmbH, Cologne, Germany
*/

package com.arangodb.model.arangosearch;
package com.arangodb.entity.arangosearch;

import java.util.ArrayList;
import java.util.Arrays;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
* Copyright holder is ArangoDB GmbH, Cologne, Germany
*/

package com.arangodb.model.arangosearch;
package com.arangodb.entity.arangosearch;

/**
* @author Mark Vollmary
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.arangodb.model.arangosearch;
package com.arangodb.entity.arangosearch;

public enum ConsolidateType {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.arangodb.model.arangosearch;
package com.arangodb.entity.arangosearch;

import java.util.ArrayList;
import java.util.Arrays;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
* Copyright holder is ArangoDB GmbH, Cologne, Germany
*/

package com.arangodb.model.arangosearch;
package com.arangodb.entity.arangosearch;

/**
* @author Mark Vollmary
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,15 @@
import com.arangodb.entity.Permissions;
import com.arangodb.entity.QueryExecutionState;
import com.arangodb.entity.ReplicationFactor;
import com.arangodb.entity.ViewEntity;
import com.arangodb.entity.ViewType;
import com.arangodb.model.arangosearch.ArangoSearchProperties;
import com.arangodb.model.arangosearch.CollectionLink;
import com.arangodb.model.arangosearch.ConsolidateThreshold;
import com.arangodb.model.arangosearch.ConsolidateType;
import com.arangodb.model.arangosearch.FieldLink;
import com.arangodb.entity.arangosearch.ArangoSearchProperties;
import com.arangodb.entity.arangosearch.ArangoSearchPropertiesEntity;
import com.arangodb.entity.arangosearch.CollectionLink;
import com.arangodb.entity.arangosearch.ConsolidateThreshold;
import com.arangodb.entity.arangosearch.ConsolidateType;
import com.arangodb.entity.arangosearch.FieldLink;
import com.arangodb.entity.arangosearch.TrackValuesType;
import com.arangodb.velocypack.VPackDeserializationContext;
import com.arangodb.velocypack.VPackDeserializer;
import com.arangodb.velocypack.VPackSlice;
Expand Down Expand Up @@ -268,6 +271,10 @@ public ArangoSearchProperties deserialize(
if (trackListPositions.isBoolean()) {
link.trackListPositions(trackListPositions.getAsBoolean());
}
final VPackSlice trackValues = value.get("trackValues");
if (trackValues.isString()) {
link.trackValues(TrackValuesType.valueOf(trackValues.getAsString().toUpperCase()));
}
final VPackSlice fields = value.get("fields");
if (fields.isObject()) {
final Iterator<Entry<String, VPackSlice>> fieldsIterator = fields.objectIterator();
Expand Down Expand Up @@ -300,6 +307,10 @@ protected static FieldLink deserializeField(final Entry<String, VPackSlice> fiel
if (trackListPositions.isBoolean()) {
link.trackListPositions(trackListPositions.getAsBoolean());
}
final VPackSlice trackValues = value.get("trackValues");
if (trackValues.isString()) {
link.trackValues(TrackValuesType.valueOf(trackValues.getAsString().toUpperCase()));
}
final VPackSlice fields = value.get("fields");
if (fields.isObject()) {
final Iterator<Entry<String, VPackSlice>> fieldsIterator = fields.objectIterator();
Expand All @@ -310,4 +321,18 @@ protected static FieldLink deserializeField(final Entry<String, VPackSlice> fiel
return link;
}

public static final VPackDeserializer<ArangoSearchPropertiesEntity> ARANGO_SEARCH_PROPERTIES_ENTITY = new VPackDeserializer<ArangoSearchPropertiesEntity>() {
@Override
public ArangoSearchPropertiesEntity deserialize(
final VPackSlice parent,
final VPackSlice vpack,
final VPackDeserializationContext context) throws VPackException {
final ViewEntity entity = context.deserialize(vpack, ViewEntity.class);
final ArangoSearchProperties properties = context.deserialize(vpack, ArangoSearchProperties.class);
final ArangoSearchPropertiesEntity result = new ArangoSearchPropertiesEntity(entity.getId(),
entity.getName(), entity.getType(), properties);
return result;
}
};

}
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,10 @@
import com.arangodb.entity.QueryExecutionState;
import com.arangodb.entity.ReplicationFactor;
import com.arangodb.entity.ViewType;
import com.arangodb.entity.arangosearch.ArangoSearchProperties;
import com.arangodb.entity.arangosearch.ArangoSearchPropertiesEntity;
import com.arangodb.internal.velocystream.internal.AuthenticationRequest;
import com.arangodb.model.TraversalOptions;
import com.arangodb.model.arangosearch.ArangoSearchProperties;
import com.arangodb.velocypack.VPackFieldNamingStrategy;
import com.arangodb.velocypack.VPackModule;
import com.arangodb.velocypack.VPackParserModule;
Expand Down Expand Up @@ -89,6 +90,8 @@ public String translateName(final Field field) {
context.registerDeserializer(ReplicationFactor.class, VPackDeserializers.REPLICATION_FACTOR);
context.registerDeserializer(ViewType.class, VPackDeserializers.VIEW_TYPE);
context.registerDeserializer(ArangoSearchProperties.class, VPackDeserializers.ARANGO_SEARCH_PROPERTIES);
context.registerDeserializer(ArangoSearchPropertiesEntity.class,
VPackDeserializers.ARANGO_SEARCH_PROPERTIES_ENTITY);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,14 @@
import com.arangodb.entity.Permissions;
import com.arangodb.entity.ReplicationFactor;
import com.arangodb.entity.ViewType;
import com.arangodb.entity.arangosearch.ArangoSearchProperties;
import com.arangodb.entity.arangosearch.CollectionLink;
import com.arangodb.entity.arangosearch.ConsolidateThreshold;
import com.arangodb.entity.arangosearch.FieldLink;
import com.arangodb.entity.arangosearch.TrackValuesType;
import com.arangodb.internal.velocystream.internal.AuthenticationRequest;
import com.arangodb.model.TraversalOptions;
import com.arangodb.model.TraversalOptions.Order;
import com.arangodb.model.arangosearch.ArangoSearchProperties;
import com.arangodb.model.arangosearch.CollectionLink;
import com.arangodb.model.arangosearch.ConsolidateThreshold;
import com.arangodb.model.arangosearch.FieldLink;
import com.arangodb.velocypack.VPackBuilder;
import com.arangodb.velocypack.VPackSerializationContext;
import com.arangodb.velocypack.VPackSerializer;
Expand Down Expand Up @@ -214,7 +215,10 @@ public void serialize(
final String attribute,
final ArangoSearchProperties value,
final VPackSerializationContext context) throws VPackException {
builder.add("properties", ValueType.OBJECT);
final boolean wrap = !attribute.startsWith("_");
if (wrap) {
builder.add("properties", ValueType.OBJECT);
}
final String locale = value.getLocale();
if (locale != null) {
builder.add("locale", locale);
Expand Down Expand Up @@ -271,12 +275,18 @@ public void serialize(
if (trackListPositions != null) {
builder.add("trackListPositions", trackListPositions);
}
final TrackValuesType trackValues = collectionLink.getTrackValues();
if (trackValues != null) {
builder.add("trackValues", trackValues.name().toLowerCase());
}
serializeFieldLinks(builder, collectionLink.getFields());
builder.close();
}
builder.close();
}
builder.close();
if (wrap) {
builder.close();
}
}
};

Expand All @@ -301,6 +311,10 @@ private static void serializeFieldLinks(final VPackBuilder builder, final Collec
if (trackListPositions != null) {
builder.add("trackListPositions", trackListPositions);
}
final TrackValuesType trackValues = fieldLink.getTrackValues();
if (trackValues != null) {
builder.add("trackValues", trackValues.name().toLowerCase());
}
serializeFieldLinks(builder, fieldLink.getFields());
builder.close();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@
package com.arangodb.model.arangosearch;

import com.arangodb.entity.ViewType;
import com.arangodb.entity.arangosearch.ArangoSearchProperties;
import com.arangodb.entity.arangosearch.ConsolidateThreshold;

/**
* @author Mark Vollmary
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,21 @@

package com.arangodb.model.arangosearch;

import com.arangodb.entity.arangosearch.ArangoSearchProperties;
import com.arangodb.entity.arangosearch.CollectionLink;
import com.arangodb.entity.arangosearch.ConsolidateThreshold;

/**
* @author Mark Vollmary
*
*/
public class ArangoSearchPropertiesOptions {

private final ArangoSearchProperties properties;
private final ArangoSearchProperties _properties;

public ArangoSearchPropertiesOptions() {
super();
properties = new ArangoSearchProperties();
_properties = new ArangoSearchProperties();
}

/**
Expand All @@ -39,7 +43,7 @@ public ArangoSearchPropertiesOptions() {
* @return options
*/
public ArangoSearchPropertiesOptions locale(final String locale) {
properties.setLocale(locale);
_properties.setLocale(locale);
return this;
}

Expand All @@ -53,7 +57,7 @@ public ArangoSearchPropertiesOptions locale(final String locale) {
* @return options
*/
public ArangoSearchPropertiesOptions commitIntervalMsec(final Long commitIntervalMsec) {
properties.setCommitIntervalMsec(commitIntervalMsec);
_properties.setCommitIntervalMsec(commitIntervalMsec);
return this;
}

Expand All @@ -67,7 +71,7 @@ public ArangoSearchPropertiesOptions commitIntervalMsec(final Long commitInterva
* @return options
*/
public ArangoSearchPropertiesOptions cleanupIntervalStep(final Long cleanupIntervalStep) {
properties.setCleanupIntervalStep(cleanupIntervalStep);
_properties.setCleanupIntervalStep(cleanupIntervalStep);
return this;
}

Expand All @@ -77,7 +81,7 @@ public ArangoSearchPropertiesOptions cleanupIntervalStep(final Long cleanupInter
* @return options
*/
public ArangoSearchPropertiesOptions threshold(final ConsolidateThreshold... thresholds) {
properties.addThreshold(thresholds);
_properties.addThreshold(thresholds);
return this;
}

Expand All @@ -87,7 +91,7 @@ public ArangoSearchPropertiesOptions threshold(final ConsolidateThreshold... thr
* @return options
*/
public ArangoSearchPropertiesOptions link(final CollectionLink... links) {
properties.addLink(links);
_properties.addLink(links);
return this;
}

Expand Down
18 changes: 12 additions & 6 deletions src/test/java/com/arangodb/ArangoSearchTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,13 @@
import com.arangodb.entity.ViewEntity;
import com.arangodb.entity.ViewType;
import com.arangodb.entity.arangosearch.ArangoSearchPropertiesEntity;
import com.arangodb.entity.arangosearch.CollectionLink;
import com.arangodb.entity.arangosearch.ConsolidateThreshold;
import com.arangodb.entity.arangosearch.ConsolidateType;
import com.arangodb.entity.arangosearch.FieldLink;
import com.arangodb.entity.arangosearch.TrackValuesType;
import com.arangodb.model.arangosearch.ArangoSearchCreateOptions;
import com.arangodb.model.arangosearch.ArangoSearchPropertiesOptions;
import com.arangodb.model.arangosearch.CollectionLink;
import com.arangodb.model.arangosearch.ConsolidateThreshold;
import com.arangodb.model.arangosearch.ConsolidateType;
import com.arangodb.model.arangosearch.FieldLink;

/**
* @author Mark Vollmary
Expand Down Expand Up @@ -141,7 +142,8 @@ public void updateProperties() {
options.commitIntervalMsec(65000L);
options.threshold(ConsolidateThreshold.of(ConsolidateType.COUNT).threshold(1.));
options.link(
CollectionLink.on("view_update_prop_test_collection").fields(FieldLink.on("value").analyzers("identity")));
CollectionLink.on("view_update_prop_test_collection").fields(FieldLink.on("value").analyzers("identity")
.trackListPositions(true).includeAllFields(true).trackValues(TrackValuesType.EXISTS)));
final ArangoSearchPropertiesEntity properties = view.updateProperties(options);
assertThat(properties, is(not(nullValue())));
assertThat(properties.getCleanupIntervalStep(), is(15L));
Expand All @@ -156,7 +158,11 @@ public void updateProperties() {
final CollectionLink link = properties.getLinks().iterator().next();
assertThat(link.getName(), is("view_update_prop_test_collection"));
assertThat(link.getFields().size(), is(1));
assertThat(link.getFields().iterator().next().getName(), is("value"));
final FieldLink next = link.getFields().iterator().next();
assertThat(next.getName(), is("value"));
assertThat(next.getIncludeAllFields(), is(true));
assertThat(next.getTrackListPositions(), is(true));
assertThat(next.getTrackValues(), is(TrackValuesType.EXISTS));
}

@Test
Expand Down