package com.intrbiz.bergamot.model; import java.util.EnumSet; import java.util.List; import com.intrbiz.bergamot.config.model.SecurityDomainCfg; import com.intrbiz.bergamot.data.BergamotDB; import com.intrbiz.bergamot.model.message.SecurityDomainMO; import com.intrbiz.data.db.compiler.meta.SQLTable; import com.intrbiz.data.db.compiler.meta.SQLUnique; import com.intrbiz.data.db.compiler.meta.SQLVersion; /** * A security domain, grouping checks for access controls */ @SQLTable(schema = BergamotDB.class, name = "security_domain", since = @SQLVersion({ 3, 8, 0 })) @SQLUnique(name = "name_unq", columns = { "site_id", "name" }) public class SecurityDomain extends NamedObject<SecurityDomainMO, SecurityDomainCfg> { private static final long serialVersionUID = 1L; public SecurityDomain() { super(); } @Override public void configure(SecurityDomainCfg configuration, SecurityDomainCfg resolvedConfiguration) { super.configure(configuration, resolvedConfiguration); } public List<AccessControl> getAccessControls() { try (BergamotDB db = BergamotDB.connect()) { return db.getAccessControlsForSecurityDomain(this.getId()); } } public String toString() { return "SecurityDomain " + this.getName(); } @Override public SecurityDomainMO toMO(Contact contact, EnumSet<MOFlag> options) { SecurityDomainMO mo = new SecurityDomainMO(); super.toMO(mo, contact, options); return null; } }