@Test public void testClear() { ParseQuery<ParseObject> query = new ParseQuery<>("Test"); query.whereEqualTo("key", "value"); query.whereEqualTo("otherKey", "otherValue"); verifyCondition(query, "key", "value"); verifyCondition(query, "otherKey", "otherValue"); query.clear("key"); verifyCondition(query, "key", null); verifyCondition(query, "otherKey", "otherValue"); // still. }
data.put(ParsePush.KEY_DATA_MESSAGE, "hello world"); ParseQuery<ParseInstallation> query = ParseInstallation.getQuery(); query.whereEqualTo("language", "en/US"); query.whereLessThan("version", "1.2"); ParsePush.State state = new ParsePush.State.Builder()
@Test public void testOr() { ParseQuery<ParseObject> query = new ParseQuery<>("Test"); query.whereEqualTo("key", "value"); ParseQuery<ParseObject> queryAgain = new ParseQuery<>("Test"); queryAgain.whereEqualTo("keyAgain", "valueAgain"); List<ParseQuery<ParseObject>> queries = Arrays.asList(query, queryAgain); ParseQuery<ParseObject> combinedQuery = ParseQuery.or(queries); // We generate a state to verify the content of the builder ParseQuery.State state = combinedQuery.getBuilder().build(); ParseQuery.QueryConstraints combinedQueryConstraints = state.constraints(); List list = (List) combinedQueryConstraints.get("$or"); assertEquals(2, list.size()); // Verify query constraint ParseQuery.QueryConstraints queryConstraintsFromCombinedQuery = (ParseQuery.QueryConstraints) list.get(0); assertEquals(1, queryConstraintsFromCombinedQuery.size()); assertEquals("value", queryConstraintsFromCombinedQuery.get("key")); // Verify queryAgain constraint ParseQuery.QueryConstraints queryAgainConstraintsFromCombinedQuery = (ParseQuery.QueryConstraints) list.get(1); assertEquals(1, queryAgainConstraintsFromCombinedQuery.size()); assertEquals("valueAgain", queryAgainConstraintsFromCombinedQuery.get("keyAgain")); }
@Override public void onAwesomeClick(final View itemView, final int position) { final Post post = (Post) items.get(position); // find awesome object awesomeParseQuery.whereEqualTo(Awesome.POST_KEY, post); awesomeParseQuery.whereEqualTo(Awesome.USER_KEY, currentUser); awesomeParseQuery.getFirstInBackground(new GetCallback<Awesome>() { @Override public void done(Awesome awesome, ParseException e) { if (e == null) { onAwesome(awesome, post, itemView); } else { onAwesome(null, post, itemView); } } }); }
@Override public void onAwesomeClick(final View itemView, final int position) { final Post post = posts.get(position); // find awesome object awesomeParseQuery.whereEqualTo(Awesome.POST_KEY, post); awesomeParseQuery.whereEqualTo(Awesome.USER_KEY, currentUser); awesomeParseQuery.getFirstInBackground(new GetCallback<Awesome>() { @Override public void done(Awesome awesome, ParseException e) { if (e == null) { onAwesome(awesome, post, itemView); } else { onAwesome(null, post, itemView); } } }); }
private void updateUserProfile(final LatLng latLng) { parseQuery.whereEqualTo(Profile.USER_KEY, currentUser); parseQuery.getFirstInBackground(new GetCallback<Profile>() { @Override
public void acceptRequest(View view){ //search parse for the reuqest that was accepted. Once the reuqest is found, // add the drivers username to parse and save so that the request is marked as taken. // Now we can open up a new google maps intent so the driver can navigate to the rider. ParseQuery<ParseObject> query = ParseQuery.getQuery("Requests"); query.whereEqualTo("requesterUsername", i.getStringExtra("username")); query.findInBackground(new FindCallback<ParseObject>() { @Override public void done(List<ParseObject> objects, ParseException e) { if ( e == null){ if(objects.size() > 0){ for (ParseObject object : objects){ object.put("driverUsername", "dname"); //ParseUser.getCurrentUser().getUsername()); object.saveInBackground(new SaveCallback() { @Override public void done(ParseException e) { if (e == null) { Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://maps.google.com/maps?daddr=" + i.getDoubleExtra("latitude", 0) + "," + i.getDoubleExtra("longitude", 0))); startActivity(intent); } } }); } } } } }); }
public static Network findByMeetupId(String meetupId) { ParseQuery<Network> networkParseQuery = ParseQuery.getQuery(Network.class); // networkParseQuery.fromLocalDatastore(); // FIXME: get from local data store! return networkParseQuery.whereEqualTo( Network.MEETUP_GROUP_ID_KEY, meetupId).getFirstInBackground().getResult(); }
public void updateLocation(Location location){ if (requestActive) { final ParseGeoPoint userLocation = new ParseGeoPoint(location.getLatitude(), location.getLongitude()); ParseQuery<ParseObject> query = new ParseQuery<ParseObject>("Requests"); query.whereEqualTo("requesterUsername", "1");//ParseUser.getCurrentUser().getUsername()); query.findInBackground(new FindCallback<ParseObject>() { @Override public void done(List<ParseObject> objects, ParseException e) { if (e == null) { if (objects.size() > 0) { for (ParseObject object : objects) { object.put("requesterLocation", userLocation); object.saveInBackground(); } } } } }); } } }
private void autoSubscribeUserToTopics() { // Auto subscribe user to features final ArrayList<Feature> features = new ArrayList<>(); ParseQuery<Feature> featureQuery = ParseQuery.getQuery(Feature.class); featureQuery.whereEqualTo(Feature.AUTO_SUBSCRIBE_KEY, true); featureQuery.findInBackground(new FindCallback<Feature>() { public void done(List<Feature> featureList, ParseException e) { if (e == null) { for (int i = 0; i < featureList.size(); i++) { features.add(featureList.get(i)); } for (int j = 0; j < features.size(); j++) { Feature feature = features.get(j); final Subscribe subscribe = new Subscribe(); subscribe.setSubscribed(true); subscribe.setUser(currentUser); subscribe.setFeature(feature); subscribe.saveInBackground(); int subscribeCount = feature.getSubscribeCount() + 1; feature.setSubscribeCount(subscribeCount); feature.saveInBackground(); } } else { Log.d("AutoSubscribeError", "Error: " + e.getMessage()); } } }); }
@Override public void done(Feature f, ParseException e) { feature = f; postParseQuery.whereEqualTo(Post.FEATURE_KEY, feature); postParseQuery.orderByDescending("createdAt"); postParseQuery.findInBackground(new FindCallback<Post>() { @Override public void done(List<Post> list, ParseException e) { if (e == null && list.size() > 0) { clear(); add(list); notifiedDataChanged(); clearSpinners(); LocalDataStore.unpinAndRepin(list, featureId); } else if (e != null) { Log.d("FEATURES_POST_FAIL", "Error: " + e.getMessage()); } else { clearSpinners(); noPostsView(feature.getHexColor()); } } }); } });
@Override public void done(Event event, ParseException e) { postParseQuery.whereEqualTo(Post.EVENT_KEY, event); postParseQuery.orderByDescending("createdAt"); postParseQuery.findInBackground(new FindCallback<Post>() { @Override public void done(List<Post> list, ParseException e) { if (e == null && list.size() > 0) { // clear adapter clear(); // add to adapter add(list); notifiedDataChanged(); clearSpinners(); // pin locally LocalDataStore.unpinAndRepin(list, eventId); } else if (e != null) { Log.d("PARSE_EVENTS_POST_FAIL", "Error: " + e.getMessage()); } else { clearSpinners(); noPostsView("#00b5a9"); // teal } } }); } });
public void Login(View view) { EditText etEmail = (EditText) findViewById(R.id.etEmail); msnackbar = (RelativeLayout) findViewById(R.id.email_login); String email = etEmail.getText().toString(); EditText etPassword = (EditText) findViewById(R.id.etPwd); final String pwd = etPassword.getText().toString(); ParseQuery<ParseUser> query = ParseUser.getQuery(); query.whereEqualTo("email", email); // query.findInBackground(new FindCallback<ParseUser>() { public void done(List<ParseUser> objects, ParseException e) { if (e == null) { if (objects.size() != 0) { ValidateUser(objects.get(0).getString("username"), pwd); }else{ Snackbar.make(msnackbar, getResources().getString(R.string.error_invalid_username_password), Snackbar.LENGTH_LONG).show(); } } else { Snackbar.make(msnackbar, getResources().getString(R.string.error_login_failed), Snackbar.LENGTH_LONG).show(); } } }); }
subscribeParseQuery.whereEqualTo(Subscribe.FEATURE_KEY, feature); subscribeParseQuery.whereEqualTo(Subscribe.USER_KEY, currentUser); subscribeParseQuery.getFirstInBackground(new GetCallback<Subscribe>() { @Override
subscribeParseQuery.whereEqualTo(Subscribe.EVENT_KEY, event); subscribeParseQuery.whereEqualTo(Subscribe.USER_KEY, currentUser); subscribeParseQuery.getFirstInBackground(new GetCallback<Subscribe>() { @Override
@Test public void testCopy() { ParseQuery<ParseObject> query = new ParseQuery<>("TestObject"); query.setUser(new ParseUser()); query.whereEqualTo("foo", "bar"); ParseQuery.State.Builder<ParseObject> builder = query.getBuilder(); ParseQuery.State<ParseObject> state = query.getBuilder().build(); ParseQuery<ParseObject> queryCopy = new ParseQuery<>(query); ParseQuery.State.Builder<ParseObject> builderCopy = queryCopy.getBuilder(); ParseQuery.State<ParseObject> stateCopy = queryCopy.getBuilder().build(); assertNotSame(query, queryCopy); assertSame(query.getUserAsync(state).getResult(), queryCopy.getUserAsync(stateCopy).getResult()); assertNotSame(builder, builderCopy); assertSame(state.constraints().get("foo"), stateCopy.constraints().get("foo")); }
@Test public void testMultipleQueriesWithInflightChanges() throws ParseException { Parse.enableLocalDatastore(null); TestQueryController controller = new TestQueryController(); TaskCompletionSource<Void> tcs = new TaskCompletionSource<>(); controller.await(tcs.getTask()); ParseQuery<ParseObject> query = ParseQuery.getQuery("TestObject"); query.setUser(new ParseUser()); ParseCorePlugins.getInstance().registerQueryController(controller); List<Task<Void>> tasks = Arrays.asList( query.fromNetwork().findInBackground().makeVoid(), query.fromLocalDatastore().findInBackground().makeVoid(), query.setLimit(10).findInBackground().makeVoid(), query.whereEqualTo("key", "value").countInBackground().makeVoid()); assertTrue(query.isRunning()); tcs.trySetResult(null); ParseTaskUtils.wait(Task.whenAll(tasks)); assertFalse(query.isRunning()); }
@Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); currentUser = ParseUser.getCurrentUser(); ArrayList<Message> messages = new ArrayList<>(); aChatList = new ChatListAdapter(getActivity(), currentUser.getObjectId(), messages); handler = new Handler(); // Defines a runnable which is run every 100ms runnable = new Runnable() { @Override public void run() { receiveMessages(); // FIXME: only do this when there are new messages - handler.postDelayed(this, RUN_FREQUENCY); handler.postDelayed(this, RUN_FREQUENCY); // query for any message more recent than the most recent } }; ParseQuery<Profile> parseQuery = ParseQuery.getQuery(Profile.class); parseQuery.whereEqualTo(Profile.USER_KEY, currentUser); parseQuery.getFirstInBackground(new GetCallback<Profile>() { @Override public void done(Profile p, ParseException e) { if (e == null) { profile = p; } } }); }
query.whereEqualTo("requesterUsername", "1");//ParseUser.getCurrentUser().getUsername()); query.findInBackground(new FindCallback<ParseObject>() { @Override
eventParseQuery.whereEqualTo(Event.MEETUP_EVENT_ID_KEY, eventId); try { if (eventParseQuery.count() > 0) {