changeset 15:5ef4b1004ade

rolePriorityTest
author one
date Mon, 27 Oct 2014 01:32:58 +0900
parents 54ac3718ab24
children 4cfa77c61ee1
files src/main/java/jp/ac/u_ryukyu/cr/ie/tatsuki/bbs/JuGrix.java src/test/java/jp/ac/u_ryukyu/cr/ie/tatsuki/functionTest/PersonIdsTest.java src/test/java/jp/ac/u_ryukyu/cr/ie/tatsuki/functionTest/rolePriorityTest.java
diffstat 3 files changed, 78 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/src/main/java/jp/ac/u_ryukyu/cr/ie/tatsuki/bbs/JuGrix.java	Mon Oct 27 00:16:44 2014 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/cr/ie/tatsuki/bbs/JuGrix.java	Mon Oct 27 01:32:58 2014 +0900
@@ -5,6 +5,9 @@
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import fj.Ord;
+import fj.P2;
+import fj.data.TreeMap;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
@@ -96,7 +99,7 @@
 							return true;
 						return false;
 					}
-					,pairPerson.left(),"text",id);
+					,pairPerson.left());
 			
 			if (pairIdIterator.hasNext()) {
 					String name = pairPerson.left().getAttributes().getString("id");
@@ -118,8 +121,8 @@
 					String personId = node.getAttributes().getString("element");
 					if (personId == null)
 						return false;
-					if (!personId.equals("Organization")) 
-						return false;
+					if (personId.equals("Organization")) 
+						return true;
 					 String compareOrgId = node.getAttributes().getString("id");
 					if (orgId == null)
 						return false;
@@ -167,7 +170,7 @@
 						return true;
 					return false;
 				}
-				,targetNode,"element","roleRefId");
+				,targetNode);
 		
 		TreeMap<String, String> idMap = TreeMap.empty(Ord.stringOrd);
 		for (; pairIdIterator.hasNext();) {
@@ -214,7 +217,7 @@
 								return true;
 							return false;
 						}
-						,roleNode,"text",id);
+						,roleNode);
 					
 				if (!rdeNodeIterator.hasNext())
 					return false;
@@ -242,7 +245,7 @@
 						return true;
 					return false;
 				}
-				,orgNode,"text",id);
+				,orgNode);
 		
 		if (pairIdIterator.hasNext()){
 			System.out.println(pairIdIterator.next().left().getAttributes().getString("text"));
@@ -528,5 +531,54 @@
 		
 	}
 
+	public String rolePriority(String personId, String roleId) {
+		InterfaceTraverser personTraverser = personTree.getTraverser();
+		Iterator<Pair<TreeNode,NodePath>> personIterator = personTraverser.find(
+				(TreeNode node) -> {
+					String element = node.getAttributes().getString("element");
+					if (element == null)
+						return false;
+					if (!element.equals("Person")) 
+						return false;
+					String nodeId = node.getAttributes().getString("id");
+					if (nodeId == null)
+						return false;
+					if (nodeId.equals(personId)) 
+						return true;
+					return false;
+				});
+		
+		if (!personIterator.hasNext())
+			return "";
+		
+		TreeNode targetNode = personIterator.next().left();
+	
+		Iterator<Pair<TreeNode,NodePath>> priorityIterator = personTraverser.find(
+				(TreeNode node) -> {
+					String element = node.getAttributes().getString("element");
+					if (element == null)
+						return false;
+					if (!element.equals("roleRefId")) 
+						return false;
+					String compareRoleId = node.getAttributes().getString("text");
+					if (compareRoleId == null)
+						return false;
+					if (compareRoleId.equals(roleId)) 
+						return true;
+					return false;
+				},targetNode);
+		
+		for (;priorityIterator.hasNext();) {
+			Pair<TreeNode, NodePath> priorityPair = priorityIterator.next();
+			NodePath roleNodePath = priorityPair.right();
+			Pair<Integer, NodePath> last = roleNodePath.last();
+			NodePath priorityNodePath = last.right().add(last.left() - 1);
+			TreeNode priorityNode = getTarget(targetNode,priorityNodePath);
+			if (priorityNode.getAttributes().getString("element").equals("priority"))
+				return priorityNode.getAttributes().getString("text");
+		}
+		return "";
+	}
+
 
 }
--- a/src/test/java/jp/ac/u_ryukyu/cr/ie/tatsuki/functionTest/PersonIdsTest.java	Mon Oct 27 00:16:44 2014 +0900
+++ b/src/test/java/jp/ac/u_ryukyu/cr/ie/tatsuki/functionTest/PersonIdsTest.java	Mon Oct 27 01:32:58 2014 +0900
@@ -28,6 +28,9 @@
 
 			ids.hasNext();
 			Assert.assertEquals(ids.next(),"p:1");
-
+			
+			filterIds.add("rde:322");
+			ids = jugrix.personIds("o:2",filterIds);
+			Assert.assertFalse(ids.hasNext());
 	}
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/test/java/jp/ac/u_ryukyu/cr/ie/tatsuki/functionTest/rolePriorityTest.java	Mon Oct 27 01:32:58 2014 +0900
@@ -0,0 +1,16 @@
+package jp.ac.u_ryukyu.cr.ie.tatsuki.functionTest;
+
+import org.junit.Test;
+
+import jp.ac.u_ryukyu.cr.ie.tatsuki.bbs.JuGrix;
+import junit.framework.Assert;
+
+public class rolePriorityTest {
+
+	@Test
+	public void rolePriorityTest(){
+		JuGrix jugrix = new JuGrix();
+		String priority = jugrix.rolePriority("p:1", "r:34");
+		Assert.assertEquals(priority,"1");
+	}
+}