Subversion Repositories general

Rev

Rev 949 | Rev 1011 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
924 dev 1
package ak.hostadmiral.core.model;
919 dev 2
 
924 dev 3
import ak.hostadmiral.util.ModelException;
4
import ak.hostadmiral.util.ModelSecurityException;
921 dev 5
 
919 dev 6
/**
7
 *
8
 * @hibernate.class table="systemusers"
9
 */
10
public class SystemUser
11
	extends GeneralModelObject
12
{
13
	/** user id in the OS */
14
	private Integer uid;
15
	private String  name;
911 dev 16
	private User    owner;
17
 
919 dev 18
	protected SystemUser()
19
	{
20
	}
21
 
911 dev 22
	/**
23
	 *
919 dev 24
	 * @hibernate.property
25
	 */
26
	public Integer getUid()
27
	{
28
		return uid;
29
	}
30
 
921 dev 31
	protected void setUid(Integer uid)
919 dev 32
	{
33
		this.uid = uid;
34
	}
35
 
921 dev 36
	public void setUid(User editor, Integer uid)
37
		throws ModelException
38
	{
39
		if(!editableBy(editor))
40
			throw new ModelSecurityException();
41
 
42
		this.uid = uid;
43
	}
44
 
919 dev 45
	/**
46
	 *
47
	 * @hibernate.property
48
	 */
49
	public String getName()
50
	{
51
		return name;
52
	}
53
 
921 dev 54
	protected void setName(String name)
919 dev 55
	{
56
		this.name = name;
57
	}
58
 
921 dev 59
	public void setName(User editor, String name)
60
		throws ModelException
61
	{
62
		if(!editableBy(editor))
63
			throw new ModelSecurityException();
64
 
65
		this.name = name;
66
	}
67
 
919 dev 68
	/**
69
	 *
911 dev 70
	 * @hibernate.many-to-one
71
	 */
72
	public User getOwner()
73
	{
74
		return owner;
75
	}
76
 
921 dev 77
	protected void setOwner(User owner)
911 dev 78
	{
79
		this.owner = owner;
80
	}
81
 
921 dev 82
	public void setOwner(User editor, User owner)
83
		throws ModelException
84
	{
85
		if(!editableBy(editor))
86
			throw new ModelSecurityException();
87
 
88
		this.owner = owner;
89
	}
90
 
919 dev 91
	public String getTypeKey()
92
	{
924 dev 93
		return ak.hostadmiral.core.CoreResources.TYPE_SYSTEM_USER;
919 dev 94
	}
95
 
96
	public String getIdentKey()
97
	{
924 dev 98
		return ak.hostadmiral.core.CoreResources.IDENT_SYSTEM_USER;
919 dev 99
	}
100
 
101
	public Object[] getIdentParams()
102
	{
103
		return new Object[] { getName(), getUid() };
104
	}
105
 
106
	public boolean viewableBy(User user)
107
	{
108
		return user.isSuperuser() || (owner == null) || user.equals(owner);
109
	}
110
 
111
	public boolean editableBy(User user)
112
	{
113
		return user.isSuperuser();
114
	}
115
 
116
	public boolean deleteableBy(User user)
117
	{
118
		return user.isSuperuser();
119
	}
921 dev 120
 
121
	protected static boolean allowedToCreate(SystemUserManager manager, User editor)
122
		throws ModelException
123
	{
124
		return editor.isSuperuser();
125
	}
949 dev 126
 
127
	protected static SystemUser createLimitedCopy(SystemUser origin)
128
	{
129
		SystemUser u = new SystemUser();
130
		u.setUid(origin.getUid());
131
		u.setName(origin.getName());
132
		return u;
133
	}
919 dev 134
}