Skip to content

Commit 076d06f

Browse files
committed
Change type of URL field to URI
Fixes #306
1 parent 7c2716a commit 076d06f

File tree

22 files changed

+172
-134
lines changed

22 files changed

+172
-134
lines changed

line-bot-api-client/src/test/java/com/linecorp/bot/client/LineMessagingClientImplTest.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import static org.mockito.Mockito.when;
2727

2828
import java.io.IOException;
29+
import java.net.URI;
2930
import java.util.Collections;
3031

3132
import org.junit.Rule;
@@ -235,7 +236,8 @@ public void getNumberOfSentBroadcastMessages() {
235236
@Test
236237
public void getProfileTest() throws Exception {
237238
final UserProfileResponse mockUserProfileResponse =
238-
new UserProfileResponse("displayName", "userId", "pictureUrl", "statusMessage");
239+
new UserProfileResponse("displayName", "userId",
240+
URI.create("http://pictureUrl/"), "statusMessage");
239241
whenCall(retrofitMock.getProfile(any()),
240242
mockUserProfileResponse);
241243

@@ -250,7 +252,8 @@ public void getProfileTest() throws Exception {
250252
@Test
251253
public void getProfileOfGroupMemberTest() throws Exception {
252254
final UserProfileResponse mockUserProfileResponse =
253-
new UserProfileResponse("displayName", "userId", "pictureUrl", null);
255+
new UserProfileResponse("displayName", "userId",
256+
URI.create("http://pictureUrl"), null);
254257
whenCall(retrofitMock.getMemberProfile(any(), any(), any()),
255258
mockUserProfileResponse);
256259

line-bot-api-client/src/test/java/com/linecorp/bot/client/LineMessagingClientImplWiremockTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import static org.assertj.core.api.Assertions.assertThat;
2020
import static org.hamcrest.CoreMatchers.isA;
2121

22+
import java.net.URI;
2223
import java.util.concurrent.ExecutionException;
2324

2425
import org.hamcrest.CustomTypeSafeMatcher;
@@ -145,7 +146,7 @@ public void relativeRequestTest() throws Exception {
145146

146147
final UserProfileResponse profileResponseMock =
147148
new UserProfileResponse("name", "userId",
148-
"https://line.me/picture_url",
149+
URI.create("https://line.me/picture_url"),
149150
"Status message");
150151

151152
mockWebServer.enqueue(new MockResponse()

line-bot-api-client/src/test/java/com/linecorp/bot/client/LineMessagingClientTest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818

1919
import static org.assertj.core.api.Assertions.assertThat;
2020

21+
import java.net.URI;
22+
2123
import org.junit.After;
2224
import org.junit.Before;
2325
import org.junit.Test;
@@ -61,7 +63,7 @@ public void tearDown() throws Exception {
6163
public void relativeRequestTest() throws Exception {
6264
final UserProfileResponse profileResponseMock =
6365
new UserProfileResponse("name", "userId",
64-
"https://line.me/picture_url",
66+
URI.create("https://line.me/picture_url"),
6567
"Status message");
6668

6769
mockWebServer.enqueue(new MockResponse()

line-bot-model/src/main/java/com/linecorp/bot/model/action/URIAction.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public class URIAction implements Action {
4848
*
4949
* <p>Available values are: http, https, tel
5050
*/
51-
private final String uri;
51+
private final URI uri;
5252

5353
/**
5454
* URI that opened on LINE desktop clients when the action is performed. If this property is set,
@@ -59,7 +59,7 @@ public class URIAction implements Action {
5959
@JsonCreator
6060
public URIAction(
6161
@JsonProperty("label") String label,
62-
@JsonProperty("uri") String uri,
62+
@JsonProperty("uri") URI uri,
6363
@JsonProperty("altUri") AltUri altUri) {
6464
this.label = label;
6565
this.uri = uri;

line-bot-model/src/main/java/com/linecorp/bot/model/event/message/ContentProvider.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
package com.linecorp.bot.model.event.message;
1818

19+
import java.net.URI;
20+
1921
import com.fasterxml.jackson.annotation.JsonCreator;
2022
import com.fasterxml.jackson.annotation.JsonIgnore;
2123
import com.fasterxml.jackson.annotation.JsonProperty;
@@ -39,17 +41,17 @@ public class ContentProvider {
3941
/**
4042
* URL of the resource. Only included when {@link #type} is {@link #EXTERNAL}.
4143
*/
42-
private final String originalContentUrl;
44+
private final URI originalContentUrl;
4345

4446
/**
4547
* URL of the preview resource. Only included when {@link #type} is {@link #EXTERNAL}.
4648
*/
47-
private final String previewImageUrl;
49+
private final URI previewImageUrl;
4850

4951
@JsonCreator
5052
public ContentProvider(@JsonProperty("type") String type,
51-
@JsonProperty("originalContentUrl") String originalContentUrl,
52-
@JsonProperty("previewImageUrl") String previewImageUrl) {
53+
@JsonProperty("originalContentUrl") URI originalContentUrl,
54+
@JsonProperty("previewImageUrl") URI previewImageUrl) {
5355
this.type = type;
5456
this.originalContentUrl = originalContentUrl;
5557
this.previewImageUrl = previewImageUrl;

line-bot-model/src/main/java/com/linecorp/bot/model/message/AudioMessage.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
package com.linecorp.bot.model.message;
1818

19+
import java.net.URI;
20+
1921
import com.fasterxml.jackson.annotation.JsonTypeName;
2022
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
2123
import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder;
@@ -43,7 +45,7 @@ public class AudioMessage implements Message {
4345
* <li>Max 10 MB</li>
4446
* </ul>
4547
*/
46-
private final String originalContentUrl;
48+
private final URI originalContentUrl;
4749

4850
/**
4951
* Length of audio file (milliseconds).
@@ -57,7 +59,7 @@ public class AudioMessage implements Message {
5759
*
5860
* <p>If you want use {@link QuickReply}, please use {@link #builder()} instead.
5961
*/
60-
public AudioMessage(final String originalContentUrl, final Integer duration) {
62+
public AudioMessage(final URI originalContentUrl, final Integer duration) {
6163
this(originalContentUrl, duration, null);
6264
}
6365

line-bot-model/src/main/java/com/linecorp/bot/model/message/ImageMessage.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
package com.linecorp.bot.model.message;
1818

19+
import java.net.URI;
20+
1921
import com.fasterxml.jackson.annotation.JsonTypeName;
2022
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
2123
import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder;
@@ -36,16 +38,16 @@
3638
@JsonTypeName("image")
3739
@JsonDeserialize(builder = ImageMessage.ImageMessageBuilder.class)
3840
public class ImageMessage implements Message {
39-
private final String originalContentUrl;
40-
private final String previewImageUrl;
41+
private final URI originalContentUrl;
42+
private final URI previewImageUrl;
4143
private final QuickReply quickReply;
4244

4345
/**
4446
* Constructor without {@link #quickReply} parameter.
4547
*
4648
* <p>If you want use {@link QuickReply}, please use {@link #builder()} instead.
4749
*/
48-
public ImageMessage(final String originalContentUrl, final String previewImageUrl) {
50+
public ImageMessage(final URI originalContentUrl, final URI previewImageUrl) {
4951
this(originalContentUrl, previewImageUrl, null);
5052
}
5153

line-bot-model/src/main/java/com/linecorp/bot/model/message/ImagemapMessage.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package com.linecorp.bot.model.message;
1818

19+
import java.net.URI;
1920
import java.util.List;
2021

2122
import com.fasterxml.jackson.annotation.JsonTypeName;
@@ -49,7 +50,7 @@ public class ImagemapMessage implements Message {
4950
* <li>HTTPS required</li>
5051
* </ul>
5152
*/
52-
private final String baseUrl;
53+
private final URI baseUrl;
5354

5455
/**
5556
* Alternative text.
@@ -78,7 +79,7 @@ public class ImagemapMessage implements Message {
7879
*/
7980
@Deprecated
8081
public ImagemapMessage(
81-
final String baseUrl,
82+
final URI baseUrl,
8283
final String altText,
8384
final ImagemapBaseSize imagemapBaseSize,
8485
final List<ImagemapAction> actions,
@@ -92,7 +93,7 @@ public ImagemapMessage(
9293
*/
9394
@Deprecated
9495
public ImagemapMessage(
95-
final String baseUrl,
96+
final URI baseUrl,
9697
final String altText,
9798
final ImagemapBaseSize imagemapBaseSize,
9899
final List<ImagemapAction> actions) {

line-bot-model/src/main/java/com/linecorp/bot/model/message/VideoMessage.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
package com.linecorp.bot.model.message;
1818

19+
import java.net.URI;
20+
1921
import com.fasterxml.jackson.annotation.JsonTypeName;
2022
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
2123
import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder;
@@ -45,7 +47,7 @@ public class VideoMessage implements Message {
4547
* </ul>
4648
*/
4749
@NonNull
48-
private final String originalContentUrl;
50+
private final URI originalContentUrl;
4951

5052
/**
5153
* URL of preview image.
@@ -58,7 +60,7 @@ public class VideoMessage implements Message {
5860
* </ul>
5961
*/
6062
@NonNull
61-
private final String previewImageUrl;
63+
private final URI previewImageUrl;
6264

6365
private final QuickReply quickReply;
6466

@@ -67,7 +69,7 @@ public class VideoMessage implements Message {
6769
*
6870
* <p>If you want use {@link QuickReply}, please use {@link #builder()} instead.
6971
*/
70-
public VideoMessage(final String originalContentUrl, final String previewImageUrl) {
72+
public VideoMessage(final URI originalContentUrl, final URI previewImageUrl) {
7173
this(originalContentUrl, previewImageUrl, null);
7274
}
7375

line-bot-model/src/main/java/com/linecorp/bot/model/message/flex/component/Image.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package com.linecorp.bot.model.message.flex.component;
1818

19+
import java.net.URI;
1920
import java.text.DecimalFormat;
2021

2122
import com.fasterxml.jackson.annotation.JsonCreator;
@@ -99,7 +100,7 @@ public enum ImageAspectMode {
99100

100101
private final Integer flex;
101102

102-
private final String url;
103+
private final URI url;
103104

104105
private final ImageSize size;
105106

@@ -130,7 +131,7 @@ public enum ImageAspectMode {
130131
@JsonCreator
131132
public Image(
132133
@JsonProperty("flex") Integer flex,
133-
@JsonProperty("url") String url,
134+
@JsonProperty("url") URI url,
134135
@JsonProperty("size") ImageSize size,
135136
@JsonProperty("aspectRatio") String aspectRatio,
136137
@JsonProperty("aspectMode") ImageAspectMode aspectMode,

0 commit comments

Comments
 (0)