# HG changeset patch # User one # Date 1415700096 -32400 # Node ID 22edfb7f47add31900214c52100a1a3f57909b2e # Parent 7e6f1f9b40a85050aeb75cce9531f6babf39cb2c bbs show all node attribute diff -r 7e6f1f9b40a8 -r 22edfb7f47ad src/main/java/jp/ac/u_ryukyu/cr/ie/tatsuki/bbs/GetAttributeImp.java --- a/src/main/java/jp/ac/u_ryukyu/cr/ie/tatsuki/bbs/GetAttributeImp.java Sun Nov 09 23:10:03 2014 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/cr/ie/tatsuki/bbs/GetAttributeImp.java Tue Nov 11 19:01:36 2014 +0900 @@ -1,22 +1,21 @@ package jp.ac.u_ryukyu.cr.ie.tatsuki.bbs; +import fj.data.List; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; +public class GetAttributeImp { + private final TreeNode node; - + public GetAttributeImp(TreeNode _node) { + node = _node; + } -public class GetAttributeImp -{ - private final TreeNode node; - - public GetAttributeImp(TreeNode _node) - { - node = _node; - } + public String getMessage(String key) { + return node.getAttributes().getString(key); + } + + public List getKeys() { + return node.getAttributes().getKeys(); + } - public String getMessage() { - return node.getAttributes().getString("text"); - } - } - diff -r 7e6f1f9b40a8 -r 22edfb7f47ad src/main/java/jp/ac/u_ryukyu/cr/ie/tatsuki/bbs/JuGrix.java --- a/src/main/java/jp/ac/u_ryukyu/cr/ie/tatsuki/bbs/JuGrix.java Sun Nov 09 23:10:03 2014 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/cr/ie/tatsuki/bbs/JuGrix.java Tue Nov 11 19:01:36 2014 +0900 @@ -45,7 +45,6 @@ e.printStackTrace(); } } - public boolean isActive(String id) { InterfaceTraverser personTraverser = personTree.getTraverser(); @@ -63,6 +62,7 @@ return false; } + public Iterator personIds(String orgId, LinkedList roleIds) { @@ -97,6 +97,7 @@ }; } + public Iterator personIds(LinkedList orgIds, LinkedList roleIds) { TreeMap personIds = TreeMap.empty(Ord.stringOrd); @@ -129,7 +130,7 @@ }; } - + private TreeMap personIdsSearch(String orgId, TreeMap orgIdsTreeMap) { InterfaceTraverser personTraverser = personTree.getTraverser(); @@ -165,7 +166,11 @@ return orgIdsTreeMap; } + + + public boolean filter(String orgId, LinkedList roleIds) { + if (roleIds == null) return true; @@ -174,7 +179,7 @@ InterfaceTraverser orgTraverser = organizationTree.getTraverser(); - Iterator> orgNodeIterator = orgTraverser.find((TreeNode node) -> { + Iterator> orgIdPairIterator = orgTraverser.find((TreeNode node) -> { String personId = node.getAttributes().getString("element"); if (personId == null) return false; @@ -188,33 +193,34 @@ return false; }, "Organization-id", orgId); - if (!orgNodeIterator.hasNext()) + if (!orgIdPairIterator.hasNext()) return false; - Pair searchNodePair = orgNodeIterator.next(); + Pair orgIdPair = orgIdPairIterator.next(); for (String id : roleIds) { Pattern personPattern = Pattern.compile("r:"); Matcher personMacher = personPattern.matcher(id); if (personMacher.find()) { - if (roleFilter(id, searchNodePair)) + if (roleFilter(id, orgIdPair)) return false; } Pattern organizationPattern = Pattern.compile("rde:"); Matcher organizationMacher = organizationPattern.matcher(id); if (organizationMacher.find()) { - if (!rdeFilter(id, searchNodePair)) + if (!rdeFilter(id, orgIdPair)) return false; } } return true; } - - private boolean rdeFilter(String id, Pair searchNodePair) { + + private boolean rdeFilter(String filterRdeId, Pair searchNodePair) { InterfaceTraverser orgTraverser = organizationTree.getTraverser(); - Iterator> pairIdIterator = orgTraverser.findInSubTreeAllValue((TreeNode node) -> { + + Iterator> orgRoleIdPairIterator = orgTraverser.findInSubTreeAllValue((TreeNode node) -> { String element = node.getAttributes().getString("element"); if (element == null) return false; @@ -226,18 +232,20 @@ return false; }, searchNodePair, "text-roleRefId"); - TreeMap idMap = TreeMap.empty(Ord.stringOrd); - for (; pairIdIterator.hasNext();) { - String roleId = pairIdIterator.next().left().getAttributes().getString("text-roleRefId"); - idMap = idMap.set(roleId, roleId); + TreeMap orgRoleIdMap = TreeMap.empty(Ord.stringOrd); + + for (; orgRoleIdPairIterator.hasNext();) { + String roleId = orgRoleIdPairIterator.next().left().getAttributes().getString("text-roleRefId"); + orgRoleIdMap = orgRoleIdMap.set(roleId, roleId); } - Iterator> ids = idMap.iterator(); + Iterator> orgRoleIdP2Iterator = orgRoleIdMap.iterator(); InterfaceTraverser roleTraverser = roleTree.getTraverser(); - for (; ids.hasNext();) { - String roleId = ids.next()._1(); - Iterator> roleNodeIterator = roleTraverser.find((TreeNode node) -> { + for (; orgRoleIdP2Iterator.hasNext();) { + String orgRoleId = orgRoleIdP2Iterator.next()._1(); + + Iterator> roleIdPairIterator = roleTraverser.find((TreeNode node) -> { String element = node.getAttributes().getString("element"); if (element == null) return false; @@ -246,14 +254,15 @@ String compareRoleId = node.getAttributes().getString("Role-id"); if (compareRoleId == null) return false; - if (compareRoleId.equals(roleId)) + if (compareRoleId.equals(orgRoleId)) return true; return false; - }, "Role-id", roleId); + }, "Role-id", orgRoleId); - for (; roleNodeIterator.hasNext();) { - Pair rolePair = roleNodeIterator.next(); - Iterator> rdeNodeIterator = roleTraverser.findInSubTree((TreeNode node) -> { + for (; roleIdPairIterator.hasNext();) { + + Pair rolePair = roleIdPairIterator.next(); + Iterator> rdeIdPairIterator = roleTraverser.findInSubTree((TreeNode node) -> { String elementName = node.getAttributes().getString("element"); if (elementName == null) return false; @@ -262,26 +271,24 @@ String rdeId = node.getAttributes().getString("text-roleDescriptionElementRefIds"); if (rdeId == null) return false; - Pattern personPattern = Pattern.compile(id); - Matcher personMacher = personPattern.matcher(rdeId); - if (personMacher.find()) + if (rdeId.equals(filterRdeId)) return true; return false; - }, rolePair, "text-roleDescriptionElementRefIds", id); + }, rolePair, "text-roleDescriptionElementRefIds", filterRdeId); - if (!rdeNodeIterator.hasNext()) + if (!rdeIdPairIterator.hasNext()) return false; } } return true; } - + public boolean roleFilter(String id, Pair searchNodePair) { // System.out.println(searchNodePair.getAttributes().getString("id")); InterfaceTraverser orgTraverser = organizationTree.getTraverser(); - Iterator> pairIdIterator = orgTraverser.findInSubTree((TreeNode node) -> { + Iterator> roleIdPairIterator = orgTraverser.findInSubTree((TreeNode node) -> { String elementName = node.getAttributes().getString("element"); if (elementName == null) return false; @@ -295,13 +302,12 @@ return false; }, searchNodePair, "text-roleRefIds", id); - if (pairIdIterator.hasNext()) { - System.out.println(pairIdIterator.next().left().getAttributes().getString("text-roleRefIds")); + if (roleIdPairIterator.hasNext()) { return false; } return true; } - + public Iterator roleIds(String id) { Pattern personPattern = Pattern.compile("p:"); Matcher personMacher = personPattern.matcher(id); @@ -317,6 +323,7 @@ return new NullIterator(); } + public Iterator searchRoleIds(JungleTree tree, String id, String element) { @@ -383,6 +390,7 @@ }; } + public Iterator competentRoleId(String personId) { InterfaceTraverser personTraverser = personTree.getTraverser(); @@ -447,7 +455,7 @@ } }; } - + public Iterator concurrentRoleIds(String personId) { InterfaceTraverser personTraverser = personTree.getTraverser(); @@ -515,7 +523,7 @@ } }; } - + public Iterator deepPersonIds(String orgId, LinkedList filterIds) { TreeMap personIdsTreeMap = TreeMap.empty(Ord.stringOrd); @@ -549,6 +557,7 @@ } }; } + public Iterator deepChildOrganizationIdsPlus(String orgId, LinkedList filterIds) { TreeMap orgIdsTreeMap = TreeMap.empty(Ord.stringOrd); @@ -580,7 +589,7 @@ } }; } - + public Iterator deepChildOrganizationIds(String orgId, LinkedList filterIds) { TreeMap orgIdsTreeMap = TreeMap.empty(Ord.stringOrd); @@ -609,7 +618,7 @@ } }; } - + public TreeMap _deepChildOrganizationIds(String orgId, TreeMap orgIdsTreeMap) { TreeMap childrenIdTreeMap = _childOrganizationIds(orgId, TreeMap.empty(Ord.stringOrd)); @@ -719,26 +728,6 @@ return childOrgIdsTreeMap; } - public TreeNode getTarget(TreeNode node, NodePath path) { - TreeNode target; - Pair pathNode = path.pop(); - int num = pathNode.left(); - NodePath newPath = pathNode.right(); - if (num == -1 && newPath.size() != 0) - return getTarget(node, newPath); - - Either either = node.getChildren().at(num); - if (either.isA()) - return node; - - TreeNode child = either.b(); - if (pathNode.right().size() == 0) - return child; - - target = getTarget(child, pathNode.right()); - return target; - } - class NullIterator implements Iterator { @Override @@ -1110,5 +1099,27 @@ }; } + + public TreeNode getTarget(TreeNode node, NodePath path) { + TreeNode target; + Pair popPath = path.pop(); + int num = popPath.left(); + NodePath newPath = popPath.right(); + if (num == -1 && newPath.size() != 0) + return getTarget(node, newPath); + + Either either = node.getChildren().at(num); + if (either.isA()) + return node; + + TreeNode child = either.b(); + if (popPath.right().size() == 0) + return child; + + target = getTarget(child, popPath.right()); + return target; + } + + } diff -r 7e6f1f9b40a8 -r 22edfb7f47ad src/main/java/jp/ac/u_ryukyu/cr/ie/tatsuki/bbs/JungleBulletinBoard.java --- a/src/main/java/jp/ac/u_ryukyu/cr/ie/tatsuki/bbs/JungleBulletinBoard.java Sun Nov 09 23:10:03 2014 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/cr/ie/tatsuki/bbs/JungleBulletinBoard.java Tue Nov 11 19:01:36 2014 +0900 @@ -590,8 +590,6 @@ @Override public void createBoards(String _name, String _author, String _initMessage, String _editKey) { - // TODO Auto-generated method stub - } } diff -r 7e6f1f9b40a8 -r 22edfb7f47ad src/main/java/jp/ac/u_ryukyu/cr/ie/tatsuki/bbs/MatrixApp.java --- a/src/main/java/jp/ac/u_ryukyu/cr/ie/tatsuki/bbs/MatrixApp.java Sun Nov 09 23:10:03 2014 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/cr/ie/tatsuki/bbs/MatrixApp.java Tue Nov 11 19:01:36 2014 +0900 @@ -39,7 +39,6 @@ Servlet createBoard = new ReadXml(BBS); Servlet editBoardMessage = new EditMessageServlet(BBS); Servlet index = new ShowBoardsServletMatrix(BBS,createBoardPath,showMatrixPath); - // Servlet board = new ShowBoardMessageServlet(BBS,createBoardMessagePath,editMessagePath); Servlet matrix = new ShowMatrix(BBS,createFolderPath,editNodePath, showMatrixPath, createAttributePath, editAttributePath,deleteAttributePath,deleteNodePath,thp); ServletHandler context = new ServletHandler(); context.addServletWithMapping(new ServletHolder(editBoardMessage),editMessagePath); diff -r 7e6f1f9b40a8 -r 22edfb7f47ad src/main/java/jp/ac/u_ryukyu/cr/ie/tatsuki/bbs/ShowMatrix.java --- a/src/main/java/jp/ac/u_ryukyu/cr/ie/tatsuki/bbs/ShowMatrix.java Sun Nov 09 23:10:03 2014 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/cr/ie/tatsuki/bbs/ShowMatrix.java Tue Nov 11 19:01:36 2014 +0900 @@ -8,6 +8,7 @@ import org.eclipse.jetty.util.thread.ThreadPool; +import fj.data.List; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.bbs.BoardMessage; public class ShowMatrix extends HttpServlet { @@ -85,9 +86,12 @@ _pw.write("

Value

"); GetAttributeImp attribute = (bbs.getAttribute(_bname, path)); - - _pw.write(bbs.sanitize(attribute.getMessage())); - + List keys = attribute.getKeys(); + + for (String key : keys) { + _pw.write(key + " : " + bbs.sanitize(attribute.getMessage(key)) + "
"); + + } _pw.write(""); _pw.flush();