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.DjModelView; 36 import com.genimen.djeneric.repository.DjSession; 37 import com.genimen.djeneric.repository.DjUser; 38 import com.genimen.djeneric.tools.administrator.Administrator; 39 import com.genimen.djeneric.tools.administrator.editors.AdminEditor; 40 import com.genimen.djeneric.tools.administrator.editors.ModelViewEditor; 41 import com.genimen.djeneric.tools.administrator.helpers.AdminPanel; 42 import com.genimen.djeneric.util.DjLogger; 43 44 public class ModelViewNode extends AdministratorTreeNode 45 { 46 private static final long serialVersionUID = 1L; 47 DjModelView _view; 48 49 public ModelViewNode(DjModelView view) 50 { 51 _view = view; 52 } 53 54 public ImageIcon getImageIcon() 55 { 56 return Administrator.getImageIcon("modelview.gif"); 57 } 58 59 public String toString() 60 { 61 return _view.getCode(); 62 } 63 64 public DjModelView getModelView() 65 { 66 return _view; 67 } 68 69 public void reload() throws Exception 70 { 71 _alreadyLoaded = false; 72 73 DjSession session = createSession(); 74 try 75 { 76 _view.reload(session); 77 } 78 finally 79 { 80 session.close(); 81 } 82 expandNode(); 83 } 84 85 public void expandNode() throws Exception 86 { 87 if (_alreadyLoaded) return; 88 89 boolean isCollapsed = _tree.isCollapsed(new TreePath (this.getPath())); 90 removeAllChildren(); 91 92 DjSession session = createSession(); 93 try 94 { 95 DjUser[] devs = _view.getUsers(session); 96 for (int i = 0; i < devs.length; i++) 97 { 98 UserViewNode an = new UserViewNode(devs[i], _view, true); 99 insertAsChild(an); 100 } 101 _alreadyLoaded = true; 102 } 103 catch (Exception x) 104 { 105 DjLogger.log(x); 106 } 107 finally 108 { 109 session.close(); 110 getModel().nodeStructureChanged(this); 111 } 112 113 if (!isCollapsed) _tree.expandPath(new TreePath (this.getPath())); 114 } 115 116 public void delete() throws Exception 117 { 118 DjSession session = createSession(); 119 try 120 { 121 _view.delete(session); 122 session.commit(); 123 } 124 finally 125 { 126 session.close(); 127 } 128 AdministratorTreeNode parent = getParentTreeNode(); 129 removeFromParent(); 130 getModel().nodeStructureChanged(parent); 131 } 132 133 public AdminEditor getEditor(AdminPanel admin) 134 { 135 return new ModelViewEditor(admin, this, _view); 136 } 137 138 public AdminEditor getCreateEditor(AdminPanel admin) throws Exception 139 { 140 return null; 141 } 142 143 public boolean canEdit() 144 { 145 return true; 146 } 147 148 public boolean canCreate() 149 { 150 return false; 151 } 152 153 public boolean canDelete() 154 { 155 return true; 156 } 157 158 public boolean canImport() 159 { 160 return true; 161 } 162 163 public boolean canExport() 164 { 165 return true; 166 } 167 168 public String getNodeType() 169 { 170 return "View"; 171 } 172 173 } | Popular Tags |