Skip to content

Commit 3e538e0

Browse files
committed
Add GetCreationRequest and clean up core object structure
1 parent 3d65ea2 commit 3e538e0

File tree

11 files changed

+226
-185
lines changed

11 files changed

+226
-185
lines changed
Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
1-
package com.creatubbles.api;
2-
3-
import java.lang.annotation.Documented;
4-
import java.lang.annotation.ElementType;
5-
import java.lang.annotation.Retention;
6-
import java.lang.annotation.RetentionPolicy;
7-
import java.lang.annotation.Target;
8-
9-
@Retention(RetentionPolicy.RUNTIME)
10-
@Target({ElementType.TYPE})
11-
@Documented
12-
public @interface APIVersion {
13-
int value() default 1;
14-
}
1+
package com.creatubbles.api;
2+
3+
import java.lang.annotation.Documented;
4+
import java.lang.annotation.ElementType;
5+
import java.lang.annotation.Inherited;
6+
import java.lang.annotation.Retention;
7+
import java.lang.annotation.RetentionPolicy;
8+
import java.lang.annotation.Target;
9+
10+
@Retention(RetentionPolicy.RUNTIME)
11+
@Target({ElementType.TYPE})
12+
@Documented
13+
@Inherited
14+
public @interface APIVersion {
15+
int value() default 1;
16+
}

src/main/java/com/creatubbles/api/core/Creation.java

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4,27 +4,26 @@
44

55
import jersey.repackaged.com.google.common.collect.Maps;
66
import lombok.AccessLevel;
7+
import lombok.EqualsAndHashCode;
78
import lombok.Getter;
89
import lombok.ToString;
9-
import lombok.Value;
10-
import lombok.experimental.NonFinal;
1110

1211
import com.google.gson.annotations.SerializedName;
1312

