Skip to content

Commit a061f54

Browse files
committed
Release: v5.0.0
- Support new Recommend Items to Item Segment endpoint - Series API improvements: - Add Series endpoint creates associated Item for the Series automatically (based on the cascadeCreate parameter) - Breaking change: Remove From Series no longer requires the time parameter - Removed deprecated Groups endpoints
1 parent d6866c1 commit a061f54

File tree

136 files changed

+748
-1223
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

136 files changed

+748
-1223
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ The client is available in the [Maven Central Repository](https://mvnrepository.
1313
<dependency>
1414
<groupId>com.recombee</groupId>
1515
<artifactId>api-client</artifactId>
16-
<version>4.1.5</version>
16+
<version>5.0.0</version>
1717
</dependency>
1818
```
1919

pom.xml

+13-17
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>com.recombee</groupId>
88
<artifactId>api-client</artifactId>
9-
<version>4.1.5</version>
9+
<version>5.0.0</version>
1010
<name>Recombee API Client</name>
1111
<description>A client library for easy use of the Recombee recommendation API</description>
1212
<url>http://recombee.com</url>
@@ -45,32 +45,31 @@
4545
<dependency>
4646
<groupId>com.fasterxml.jackson.core</groupId>
4747
<artifactId>jackson-core</artifactId>
48-
<version>2.13.2</version>
48+
<version>2.18.1</version>
4949
</dependency>
5050
<dependency>
5151
<groupId>com.fasterxml.jackson.core</groupId>
5252
<artifactId>jackson-databind</artifactId>
53-
<version>2.13.2.2</version>
53+
<version>2.18.1</version>
5454
</dependency>
5555
<dependency>
5656
<groupId>junit</groupId>
5757
<artifactId>junit</artifactId>
58-
<version>4.13.1</version>
58+
<version>4.13.2</version>
59+
<scope>test</scope>
5960
</dependency>
6061
<dependency>
61-
<groupId>commons-lang</groupId>
62-
<artifactId>commons-lang</artifactId>
63-
<version>2.6</version>
62+
<groupId>org.apache.commons</groupId>
63+
<artifactId>commons-lang3</artifactId>
64+
<version>3.12.0</version>
6465
</dependency>
6566
<dependency>
6667
<groupId>commons-codec</groupId>
6768
<artifactId>commons-codec</artifactId>
68-
<version>1.10</version>
69+
<version>1.15</version>
6970
</dependency>
70-
7171
</dependencies>
7272

73-
7473
<distributionManagement>
7574
<snapshotRepository>
7675
<id>ossrh</id>
@@ -83,7 +82,7 @@
8382
<plugin>
8483
<groupId>org.apache.maven.plugins</groupId>
8584
<artifactId>maven-compiler-plugin</artifactId>
86-
<version>3.5.1</version>
85+
<version>3.10.1</version>
8786
<configuration>
8887
<source>1.8</source>
8988
<target>1.8</target>
@@ -92,7 +91,7 @@
9291
<plugin>
9392
<groupId>org.apache.maven.plugins</groupId>
9493
<artifactId>maven-source-plugin</artifactId>
95-
<version>2.2.1</version>
94+
<version>3.2.1</version>
9695
<executions>
9796
<execution>
9897
<id>attach-sources</id>
@@ -105,7 +104,7 @@
105104
<plugin>
106105
<groupId>org.apache.maven.plugins</groupId>
107106
<artifactId>maven-javadoc-plugin</artifactId>
108-
<version>2.9.1</version>
107+
<version>3.4.0</version>
109108
<executions>
110109
<execution>
111110
<id>attach-javadocs</id>
@@ -115,11 +114,10 @@
115114
</execution>
116115
</executions>
117116
</plugin>
118-
119117
<plugin>
120118
<groupId>org.apache.maven.plugins</groupId>
121119
<artifactId>maven-gpg-plugin</artifactId>
122-
<version>1.6</version>
120+
<version>3.0.1</version>
123121
<executions>
124122
<execution>
125123
<id>sign-artifacts</id>
@@ -130,7 +128,6 @@
130128
</execution>
131129
</executions>
132130
</plugin>
133-
134131
<plugin>
135132
<groupId>org.sonatype.plugins</groupId>
136133
<artifactId>nexus-staging-maven-plugin</artifactId>
@@ -142,7 +139,6 @@
142139
<autoReleaseAfterClose>true</autoReleaseAfterClose>
143140
</configuration>
144141
</plugin>
145-
146142
</plugins>
147143
</build>
148144

src/examples/java/com/recombee/api_client/examples/BasicExample.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,4 @@ public static void main(String[] args) {
4343
//use fallback
4444
}
4545
}
46-
}
46+
}

src/main/java/com/recombee/api_client/RecombeeClient.java

+14-40
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,6 @@
4949
import com.recombee.api_client.api_requests.DeleteMoreItems;
5050
import com.recombee.api_client.api_requests.ListSeries;
5151
import com.recombee.api_client.api_requests.ListSeriesItems;
52-
import com.recombee.api_client.api_requests.ListGroups;
53-
import com.recombee.api_client.api_requests.ListGroupItems;
5452
import com.recombee.api_client.api_requests.GetUserValues;
5553
import com.recombee.api_client.api_requests.ListUsers;
5654
import com.recombee.api_client.api_requests.GetUserPropertyInfo;
@@ -75,6 +73,7 @@
7573
import com.recombee.api_client.api_requests.RecommendItemSegmentsToUser;
7674
import com.recombee.api_client.api_requests.RecommendItemSegmentsToItem;
7775
import com.recombee.api_client.api_requests.RecommendItemSegmentsToItemSegment;
76+
import com.recombee.api_client.api_requests.RecommendItemsToItemSegment;
7877
import com.recombee.api_client.api_requests.SearchItems;
7978
import com.recombee.api_client.api_requests.SearchItemSegments;
8079
import com.recombee.api_client.api_requests.AddSearchSynonym;
@@ -97,7 +96,7 @@ public class RecombeeClient {
9796

9897
final int BATCH_MAX_SIZE = 10000; //Maximal number of requests within one batch request
9998

100-
final String USER_AGENT = "recombee-java-api-client/4.1.5";
99+
final String USER_AGENT = "recombee-java-api-client/5.0.0";
101100

102101
private final OkHttpClient httpClient = new OkHttpClient();
103102

@@ -213,26 +212,6 @@ public SeriesItem[] send(ListSeriesItems request) throws ApiException {
213212
return null;
214213
}
215214

216-
public Group[] send(ListGroups request) throws ApiException {
217-
String responseStr = sendRequest(request);
218-
try {
219-
return this.mapper.readValue(responseStr, Group[].class);
220-
} catch (IOException e) {
221-
e.printStackTrace();
222-
}
223-
return null;
224-
}
225-
226-
public GroupItem[] send(ListGroupItems request) throws ApiException {
227-
String responseStr = sendRequest(request);
228-
try {
229-
return this.mapper.readValue(responseStr, GroupItem[].class);
230-
} catch (IOException e) {
231-
e.printStackTrace();
232-
}
233-
return null;
234-
}
235-
236215
public PropertyInfo send(GetUserPropertyInfo request) throws ApiException {
237216
String responseStr = sendRequest(request);
238217
try {
@@ -453,6 +432,16 @@ public RecommendationResponse send(RecommendItemSegmentsToItemSegment request) t
453432
return null;
454433
}
455434

435+
public RecommendationResponse send(RecommendItemsToItemSegment request) throws ApiException {
436+
String responseStr = sendRequest(request);
437+
try {
438+
return this.mapper.readValue(responseStr, RecommendationResponse.class);
439+
} catch (IOException e) {
440+
e.printStackTrace();
441+
}
442+
return null;
443+
}
444+
456445
public SearchResponse send(SearchItems request) throws ApiException {
457446
String responseStr = sendRequest(request);
458447
try {
@@ -591,6 +580,7 @@ else if ((request instanceof RecommendItemsToUser) ||
591580
(request instanceof RecommendNextItems) ||
592581
(request instanceof RecommendItemSegmentsToUser) ||
593582
(request instanceof RecommendItemSegmentsToItem) ||
583+
(request instanceof RecommendItemsToItemSegment) ||
594584
(request instanceof RecommendItemSegmentsToItemSegment) ||
595585
(request instanceof SearchItemSegments))
596586
{
@@ -610,7 +600,7 @@ else if (request instanceof DeleteMoreItems)
610600
}
611601
else if (request instanceof ListSegmentations)
612602
{
613-
parsedResponse = mapper.convertValue(parsedResponse, ListSegmentations.class);
603+
parsedResponse = mapper.convertValue(parsedResponse, ListSegmentationsResponse.class);
614604
}
615605
/* Start of the generated code */
616606
else if (request instanceof GetItemPropertyInfo)
@@ -643,22 +633,6 @@ else if (request instanceof ListSeriesItems)
643633
parsedResponse = ar;
644634
}
645635

646-
else if (request instanceof ListGroups)
647-
{
648-
ArrayList<String> array = (ArrayList<String>) parsedResponse;
649-
Group[] ar = new Group[array.size()];
650-
for(int j=0;j<ar.length;j++) ar[j] = new Group(array.get(j));
651-
parsedResponse = ar;
652-
}
653-
654-
else if (request instanceof ListGroupItems)
655-
{
656-
ArrayList<Map<String, Object>> array = (ArrayList<Map<String, Object>>) parsedResponse;
657-
GroupItem[] ar = new GroupItem[array.size()];
658-
for(int j=0;j<ar.length;j++) ar[j] = new GroupItem(array.get(j));
659-
parsedResponse = ar;
660-
}
661-
662636
else if (request instanceof GetUserPropertyInfo)
663637
{
664638
Map<String, Object> obj = (Map<String, Object>) parsedResponse;

src/main/java/com/recombee/api_client/api_requests/AddBookmark.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public class AddBookmark extends Request {
4949
public AddBookmark (String userId,String itemId) {
5050
this.userId = userId;
5151
this.itemId = itemId;
52-
this.timeout = 1000;
52+
this.timeout = 3000;
5353
}
5454

5555
/**

src/main/java/com/recombee/api_client/api_requests/AddCartAddition.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public class AddCartAddition extends Request {
5757
public AddCartAddition (String userId,String itemId) {
5858
this.userId = userId;
5959
this.itemId = itemId;
60-
this.timeout = 1000;
60+
this.timeout = 3000;
6161
}
6262

6363
/**

src/main/java/com/recombee/api_client/api_requests/AddDetailView.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public class AddDetailView extends Request {
5353
public AddDetailView (String userId,String itemId) {
5454
this.userId = userId;
5555
this.itemId = itemId;
56-
this.timeout = 1000;
56+
this.timeout = 3000;
5757
}
5858

5959
/**

src/main/java/com/recombee/api_client/api_requests/AddGroup.java

-74
This file was deleted.

src/main/java/com/recombee/api_client/api_requests/AddItem.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public class AddItem extends Request {
2828
*/
2929
public AddItem (String itemId) {
3030
this.itemId = itemId;
31-
this.timeout = 1000;
31+
this.timeout = 3000;
3232
}
3333

3434

src/main/java/com/recombee/api_client/api_requests/AddItemProperty.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
import com.recombee.api_client.util.HTTPMethod;
1313

1414
/**
15-
* Adding an item property is somehow equivalent to adding a column to the table of items. The items may be characterized by various properties of different types.
15+
* Adding an item property is somewhat equivalent to adding a column to the table of items. The items may be characterized by various properties of different types.
1616
*/
1717
public class AddItemProperty extends Request {
1818

src/main/java/com/recombee/api_client/api_requests/AddPurchase.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public class AddPurchase extends Request {
6161
public AddPurchase (String userId,String itemId) {
6262
this.userId = userId;
6363
this.itemId = itemId;
64-
this.timeout = 1000;
64+
this.timeout = 3000;
6565
}
6666

6767
/**

src/main/java/com/recombee/api_client/api_requests/AddRating.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public AddRating (String userId,String itemId,double rating) {
5555
this.userId = userId;
5656
this.itemId = itemId;
5757
this.rating = rating;
58-
this.timeout = 1000;
58+
this.timeout = 3000;
5959
}
6060

6161
/**

src/main/java/com/recombee/api_client/api_requests/AddSearchSynonym.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
/**
1515
* Adds a new synonym for the [Search items](https://docs.recombee.com/api.html#search-items).
1616
* When the `term` is used in the search query, the `synonym` is also used for the full-text search.
17-
* Unless `oneWay=true`, it works also in the opposite way (`synonym` -&amp;gt; `term`).
17+
* Unless `oneWay=true`, it works also in the opposite way (`synonym` -&gt; `term`).
1818
* An example of a synonym can be `science fiction` for the term `sci-fi`.
1919
*/
2020
public class AddSearchSynonym extends Request {
@@ -28,7 +28,7 @@ public class AddSearchSynonym extends Request {
2828
*/
2929
protected String synonym;
3030
/**
31-
* If set to `true`, only `term` -&amp;gt; `synonym` is considered. If set to `false`, also `synonym` -&amp;gt; `term` works.
31+
* If set to `true`, only `term` -&gt; `synonym` is considered. If set to `false`, also `synonym` -&gt; `term` works.
3232
* Default: `false`.
3333
*/
3434
protected Boolean oneWay;
@@ -45,7 +45,7 @@ public AddSearchSynonym (String term,String synonym) {
4545
}
4646

4747
/**
48-
* @param oneWay If set to `true`, only `term` -&amp;gt; `synonym` is considered. If set to `false`, also `synonym` -&amp;gt; `term` works.
48+
* @param oneWay If set to `true`, only `term` -&gt; `synonym` is considered. If set to `false`, also `synonym` -&gt; `term` works.
4949
* Default: `false`.
5050
*/
5151
public AddSearchSynonym setOneWay(boolean oneWay) {

0 commit comments

Comments
 (0)