+ public List<HashMap<String, Object>> addACE(List<HashMap<String, Object>> aclist) {
+ Log.v("IN addACE");
+ HashMap<String, Object> hashmap = AccountDBManager.getInstance()
+ .selectRecord(Constants.ACL_TABLE, getCondition()).get(0);
+ if (hashmap == null) {
+ throw new BadRequestException("aclid is invalid");
+ }
+ List<HashMap<String, Object>> aclDbList = (List<HashMap<String, Object>>) hashmap
+ .get(Constants.REQ_ACL_LIST);
+
+
+ ListIterator<HashMap<String, Object>> iterator = aclist.listIterator();
+ while (iterator.hasNext()) {
+ HashMap<String, Object> aceMap = iterator.next();
+ if (aceMap.get(Constants.KEYFIELD_ACE_SUBJECT_ID)
+ .equals(hashmap.get(Constants.REQ_OWNER_ID))) {
+ // remove current iterator
+ iterator.remove();
+ continue;
+ }
+ aceMap.put(Constants.REQ_ACE_ID, UUID.randomUUID().toString());
+ }
+
+ List<HashMap<String, Object>> newAcList = new ArrayList<HashMap<String, Object>>(
+ aclist);