Subversion Repositories general

Rev

Rev 961 | Rev 1045 | 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="domains"
9
 */
10
public class InetDomain
11
	extends GeneralModelObject
12
{
1011 dev 13
	private String     name;
14
	private User       owner;
15
	private InetDomain origin;  // save original object state before any changes
919 dev 16
 
17
	protected InetDomain()
18
	{
19
	}
20
 
1011 dev 21
	protected InetDomain(InetDomain origin)
22
	{
23
		super(origin);
24
		this.name  = origin.name;
25
		this.owner = origin.owner;
26
	}
27
 
28
    protected InetDomain getOrigin()
29
    {
30
        return origin;
31
    }
32
 
33
    protected void backupMe()
34
    {
35
        if(origin == null)
36
            origin = new InetDomain(this);
37
    }
38
 
919 dev 39
	/**
40
	 *
41
	 * @hibernate.property
42
	 */
43
	public String getName()
44
	{
45
		return name;
46
	}
47
 
921 dev 48
	protected void setName(String name)
919 dev 49
	{
50
		this.name = name;
51
	}
52
 
921 dev 53
	public void setName(User editor, String name)
54
		throws ModelException
55
	{
56
		if(!editableBy(editor))
57
			throw new ModelSecurityException();
58
 
1011 dev 59
        backupMe();
921 dev 60
		this.name = name;
61
	}
62
 
919 dev 63
	/**
64
	 *
65
	 * @hibernate.many-to-one
66
	 */
67
	public User getOwner()
68
	{
69
		return owner;
70
	}
71
 
921 dev 72
	protected void setOwner(User owner)
919 dev 73
	{
74
		this.owner = owner;
75
	}
76
 
921 dev 77
	public void setOwner(User editor, User owner)
78
		throws ModelException
79
	{
80
		if(!editableBy(editor))
81
			throw new ModelSecurityException();
82
 
1011 dev 83
        backupMe();
921 dev 84
		this.owner = owner;
85
	}
86
 
919 dev 87
	public String getTypeKey()
88
	{
924 dev 89
		return ak.hostadmiral.core.CoreResources.TYPE_DOMAIN;
919 dev 90
	}
91
 
92
	public String getIdentKey()
93
	{
924 dev 94
		return ak.hostadmiral.core.CoreResources.IDENT_DOMAIN;
919 dev 95
	}
96
 
97
	public Object[] getIdentParams()
98
	{
99
		return new Object[] { getName() };
100
	}
101
 
102
	public boolean viewableBy(User user)
103
	{
104
		return user.isSuperuser() || user.equals(owner);
105
	}
106
 
107
	public boolean editableBy(User user)
108
	{
109
		return user.isSuperuser();
110
	}
111
 
112
	public boolean deleteableBy(User user)
113
	{
114
		return user.isSuperuser();
115
	}
921 dev 116
 
117
	protected static boolean allowedToCreate(InetDomainManager manager, User editor)
118
		throws ModelException
119
	{
120
		return editor.isSuperuser();
121
	}
946 dev 122
 
123
	protected static InetDomain createLimitedCopy(InetDomain origin)
124
	{
125
		InetDomain d = new InetDomain();
126
		d.setName(origin.getName());
127
		return d;
128
	}
919 dev 129
}