1 6 package com.dotmarketing.beans; 7 8 import java.io.Serializable ; 9 import java.util.HashMap ; 10 import java.util.Iterator ; 11 import java.util.List ; 12 import java.util.Map ; 13 14 import com.dotmarketing.db.DotHibernate; 15 import com.dotmarketing.factories.TreeFactory; 16 17 21 public class Inode implements Serializable { 22 23 26 private static final long serialVersionUID = 1L; 27 28 private java.util.Date iDate; 29 30 private String type; 31 32 private int owner; 33 34 protected long inode; 35 36 private long identifier; 37 38 public Inode() { 39 iDate = new java.util.Date (); 40 type = "inode"; 41 } 42 43 49 public void setIDate(java.util.Date iDate) { 50 this.iDate = iDate; 51 } 52 53 public void setIDate(String x) { 55 java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat ( 56 "yyyy-MM-dd H:mm:ss"); 57 java.text.ParsePosition pos = new java.text.ParsePosition (0); 58 iDate = formatter.parse(x, pos); 59 60 if (iDate == null) { 61 iDate = new java.util.Date (); 62 } 63 } 64 65 70 public java.util.Date getIDate() { 71 return iDate; 72 } 73 74 80 public void setInode(long inode) { 81 this.inode = inode; 82 } 83 84 public void setInode(String inode) { 85 try { 86 this.inode = Long.parseLong(inode); 87 } catch (Exception e) { 88 } 89 } 90 91 public long getInode() { 92 return inode; 93 } 94 95 101 public void setOwner(int owner) { 102 this.owner = owner; 103 } 104 105 public void setOwner(String owner) { 106 try { 107 this.owner = Integer.parseInt(owner); 108 } catch (Exception e) { 109 } 110 } 111 112 117 public int getOwner() { 118 return owner; 119 } 120 121 127 public void setType(String type) { 128 this.type = type; 129 } 130 131 136 public String getType() { 137 return type; 138 } 139 140 142 143 144 145 public void addChild(Inode i) { 146 Tree tree = TreeFactory.getTree(this, i, "child"); 147 if (tree.getParent() == 0 || tree.getChild() == 0) { 148 tree.setParent(this.inode); 149 tree.setChild(i.getInode()); 150 tree.setRelationType("child"); 151 TreeFactory.saveTree(tree); 152 } 153 } 154 155 public void addChild(Inode i, String relationType) { 156 Tree tree = TreeFactory.getTree(this, i,relationType); 157 if (tree.getParent() == 0 || tree.getChild() == 0) { 158 tree.setParent(this.inode); 159 tree.setChild(i.getInode()); 160 tree.setRelationType(relationType); 161 TreeFactory.saveTree(tree); 162 } else { 163 tree.setRelationType(relationType); 164 TreeFactory.saveTree(tree); 165 } 166 } 167 168 public void addParent(Inode i) { 169 Tree tree = TreeFactory.getTree(i, this, "child"); 170 if (tree.getParent() == 0 || tree.getChild() == 0) { 171 tree.setChild(this.inode); 172 tree.setParent(i.getInode()); 173 tree.setRelationType("child"); 174 TreeFactory.saveTree(tree); 175 } 176 } 177 178 public void addParent(Inode i, String relationType) { 179 Tree tree = TreeFactory.getTree(i, this,relationType); 180 if (tree.getParent() == 0 || tree.getChild() == 0) { 181 tree.setChild(this.inode); 182 tree.setParent(i.getInode()); 183 tree.setRelationType(relationType); 184 TreeFactory.saveTree(tree); 185 } else { 186 tree.setRelationType(relationType); 187 TreeFactory.saveTree(tree); 188 } 189 } 190 191 196 public boolean deleteChild(Inode child) { 197 Tree tree = TreeFactory.getTree(this, child, "child"); 198 if (tree.getParent() == 0 || tree.getChild() == 0) { 199 return false; 200 } 201 TreeFactory.deleteTree(tree); 202 return true; 203 } 204 205 public boolean deleteChild(Inode child,String relationType) { 206 Tree tree = TreeFactory.getTree(this, child,relationType); 207 if (tree.getParent() == 0 || tree.getChild() == 0) { 208 return false; 209 } 210 TreeFactory.deleteTree(tree); 211 return true; 212 } 213 214 219 public boolean deleteParent(Inode parent) { 220 Tree tree = TreeFactory.getTree(parent, this); 221 if (tree.getParent() == 0 || tree.getChild() == 0) { 222 return false; 223 } 224 TreeFactory.deleteTree(tree); 225 return true; 226 } 227 228 public boolean deleteParent(Inode parent,String relationType) { 229 Tree tree = TreeFactory.getTree(parent, this,relationType); 230 if (tree.getParent() == 0 || tree.getChild() == 0) { 231 return false; 232 } 233 TreeFactory.deleteTree(tree); 234 return true; 235 } 236 237 241 public boolean hasChildren() { 242 243 DotHibernate dh = new DotHibernate (); 244 String query = "select count(*) from " + Inode.class.getName() + " inode where inode.inode in (select tree.child from " + Tree.class.getName() + " tree where tree.parent = " + this.inode + ")"; 245 dh.setQuery(query); 246 List results = dh.list(); 247 248 return ((Integer )results.get(0)).intValue() > 0; 249 } 250 251 252 256 public boolean hasParents() { 257 258 DotHibernate dh = new DotHibernate (); 259 String query = "select count(*) from " + Inode.class.getName() + " inode where inode.inode in (select tree.parent from " + Tree.class.getName() + " tree where tree.child = " + this.inode + ")"; 260 dh.setQuery(query); 261 List results = dh.list(); 262 263 return ((Integer )results.get(0)).intValue() > 0; 264 } 265 266 public boolean equals(Object other) { 267 if (!(other instanceof Inode)) { 268 return false; 269 } 270 271 Inode castOther = (Inode) other; 272 273 return (this.getInode() == castOther.getInode()); 274 } 275 276 public java.util.Date getiDate() { 277 return iDate; 278 } 279 280 public void setiDate(java.util.Date iDate) { 281 this.iDate = iDate; 282 } 283 284 287 public long getIdentifier() { 288 return identifier; 289 } 290 291 295 public void setIdentifier(long identifier) { 296 this.identifier = identifier; 297 } 298 299 public boolean isNew() { 300 return (this.inode == 0); 301 } 302 303 308 public void setParents (List newParents) { 309 TreeFactory.deleteTreesByChild(this); 310 Iterator it = newParents.iterator(); 311 while (it.hasNext()) { 312 Inode parent = (Inode) it.next(); 313 addParent (parent); 314 } 315 } 316 317 321 public Map <String , Object > getMap () { 322 HashMap <String , Object > map = new HashMap <String , Object >(); 323 map.put("inode", inode); 324 map.put("type", type); 325 map.put("identifier", identifier); 326 map.put("iDate", iDate); 327 return map; 328 } 329 330 } | Popular Tags |