@Test public void testCreateGroupFromCommittee() throws Exception { String id = groupService.create(group); groupService.addAggregation(committee, group); Group fromDb = groupService.findById(id); assertEquals(group.getGroupName(), fromDb.getGroupName()); Aggregation aggregation = fromDb.getAggregations().iterator().next(); assertNotNull(aggregation); assertEquals( committee.getAggregationMembers().size(), aggregation.getAggregationMembers().size()); }
// new version without group ds combunation private void printUserGroupList(PrintWriter out, User user) { Group group = null; String label = null; String groupName = null; String groupType = null; String userName = user.getUserName(); if (user.getGroupList().size() == 0) { out.println("<p>No group is selected.</p>"); } else { out.println("<table >"); out.println("<tr><th> group name </th>"); out.println("<th> group structure</th>"); out.println("<th> user choice</th>"); out.println("<th> admin decision</th>"); out.println("<th> admin decision</th></tr>"); for (int i = 0; i < user.getGroupList().size(); i++) { group = (Group) (user.getGroupList().get(i)); groupName = group.getGroupName(); groupType = group.getGroupType(); if (groupType.equals("5")) { label = " user wants to add this group "; } else if (groupType.equals("0")) { label = " user wants to delete this group "; } out.println("<tr><td>" + groupName + "</td>"); this.printGroupStructureLink(out, group.getGroupName()); out.println("<td>" + label + " </td>"); out.println("<FORM ACTION=/gsn/MyUpdateUserGroupServlet METHOD=POST>"); out.println("<INPUT TYPE=HIDDEN NAME=groupname VALUE=" + groupName + ">"); out.println("<INPUT TYPE=HIDDEN NAME=grouptype VALUE=" + groupType + ">"); out.println("<INPUT TYPE=HIDDEN NAME=username VALUE= " + userName + ">"); out.println("<INPUT TYPE=HIDDEN NAME=update VALUE= yes>"); out.println( "<td><INPUT TYPE=SUBMIT class=creategroupbuttonstyle VALUE=\"agree to update\"></td>"); out.println("</FORM>"); out.println("<FORM ACTION=/gsn/MyUpdateUserGroupServlet METHOD=POST>"); out.println("<INPUT TYPE=HIDDEN NAME=groupname VALUE=" + groupName + ">"); out.println("<INPUT TYPE=HIDDEN NAME=grouptype VALUE=" + groupType + ">"); out.println("<INPUT TYPE=HIDDEN NAME=username VALUE= " + userName + ">"); out.println("<INPUT TYPE=HIDDEN NAME=update VALUE= no>"); out.println( "<td><INPUT TYPE=SUBMIT class=creategroupbuttonstyle VALUE=\"refuse to update\"></td></tr>"); out.println("</FORM>"); } out.println("</table>"); } }
private void printGroupDataSourceList(PrintWriter out, Group group) { DataSource ds = null; String dsname = null; String dstype = null; String label = null; out.println("<table >"); out.println(" <caption>" + group.getGroupName() + " combination</caption>"); out.println("<tr><th> virtual sensor name </th>"); out.println("<th> access right</th></tr>"); for (int j = 0; j < group.getDataSourceList().size(); j++) { ds = (DataSource) group.getDataSourceList().get(j); dsname = ds.getDataSourceName(); dstype = ds.getDataSourceType(); if (dstype.charAt(0) == '1') { label = "read"; } else if (dstype.charAt(0) == '2') { label = "write"; } else if (dstype.charAt(0) == '3') { label = "read/write"; } out.println("<tr><td>" + dsname + "</td>"); out.println("<td>" + label + "</td></tr>"); } out.println("</table>"); }
public void withRealmGroupTest() { Group g = new Group(1L, "g1", "group description", true, "ldap", "dn=o"); assertEquals(g.getGroupId(), 1L); assertEquals(g.getGroupName(), "g1"); assertEquals(g.getDescription(), "group description"); assertTrue(g.isNewUserDefault()); assertEquals(g.getRealm(), "ldap"); assertEquals(g.getRealmAttributes(), "dn=o"); }
public void simpleGroupTest() { Group g = new Group(1L, "g1", null, false, null, null); assertEquals(g.getGroupId(), 1L); assertEquals(g.getGroupName(), "g1"); assertNull(g.getDescription()); assertFalse(g.isNewUserDefault()); assertNull(g.getRealm()); assertNull(g.getRealmAttributes()); }
public void newGroup(Group group) { new networkPostTask( new NetworkTaskListener() { @Override public void onTaskComplete(boolean taskSuccess) {} }) .execute( GROUPCREATE, group.getCreator() + "", group.getGroupName(), group.getGroupPassword()); }
@Test public void testAddAggregation() throws Exception { groupService.create(group); groupService.addAggregation(committee, group); Group fromDb = groupService.findById(group.getId()); assertEquals(1, fromDb.getAggregations().size()); Aggregation aggregation = fromDb.getAggregations().iterator().next(); assertEquals(group.getGroupName(), aggregation.getGroups().iterator().next().getGroupName()); }
/** * tm_usergroup에 그룹을 인서트한다. * * @param group * @return * @throws DataAccessException */ public int insertGroup(Group group) throws DataAccessException { String sql = QueryUtil.getStringQuery( "admin_sql", "admin.usergroup.insertgroup"); // 쿼리 프로퍼티파일의 키값에 해당되는 sql문을 읽어온다. // 넘겨받은 파라미터를 세팅한다. Map<String, Object> param = new HashMap<String, Object>(); param.put("groupID", group.getGroupID()); param.put("groupName", group.getGroupName()); param.put("description", group.getDescription()); return getSimpleJdbcTemplate().update(sql, param); }
@Test public void testCreateGroupFromMultipleAggregations() throws Exception { String id = groupService.create(group); groupService.addAggregation(committee, group); group = groupService.findById(group.getId()); groupService.addAggregation(organization, group); group = groupService.findById(group.getId()); groupService.addAggregation(event, group); group = groupService.findById(group.getId()); contactService.addToGroup(topLevel, group); Group fromDb = groupService.findById(id); assertEquals(group.getGroupName(), fromDb.getGroupName()); assertEquals(3, group.getAggregations().size()); Set<Contact> allAggregationMembers = new HashSet<>(); for (Aggregation aggregation : group.getAggregations()) { for (Contact c : aggregation.getAggregationMembers()) { allAggregationMembers.add(c); } } assertEquals(2, allAggregationMembers.size()); assertEquals(1, group.getTopLevelMembers().size()); }
private static void fillInSubject(PolicyRule rule) throws Throwable { if (rule instanceof UserPolicyRule) { User user = ((UserPolicyRule<User>) rule).getSubject(); User filledInUser = tbclient.getUserByUsername(USER_SERVICE_ROOT, user.getUserName()); if (filledInUser == null) { throw new RuntimeException("Could not find real user for: " + user.getUserName()); } rule.setSubject(filledInUser); } else if (rule instanceof GroupPolicyRule) { Group group = ((GroupPolicyRule<? extends Group>) rule).getSubject(); Project filledInProject = getProjectByGroupName(group.getGroupName()); if (filledInProject != null) { rule.setSubject(filledInProject); } else { Organisation filledInOrg = getOrganisationByGroupName(group.getGroupName()); if (filledInOrg != null) { rule.setSubject(filledInOrg); } else { throw new RuntimeException( "Could not find project or organisation for group name: " + group.getGroupName()); } } } }
private void printRemainingGroupsList(PrintWriter out, User user, ConnectToDB ctdb) throws SQLException { Vector remainingGroupList = ctdb.getGroupListsDifference(ctdb.getGroupList(), user.getGroupList()); Group group = null; String groupName = null; String userName = user.getUserName(); if (remainingGroupList.size() == 0) { out.println("<table class =transparenttable>"); out.println("<tr><td><FONT COLOR=#000000>No group is available.</td></tr>"); out.println("</table>"); } else { out.println("<table>"); out.println("<tr>"); out.println("<th>group name</th>"); out.println("<th>group structure</th>"); out.println("<th>updates</th>"); out.println("</tr>"); for (int i = 0; i < remainingGroupList.size(); i++) { group = (Group) (remainingGroupList.get(i)); groupName = group.getGroupName(); out.println("<tr>"); out.println("<td>" + groupName + "</td>"); this.printGroupStructureLink(out, groupName); if (ctdb.valueExistsForThisColumnUnderTwoConditions( new Column("ISUSERWAITING", "yes"), new Column("GROUPNAME", groupName), new Column("USERNAME", userName), "ACUSER_ACGROUP") == false) { out.println("<FORM ACTION=/gsn/MyUpdateUserWaitingForGroupServlet METHOD=POST>"); out.println("<INPUT TYPE=HIDDEN NAME=groupname VALUE=" + groupName + ">"); out.println("<INPUT TYPE=HIDDEN NAME=addgroup VALUE=Yes>"); out.println( "<td style=text-align:center><INPUT TYPE=SUBMIT class= buttonstyle VALUE=\"add\"></td>"); out.println("</FORM>"); } else { out.println("<td>" + "<FONT COLOR=#0000FF>in updates waiting list!</td>"); } out.println("</tr>"); } out.println("</table>"); } }
private void printGroupListModulo(PrintWriter out, User user, int index) { Group group = null; String label = null; String groupName = null; String groupType = null; String userName = user.getUserName(); group = (Group) (user.getGroupList().get(index)); groupName = group.getGroupName(); groupType = group.getGroupType(); if (groupType.equals("5")) { label = " user wants to add this group "; } else if (groupType.equals("0")) { label = " user wants to delete this group "; } out.println("<table class=\"transparenttable\">"); out.println("<tr><td><B>groupname: </B>" + groupName + "</td></tr>"); out.println("<tr><td><B>user choice: </B>" + label + " </td></tr>"); out.println("</table>"); out.println("<BR>"); this.printGroupDataSourceList(out, group); out.println("<BR>"); out.println("<FORM ACTION=/gsn/MyUpdateUserGroupServlet METHOD=POST>"); out.println("<INPUT TYPE=HIDDEN NAME=groupname VALUE=" + groupName + ">"); out.println("<INPUT TYPE=HIDDEN NAME=grouptype VALUE=" + groupType + ">"); out.println("<INPUT TYPE=HIDDEN NAME=username VALUE= " + userName + ">"); out.println("<INPUT TYPE=HIDDEN NAME=update VALUE= yes>"); out.println("<table class=\"transparenttable\">"); out.println( "<td><INPUT TYPE=SUBMIT class=creategroupbuttonstyle VALUE=\"agree to update\"></td>"); out.println("</FORM>"); out.println("<FORM ACTION=/gsn/MyUpdateUserGroupServlet METHOD=POST>"); out.println("<INPUT TYPE=HIDDEN NAME=groupname VALUE=" + groupName + ">"); out.println("<INPUT TYPE=HIDDEN NAME=grouptype VALUE=" + groupType + ">"); out.println("<INPUT TYPE=HIDDEN NAME=username VALUE= " + userName + ">"); out.println("<INPUT TYPE=HIDDEN NAME=update VALUE= no>"); out.println( "<td><INPUT TYPE=SUBMIT class=creategroupbuttonstyle VALUE=\"refuse to update\"></td></tr>"); out.println("</FORM>"); out.println("</table>"); }
/** * Creates a notification to a Group coordinator signaling that a user wants to join their group * * <p>- Requires a groupId request parameter for the GET * * @param req The HTTP Request * @param res The HTTP Response */ public void inviteAction(HttpServletRequest req, HttpServletResponse res) { // Ensure there is a cookie for the session user if (AccountController.redirectIfNoCookie(req, res)) return; Map<String, Object> viewData = new HashMap<String, Object>(); int groupId = Integer.parseInt(req.getParameter("groupId")); try { // Get the session user HttpSession session = req.getSession(); Session userSession = (Session) session.getAttribute("userSession"); User user = userSession.getUser(); // Get the coordinator for the group GroupManager groupMan = new GroupManager(); Group group = groupMan.get(groupId); User coordinator = groupMan.getCoordinator(groupId); // Send a notification to the coordinator for them to permit access to the group NotificationManager notificationMan = new NotificationManager(); Notification notification = new Notification( coordinator.getId(), coordinator, groupId, group, user.getFullName() + " wants to join your group " + group.getGroupName(), "/home/notifications?addUserId=" + user.getId() + "&groupId=" + group.getId()); notificationMan.createNotification(notification); redirectToLocal(req, res, "/home/dashboard"); return; } catch (Exception e) { redirectToLocal(req, res, "/home/dashboard"); } }
/** * Displays a given Research Group page for a HTTP Get, or creates a new Group for a HTTP Post * * <p>- Requires a cookie for the session user - Requires a groupId request parameter for a GET - * Requires a groupName, description, createdByUserId request parameters for a POST * * @param req The HTTP Request * @param res The HTTP Response */ public void researchgroupAction(HttpServletRequest req, HttpServletResponse res) { // Ensure there is a cookie for the session user if (AccountController.redirectIfNoCookie(req, res)) return; Map<String, Object> viewData = new HashMap<String, Object>(); viewData.put("title", "Research Group"); if (req.getMethod() == HttpMethod.Get) { // Load group data into Map GroupManager gm = new GroupManager(); int groupId = Integer.parseInt(req.getParameter("groupId")); Group group = gm.get(groupId); if (group != null) { // Load Group into map viewData.put("group", group); // Load group members into Map List<String> groupMembers = gm.getGroupMembers(groupId); viewData.put("groupMembers", groupMembers); // Load meetings into map MeetingManager meetMan = new MeetingManager(); List<Meeting> groupMeetings = meetMan.getGroupMeetings(groupId); viewData.put("groupMeetings", groupMeetings); // Load Document Data into Map DocumentManager docMan = new DocumentManager(); List<Document> groupDocuments = docMan.getGroupDocuments(groupId); viewData.put("groupDocuments", groupDocuments); // Load discussion threads DiscussionManager dm = new DiscussionManager(); viewData.put("groupDiscussions", dm.getThreads(groupId)); // Check if the user is a member boolean isMember = false; HttpSession session = req.getSession(); Session userSession = (Session) session.getAttribute("userSession"); User user = userSession.getUser(); for (Group g : gm.getAllGroups(user.getId())) { if (g.getId() == group.getId()) { isMember = true; break; } } viewData.put("notMember", !isMember); // View group page. view(req, res, "/views/group/ResearchGroup.jsp", viewData); } else { httpNotFound(req, res); } } else if (req.getMethod() == HttpMethod.Post) { // Create Group // Get data from parameters String groupName = req.getParameter("groupName"); String description = req.getParameter("description"); int adminId = Integer.parseInt(req.getParameter("createdByUserId")); // Create the Group GroupManager groupMan = new GroupManager(); Group group = new Group(); group.setGroupName(groupName); group.setDescription(description); group.setCoordinatorId(adminId); // Create the mapping groupMan.createGroup(group); int groupId = groupMan.getIdFor(group); groupMan.createMapping(groupId, adminId); group.setId(groupId); // Update the User Session to show new group HttpSession session = req.getSession(); Session userSession = (Session) session.getAttribute("userSession"); User admin = userSession.getUser(); admin.getGroups().add(group); // Show the Group Page viewData.put("groupName", group.getGroupName()); List<String> groupMembers = groupMan.getGroupMembers(groupId); viewData.put("groupMembers", groupMembers); view(req, res, "/views/group/ResearchGroup.jsp", viewData); } }