org.mycore.frontend
Class MCRLayoutUtilities

java.lang.Object
  extended by org.mycore.frontend.MCRLayoutUtilities

public class MCRLayoutUtilities
extends Object


Field Summary
static int ALL2BLOCKER_TRUE
           
static int ALLTRUE
           
(package private) static String OBJIDPREFIX_WEBPAGE
           
static int ONETRUE_ALLTRUE
           
(package private) static String READ_PERMISSION_WEBPAGE
           
 
Constructor Summary
MCRLayoutUtilities()
           
 
Method Summary
static boolean getAccess(String webpageID, String permission, int strategy)
          Verifies, if an item of navigation.xml has a given $permission.
static boolean getAccess(String webpageID, String permission, int strategy, String blockerWebpageID)
          Verifies, if an item of navigation.xml has a given $permission with a stop item ($blockerWebpageID)
static String getAncestorLabels(Element item)
          Returns all labels of the ancestor axis for the given item within navigation.xml
static long getDuration(long startTime)
           
static String getLastValidPageID()
           
static Document getNavi()
          Returns the navigation.xml as org.jdom.document, using a cache the enhance loading time.
static String getOBJIDPREFIX_WEBPAGE()
           
static String getPermission2ReadWebpage()
           
static String getRuleDescr(String permission, String webpageID)
           
static String getRuleID(String permission, String webpageID)
           
static String getWebpageACLID(String webpageID)
           
static boolean hasRule(String permission, String webpageID)
           
static boolean itemAccess(String permission, Element item, boolean access)
          Verifies a single item on access according to $permission
static boolean itemAccess(String permission, Element item, boolean access, MCRUser user)
          Verifies a single item on access according to $permission and for a given user
static boolean readAccess(String webpageID)
          Verifies a given $webpage-ID (//item/@href) from navigation.xml on read permission, based on ACL-System.
static boolean readAccess(String webpageID, String blockerWebpageID)
          Verifies a given $webpage-ID (//item/@href) from navigation.xml on read permission, based on ACL-System.
static String setLastValidPageID(String pageID)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

OBJIDPREFIX_WEBPAGE

static final String OBJIDPREFIX_WEBPAGE
See Also:
Constant Field Values

READ_PERMISSION_WEBPAGE

static final String READ_PERMISSION_WEBPAGE
See Also:
Constant Field Values

ALLTRUE

public static final int ALLTRUE
See Also:
Constant Field Values

ONETRUE_ALLTRUE

public static final int ONETRUE_ALLTRUE
See Also:
Constant Field Values

ALL2BLOCKER_TRUE

public static final int ALL2BLOCKER_TRUE
See Also:
Constant Field Values
Constructor Detail

MCRLayoutUtilities

public MCRLayoutUtilities()
Method Detail

readAccess

public static boolean readAccess(String webpageID,
                                 String blockerWebpageID)
Verifies a given $webpage-ID (//item/@href) from navigation.xml on read permission, based on ACL-System. To be used by XSL with Xalan-Java-Extension-Call. $blockerWebpageID can be used as already verified item with read access. So, only items of the ancestor axis till and exclusive $blockerWebpageID are verified. Use this, if you want to speed up the check

Parameters:
webpageID, - any item/@href from navigation.xml
blockerWebpageID, - any ancestor item of webpageID from navigation.xml
Returns:
true if access granted, false if not

readAccess

public static boolean readAccess(String webpageID)
Verifies a given $webpage-ID (//item/@href) from navigation.xml on read permission, based on ACL-System. To be used by XSL with Xalan-Java-Extension-Call.

Parameters:
webpageID, - any item/@href from navigation.xml
Returns:
true if access granted, false if not

getAncestorLabels

public static final String getAncestorLabels(Element item)
Returns all labels of the ancestor axis for the given item within navigation.xml

Parameters:
itemClone -
Returns:
Label as String, like "labelRoot > labelChild > labelChildOfChild"
Throws:
JDOMException
IOException

getAccess

public static boolean getAccess(String webpageID,
                                String permission,
                                int strategy)
Verifies, if an item of navigation.xml has a given $permission.

Parameters:
webpageID, - item/@href
permission, - permission to look for
strategy: - ALLTRUE => all ancestor items of webpageID must have the permission, ONETRUE_ALLTRUE => only 1 ancestor item must have the permission
Returns:
true, if access, false if no access

getAccess

public static boolean getAccess(String webpageID,
                                String permission,
                                int strategy,
                                String blockerWebpageID)
Verifies, if an item of navigation.xml has a given $permission with a stop item ($blockerWebpageID)

Parameters:
webpageID, - item/@href
permission, - permission to look for
strategy: - ALL2BLOCKER_TRUE => all ancestor items of webpageID till and exlusiv $blockerWebpageID must have the permission
blockerWebpageID: - any ancestor item of webpageID from navigation.xml
Returns:
true, if access, false if no access

itemAccess

public static boolean itemAccess(String permission,
                                 Element item,
                                 boolean access)
Verifies a single item on access according to $permission

Parameters:
permission -
item -
access, - initial value
Returns:

itemAccess

public static boolean itemAccess(String permission,
                                 Element item,
                                 boolean access,
                                 MCRUser user)
Verifies a single item on access according to $permission and for a given user

Parameters:
permission -
item -
access, - initial value
user -
Returns:

getWebpageACLID

public static String getWebpageACLID(String webpageID)

getNavi

public static Document getNavi()
Returns the navigation.xml as org.jdom.document, using a cache the enhance loading time.

Returns:
navigation.xml as org.jdom.document

getDuration

public static long getDuration(long startTime)

getOBJIDPREFIX_WEBPAGE

public static String getOBJIDPREFIX_WEBPAGE()

hasRule

public static boolean hasRule(String permission,
                              String webpageID)

getRuleID

public static String getRuleID(String permission,
                               String webpageID)

getRuleDescr

public static String getRuleDescr(String permission,
                                  String webpageID)

getPermission2ReadWebpage

public static String getPermission2ReadWebpage()

getLastValidPageID

public static String getLastValidPageID()

setLastValidPageID

public static String setLastValidPageID(String pageID)