public String getSyncPath(Child child, User currentUser) throws JSONException {
   if (currentUser.isVerified()) {
     return child.isNew()
         ? CHILDREN_API_PATH
         : new StringBuilder(CHILDREN_API_PATH)
             .append("/")
             .append(child.get(internal_id.getColumnName()))
             .toString();
   } else {
     return UNVERIFIED_USER_CHILDREN_API_PATH;
   }
 }
 public void testClickOnChildShouldShowViewPage() throws JSONException {
   ChildRepository repository =
       RapidFtrApplication.getApplicationInstance()
           .getInjector()
           .getInstance(ChildRepository.class);
   Child child1 = new Child(getAlphaNumeric(4), "rapidftr", "{\"name\":\"Test1\"}");
   repository.createOrUpdate(child1);
   Child child2 = new Child(getAlphaNumeric(6), "rapidftr", "{\"name\":\"Test2\"}");
   repository.createOrUpdate(child2);
   viewAllChildrenPage.navigateToViewAllPage();
   viewAllChildrenPage.clickChild(child1.getUniqueId());
   viewAllChildrenPage.verifyChildDetails(child1);
 }
 public List<Child> searchChildrenInDB(String subString) {
   List<Child> filteredList = new ArrayList<Child>();
   try {
     for (Child child : repository.getAllChildren()) {
       try {
         if (containsIgnoreCase(child.getUniqueId(), subString)
             || containsIgnoreCase((String) child.get("name"), subString)) {
           filteredList.add(child);
         }
       } catch (JSONException e) {
         Log.e("ChildService", "Error while Searching Children");
       }
     }
   } catch (JSONException e) {
     Log.e("ChildService", "Error while Searching Children");
   }
   return filteredList;
 }
 private void saveIncomingChildren(ArrayList<String> idsToDownload)
     throws IOException, JSONException {
   for (String idToDownload : idsToDownload) {
     Child incomingChild = childService.getChild(idToDownload);
     if (isCancelled()) {
       break;
     }
     try {
       incomingChild.setSynced(true);
       if (childRepository.exists(incomingChild.getUniqueId())) {
         childRepository.update(incomingChild);
       } else {
         childRepository.createOrUpdate(incomingChild);
       }
       childService.setPhoto(incomingChild);
     } catch (Exception e) {
       Log.e("SyncAllDataTask", "Error syncing child", e);
       throw new RuntimeException(e);
     }
   }
 }
 public void sync(Child child) throws IOException, JSONException {
   child.setSynced(true);
   fluentRequest
       .path(String.format("/children/%s", child.getUniqueId()))
       .context(context)
       .param("child", child.toString());
   if (child.opt("current_photo_key") != null
       && !child.optString("current_photo_key").equals("")) {
     fluentRequest.param("current_photo_key", child.optString("current_photo_key"));
   }
   fluentRequest.put();
   repository.update(child);
 }