14-
@Value
1513
@ToString(callSuper = true)
16-
@NonFinal
14+
@EqualsAndHashCode
15+
@Getter
1716
public class Creation extends CreatubblesObject {
1817

19-
String name;
18+
private String name;
2019
@SerializedName("created_at")
21-
String createdDate;
20+
private String createdDate;
2221
@SerializedName("created_at_age")
23-
String createdAge;
22+
private String createdAge;
2423

2524
@Getter(value = AccessLevel.NONE)
2625
@SerializedName("created_at_age_per_creator")
27-
HashMap<String, String> creatorToAgeMap = Maps.newHashMap();
26+
private HashMap<String, String> creatorToAgeMap = Maps.newHashMap();
2827

2928
public String getCreatedAge(String creatorId) {
3029
return creatorToAgeMap.get(creatorId);
@@ -35,27 +34,27 @@ public String getCreatedAge(User creator) {
3534
}
3635

3736
@SerializedName("created_at_month")
38-
int createdMonth;
37+
private int createdMonth;
3938
@SerializedName("created_at_year")
40-
int createdYear;
39+
private int createdYear;
4140
@SerializedName("comments_count")
42-
int commentCount;
41+
private int commentCount;
4342
@SerializedName("bubble_count")
44-
int bubbleCount;
43+
private int bubbleCount;
4544
@SerializedName("views_count")
46-
int viewCount;
45+
private int viewCount;
4746

4847
@SerializedName("last_bubbled_at")
49-
String lastBubbleDate;
48+
private String lastBubbleDate;
5049
@SerializedName("last_commented_at")
51-
String lastCommentDate;
50+
private String lastCommentDate;
5251
@SerializedName("last_submitted_at")
53-
String lastSubmitDate;
52+
private String lastSubmitDate;
5453

55-
Image image;
54+
private Image image;
5655

5756
@SerializedName("short_url")
58-
String shortUrl;
57+
private String shortUrl;
5958

60-
boolean approved;
59+
private boolean approved;
6160
}
Lines changed: 72 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,72 @@
1-
package com.creatubbles.api.core;
2-
3-
import java.lang.reflect.Type;
4-
5-
import lombok.Builder;
6-
import lombok.Value;
7-
8-
import com.google.gson.JsonElement;
9-
import com.google.gson.JsonObject;
10-
import com.google.gson.JsonSerializationContext;
11-
import com.google.gson.JsonSerializer;
12-
import com.google.gson.annotations.SerializedName;
13-
14-
@Value
15-
@Builder
16-
public class Gallery {
17-
18-
int id;
19-
String name, description;
20-
21-
@SerializedName("type")
22-
String type;
23-
@SerializedName("created_at")
24-
String createdDate;
25-
Image banner;
26-
27-
@SerializedName("open_for_all")
28-
boolean openForAll;
29-
30-
@SerializedName("owner_id")
31-
int ownerId;
32-
@SerializedName("owner_type")
33-
String ownerType;
34-
35-
public static class Serializer implements JsonSerializer<Gallery> {
36-
37-
@Override
38-
public JsonElement serialize(Gallery src, Type typeOfSrc, JsonSerializationContext context) {
39-
40-
JsonObject root = new JsonObject();
41-
42-
JsonObject data = new JsonObject();
43-
data.addProperty("type", src.type);
44-
45-
JsonObject attributes = new JsonObject();
46-
attributes.addProperty("name", src.name);
47-
attributes.addProperty("descrtiption", src.description);
48-
attributes.addProperty("open_for_all", src.openForAll ? 1 : 0);
49-
50-
JsonObject relationships = new JsonObject();
51-
52-
JsonObject owner = new JsonObject();
53-
JsonObject ownerdata = new JsonObject();
54-
ownerdata.addProperty("type", src.ownerType);
55-
ownerdata.addProperty("id", src.ownerId);
56-
owner.add("data", ownerdata);
57-
58-
relationships.add("owner", owner);
59-
60-
data.add("attributes", attributes);
61-
data.add("relationships", relationships);
62-
63-
root.add("data", data);
64-
return root;
65-
}
66-
}
67-
68-
}
1+
package com.creatubbles.api.core;
2+
3+
import java.lang.reflect.Type;
4+
5+
import lombok.Builder;
6+
import lombok.EqualsAndHashCode;
7+
import lombok.Getter;
8+
import lombok.ToString;
9+
10+
import com.google.gson.JsonElement;
11+
import com.google.gson.JsonObject;
12+
import com.google.gson.JsonSerializationContext;
13+
import com.google.gson.JsonSerializer;
14+
import com.google.gson.annotations.SerializedName;
15+
16+
@ToString(callSuper = true)
17+
@EqualsAndHashCode
18+
@Builder
19+
@Getter
20+
public class Gallery {
21+
22+
private int id;
23+
private String name, description;
24+
25+
@SerializedName("type")
26+
private String type;
27+
@SerializedName("created_at")
28+
private String createdDate;
29+
private Image banner;
30+
31+
@SerializedName("open_for_all")
32+
private boolean openForAll;
33+
34+
@SerializedName("owner_id")
35+
private int ownerId;
36+
@SerializedName("owner_type")
37+
private String ownerType;
38+
39+
public static class Serializer implements JsonSerializer<Gallery> {
40+
41+
@Override
42+
public JsonElement serialize(Gallery src, Type typeOfSrc, JsonSerializationContext context) {
43+
44+
JsonObject root = new JsonObject();
45+
46+
JsonObject data = new JsonObject();
47+
data.addProperty("type", src.type);
48+
49+
JsonObject attributes = new JsonObject();
50+
attributes.addProperty("name", src.name);
51+
attributes.addProperty("descrtiption", src.description);
52+
attributes.addProperty("open_for_all", src.openForAll ? 1 : 0);
53+
54+
JsonObject relationships = new JsonObject();
55+
56+
JsonObject owner = new JsonObject();
57+
JsonObject ownerdata = new JsonObject();
58+
ownerdata.addProperty("type", src.ownerType);
59+
ownerdata.addProperty("id", src.ownerId);
60+
owner.add("data", ownerdata);
61+
62+
relationships.add("owner", owner);
63+
64+
data.add("attributes", attributes);
65+
data.add("relationships", relationships);
66+
67+
root.add("data", data);
68+
return root;
69+
}
70+
}
71+
72+
}

src/main/java/com/creatubbles/api/core/Image.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
import java.util.Map;
44

55
import lombok.EqualsAndHashCode;
6+
import lombok.Getter;
67
import lombok.ToString;
7-
import lombok.experimental.NonFinal;
88

99
@ToString
1010
@EqualsAndHashCode
11-
@NonFinal
11+
@Getter
1212
public class Image {
1313

1414
private Map<ImageType, String> links;

src/main/java/com/creatubbles/api/core/LandingUrl.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
package com.creatubbles.api.core;
22

3-
import lombok.Value;
4-
import lombok.experimental.NonFinal;
3+
import lombok.EqualsAndHashCode;
4+
import lombok.Getter;
5+
import lombok.ToString;
56

67
/**
78
* Created by Jevgeni on 10.03.2016.
89
*/
9-
@Value
10-
@NonFinal
10+
@ToString
11+
@EqualsAndHashCode
12+
@Getter
1113
public class LandingUrl {
1214

1315
LandingUrlType type;
Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,38 @@
11
package com.creatubbles.api.core;
22

3+
import lombok.EqualsAndHashCode;
4+
import lombok.Getter;
35
import lombok.ToString;
4-
import lombok.Value;
5-
import lombok.experimental.NonFinal;
66

77
import com.google.gson.annotations.SerializedName;
88

9-
@Value
109
@ToString(callSuper = true)
11-
@NonFinal
10+
@EqualsAndHashCode
11+
@Getter
1212
public class User extends CreatubblesObject {
1313

14-
String age;
14+
private String age;
1515
@SerializedName("birth_month")
16-
String birthMonth;
16+
private String birthMonth;
1717
@SerializedName("birth_year")
18-
String birthYear;
18+
private String birthYear;
1919

20-
String username;
20+
private String username;
2121
@SerializedName("display_name")
22-
String displayName;
23-
String email, role;
22+
private String displayName;
23+
private String email, role;
2424

2525
@SerializedName("country_code")
26-
String countryCode;
26+
private String countryCode;
2727
@SerializedName("country_name")
28-
String countryName;
28+
private String countryName;
2929

3030
@SerializedName("created_at")
31-
String createdDate;
31+
private String createdDate;
3232
@SerializedName("short_url")
33-
String shortUrl;
33+
private String shortUrl;
3434
@SerializedName("avatar_url")
35-
String avatarUrl;
35+
private String avatarUrl;
3636

37-
String gender, interests;
37+
private String gender, interests;
3838
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.creatubbles.api.request.creation;
2+
3+
import com.creatubbles.api.core.CreatubblesRequest;
4+
import com.creatubbles.api.response.creation.GetCreationResponse;
5+
import com.creatubbles.api.util.EndPoints;
6+
import com.creatubbles.api.util.HttpMethod;
7+
8+
9+
public class GetCreationRequest extends CreatubblesRequest<GetCreationResponse> {
10+
11+
public GetCreationRequest(String id, String accessToken) {
12+
super(EndPoints.CREATION.format(id), HttpMethod.GET, accessToken);
13+
}
14+
15+
@Override
16+
public Class<? extends GetCreationResponse> getResponseClass() {
17+
return GetCreationResponse.class;
18+
}
19+
}

0 commit comments

Comments
 (0)