private void buildMatchQueryParams(AVSaveOption option, LinkedList<Map<String, Object>> pendingRequests) { Map<String, Object> whereOperationMap = null; if (option != null && option.matchQuery != null) { whereOperationMap = option.matchQuery.conditions.compileWhereOperationMap(); } if (pendingRequests.size() >= 1) { Map<String, Object> thisObjectPendingRequest = pendingRequests.get(0); Map<String, Object> whereMap = new HashMap<>(); if ((whereOperationMap != null && !whereOperationMap.isEmpty())) { whereMap.put("where", AVUtils.restfulServerData(whereOperationMap)); } if (fetchWhenSave || (option != null && option.fetchWhenSave)) { whereMap.put("fetchWhenSave", true); } if ("PUT".equals(thisObjectPendingRequest.get("method"))) { thisObjectPendingRequest.put("params", whereMap); } } }
private void buildMatchQueryParams(AVSaveOption option, LinkedList<Map<String, Object>> pendingRequests) { Map<String, Object> whereOperationMap = null; if (option != null && option.matchQuery != null) { whereOperationMap = option.matchQuery.conditions.compileWhereOperationMap(); } if (pendingRequests.size() >= 1) { Map<String, Object> thisObjectPendingRequest = pendingRequests.get(0); Map<String, Object> whereMap = new HashMap<String, Object>(); if ((whereOperationMap != null && !whereOperationMap.isEmpty())) { whereMap.put("where", AVUtils.restfulServerData(whereOperationMap)); } if (fetchWhenSave || (option != null && option.fetchWhenSave)) { whereMap.put("fetchWhenSave", true); } if ("PUT".equals(thisObjectPendingRequest.get("method"))) { thisObjectPendingRequest.put("params", whereMap); } } }
public Map<String, String> assembleParameters() { if (where.keySet().size() > 0) { parameters.put("where", AVUtils.restfulServerData(compileWhereOperationMap())); } if (limit > 0) { parameters.put("limit", Integer.toString(limit)); } if (skip >= 0) { parameters.put("skip", Integer.toString(skip)); } if (!AVUtils.isBlankString(order)) { parameters.put("order", order); } if (!AVUtils.isEmptyList(include)) { String value = AVUtils.joinCollection(include, ","); parameters.put("include", value); } if (selectedKeys != null && selectedKeys.size() > 0) { String keys = AVUtils.joinCollection(selectedKeys, ","); parameters.put("keys", keys); } return parameters; }
public Map<String, String> assembleParameters() { if (where.keySet().size() > 0) { parameters.put("where", AVUtils.restfulServerData(compileWhereOperationMap())); } if (limit > 0) { parameters.put("limit", Integer.toString(limit)); } if (skip >= 0) { parameters.put("skip", Integer.toString(skip)); } if (!AVUtils.isBlankString(order)) { parameters.put("order", order); } if (!AVUtils.isEmptyList(include)) { String value = AVUtils.joinCollection(include, ","); parameters.put("include", value); } if (selectedKeys != null && selectedKeys.size() > 0) { String keys = AVUtils.joinCollection(selectedKeys, ","); parameters.put("keys", keys); } return parameters; }
private String getGetBucketParameters(String fileKey) { Map<String, Object> parameters = new HashMap<String, Object>(3); parameters.put("key", fileKey); parameters.put("name", parseFile.getName()); parameters.put("mime_type", parseFile.mimeType()); parameters.put("metaData", parseFile.getMetaData()); parameters.put("__type", AVFile.className()); if (parseFile.getACL() != null) { parameters.putAll(AVUtils.getParsedMap(parseFile.getACL().getACLMap())); } return AVUtils.restfulServerData(parameters); }
private File archiveRequest(String method, String relativePath, String paramString, String objectId, String _internalId) { File theArchivedFile = new File(AVPersistenceUtils.getCommandCacheDir(), AVUtils.getArchiveRequestFileName( objectId, _internalId, method, relativePath, paramString)); Map<String, String> fileMap = new HashMap<String, String>(3); fileMap.put("method", method); fileMap.put("relativePath", relativePath); fileMap.put("paramString", paramString); fileMap.put("objectId", objectId); fileMap.put("_internalId", _internalId); AVPersistenceUtils.saveContentToFile(AVUtils.toJSON(fileMap), theArchivedFile); if (AVOSCloud.showInternalDebugLog()) { LogUtil.log.d(AVUtils.restfulServerData(fileMap) + "\n" + "did save to " + theArchivedFile.getAbsolutePath()); } return theArchivedFile; }
private String getFileRequestParameters() { Map<String, Object> parameters = new HashMap<String, Object>(); parameters.put("name", parseFile.getName()); parameters.put("mime_type", parseFile.mimeType()); parameters.put("metaData", parseFile.getMetaData()); parameters.put("__type", AVFile.className()); parameters.put("url", parseFile.getUrl()); if (parseFile.getACL() != null) { parameters.putAll(AVUtils.getParsedMap(parseFile.getACL().getACLMap())); } return AVUtils.restfulServerData(parameters); }
private String getGetBucketParameters(String fileKey) { // decide file mimetype. String fileName = avFile.getName(); String mimeType = AVFileUtil.getFileMimeType(avFile); Map<String, Object> parameters = new HashMap<String, Object>(3); parameters.put("key", fileKey); parameters.put("name", fileName); parameters.put("mime_type", mimeType); parameters.put("metaData", avFile.getMetaData()); parameters.put("__type", AVFile.className()); if (avFile.getACL() != null) { parameters.putAll(AVUtils.getParsedMap(avFile.getACL().getACLMap())); } return AVUtils.restfulServerData(parameters); }
private String getFileRequestParameters() { // decide file mimetype. String mimeType = AVFileUtil.getFileMimeType(avFile); Map<String, Object> parameters = new HashMap<String, Object>(); parameters.put("name", avFile.getName()); parameters.put("mime_type", mimeType); parameters.put("metaData", avFile.getMetaData()); parameters.put("__type", AVFile.className()); parameters.put("url", avFile.getUrl()); if (avFile.getACL() != null) { parameters.putAll(AVUtils.getParsedMap(avFile.getACL().getACLMap())); } return AVUtils.restfulServerData(parameters); }
/** * Calls a cloud function in the background. * * @param name The cloud function to call * @param params The parameters to send to the cloud function. This map can contain anything that * could be placed in a AVObject except for AVObjects themselves. * @param <T> return type of cloud function * @param callback The callback that will be called when the cloud function has returned. */ public static <T> void callFunctionInBackground(String name, Map<String, ?> params, final FunctionCallback<T> callback) { // for test PaasClient.cloudInstance().postObject("functions/" + name, AVUtils.restfulServerData(params), false, new GenericObjectCallback() { @Override public void onSuccess(String content, AVException e) { if (callback != null) { callback.internalDone((T) convertCloudResponse(content), e); } } @Override public void onFailure(Throwable error, String content) { if (callback != null) { callback.internalDone(null, AVErrorUtils.createException(error, content)); } } }); }
static void postStatusImpl(final AVStatus status, Map<String, Object> map, final SaveCallback callback) { String postData = AVUtils.restfulServerData(map); PaasClient.storageInstance().postObject(STATUS_ENDPOINT, postData, false, false, new GenericObjectCallback() { @Override public void onSuccess(String content, AVException e) { processStatus(content, status); if (callback != null) { callback.internalDone(null); } } @Override public void onFailure(Throwable error, String content) { if (callback != null) { callback.internalDone(AVErrorUtils.createException(error, content)); } } }, status.getObjectId(), null); }
static void postStatusImpl(final AVStatus status, Map<String, Object> map, final SaveCallback callback, boolean sync) { String postData = AVUtils.restfulServerData(map); PaasClient.storageInstance().postObject(STATUS_END_POINT, postData, sync, false, new GenericObjectCallback() { @Override public void onSuccess(String content, AVException e) { processStatus(content, status); if (callback != null) { callback.internalDone(null); } } @Override public void onFailure(Throwable error, String content) { if (callback != null) { callback.internalDone(AVErrorUtils.createException(error, content)); } } }, status.getObjectId(), null); }
protected String mapFromObject(Comment comment, boolean threadFlag) { HashMap<String, Object> parameters = new HashMap<String, Object>(); parameters.put("content", comment.getContent()); if (threadFlag) { parameters.put("type", comment.getCommentType().toString()); } else if (!AVUtils.isBlankContent(contact)) { parameters.put("contact", contact); } if (comment.getAttachment() != null) { parameters.put("attachment", comment.getAttachment().getUrl()); } try { if (currentInstallationMethod == null) { Class installationClass = Class.forName("com.avos.avoscloud.AVInstallation"); currentInstallationMethod = installationClass.getMethod("getCurrentInstallation"); } AVObject o = (AVObject) currentInstallationMethod.invoke(null); if (!threadFlag && !AVUtils.isBlankString(o.getObjectId()) && FeedbackAgent.isPushEnabled()) { parameters.put("iid", o.getObjectId()); } // ignore all exceptions } catch (IllegalAccessException e) {} catch (InvocationTargetException e) {} catch (ClassNotFoundException e) {} catch (NoSuchMethodException e) {} return AVUtils.restfulServerData(parameters); } private Handler uiHandler = new Handler(Looper.getMainLooper());
private File archiveRequest(String method, String relativePath, String paramString, String objectId, String _internalId) { File theArchivedFile = new File(InternalConfigurationController.globalInstance().getInternalPersistence() .getCommandCacheDir(), AVUtils.getArchiveRequestFileName(objectId, _internalId, method, relativePath, paramString)); Map<String, String> fileMap = new HashMap<String, String>(3); fileMap.put("method", method); fileMap.put("relativePath", relativePath); fileMap.put("paramString", paramString); fileMap.put("objectId", objectId); fileMap.put("_internalId", _internalId); InternalConfigurationController.globalInstance().getInternalPersistence() .saveContentToFile(AVUtils.toJSON(fileMap), theArchivedFile); if (InternalConfigurationController.globalInstance().getInternalLogger().isDebugEnabled()) { LogUtil.log.d(AVUtils.restfulServerData(fileMap) + "\n" + "did save to " + theArchivedFile.getAbsolutePath()); } return theArchivedFile; }
protected static void resetPasswordBySmsCodeInBackground(String smsCode, String newPassword, boolean sync, UpdatePasswordCallback callback) { final UpdatePasswordCallback internalCallback = callback; if (AVUtils.isBlankString(smsCode) || !AVUtils.checkMobileVerifyCode(smsCode)) { callback .internalDone(new AVException(AVException.INVALID_PHONE_NUMBER, "Invalid Verify Code")); return; } String endpointer = String.format("resetPasswordBySmsCode/%s", smsCode); Map<String, Object> params = new HashMap<String, Object>(); params.put("password", newPassword); PaasClient.storageInstance().putObject(endpointer, AVUtils.restfulServerData(params), sync, null, new GenericObjectCallback() { @Override public void onFailure(Throwable error, String content) { if (internalCallback != null) { internalCallback.internalDone(new AVException(content, error)); } } @Override public void onSuccess(String content, AVException e) { internalCallback.internalDone(e); } }, null, null); }
/** * Calls a cloud function. * * @param name The cloud function to call * @param params The parameters to send to the cloud function. This map can contain anything that * could be placed in a AVObject except for AVObjects themselves. * @return The result of the cloud call. Result may be a @{link Map}< String, ?>, AVObject, * List<?>, or any type that can be set as a field in a AVObject. * @throws AVException */ public static <T> T callFunction(String name, Map<String, ?> params) throws AVException { final AtomicReference<T> reference = new AtomicReference<T>(); PaasClient.cloudInstance().postObject("functions/" + name, AVUtils.restfulServerData(params), getProductionHeader(), true, new GenericObjectCallback() { @Override public void onSuccess(String content, AVException e) { reference.set((T) convertCloudResponse(content)); } @Override public void onFailure(Throwable error, String content) { LogUtil.log.d(content + error); AVExceptionHolder.add(AVErrorUtils.createException(error, content)); } }); if (AVExceptionHolder.exists()) throw AVExceptionHolder.remove(); return reference.get(); }
protected static void resetPasswordBySmsCodeInBackground(String smsCode, String newPassword, boolean sync, UpdatePasswordCallback callback) { final UpdatePasswordCallback internalCallback = callback; if (AVUtils.isBlankString(smsCode) || !AVUtils.checkMobileVerifyCode(smsCode)) { callback .internalDone(new AVException(AVException.INVALID_PHONE_NUMBER, "Invalid Verify Code")); return; } String endpointer = String.format("resetPasswordBySmsCode/%s", smsCode); Map<String, Object> params = new HashMap<String, Object>(); params.put("password", newPassword); PaasClient.storageInstance().putObject(endpointer, AVUtils.restfulServerData(params), sync, null, new GenericObjectCallback() { @Override public void onFailure(Throwable error, String content) { if (internalCallback != null) { internalCallback.internalDone(new AVException(content, error)); } } @Override public void onSuccess(String content, AVException e) { internalCallback.internalDone(e); } }, null, null); }
private static void verifyMobilePhoneInBackground(boolean sync, String verifyCode, AVMobilePhoneVerifyCallback callback) { final AVMobilePhoneVerifyCallback internalCallback = callback; if (AVUtils.isBlankString(verifyCode) || !AVUtils.checkMobileVerifyCode(verifyCode)) { callback .internalDone(new AVException(AVException.INVALID_PHONE_NUMBER, "Invalid Verify Code")); return; } String endpointer = String.format("verifyMobilePhone/%s", verifyCode); PaasClient.storageInstance().postObject(endpointer, AVUtils.restfulServerData(null), sync, false, new GenericObjectCallback() { @Override public void onSuccess(String content, AVException e) { if (internalCallback != null) { internalCallback.internalDone(null, null); } } @Override public void onFailure(Throwable error, String content) { if (internalCallback != null) { internalCallback.internalDone(null, AVErrorUtils.createException(error, content)); } } }, null, null); }
private static void verifyMobilePhoneInBackground(boolean sync, String verifyCode, AVMobilePhoneVerifyCallback callback) { final AVMobilePhoneVerifyCallback internalCallback = callback; if (AVUtils.isBlankString(verifyCode) || !AVUtils.checkMobileVerifyCode(verifyCode)) { callback .internalDone(new AVException(AVException.INVALID_PHONE_NUMBER, "Invalid Verify Code")); return; } String endpointer = String.format("verifyMobilePhone/%s", verifyCode); PaasClient.storageInstance().postObject(endpointer, AVUtils.restfulServerData(null), sync, false, new GenericObjectCallback() { @Override public void onSuccess(String content, AVException e) { if (internalCallback != null) { internalCallback.internalDone(null, null); } } @Override public void onFailure(Throwable error, String content) { if (internalCallback != null) { internalCallback.internalDone(null, AVErrorUtils.createException(error, content)); } } }, null, null); }
private void updatePasswordInBackground(String oldPassword, String newPassword, final UpdatePasswordCallback callback, boolean sync) { if (!this.isAuthenticated() || AVUtils.isBlankString(getObjectId())) { callback.internalDone(AVErrorUtils.sessionMissingException()); } else { String relativePath = String.format("users/%s/updatePassword", this.getObjectId()); Map<String, Object> params = new HashMap<String, Object>(); params.put("old_password", oldPassword); params.put("new_password", newPassword); String paramsString = AVUtils.restfulServerData(params); PaasClient.storageInstance().putObject(relativePath, paramsString, sync, headerMap(), new GenericObjectCallback() { @Override public void onSuccess(String content, AVException e) { if (null == e && !TextUtils.isEmpty(content)) { sessionToken = AVUtils.getJSONValue(content, SESSION_TOKEN_KEY); } callback.internalDone(e); } @Override public void onFailure(Throwable error, String content) { callback.internalDone(AVErrorUtils.createException(error, content)); } }, getObjectId(), getObjectId()); } }