Subversion Repositories general

Rev

Rev 1051 | 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
 
1045 dev 39
    protected void resetOrigin()
40
    {
41
    	origin = null;
42
    }
43
 
919 dev 44
	/**
45
	 *
46
	 * @hibernate.property
47
	 */
48
	public String getName()
49
	{
50
		return name;
51
	}
52
 
921 dev 53
	protected void setName(String name)
919 dev 54
	{
55
		this.name = name;
56
	}
57
 
921 dev 58
	public void setName(User editor, String name)
59
		throws ModelException
60
	{
61
		if(!editableBy(editor))
62
			throw new ModelSecurityException();
63
 
1011 dev 64
        backupMe();
921 dev 65
		this.name = name;
66
	}
67
 
919 dev 68
	/**
69
	 *
70
	 * @hibernate.many-to-one
71
	 */
72
	public User getOwner()
73
	{
74
		return owner;
75
	}
76
 
921 dev 77
	protected void setOwner(User owner)
919 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
 
1011 dev 88
        backupMe();
921 dev 89
		this.owner = owner;
90
	}
91
 
919 dev 92
	public String getTypeKey()
93
	{
1051 dev 94
		return ak.hostadmiral.core.resources.CoreResources.TYPE_DOMAIN;
919 dev 95
	}
96
 
97
	public String getIdentKey()
98
	{
1051 dev 99
		return ak.hostadmiral.core.resources.CoreResources.IDENT_DOMAIN;
919 dev 100
	}
101
 
102
	public Object[] getIdentParams()
103
	{
104
		return new Object[] { getName() };
105
	}
106
 
107
	public boolean viewableBy(User user)
108
	{
109
		return user.isSuperuser() || user.equals(owner);
110
	}
111
 
112
	public boolean editableBy(User user)
113
	{
114
		return user.isSuperuser();
115
	}
116
 
117
	public boolean deleteableBy(User user)
118
	{
119
		return user.isSuperuser();
120
	}
921 dev 121
 
122
	protected static boolean allowedToCreate(InetDomainManager manager, User editor)
123
		throws ModelException
124
	{
125
		return editor.isSuperuser();
126
	}
946 dev 127
 
128
	protected static InetDomain createLimitedCopy(InetDomain origin)
129
	{
130
		InetDomain d = new InetDomain();
131
		d.setName(origin.getName());
132
		return d;
133
	}
1056 dev 134
 
135
	public String toString()
136
	{
137
		return "InetDomain id=[" + getId() + "] name=[" + name + "]";
138
	}
919 dev 139
}