protected void verifyModel(User model, int index) { assertEquals(GUIDS[index].toString(), model.getId()); assertEquals(NAMES[index], model.getName()); assertNotNull(model.getDomain()); assertTrue(model.isSetGroups()); assertEquals(PARSED_GROUPS.length, model.getGroups().getGroups().size()); Set<String> groupNames = model.getGroups().getGroups().stream().map(Group::getName).collect(Collectors.toSet()); assertEquals(new HashSet<>(Arrays.asList(PARSED_GROUPS)), groupNames); verifyLinks(model); } }
@Override protected void verifyModel(User model, int index) { assertEquals(GUIDS[index].toString(), model.getId()); assertEquals(NAMES[index] + "@" + DOMAIN, model.getUserName()); assertNotNull(model.getDomain()); assertEquals(DirectoryEntryIdUtils.encode(DOMAIN), model.getDomain().getId()); assertTrue(model.isSetGroups()); assertEquals(PARSED_GROUPS.length, model.getGroups().getGroups().size()); Set<String> groupNames = model.getGroups().getGroups().stream().map(Group::getName).collect(Collectors.toSet()); assertEquals(new HashSet<>(Arrays.asList(PARSED_GROUPS)), groupNames); verifyLinks(model); }
@Mapping(from = DbUser.class, to = User.class) public static User map(DbUser entity, User template) { User model = template != null ? template : new User(); model.setName(entity.getFirstName()); model.setUserName(entity.getLoginName() + "@" + entity.getDomain()); model.setPrincipal(entity.getLoginName()); model.setId(entity.getId().toString()); model.setLastName(entity.getLastName()); model.setEmail(entity.getEmail()); model.setDepartment(entity.getDepartment()); model.setDomainEntryId(DirectoryEntryIdUtils.encode(entity.getExternalId())); model.setNamespace(entity.getNamespace()); if (entity.getGroupNames() != null && entity.getGroupNames().size() > 0) { model.setGroups(new Groups()); for (String name : entity.getGroupNames()) { Group group = new Group(); group.setName(name); model.getGroups().getGroups().add(group); } } if (!StringUtils.isEmpty(entity.getDomain())) { Domain dom = new Domain(); dom.setName(entity.getDomain()); dom.setId(DirectoryEntryIdUtils.encode(dom.getName())); model.setDomain(dom); } return model; }
@Mapping(from = DirectoryUser.class, to = User.class) public static User map(DirectoryUser entity, User template) { User model = template != null ? template : new User(); model.setName(entity.getFirstName()); model.setUserName(entity.getName() + "@" + entity.getDirectoryName()); model.setId(DirectoryEntryIdUtils.encode(entity.getId())); model.setLastName(entity.getLastName()); model.setEmail(entity.getEmail()); model.setDepartment(entity.getDepartment()); model.setPrincipal(entity.getPrincipal()); model.setNamespace(entity.getNamespace()); if (entity.getGroups() != null) { model.setGroups(new Groups()); for (DirectoryGroup directoryGroup : entity.getGroups()) { Group group = new Group(); group.setName(directoryGroup.getName()); model.getGroups().getGroups().add(group); } } if (!StringUtils.isEmpty(entity.getDirectoryName())) { Domain dom = new Domain(); dom.setName(entity.getDirectoryName()); dom.setId(DirectoryEntryIdUtils.encode(dom.getName())); model.setDomain(dom); } return model; }
to.getGroups().getGroups().addAll(adaptIn(from.getGroups().getGroups()));
to.getGroups().getGroups().addAll(adaptOut(from.getGroups().getGroups()));