org.dspace.app.xmlui.aspect.artifactbrowser
Class CommunityBrowser

java.lang.Object
  extended by org.apache.cocoon.util.AbstractLogEnabled
      extended by org.apache.cocoon.xml.AbstractXMLProducer
          extended by org.apache.cocoon.xml.AbstractXMLPipe
              extended by org.apache.cocoon.transformation.AbstractTransformer
                  extended by org.dspace.app.xmlui.wing.AbstractWingTransformer
                      extended by org.dspace.app.xmlui.cocoon.AbstractDSpaceTransformer
                          extended by org.dspace.app.xmlui.aspect.artifactbrowser.CommunityBrowser
All Implemented Interfaces:
org.apache.avalon.excalibur.pool.Poolable, org.apache.avalon.excalibur.pool.Recyclable, org.apache.cocoon.caching.CacheableProcessingComponent, org.apache.cocoon.sitemap.SitemapModelComponent, org.apache.cocoon.transformation.Transformer, org.apache.cocoon.xml.XMLPipe, org.apache.cocoon.xml.XMLProducer, org.apache.excalibur.xml.sax.XMLConsumer, DSpaceTransformer, WingTransformer, ContentHandler, LexicalHandler

public class CommunityBrowser
extends AbstractDSpaceTransformer
implements org.apache.cocoon.caching.CacheableProcessingComponent

Display a list of Communities and collections. This item may be configured so that it will only display to a specific depth, and may include or exclude collections from the tree. The configuration option available: 999

Author:
Scott Phillips

Nested Class Summary
protected static class CommunityBrowser.TreeNode
          Private class to represent the tree structure of communities & collections.
 
Field Summary
protected  int depth
          What depth is the maximum depth of the tree
protected  boolean excludeCollections
          Should collections be excluded from the list
protected  CommunityBrowser.TreeNode root
          Cached version the community / collection hierarchy
static Message T_dspace_home
          Language Strings
static Message T_head
           
static Message T_select
           
static Message T_title
           
static Message T_trail
           
 
Fields inherited from class org.dspace.app.xmlui.cocoon.AbstractDSpaceTransformer
context, contextPath, eperson, knot, objectModel, parameters, servletPath, sitemapURI, url
 
Fields inherited from class org.apache.cocoon.xml.AbstractXMLProducer
contentHandler, EMPTY_CONTENT_HANDLER, lexicalHandler, xmlConsumer
 
Fields inherited from interface org.apache.cocoon.transformation.Transformer
ROLE
 
Constructor Summary
CommunityBrowser()
           
 
Method Summary
 void addBody(Body body)
          Add a community-browser division that includes references to community and collection metadata.
 void addPageMeta(PageMeta pageMeta)
          Add a page title and trail links.
 void buildList(List list, CommunityBrowser.TreeNode node)
          Recursively build a list of the community / collection hierarchy based upon the given NodeTree.
 void buildReferenceSet(ReferenceSet referenceSet, CommunityBrowser.TreeNode node)
          Recursively build an includeset of the community / collection hierarchy based upon the given NodeTree.
 Serializable getKey()
          Generate the unique caching key.
 org.apache.excalibur.source.SourceValidity getValidity()
          Generate the cache validity object.
 void recycle()
          recycle
 void setup(org.apache.cocoon.environment.SourceResolver resolver, Map objectModel, String src, org.apache.avalon.framework.parameters.Parameters parameters)
          Set the component up, pulling any configuration values from the sitemap parameters.
 
Methods inherited from class org.dspace.app.xmlui.cocoon.AbstractDSpaceTransformer
addOptions, addUserMeta, decodeFromURL, dispose, encodeForURL, generateURL, getComponentName, getObjectManager, handleException
 
Methods inherited from class org.dspace.app.xmlui.wing.AbstractWingTransformer
createWingDocument, endDocument, endElement, endPrefixMapping, getDefaultMessageCatalogue, message, message, setupWing, startDocument, startElement, startPrefixMapping
 
Methods inherited from class org.apache.cocoon.xml.AbstractXMLPipe
characters, comment, endCDATA, endDTD, endEntity, ignorableWhitespace, processingInstruction, setDocumentLocator, skippedEntity, startCDATA, startDTD, startEntity
 
