1 12 13 package com.openedit.webui.tree; 14 15 import org.openedit.repository.ContentItem; 16 import org.openedit.repository.Repository; 17 import org.openedit.repository.RepositoryException; 18 19 import com.openedit.OpenEditException; 20 import com.openedit.OpenEditRuntimeException; 21 import com.openedit.PageAccessListener; 22 import com.openedit.page.Page; 23 24 25 30 public class RepositoryTreeModel extends DefaultWebTreeModel implements PageAccessListener 31 { 32 protected Repository fieldRepository; 33 protected String fieldRootPath; 34 35 36 41 public RepositoryTreeModel(Repository inRepository) 42 { 43 this( inRepository, "/"); 44 } 45 46 public RepositoryTreeModel( Repository inRepository, String inRootPath ) 47 { 48 super(); 49 fieldRepository = inRepository; 50 fieldRootPath = inRootPath; 51 } 52 53 54 57 public Object getRoot() 58 { 59 if (fieldRoot == null) 60 { 61 reload(); 62 } 63 64 return fieldRoot; 65 } 66 67 68 77 public RepositoryTreeNode findNode(String inPath) 78 { 79 return ((RepositoryTreeNode) getRoot()).findNode(inPath); 80 } 81 82 85 public void reload() 86 { 87 ContentItem rootItem; 88 try 89 { 90 rootItem = getRepository().get( getRootPath() ); 91 } 92 catch( RepositoryException e ) 93 { 94 throw new OpenEditRuntimeException(e); 95 } 96 RepositoryTreeNode newRoot = new RepositoryTreeNode( getRepository(), rootItem); 97 fieldRoot = newRoot; 98 99 } 100 103 public void ignore(String inString) 104 { 105 RepositoryTreeNode node = (RepositoryTreeNode)getRoot(); 106 node.getIgnoreTypes().add( inString); 107 } 108 public Repository getRepository() 109 { 110 return fieldRepository; 111 } 112 public void setRepository( Repository repository ) 113 { 114 fieldRepository = repository; 115 } 116 public String getRootPath() 117 { 118 return fieldRootPath; 119 } 120 public void setRootPath( String rootPath ) 121 { 122 fieldRootPath = rootPath; 123 } 124 125 126 134 public void pageAdded(Page inPage) 135 { 136 reload(); 137 } 138 139 147 public void pageModified(Page inPage) 148 { 149 reload(); 150 } 151 152 160 public void pageRemoved(Page inPage) 161 { 162 reload(); 163 } 164 165 172 public void pageRequested(Page inPage) 173 { 174 } 176 } 177 | Popular Tags |