KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > genimen > djeneric > tools > administrator > nodes > UserFolder


1 /*
2  * Copyright (c) 2001-2005 by Genimen BV (www.genimen.com) All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without modification, is permitted
5  * provided that the following conditions are met:
6  * - Redistributions of source code must retain the above copyright notice, this list of conditions
7  * and the following disclaimer.
8  * - Redistributions in binary form must reproduce the above copyright notice, this list of
9  * conditions and the following disclaimer in the documentation and/or other materials
10  * provided with the distribution.
11  * - All advertising materials mentioning features or use of this software must display the
12  * following acknowledgment: "This product includes Djeneric."
13  * - Products derived from this software may not be called "Djeneric" nor may
14  * "Djeneric" appear in their names without prior written permission of Genimen BV.
15  * - Redistributions of any form whatsoever must retain the following acknowledgment: "This
16  * product includes Djeneric."
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS IS"
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21  * ARE DISCLAIMED. IN NO EVENT SHALL GENIMEN BV, DJENERIC.ORG,
22  * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
26  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29  */

30 package com.genimen.djeneric.tools.administrator.nodes;
31
32 import javax.swing.ImageIcon JavaDoc;
33 import javax.swing.tree.TreePath JavaDoc;
34
35 import com.genimen.djeneric.language.Messages;
36 import com.genimen.djeneric.repository.DjUser;
37 import com.genimen.djeneric.tools.administrator.Administrator;
38 import com.genimen.djeneric.tools.administrator.editors.AdminEditor;
39 import com.genimen.djeneric.tools.administrator.editors.UserEditor;
40 import com.genimen.djeneric.tools.administrator.helpers.AdminPanel;
41 import com.genimen.djeneric.util.DjLogger;
42
43 public class UserFolder extends AdministratorTreeNode
44 {
45   private static final long serialVersionUID = 1L;
46
47   public UserFolder()
48   {
49   }
50
51   public String JavaDoc toString()
52   {
53     return Messages.getString("UserFolder.Users");
54   }
55
56   public ImageIcon JavaDoc getImageIcon()
57   {
58     return Administrator.getImageIcon("userfolder.gif");
59   }
60
61   public ImageIcon JavaDoc getObjectImageIcon()
62   {
63     return Administrator.getImageIcon("user.gif");
64   }
65
66   public void reload() throws Exception JavaDoc
67   {
68     _alreadyLoaded = false;
69     expandNode();
70   }
71
72   public void delete() throws Exception JavaDoc
73   {
74   }
75
76   public void expandNode() throws Exception JavaDoc
77   {
78     if (_alreadyLoaded) return;
79
80     boolean isCollapsed = _tree.isCollapsed(new TreePath JavaDoc(this.getPath()));
81     removeAllChildren();
82
83     try
84     {
85       DjUser[] users = getManager().getContextManager().getUsers();
86       for (int i = 0; i < users.length; i++)
87       {
88         insertAsFolder(new UserNode(users[i]));
89       }
90       _alreadyLoaded = true;
91     }
92     catch (Exception JavaDoc x)
93     {
94       DjLogger.log(x);
95     }
96     finally
97     {
98       getModel().nodeStructureChanged(this);
99     }
100
101     if (!isCollapsed) _tree.expandPath(new TreePath JavaDoc(this.getPath()));
102   }
103
104   public AdminEditor getCreateEditor(AdminPanel admin) throws Exception JavaDoc
105   {
106     return new UserEditor(admin, this, admin.getManager().getContextManager().createNewUser());
107   }
108
109   public boolean canEdit()
110   {
111     return false;
112   }
113
114   public boolean canCreate()
115   {
116     return true;
117   }
118
119   public boolean canDelete()
120   {
121     return false;
122   }
123
124   public String JavaDoc getNodeType()
125   {
126     return "User";
127   }
128
129 }
Popular Tags