EventOrganisationalUnit.java
package com.tradecloud.domain.model.events;
import com.tradecloud.authentication.User;
import com.tradecloud.common.base.PersistenceBase;
import com.tradecloud.domain.event.EventGroup;
import com.tradecloud.domain.model.organisationalunit.OrganisationalUnit;
import javax.persistence.*;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@Entity
public class EventOrganisationalUnit extends PersistenceBase {
@ManyToOne(fetch = FetchType.EAGER)
private User integratedUser;
@Enumerated(EnumType.STRING)
private EventGroup eventGroup;
@OneToMany(fetch = FetchType.EAGER, orphanRemoval = true)
private List<OrganisationalUnit> organisationalUnits;
public User getIntegratedUser() {
return integratedUser;
}
public void setIntegratedUser(User integratedUser) {
this.integratedUser = integratedUser;
}
public EventGroup getEventGroup() {
return eventGroup;
}
public void setEventGroup(EventGroup eventGroup) {
this.eventGroup = eventGroup;
}
public List<OrganisationalUnit> getOrganisationalUnits() {
return organisationalUnits;
}
public void setOrganisationalUnits(List<OrganisationalUnit> organisationalUnits) {
this.organisationalUnits = organisationalUnits;
}
public OrganisationalUnit[] getEventOrganisationalUnits() {
if (organisationalUnits != null)
return getOrganisationalUnits().toArray(new OrganisationalUnit[0]);
return null;
}
public void setEventOrganisationalUnits(OrganisationalUnit[] eventOrganisationalUnits) {
if (eventOrganisationalUnits != null) {
List<OrganisationalUnit> units = Arrays.stream(eventOrganisationalUnits).filter(Objects::nonNull).collect(Collectors.toList());
setOrganisationalUnits(units);
} else {
setOrganisationalUnits(null);
}
}
}