Skip to content

Commit d15f292

Browse files
committed
适配java7
1 parent dec6233 commit d15f292

10 files changed

Lines changed: 94 additions & 50 deletions

File tree

src/main/java/com/javabaas/javasdk/JBApp.java

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

33
import com.javabaas.javasdk.callback.*;
44

5-
import java.text.SimpleDateFormat;
65
import java.util.*;
76

87
/**
@@ -359,7 +358,7 @@ public static void importDataInBackground(String data, JBImportCallback callback
359358
importDataToJavabaas(false, data, callback);
360359
}
361360

362-
private static void importDataToJavabaas(final boolean sync, final String data, JBImportCallback callback) {
361+
private static void importDataToJavabaas(final boolean sync, final String data, final JBImportCallback callback) {
363362
String path = JBHttpClient.getAdminPath("import");
364363
Map<String, Object> body = JBUtils.readValue(data, Map.class);
365364
JBHttpClient.INSTANCE().sendRequest(path, JBHttpMethod.POST, null, body, sync, new JBObjectCallback() {
@@ -498,7 +497,9 @@ private static List<JBApp> getAppListFromMap(LinkedHashMap<String, Object> map)
498497
if (map == null || map.get("result") == null) {return new LinkedList<>();}
499498
List<Map<String, Object>> maps = (List<Map<String, Object>>) map.get("result");
500499
List<JBApp> list = new LinkedList<>();
501-
maps.forEach(o -> list.add(getAppFromMap(o)));
500+
for (Map<String, Object> o : maps) {
501+
list.add(getAppFromMap(o));
502+
}
502503
return list;
503504
}
504505

src/main/java/com/javabaas/javasdk/JBClazz.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,7 @@ public static void importDataInBackground(String data, JBImportCallback callback
358358
importDataToJavabaas(false, data, callback);
359359
}
360360

361-
private static void importDataToJavabaas(final boolean sync, final String data, JBImportCallback callback) {
361+
private static void importDataToJavabaas(final boolean sync, final String data, final JBImportCallback callback) {
362362
String path = JBHttpClient.getClazzPath("import");
363363
Map<String, Object> body = JBUtils.readValue(data, Map.class);
364364
JBHttpClient.INSTANCE().sendRequest(path, JBHttpMethod.POST, null, body, sync, new JBObjectCallback() {
@@ -389,7 +389,9 @@ private static List<JBClazz> getClazzListFromMap(LinkedHashMap<String, Object> m
389389
if (map == null || map.get("result") == null) {return new LinkedList<>();}
390390
List<Map<String, Object>> maps = (List<Map<String, Object>>) map.get("result");
391391
List<JBClazz> list = new LinkedList<>();
392-
maps.forEach(o -> list.add(copyClazzFromMap(o)));
392+
for (Map<String, Object> o : maps) {
393+
list.add(copyClazzFromMap(o));
394+
}
393395
return list;
394396
}
395397

src/main/java/com/javabaas/javasdk/JBExceptionHolder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* Created by zangyilin on 2017/9/4.
55
*/
66
public final class JBExceptionHolder {
7-
private static final ThreadLocal<JBException> LOCAL = ThreadLocal.withInitial(() -> null);
7+
private static final ThreadLocal<JBException> LOCAL = new ThreadLocal<>();
88

99
public final static void add(JBException e) {
1010
LOCAL.set(e);

src/main/java/com/javabaas/javasdk/JBField.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,9 @@ private static List<JBField> getFieldListFromMap(LinkedHashMap<String, Object> m
300300
if (map == null || map.get("result") == null) {return new LinkedList<>();}
301301
List<Map<String, Object>> maps = (List<Map<String, Object>>) map.get("result");
302302
List<JBField> list = new LinkedList<>();
303-
maps.forEach(o -> list.add(copyFieldFromMap(o)));
303+
for (Map<String, Object> objectMap : maps) {
304+
list.add(copyFieldFromMap(objectMap));
305+
}
304306
return list;
305307
}
306308

src/main/java/com/javabaas/javasdk/JBHttpParams.java

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,9 @@ public JBHttpParams() {
2626
public JBHttpParams(Map<String, String> params) {
2727
this();
2828
if (params != null) {
29-
params.forEach((k, v) -> put(k, v));
29+
for (Map.Entry<String, String> entry : params.entrySet()) {
30+
put(entry.getKey(), entry.getValue());
31+
}
3032
}
3133
}
3234

@@ -56,14 +58,15 @@ public String getWholeUrl(String url) {
5658
} else {
5759
StringBuilder stringBuilder = new StringBuilder(url);
5860
stringBuilder.append("?");
59-
final boolean[] first = {true};
60-
params.forEach((k, v) -> {
61-
if (!first[0]) {
61+
boolean first = true;
62+
63+
for (Map.Entry<String, JBParam> entry : params.entrySet()) {
64+
if (!first) {
6265
stringBuilder.append("&");
6366
}
64-
stringBuilder.append(k).append("=").append(v.encodedParam);
65-
first[0] = false;
66-
});
67+
stringBuilder.append(entry.getKey()).append("=").append(entry.getValue().encodedParam);
68+
first = false;
69+
}
6770
return stringBuilder.toString();
6871
}
6972
}

src/main/java/com/javabaas/javasdk/JBObject.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ public void setAcl(JBAcl acl) {
114114
this.acl = acl;
115115
}
116116

117-
public static final Set<String> INVALID_KEYS = new HashSet<String>();
117+
public static final Set<String> INVALID_KEYS = new HashSet<>();
118118

119119
static {
120120
INVALID_KEYS.add("code");
@@ -248,7 +248,9 @@ private void controlObjectToArray(final String key, final Collection<?> objects,
248248
operator = new JBOperator(operatorType);
249249
}
250250
List<Object> list = operator.getObjects();
251-
objects.forEach(object -> list.add(object));
251+
for (Object o : objects) {
252+
list.add(o);
253+
}
252254
operator.setObjects(list);
253255
operationQueue.put(key, operator);
254256
} catch (Exception e) {

src/main/java/com/javabaas/javasdk/JBQuery.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -502,11 +502,11 @@ protected List<T> processResults(Map<String, Object> map) {
502502
} else {
503503
return Collections.emptyList();
504504
}
505-
list.forEach(object -> {
505+
for (Map<String, Object> object : list) {
506506
JBObject jbObject = new JBObject(className);
507507
JBUtils.copyPropertiesFromMapToJBObject(jbObject, object);
508508
result.add((T) jbObject);
509-
});
509+
}
510510
return result;
511511
}
512512
}

src/main/java/com/javabaas/javasdk/JBQueryConditions.java

Lines changed: 50 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -121,46 +121,54 @@ public void selectKeys(Collection<String> keys) {
121121

122122
public Map<String, Object> compileWhereOperationMap() {
123123
Map<String, Object> result = new HashMap<>();
124-
where.forEach((key, ops) -> {
125-
if (key.equals(JBQueryOperation.OR_OP)) {
124+
125+
// }
126+
// where.forEach((key, ops) -> {
127+
for (Map.Entry<String, List<JBQueryOperation>> entry : where.entrySet()) {
128+
if (entry.getKey().equals(JBQueryOperation.OR_OP)) {
126129
List<Object> opList = new ArrayList<>();
127-
ops.forEach(op -> opList.add(op.toResult()));
130+
for (JBQueryOperation op : entry.getValue()) {
131+
opList.add(op.toResult());
132+
}
128133
List<Object> existsOr = (List<Object>) result.get(JBQueryOperation.OR_OP);
129134
if (existsOr != null) {
130135
existsOr.addAll(opList);
131136
} else {
132137
result.put(JBQueryOperation.OR_OP, opList);
133138
}
134-
} else if (key.equals(JBQueryOperation.AND_OP)) {
139+
} else if (entry.getKey().equals(JBQueryOperation.AND_OP)) {
135140
List<Object> opList = new ArrayList<>();
136-
ops.forEach(op -> opList.add(op.getValue()));
141+
for (JBQueryOperation op : entry.getValue()) {
142+
opList.add(op.getValue());
143+
}
137144
List<Object> existsAnd = (List<Object>) result.get(JBQueryOperation.AND_OP);
138145
if (existsAnd != null) {
139146
existsAnd.addAll(opList);
140147
} else {
141148
result.put(JBQueryOperation.AND_OP, opList);
142149
}
143150
} else {
144-
switch (ops.size()) {
151+
switch (entry.getValue().size()) {
145152
case 0:
146153
break;
147154
case 1:
148-
ops.forEach(op -> result.put(key, op.toResult()));
155+
for (JBQueryOperation op : entry.getValue()) {
156+
result.put(entry.getKey(), op.toResult());
157+
}
149158
break;
150159
default:
151160
List<Object> opList = new ArrayList<>();
152161
Map<String, Object> opMap = new HashMap<>();
153162
final boolean[] hasEqual = {false};
154-
ops.forEach(op -> {
155-
opList.add(op.toResult(key));
163+
for (JBQueryOperation op : entry.getValue()) {
164+
opList.add(op.toResult(entry.getKey()));
156165
if (JBQueryOperation.EQUAL_OP.equals(op.getOp())) {
157166
hasEqual[0] = true;
158167
}
159168
if (!hasEqual[0]) {
160169
opMap.putAll((Map<? extends String, ?>) op.toResult());
161170
}
162-
163-
});
171+
}
164172
if (hasEqual[0]) {
165173
List<Object> existsAnd = (List<Object>) result.get(JBQueryOperation.AND_OP);
166174
if (existsAnd != null) {
@@ -169,13 +177,13 @@ public Map<String, Object> compileWhereOperationMap() {
169177
result.put(JBQueryOperation.AND_OP, opList);
170178
}
171179
} else {
172-
result.put(key, opMap);
180+
result.put(entry.getKey(), opMap);
173181
}
174182
break;
175183

176184
}
177185
}
178-
});
186+
}
179187
return result;
180188
}
181189

@@ -193,21 +201,35 @@ public Map<String, String> assembleParameters() {
193201
parameters.put(ORDER, order);
194202
}
195203
if (include != null && include.size() > 0) {
196-
parameters.put(INCLUDE, String.join(",", include));
204+
parameters.put(INCLUDE, join(include, ","));
197205
}
198206
if (selectedKeys != null && selectedKeys.size() > 0) {
199-
parameters.put(KEYS, String.join(",", selectedKeys));
207+
parameters.put(KEYS, join(new ArrayList<>(selectedKeys), ","));
200208
}
201209
return parameters;
202210
}
203211

212+
private String join(List<String> list, String conjunction) {
213+
StringBuilder sb = new StringBuilder();
214+
boolean first = true;
215+
for (String item : list)
216+
{
217+
if (first)
218+
first = false;
219+
else
220+
sb.append(conjunction);
221+
sb.append(item);
222+
}
223+
return sb.toString();
224+
}
225+
204226
public void addWhereItem(JBQueryOperation op) {
205227
List<JBQueryOperation> ops = where.get(op.getKey());
206228
if (ops == null) {
207229
ops = new LinkedList<>();
208230
where.put(op.getKey(), ops);
209231
}
210-
ops.removeIf(operation -> operation.sameOp(op));
232+
removeSameOperation(ops, op);
211233
ops.add(op);
212234
}
213235

@@ -221,7 +243,7 @@ public void addOrItems(JBQueryOperation op) {
221243
ops = new LinkedList<>();
222244
where.put(JBQueryOperation.OR_OP, ops);
223245
}
224-
ops.removeIf(operation -> operation.sameOp(op));
246+
removeSameOperation(ops, op);
225247
ops.add(op);
226248
}
227249

@@ -233,10 +255,20 @@ public void addAndItems(JBQueryConditions conditions) {
233255
ops = new LinkedList<>();
234256
where.put(JBQueryOperation.AND_OP, ops);
235257
}
236-
ops.removeIf(operation -> operation.sameOp(op));
258+
removeSameOperation(ops, op);
237259
ops.add(op);
238260
}
239261

262+
private void removeSameOperation(List<JBQueryOperation> ops, JBQueryOperation op) {
263+
Iterator<JBQueryOperation> iterator = ops.iterator();
264+
while (iterator.hasNext()) {
265+
JBQueryOperation operation = iterator.next();
266+
if (operation.sameOp(op)) {
267+
iterator.remove();
268+
}
269+
}
270+
}
271+
240272
public void whereEqualTo(String key, Object value) {
241273
if (value instanceof JBObject) {
242274
addWhereItem(key, JBQueryOperation.EQUAL_OP, ((JBObject) value).getPointer());

src/main/java/com/javabaas/javasdk/JBUser.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ private static void loginFromJavabaas(final String username, final String passwo
210210
JBHttpParams params = new JBHttpParams();
211211
params.put("username", username);
212212
params.put("password", password);
213-
JBUser user = new JBUser();
213+
final JBUser user = new JBUser();
214214
user.setUsername(username);
215215
JBHttpClient.INSTANCE().sendRequest(path, JBHttpMethod.GET, params, null, sync, new JBObjectCallback() {
216216
@Override
@@ -295,7 +295,7 @@ private static void loginWithSnsFromJavabaas(final JBAuth auth, final JBSnsType
295295
}
296296

297297
private static void sendRequestForLogin(final String path, final Map<String, Object> body, final boolean sync, final JBLoginCallback callback) {
298-
JBUser user = new JBUser();
298+
final JBUser user = new JBUser();
299299
JBHttpClient.INSTANCE().sendRequest(path, JBHttpMethod.POST, null, body, sync, new JBObjectCallback() {
300300
@Override
301301
public void onSuccess(JBResult result) {

src/main/java/com/javabaas/javasdk/JBUtils.java

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -127,25 +127,27 @@ public static boolean equals(String a, String b) {
127127
}
128128

129129
public static void copyPropertiesFromMapToObject(Object object, Map<String, Object> map) {
130-
map.forEach((k, v) -> checkAndSetValue(object.getClass(), object, k, v));
130+
for (Map.Entry<String, Object> entry : map.entrySet()) {
131+
checkAndSetValue(object.getClass(), object, entry.getKey(), entry.getValue());
132+
}
131133
}
132134

133135
public static void copyPropertiesFromMapToJBObject(JBObject object, Map<String, Object> map) {
134-
map.forEach((k, v) -> {
135-
if (k.equals(JBObject.OBJECT_ID)) {
136-
object.setObjectId(v.toString());
137-
} else if (k.equals(JBObject.CREATED_AT)) {
138-
object.setCreatedAt(v.toString());
139-
} else if (k.equals(JBObject.UPDATED_AT)) {
140-
object.setUpdatedAt(v.toString());
136+
for (Map.Entry<String, Object> entry : map.entrySet()) {
137+
if (entry.getKey().equals(JBObject.OBJECT_ID)) {
138+
object.setObjectId(entry.getValue().toString());
139+
} else if (entry.getKey().equals(JBObject.CREATED_AT)) {
140+
object.setCreatedAt(entry.getValue().toString());
141+
} else if (entry.getKey().equals(JBObject.UPDATED_AT)) {
142+
object.setUpdatedAt(entry.getValue().toString());
141143
} else {
142-
if (v instanceof Map) {
143-
updatePropertyFromMap(object, k, (Map<String, Object>) v);
144+
if (entry.getValue() instanceof Map) {
145+
updatePropertyFromMap(object, entry.getKey(), (Map<String, Object>) entry.getValue());
144146
} else {
145-
object.put(k, v);
147+
object.put(entry.getKey(), entry.getValue());
146148
}
147149
}
148-
});
150+
}
149151
}
150152

151153
public static void updatePropertyFromMap(JBObject parent, String key, Map<String, Object> map) {

0 commit comments

Comments
 (0)