|
1 | 1 | package com.javabaas.javasdk; |
2 | 2 |
|
| 3 | +import com.javabaas.javasdk.callback.JBFileProcessCallback; |
3 | 4 | import com.javabaas.javasdk.callback.JBFileSaveCallback; |
4 | 5 | import com.javabaas.javasdk.callback.JBFileTokenCallback; |
5 | 6 | import com.javabaas.javasdk.callback.JBObjectCallback; |
@@ -204,6 +205,58 @@ public void onFailure(JBException error) { |
204 | 205 | }); |
205 | 206 | } |
206 | 207 |
|
| 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 | + |
207 | 260 | public static JBFile fileFromMap(Map<String, Object> map) { |
208 | 261 | JBFile file = new JBFile(); |
209 | 262 | String objectId = (String) map.get(OBJECT_ID); |
|
0 commit comments