Skip to content

Commit 37e96bb

Browse files
committed
添加process处理
1 parent 2c3b182 commit 37e96bb

2 files changed

Lines changed: 64 additions & 0 deletions

File tree

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

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.javabaas.javasdk;
22

3+
import com.javabaas.javasdk.callback.JBFileProcessCallback;
34
import com.javabaas.javasdk.callback.JBFileSaveCallback;
45
import com.javabaas.javasdk.callback.JBFileTokenCallback;
56
import com.javabaas.javasdk.callback.JBObjectCallback;
@@ -204,6 +205,58 @@ public void onFailure(JBException error) {
204205
});
205206
}
206207

208+
public static JBFile process(String fileId, String platform, String policy) throws JBException {
209+
final JBFile[] result = {null};
210+
processFileWithJavabaas(fileId, platform, policy, true, new JBFileProcessCallback() {
211+
@Override
212+
public void done(boolean success, JBFile file, JBException e) {
213+
if (success) {
214+
result[0] = file;
215+
} else {
216+
JBExceptionHolder.add(e);
217+
}
218+
}
219+
});
220+
if (JBExceptionHolder.exists()) {
221+
throw JBExceptionHolder.remove();
222+
}
223+
return result[0];
224+
}
225+
226+
public static void processInBackground(String fileId, String platform, String policy, JBFileProcessCallback callback) {
227+
processFileWithJavabaas(fileId, platform, policy, false, callback);
228+
}
229+
230+
private static void processFileWithJavabaas(final String fileId, final String platform, final String policy, final boolean sync, final JBFileProcessCallback callback) {
231+
String path = JBHttpClient.getFilePath("master/process");
232+
JBHttpParams params = new JBHttpParams();
233+
if (!JBUtils.isEmpty(fileId)) {
234+
params.put("fileId", fileId);
235+
}
236+
if (!JBUtils.isEmpty(platform)) {
237+
params.put("platform", platform);
238+
}
239+
if (!JBUtils.isEmpty("policy")) {
240+
params.put("policy", policy);
241+
}
242+
JBHttpClient.INSTANCE().sendRequest(path, JBHttpMethod.POST, params, null, sync, new JBObjectCallback() {
243+
@Override
244+
public void onSuccess(JBResult result) {
245+
if (callback != null) {
246+
Map<String, Object> data = result.getData();
247+
callback.done(true, fileFromMap((Map<String, Object>) data.get("file")), null);
248+
}
249+
}
250+
251+
@Override
252+
public void onFailure(JBException error) {
253+
if (callback != null) {
254+
callback.done(false, null, error);
255+
}
256+
}
257+
});
258+
}
259+
207260
public static JBFile fileFromMap(Map<String, Object> map) {
208261
JBFile file = new JBFile();
209262
String objectId = (String) map.get(OBJECT_ID);
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package com.javabaas.javasdk.callback;
2+
3+
import com.javabaas.javasdk.JBException;
4+
import com.javabaas.javasdk.JBFile;
5+
6+
/**
7+
* Created by zangyilin on 2018/4/8.
8+
*/
9+
public abstract class JBFileProcessCallback {
10+
public abstract void done(boolean success, JBFile file, JBException e);
11+
}

0 commit comments

Comments
 (0)