1 30 package com.genimen.djeneric.tools.administrator.nodes; 31 32 import javax.swing.ImageIcon ; 33 import javax.swing.tree.TreePath ; 34 35 import com.genimen.djeneric.repository.DjSession; 36 import com.genimen.djeneric.repository.DjUserContextAssociation; 37 import com.genimen.djeneric.tools.administrator.Administrator; 38 import com.genimen.djeneric.util.DjLogger; 39 40 public class AssociationNode extends AdministratorTreeNode 41 { 42 private static final long serialVersionUID = 1L; 43 DjUserContextAssociation _dca; 44 45 boolean _parentIsUser = false; 46 47 public AssociationNode(DjUserContextAssociation dca, boolean parentIsUser) 48 { 49 _dca = dca; 50 _parentIsUser = parentIsUser; 51 } 52 53 public ImageIcon getImageIcon() 54 { 55 if (_dca.getUser().isAdministrator()) return Administrator.getImageIcon("usrctxadmin.gif"); 56 return Administrator.getImageIcon("usrctx.gif"); 57 } 58 59 public String toString() 60 { 61 if (_parentIsUser) return _dca.getContext().getName(); 62 return _dca.getUser().getName(); 63 } 64 65 public void reload() throws Exception 66 { 67 _alreadyLoaded = false; 68 DjSession session = createSession(); 69 try 70 { 71 _dca.reload(session); 72 } 73 finally 74 { 75 session.close(); 76 } 77 expandNode(); 78 } 79 80 public void expandNode() throws Exception 81 { 82 if (_alreadyLoaded) return; 83 84 boolean isCollapsed = _tree.isCollapsed(new TreePath (this.getPath())); 85 removeAllChildren(); 86 87 try 88 { 89 _alreadyLoaded = true; 90 } 91 catch (Exception x) 92 { 93 DjLogger.log(x); 94 } 95 finally 96 { 97 getModel().nodeStructureChanged(this); 98 } 99 100 if (!isCollapsed) _tree.expandPath(new TreePath (this.getPath())); 101 } 102 103 public void delete() throws Exception 104 { 105 DjSession session = createSession(); 106 try 107 { 108 _dca.delete(session); 109 session.commit(); 110 } 111 finally 112 { 113 session.close(); 114 } 115 AdministratorTreeNode parent = getParentTreeNode(); 116 removeFromParent(); 117 getModel().nodeStructureChanged(parent); 118 } 119 120 public boolean canEdit() 121 { 122 return false; 123 } 124 125 public boolean canCreate() 126 { 127 return false; 128 } 129 130 public boolean canDelete() 131 { 132 return true; 133 } 134 135 public String getNodeType() 136 { 137 return "Association"; 138 } 139 140 } | Popular Tags |