0,0 → 1,134 |
package ak.hostadmiral.core.model; |
|
import ak.hostadmiral.util.ModelException; |
import ak.hostadmiral.util.ModelSecurityException; |
|
/** |
* |
* @hibernate.class table="systemusers" |
*/ |
public class SystemUser |
extends GeneralModelObject |
{ |
/** user id in the OS */ |
private Integer uid; |
private String name; |
private User owner; |
|
protected SystemUser() |
{ |
} |
|
/** |
* |
* @hibernate.property |
*/ |
public Integer getUid() |
{ |
return uid; |
} |
|
protected void setUid(Integer uid) |
{ |
this.uid = uid; |
} |
|
public void setUid(User editor, Integer uid) |
throws ModelException |
{ |
if(!editableBy(editor)) |
throw new ModelSecurityException(); |
|
this.uid = uid; |
} |
|
/** |
* |
* @hibernate.property |
*/ |
public String getName() |
{ |
return name; |
} |
|
protected void setName(String name) |
{ |
this.name = name; |
} |
|
public void setName(User editor, String name) |
throws ModelException |
{ |
if(!editableBy(editor)) |
throw new ModelSecurityException(); |
|
this.name = name; |
} |
|
/** |
* |
* @hibernate.many-to-one |
*/ |
public User getOwner() |
{ |
return owner; |
} |
|
protected void setOwner(User owner) |
{ |
this.owner = owner; |
} |
|
public void setOwner(User editor, User owner) |
throws ModelException |
{ |
if(!editableBy(editor)) |
throw new ModelSecurityException(); |
|
this.owner = owner; |
} |
|
public String getTypeKey() |
{ |
return ak.hostadmiral.core.CoreResources.TYPE_SYSTEM_USER; |
} |
|
public String getIdentKey() |
{ |
return ak.hostadmiral.core.CoreResources.IDENT_SYSTEM_USER; |
} |
|
public Object[] getIdentParams() |
{ |
return new Object[] { getName(), getUid() }; |
} |
|
public boolean viewableBy(User user) |
{ |
return user.isSuperuser() || (owner == null) || user.equals(owner); |
} |
|
public boolean editableBy(User user) |
{ |
return user.isSuperuser(); |
} |
|
public boolean deleteableBy(User user) |
{ |
return user.isSuperuser(); |
} |
|
protected static boolean allowedToCreate(SystemUserManager manager, User editor) |
throws ModelException |
{ |
return editor.isSuperuser(); |
} |
|
protected static SystemUser createLimitedCopy(SystemUser origin) |
{ |
SystemUser u = new SystemUser(); |
u.setUid(origin.getUid()); |
u.setName(origin.getName()); |
return u; |
} |
} |