Skip to content

Commit ec96e24

Browse files
author
Javen
committed
Remove dependency to google guava
1 parent 3001289 commit ec96e24

File tree

17 files changed

+627
-133
lines changed

17 files changed

+627
-133
lines changed

pom.xml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,6 @@
4444
<version>2.3</version>
4545
</dependency>
4646

47-
<dependency>
48-
<groupId>com.google.guava</groupId>
49-
<artifactId>guava</artifactId>
50-
<version>17.0</version>
51-
</dependency>
52-
5347
<dependency>
5448
<groupId>org.slf4j</groupId>
5549
<artifactId>slf4j-api</artifactId>

src/main/java/cn/jpush/api/common/connection/HttpProxy.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@
77
import org.slf4j.LoggerFactory;
88

99
import cn.jpush.api.common.ServiceHelper;
10-
11-
import com.google.common.base.Preconditions;
10+
import cn.jpush.api.utils.Preconditions;
1211

1312
public class HttpProxy {
1413
private static final Logger LOG = LoggerFactory.getLogger(NativeHttpClient.class);

src/main/java/cn/jpush/api/device/DeviceClient.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
import cn.jpush.api.common.resp.BooleanResult;
1313
import cn.jpush.api.common.resp.DefaultResult;
1414
import cn.jpush.api.common.resp.ResponseWrapper;
15+
import cn.jpush.api.utils.Preconditions;
1516

16-
import com.google.common.base.Preconditions;
1717
import com.google.gson.JsonArray;
1818
import com.google.gson.JsonObject;
1919
import com.google.gson.JsonPrimitive;

src/main/java/cn/jpush/api/push/PushClient.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99
import cn.jpush.api.common.resp.BaseResult;
1010
import cn.jpush.api.common.resp.ResponseWrapper;
1111
import cn.jpush.api.push.model.PushPayload;
12+
import cn.jpush.api.utils.Preconditions;
1213
import cn.jpush.api.utils.StringUtils;
1314

14-
import com.google.common.base.Preconditions;
1515
import com.google.gson.JsonParseException;
1616
import com.google.gson.JsonParser;
1717

src/main/java/cn/jpush/api/push/model/Message.java

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
package cn.jpush.api.push.model;
22

3+
import java.util.HashMap;
34
import java.util.Map;
45

5-
import com.google.common.base.Preconditions;
6-
import com.google.common.collect.ImmutableMap;
6+
import cn.jpush.api.utils.Preconditions;
7+
78
import com.google.gson.JsonElement;
89
import com.google.gson.JsonObject;
910
import com.google.gson.JsonPrimitive;
@@ -17,14 +18,14 @@ public class Message implements PushModel {
1718
private final String title;
1819
private final String msgContent;
1920
private final String contentType;
20-
private final ImmutableMap<String, String> extras;
21-
private final ImmutableMap<String, Number> numberExtras;
22-
private final ImmutableMap<String, Boolean> booleanExtras;
21+
private final Map<String, String> extras;
22+
private final Map<String, Number> numberExtras;
23+
private final Map<String, Boolean> booleanExtras;
2324

2425
private Message(String title, String msgContent, String contentType,
25-
ImmutableMap<String, String> extras,
26-
ImmutableMap<String, Number> numberExtras,
27-
ImmutableMap<String, Boolean> booleanExtras) {
26+
Map<String, String> extras,
27+
Map<String, Number> numberExtras,
28+
Map<String, Boolean> booleanExtras) {
2829
this.title = title;
2930
this.msgContent = msgContent;
3031
this.contentType = contentType;
@@ -86,9 +87,9 @@ public static class Builder {
8687
private String title;
8788
private String msgContent;
8889
private String contentType;
89-
private ImmutableMap.Builder<String, String> extrasBuilder;
90-
private ImmutableMap.Builder<String, Number> numberExtrasBuilder;
91-
private ImmutableMap.Builder<String, Boolean> booleanExtrasBuilder;
90+
private Map<String, String> extrasBuilder;
91+
private Map<String, Number> numberExtrasBuilder;
92+
private Map<String, Boolean> booleanExtrasBuilder;
9293

9394
public Builder setTitle(String title) {
9495
this.title = title;
@@ -108,7 +109,7 @@ public Builder setContentType(String contentType) {
108109
public Builder addExtra(String key, String value) {
109110
Preconditions.checkArgument(! (null == key || null == value), "Key/Value should not be null.");
110111
if (null == extrasBuilder) {
111-
extrasBuilder = ImmutableMap.builder();
112+
extrasBuilder = new HashMap<String, String>();
112113
}
113114
extrasBuilder.put(key, value);
114115
return this;
@@ -117,7 +118,7 @@ public Builder addExtra(String key, String value) {
117118
public Builder addExtras(Map<String, String> extras) {
118119
Preconditions.checkArgument(! (null == extras), "extras should not be null.");
119120
if (null == extrasBuilder) {
120-
extrasBuilder = ImmutableMap.builder();
121+
extrasBuilder = new HashMap<String, String>();
121122
}
122123
for (String key : extras.keySet()) {
123124
extrasBuilder.put(key, extras.get(key));
@@ -128,7 +129,7 @@ public Builder addExtras(Map<String, String> extras) {
128129
public Builder addExtra(String key, Number value) {
129130
Preconditions.checkArgument(! (null == key || null == value), "Key/Value should not be null.");
130131
if (null == numberExtrasBuilder) {
131-
numberExtrasBuilder = ImmutableMap.builder();
132+
numberExtrasBuilder = new HashMap<String, Number>();
132133
}
133134
numberExtrasBuilder.put(key, value);
134135
return this;
@@ -137,7 +138,7 @@ public Builder addExtra(String key, Number value) {
137138
public Builder addExtra(String key, Boolean value) {
138139
Preconditions.checkArgument(! (null == key || null == value), "Key/Value should not be null.");
139140
if (null == booleanExtrasBuilder) {
140-
booleanExtrasBuilder = ImmutableMap.builder();
141+
booleanExtrasBuilder = new HashMap<String, Boolean>();
141142
}
142143
booleanExtrasBuilder.put(key, value);
143144
return this;
@@ -147,9 +148,7 @@ public Message build() {
147148
Preconditions.checkArgument(! (null == msgContent),
148149
"msgContent should be set");
149150
return new Message(title, msgContent, contentType,
150-
(null == extrasBuilder) ? null : extrasBuilder.build(),
151-
(null == numberExtrasBuilder) ? null : numberExtrasBuilder.build(),
152-
(null == booleanExtrasBuilder) ? null : booleanExtrasBuilder.build());
151+
extrasBuilder, numberExtrasBuilder, booleanExtrasBuilder);
153152
}
154153
}
155154
}

src/main/java/cn/jpush/api/push/model/Options.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package cn.jpush.api.push.model;
22

33
import cn.jpush.api.common.ServiceHelper;
4+
import cn.jpush.api.utils.Preconditions;
45

5-
import com.google.common.base.Preconditions;
66
import com.google.gson.JsonElement;
77
import com.google.gson.JsonObject;
88
import com.google.gson.JsonPrimitive;

src/main/java/cn/jpush/api/push/model/Platform.java

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
package cn.jpush.api.push.model;
22

3+
import java.util.HashSet;
4+
import java.util.Set;
5+
36
import cn.jpush.api.common.DeviceType;
7+
import cn.jpush.api.utils.Preconditions;
48

5-
import com.google.common.base.Preconditions;
6-
import com.google.common.collect.ImmutableSet;
79
import com.google.gson.JsonArray;
810
import com.google.gson.JsonElement;
911
import com.google.gson.JsonPrimitive;
@@ -12,9 +14,9 @@ public class Platform implements PushModel {
1214
private static final String ALL = "all";
1315

1416
private final boolean all;
15-
private final ImmutableSet<DeviceType> deviceTypes;
17+
private final Set<DeviceType> deviceTypes;
1618

17-
private Platform(boolean all, ImmutableSet<DeviceType> deviceTypes) {
19+
private Platform(boolean all, Set<DeviceType> deviceTypes) {
1820
this.all = all;
1921
this.deviceTypes = deviceTypes;
2022
}
@@ -80,7 +82,7 @@ public JsonElement toJSON() {
8082

8183
public static class Builder {
8284
private boolean all;
83-
private ImmutableSet.Builder<DeviceType> deviceTypes;
85+
private Set<DeviceType> deviceTypes;
8486

8587
public Builder setAll(boolean all) {
8688
this.all = all;
@@ -89,7 +91,7 @@ public Builder setAll(boolean all) {
8991

9092
public Builder addDeviceType(DeviceType deviceType) {
9193
if (null == deviceTypes) {
92-
deviceTypes = ImmutableSet.builder();
94+
deviceTypes = new HashSet<DeviceType>();
9395
}
9496
deviceTypes.add(deviceType);
9597
return this;
@@ -98,7 +100,7 @@ public Builder addDeviceType(DeviceType deviceType) {
98100
public Platform build() {
99101
Preconditions.checkArgument(! (all && null != deviceTypes), "Since all is enabled, any platform should not be set.");
100102
Preconditions.checkArgument(! (!all && null == deviceTypes), "No any deviceType is set.");
101-
return new Platform(all, (null == deviceTypes) ? null : deviceTypes.build());
103+
return new Platform(all, deviceTypes);
102104
}
103105
}
104106

src/main/java/cn/jpush/api/push/model/PushPayload.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
import cn.jpush.api.push.model.notification.IosNotification;
66
import cn.jpush.api.push.model.notification.Notification;
77
import cn.jpush.api.push.model.notification.PlatformNotification;
8+
import cn.jpush.api.utils.Preconditions;
89

9-
import com.google.common.base.Preconditions;
1010
import com.google.gson.Gson;
1111
import com.google.gson.JsonElement;
1212
import com.google.gson.JsonObject;

src/main/java/cn/jpush/api/push/model/audience/Audience.java

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
package cn.jpush.api.push.model.audience;
22

33
import java.util.Collection;
4+
import java.util.HashSet;
5+
import java.util.Set;
46

57
import cn.jpush.api.push.model.PushModel;
8+
import cn.jpush.api.utils.Preconditions;
69

7-
import com.google.common.base.Preconditions;
8-
import com.google.common.collect.ImmutableSet;
910
import com.google.gson.JsonElement;
1011
import com.google.gson.JsonObject;
1112
import com.google.gson.JsonPrimitive;
@@ -14,9 +15,9 @@ public class Audience implements PushModel {
1415
private static final String ALL = "all";
1516

1617
private final boolean all;
17-
private final ImmutableSet<AudienceTarget> targets;
18+
private final Set<AudienceTarget> targets;
1819

19-
private Audience(boolean all, ImmutableSet<AudienceTarget> targets) {
20+
private Audience(boolean all, Set<AudienceTarget> targets) {
2021
this.all = all;
2122
this.targets = targets;
2223
}
@@ -111,15 +112,17 @@ public JsonElement toJSON() {
111112

112113
// if not all, there will be target be set.
113114
JsonObject json = new JsonObject();
114-
for (AudienceTarget target : targets) {
115-
json.add(target.getAudienceTypeValue(), target.toJSON());
115+
if (null != targets) {
116+
for (AudienceTarget target : targets) {
117+
json.add(target.getAudienceTypeValue(), target.toJSON());
118+
}
116119
}
117120
return json;
118121
}
119122

120123
public static class Builder {
121124
private boolean all = false;
122-
private ImmutableSet.Builder<AudienceTarget> audienceBuilder = null;
125+
private Set<AudienceTarget> audienceBuilder = null;
123126

124127
public Builder setAll(boolean all) {
125128
this.all = all;
@@ -128,7 +131,7 @@ public Builder setAll(boolean all) {
128131

129132
public Builder addAudienceTarget(AudienceTarget target) {
130133
if (null == audienceBuilder) {
131-
audienceBuilder = ImmutableSet.builder();
134+
audienceBuilder = new HashSet<AudienceTarget>();
132135
}
133136
audienceBuilder.add(target);
134137
return this;
@@ -137,7 +140,7 @@ public Builder addAudienceTarget(AudienceTarget target) {
137140
public Audience build() {
138141
Preconditions.checkArgument(! (all && null != audienceBuilder), "If audience is all, no any other audience may be set.");
139142
Preconditions.checkArgument(! (all == false && null == audienceBuilder), "No any audience target is set.");
140-
return new Audience(all, (null == audienceBuilder) ? null : audienceBuilder.build());
143+
return new Audience(all, audienceBuilder);
141144
}
142145
}
143146

src/main/java/cn/jpush/api/push/model/audience/AudienceTarget.java

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,21 @@
11
package cn.jpush.api.push.model.audience;
22

33
import java.util.Collection;
4+
import java.util.HashSet;
5+
import java.util.Set;
46

57
import cn.jpush.api.push.model.PushModel;
8+
import cn.jpush.api.utils.Preconditions;
69

7-
import com.google.common.base.Preconditions;
8-
import com.google.common.collect.ImmutableSet;
910
import com.google.gson.JsonArray;
1011
import com.google.gson.JsonElement;
1112
import com.google.gson.JsonPrimitive;
1213

1314
public class AudienceTarget implements PushModel {
1415
private final AudienceType audienceType;
15-
private final ImmutableSet<String> values;
16+
private final Set<String> values;
1617

17-
private AudienceTarget(AudienceType audienceType, ImmutableSet<String> values) {
18+
private AudienceTarget(AudienceType audienceType, Set<String> values) {
1819
this.audienceType = audienceType;
1920
this.values = values;
2021
}
@@ -66,16 +67,18 @@ public String getAudienceTypeValue() {
6667

6768
public JsonElement toJSON() {
6869
JsonArray array = new JsonArray();
69-
for (String value : values) {
70-
array.add(new JsonPrimitive(value));
71-
}
70+
if (null != values) {
71+
for (String value : values) {
72+
array.add(new JsonPrimitive(value));
73+
}
74+
}
7275
return array;
7376
}
7477

7578

7679
public static class Builder {
7780
private AudienceType audienceType = null;
78-
private ImmutableSet.Builder<String> valueBuilder = null;
81+
private Set<String> valueBuilder = null;
7982

8083
public Builder setAudienceType(AudienceType audienceType) {
8184
this.audienceType = audienceType;
@@ -84,15 +87,15 @@ public Builder setAudienceType(AudienceType audienceType) {
8487

8588
public Builder addAudienceTargetValue(String value) {
8689
if (null == valueBuilder) {
87-
valueBuilder = ImmutableSet.builder();
90+
valueBuilder = new HashSet<String>();
8891
}
8992
valueBuilder.add(value);
9093
return this;
9194
}
9295

9396
public Builder addAudienceTargetValues(Collection<String> values) {
9497
if (null == valueBuilder) {
95-
valueBuilder = ImmutableSet.builder();
98+
valueBuilder = new HashSet<String>();
9699
}
97100
for (String value : values) {
98101
valueBuilder.add(value);
@@ -102,7 +105,7 @@ public Builder addAudienceTargetValues(Collection<String> values) {
102105

103106
public Builder addAudienceTargetValues(String... values) {
104107
if (null == valueBuilder) {
105-
valueBuilder = ImmutableSet.builder();
108+
valueBuilder = new HashSet<String>();
106109
}
107110
for (String value : values) {
108111
valueBuilder.add(value);
@@ -113,8 +116,7 @@ public Builder addAudienceTargetValues(String... values) {
113116
public AudienceTarget build() {
114117
Preconditions.checkArgument(null != audienceType, "AudienceType should be set.");
115118
Preconditions.checkArgument(null != valueBuilder, "Target values should be set one at least.");
116-
ImmutableSet<String> values = valueBuilder.build();
117-
return new AudienceTarget(audienceType, values);
119+
return new AudienceTarget(audienceType, valueBuilder);
118120
}
119121
}
120122
}

0 commit comments

Comments
 (0)