All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.imunity.rest.mappers.GroupContentsMapper Maven / Gradle / Ivy

There is a newer version: 4.0.4
Show newest version
/*
 * Copyright (c) 2021 Bixbit - Krzysztof Benedyczak. All rights reserved.
 * See LICENCE.txt file for licensing information.
 */

package io.imunity.rest.mappers;

import java.util.Optional;
import java.util.stream.Collectors;

import io.imunity.rest.api.types.basic.RestGroupContents;
import pl.edu.icm.unity.base.group.GroupContents;

public class GroupContentsMapper
{
	public static RestGroupContents map(GroupContents groupContents)
	{
		return RestGroupContents.builder()
				.withGroup(Optional.ofNullable(groupContents.getGroup())
						.map(GroupMapper::map)
						.orElse(null))
				.withMembers(groupContents.getMembers()
						.stream()
						.map(GroupMembershipMapper::map)
						.collect(Collectors.toList()))
				.withSubGroups(groupContents.getSubGroups())
				.build();
	}

	static GroupContents map(RestGroupContents restGroupContents)
	{
		GroupContents groupContents = new GroupContents();
		groupContents.setGroup(Optional.ofNullable(restGroupContents.group)
				.map(GroupMapper::map)
				.orElse(null));
		groupContents.setMembers(restGroupContents.members.stream()
				.map(GroupMembershipMapper::map)
				.collect(Collectors.toList()));
		groupContents.setSubGroups(restGroupContents.subGroups);
		return groupContents;
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy