public void populate() { synchronized (users) { while (users.size() < 2) { MockUserResource resource = new MockUserResource(allocateId(User.class), getExecutor(), this); User user = resource.getModel(); user.setName("user" + resource.getModel().getId()); user.setUserName("user_" + resource.getModel().getId()); users.put(user.getId(), resource); } } }
public void updateModel(User user) { // update writable fields only if (user.isSetName()) { getModel().setName(user.getName()); } if (user.isSetUserName()) { getModel().setUserName(user.getUserName()); } }
public static List<User> parse(PowerShellParser parser, String output) { List<User> ret = new ArrayList<User>(); for (PowerShellParser.Entity entity : parser.parse(output)) { if (TYPE.equals(entity.getType())) { User user = new User(); user.setId(entity.get("userid")); user.setName(entity.get("name")); user.setDepartment(entity.get("department")); user.setEmail(entity.get("email")); user.setLastName(entity.get("lastname")); user.setUserName(entity.get("username")); parseGroups(user, entity.get("groups", List.class)); ret.add(user); } } return ret; }
@Override public Response add(User user) { validateParameters(user, "userName|id", "roles.id|name"); StringBuilder buf = new StringBuilder(); String userArg = null; if (user.isSetId()) { userArg = PowerShellUtils.escape(user.getId()); } else { buf.append("$u = select-user -AD").append(SEARCH_TEXT); buf.append(PowerShellUtils.escape(user.getUserName())).append("; "); userArg = "$u.UserId"; } String roleArg = getRoleArg(user.getRoles().getRoles().get(0), buf); buf.append("add-user -userid ").append(userArg).append(" -userroleid ").append(roleArg); User newUser = PowerShellUserResource.addLinks(getUriInfo(), runAndParseSingle(buf.toString())); UriBuilder uriBuilder = getUriInfo().getAbsolutePathBuilder().path(newUser.getId()); if (user.getRoles().getRoles().size() > 1) { for (int i = 1 ; i < user.getRoles().getRoles().size() ; i++) { StringBuilder addRole = new StringBuilder(); String extraRoleArg = getRoleArg(user.getRoles().getRoles().get(i), addRole); addRole.append("attach-role -roleid ").append(extraRoleArg) .append(" -elementid ").append(newUser.getId()); PowerShellRoleResource.runAndParseSingle(getPool(), getParser(), newUser.getId(), addRole.toString()); } } return Response.created(uriBuilder.build()).entity(newUser).build(); }
public static User addLinks(UriInfo uriInfo, User user) { String [] subCollections = { "roles", "tags" }; user.getLinks().clear(); for (String collection : subCollections) { addSubCollection(uriInfo, user, collection); } return LinkHelper.addLinks(uriInfo, user); }
@SuppressWarnings("unchecked") private static void parseGroups(User user, List groups) { if (!(groups == null || groups.isEmpty())) { user.setGroups(new Groups()); for (String name : (List<String>)groups) { Group group = new Group(); group.setName(name); user.getGroups().getGroups().add(group); } } } }
private static void addSubCollection(UriInfo uriInfo, User user, String collection) { Link link = new Link(); link.setRel(collection); link.setHref(LinkHelper.getUriBuilder(uriInfo, user).path(collection).build().toString()); user.getLinks().add(link); } }
protected Object doExecute() throws Exception { if (user == null) { doList(client.getCollection("roles", Roles.class, null).getRoles(), limit); } else { List<User> users = client.getCollection("users", Users.class, "name=" + user).getUsers(); if (!(users == null || users.isEmpty())) { Link roles = findLink(users.get(0).getLinks(), "roles"); if (roles != null) { doList(client.getCollection(roles, Roles.class).getRoles(), limit); } } } return null; } }