package org.ovirt.engine.core.common.businessentities.aaa; import java.util.HashSet; import java.util.Objects; import java.util.Set; import org.ovirt.engine.core.aaa.DirectoryGroup; import org.ovirt.engine.core.common.businessentities.IVdcQueryable; import org.ovirt.engine.core.compat.Guid; public class DbGroup implements IVdcQueryable { private static final long serialVersionUID = 6717840754119287059L; /** * This is the identifier assigned by the engine to this group for internal use only. */ private Guid id; /** * This is the identifier assigned by the external directory to this group. */ private String externalId; private String namespace; private String domain; private String name; private String distinguishedName; private Set<String> memberOf; public DbGroup() { memberOf = new HashSet<>(); } public DbGroup(DirectoryGroup directoryGroup) { externalId = directoryGroup.getId(); setId(new Guid(directoryGroup.getId().getBytes(), true)); namespace = directoryGroup.getNamespace(); domain = directoryGroup.getDirectoryName(); name = directoryGroup.getName(); } public Guid getId() { return id; } public void setId(Guid value) { id = value; } public String getExternalId() { return externalId; } public void setExternalId(String value) { externalId = value; } public String getNamespace() { return namespace; } public void setNamespace(String value) { namespace = value; } public String getDomain() { return domain; } public void setDomain(String value) { domain = value; } public String getName() { return name; } public void setName(String value) { name = value; } public void setDistinguishedName(String distinguishedName) { this.distinguishedName = distinguishedName; } public String getDistinguishedName() { return distinguishedName; } public void setMemberOf(Set<String> memberOf) { this.memberOf = memberOf; } public Set<String> getMemberOf() { return memberOf; } @Override public Object getQueryableId() { return id; } @Override public int hashCode() { return Objects.hash( id, externalId, namespace, domain, name, distinguishedName, memberOf ); } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (!(obj instanceof DbGroup)) { return false; } DbGroup other = (DbGroup) obj; return Objects.equals(id, other.id) && Objects.equals(externalId, other.externalId) && Objects.equals(domain, other.domain) && Objects.equals(name, other.name) && Objects.equals(distinguishedName, other.distinguishedName) && Objects.equals(memberOf, other.memberOf); } }