Mercurial > hg > Members > tatsuki > JungleXMLReader
diff src/main/java/jp/ac/u_ryukyu/cr/ie/tatsuki/bbs/JuGrix.java @ 18:0fce1292ab38
add deepPersonIdsTest and Method but not Test
author | one |
---|---|
date | Mon, 27 Oct 2014 06:49:08 +0900 |
parents | f59fc20f4af9 |
children | da872647cbe4 |
line wrap: on
line diff
--- a/src/main/java/jp/ac/u_ryukyu/cr/ie/tatsuki/bbs/JuGrix.java Mon Oct 27 04:49:58 2014 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/cr/ie/tatsuki/bbs/JuGrix.java Mon Oct 27 06:49:08 2014 +0900 @@ -56,6 +56,10 @@ return personIdsSearch(orgId, roleIds).iterator(); } + public LinkedList<String> personIdLink(String orgId, LinkedList<String> roleIds){ + return personIdsSearch(orgId, roleIds); + } + public Iterator<String> personIds(LinkedList<String> orgIds ,LinkedList<String> roleIds){ LinkedList<String> personIds = new LinkedList<String>(); @@ -425,6 +429,24 @@ return pairPersonIterator; } + + + public Iterator<String> deepPersonIds(String orgId, LinkedList<String> filterIds) { + + Iterator<String> childrensIterator = deepChildOrganizationIds(orgId, new LinkedList<String>()); + if (!childrensIterator.hasNext()) + return new NullIterator(); + + LinkedList<String> childrenPersonList = new LinkedList<String>(); + childrenPersonList.addAll(personIdLink(orgId, filterIds)); + for (;childrensIterator.hasNext();) { + String id = childrensIterator.next(); + childrenPersonList.addAll(personIdLink(id, filterIds)); + } + + return childrenPersonList.iterator(); + } + public Iterator<String> deepChildOrganizationIds(String orgId, LinkedList<String> filterIds) { return _deepChildOrganizationIds(orgId,filterIds).iterator(); } @@ -602,4 +624,6 @@ + + }