Methods inherited from class org.apache.cocoon.xml.AbstractXMLProducer
setConsumer, setContentHandler, setLexicalHandler
 
Methods inherited from class org.apache.cocoon.util.AbstractLogEnabled
getLogger, setLogger
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.xml.sax.ContentHandler
characters, ignorableWhitespace, processingInstruction, setDocumentLocator, skippedEntity
 
Methods inherited from interface org.xml.sax.ext.LexicalHandler
comment, endCDATA, endDTD, endEntity, startCDATA, startDTD, startEntity
 
Methods inherited from interface org.apache.cocoon.xml.XMLProducer
setConsumer
 

Field Detail

T_dspace_home

public static final Message T_dspace_home
Language Strings


T_title

public static final Message T_title

T_trail

public static final Message T_trail

T_head

public static final Message T_head

T_select

public static final Message T_select

excludeCollections

protected boolean excludeCollections
Should collections be excluded from the list


depth

protected int depth
What depth is the maximum depth of the tree


root

protected CommunityBrowser.TreeNode root
Cached version the community / collection hierarchy

Constructor Detail

CommunityBrowser

public CommunityBrowser()
Method Detail

setup

public void setup(org.apache.cocoon.environment.SourceResolver resolver,
                  Map objectModel,
                  String src,
                  org.apache.avalon.framework.parameters.Parameters parameters)
           throws org.apache.cocoon.ProcessingException,
                  SAXException,
                  IOException
Set the component up, pulling any configuration values from the sitemap parameters.

Specified by:
setup in interface org.apache.cocoon.sitemap.SitemapModelComponent
Overrides:
setup in class AbstractDSpaceTransformer
Throws:
org.apache.cocoon.ProcessingException
SAXException
IOException

getKey

public Serializable getKey()
Generate the unique caching key. This key must be unique inside the space of this component.

Specified by:
getKey in interface org.apache.cocoon.caching.CacheableProcessingComponent

getValidity

public org.apache.excalibur.source.SourceValidity getValidity()
Generate the cache validity object. The validity object will include a list of all communities & collection being browsed along with there logo bitstreams.

Specified by:
getValidity in interface org.apache.cocoon.caching.CacheableProcessingComponent

addPageMeta

public void addPageMeta(PageMeta pageMeta)
                 throws SAXException,
                        WingException,
                        UIException,
                        SQLException,
                        IOException,
                        AuthorizeException
Add a page title and trail links.

Specified by:
addPageMeta in interface DSpaceTransformer
Specified by:
addPageMeta in interface WingTransformer
Overrides:
addPageMeta in class AbstractDSpaceTransformer
Throws:
SAXException
WingException
UIException
SQLException
IOException
AuthorizeException

addBody

public void addBody(Body body)
             throws SAXException,
                    WingException,
                    UIException,
                    SQLException,
                    IOException,
                    AuthorizeException
Add a community-browser division that includes references to community and collection metadata.

Specified by:
addBody in interface DSpaceTransformer
Specified by:
addBody in interface WingTransformer
Overrides:
addBody in class AbstractDSpaceTransformer
Throws:
SAXException
WingException
UIException
SQLException
IOException
AuthorizeException

buildReferenceSet

public void buildReferenceSet(ReferenceSet referenceSet,
                              CommunityBrowser.TreeNode node)
                       throws WingException
Recursively build an includeset of the community / collection hierarchy based upon the given NodeTree.

Parameters:
referenceSet - The include set
node - The current node of the hierarchy.
Throws:
WingException

buildList

public void buildList(List list,
                      CommunityBrowser.TreeNode node)
               throws WingException
Recursively build a list of the community / collection hierarchy based upon the given NodeTree.

Parameters:
list - The parent list
node - The current node of the hierarchy.
Throws:
WingException

recycle

public void recycle()
recycle

Specified by:
recycle in interface org.apache.avalon.excalibur.pool.Recyclable
Overrides:
recycle in class AbstractDSpaceTransformer


Copyright © 2013 DuraSpace. All Rights Reserved.