org.sakaiproject.delegatedaccess.logic
Class ProjectLogicImpl

java.lang.Object
  extended by org.sakaiproject.delegatedaccess.logic.ProjectLogicImpl
All Implemented Interfaces:
ProjectLogic

public class ProjectLogicImpl
extends Object
implements ProjectLogic

Implementation of ProjectLogic

Author:
Bryan Holladay (holladay@longsight.com)

Constructor Summary
ProjectLogicImpl()
           
 
Method Summary
 boolean addChildrenNodes(Object node, String userId, List<ListOptionSerialized> blankRestrictedTools, boolean onlyAccessNodes, List<String> accessAdminNodes, boolean shopping, boolean shoppingPeriodTool)
          Adds children node to a node that hasn't had it's children populated.
 void assignUserNodePerm(String userId, String nodeId, String perm, boolean cascade)
          
 void clearNodeCache()
           
 TreeModel createAccessTreeModelForUser(String userId, boolean addDirectChildren, boolean cascade)
           
 TreeModel createEntireTreeModelForUser(String userId, boolean addDirectChildren, boolean cascade)
          Creates the model that feeds the tree.
 TreeModel createTreeModelForShoppingPeriod(String userId)
           
 void deleteEmptyNonSiteNodes(String hierarchyId)
           
 Set<HierarchyNodeSerialized> getAccessAdminNodesForUser(String userId)
           
 Set<HierarchyNodeSerialized> getAccessNodesForUser(String userId)
           
 String getAddDAMyworkspaceJobStatus()
           
 Set<HierarchyNodeSerialized> getAllNodesForUser(String userId)
          returns a list of nodes the user has site.access permission (aka access).
 String[] getCurrentUsersAccessToSite(String siteRef)
           
 List<ListOptionSerialized> getEntireToolsList()
           
 TreeModel getEntireTreePlusUserPerms(String userId)
           
 Date getHierarchyJobLastRunDate(String nodeId)
           
 HierarchyNodeSerialized getNode(String id)
          returns the node for this id
 NodeModel getNodeModel(String nodeId, String userId)
           
 Map<String,List<String>> getNodesBySiteRef(String[] siteRefs, String hierarchyId)
           
 Map<String,String> getRealmRoleDisplay(boolean shopping)
           
 List<ListOptionSerialized> getRestrictedAuthToolSerializedList(Set<String> perms)
          Returns a list of ToolSerialized that initialized the selected field
 List<ListOptionSerialized> getRestrictedAuthToolSerializedList(Set<String> perms, List<ListOptionSerialized> blankList)
           
 List<ListOptionSerialized> getRestrictedPublicToolSerializedList(Set<String> perms)
           
 List<ListOptionSerialized> getRestrictedPublicToolSerializedList(Set<String> perms, List<ListOptionSerialized> blankList)
           
 Set<HierarchyNodeSerialized> getShoppingPeriodAdminNodesForUser(String userId)
           
 Map<String,AccessNode> getUserAccessForSite(String siteRef)
           
 boolean hasAccessAdminNodes(String userId)
           
 boolean hasDelegatedAccessNodes(String userId)
           
 boolean hasShoppingPeriodAdminNodes(String userId)
           
 void init()
          init - perform any actions required here for when this bean starts up
 void initializeDelegatedAccessSession()
          
 boolean isShoppingPeriodOpenForSite(Date startDate, Date endDate, String[] nodeAccessRealmRole, String[] restrictedAuthTools, String[] restrictedPublicTools)
           
 void removeNode(org.sakaiproject.hierarchy.model.HierarchyNode node)
           
 void removeNode(String nodeId)
           
 void saveHierarchyJobLastRunDate(Date runDate, String nodeId)
           
 void scheduleAddDAMyworkspaceJobStatus()
           
 Collection<SiteSearchResult> searchSites(String search, Map<String,String> advancedOptions, boolean publishedSitesOnly)
           
 List<SearchResult> searchUsers(String search)
          
 List<SiteSearchResult> searchUserSites(String search, Map<String,String> advancedOptions, boolean shoppingPeriod, boolean activeShoppingData)
           
 void syncMyworkspaceToolForUser(String userId)
           
 void updateAddDAMyworkspaceJobStatus(String status)
           
 void updateNodePermissionsForUser(DefaultMutableTreeNode node, String userId)
          
 Map<String,String> updateShoppingPeriodSettings(DefaultMutableTreeNode node)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ProjectLogicImpl

public ProjectLogicImpl()
Method Detail

init

public void init()
init - perform any actions required here for when this bean starts up


getNode

public HierarchyNodeSerialized getNode(String id)
returns the node for this id

Specified by:
getNode in interface ProjectLogic
Parameters:
id -
Returns:

updateNodePermissionsForUser

public void updateNodePermissionsForUser(DefaultMutableTreeNode node,
                                         String userId)

Specified by:
updateNodePermissionsForUser in interface ProjectLogic

saveHierarchyJobLastRunDate

public void saveHierarchyJobLastRunDate(Date runDate,
                                        String nodeId)
Specified by:
saveHierarchyJobLastRunDate in interface ProjectLogic

getHierarchyJobLastRunDate

public Date getHierarchyJobLastRunDate(String nodeId)
Specified by:
getHierarchyJobLastRunDate in interface ProjectLogic

getAllNodesForUser

public Set<HierarchyNodeSerialized> getAllNodesForUser(String userId)
returns a list of nodes the user has site.access permission (aka access). Only direct nodes, nothing inherited.

Returns:

getAccessNodesForUser

public Set<HierarchyNodeSerialized> getAccessNodesForUser(String userId)

getShoppingPeriodAdminNodesForUser

public Set<HierarchyNodeSerialized> getShoppingPeriodAdminNodesForUser(String userId)

getAccessAdminNodesForUser

public Set<HierarchyNodeSerialized> getAccessAdminNodesForUser(String userId)
Specified by:
getAccessAdminNodesForUser in interface ProjectLogic

initializeDelegatedAccessSession

public void initializeDelegatedAccessSession()

Specified by:
initializeDelegatedAccessSession in interface ProjectLogic

searchUsers

public List<SearchResult> searchUsers(String search)

Specified by:
searchUsers in interface ProjectLogic

getRestrictedAuthToolSerializedList

public List<ListOptionSerialized> getRestrictedAuthToolSerializedList(Set<String> perms)
Returns a list of ToolSerialized that initialized the selected field

Parameters:
userId -
nodeId -
Returns:

getRestrictedPublicToolSerializedList

public List<ListOptionSerialized> getRestrictedPublicToolSerializedList(Set<String> perms)

getRestrictedAuthToolSerializedList

public List<ListOptionSerialized> getRestrictedAuthToolSerializedList(Set<String> perms,
                                                                      List<ListOptionSerialized> blankList)

getRestrictedPublicToolSerializedList

public List<ListOptionSerialized> getRestrictedPublicToolSerializedList(Set<String> perms,
                                                                        List<ListOptionSerialized> blankList)

getEntireToolsList

public List<ListOptionSerialized> getEntireToolsList()
Specified by:
getEntireToolsList in interface ProjectLogic

searchUserSites

public List<SiteSearchResult> searchUserSites(String search,
                                              Map<String,String> advancedOptions,
                                              boolean shoppingPeriod,
                                              boolean activeShoppingData)
Specified by:
searchUserSites in interface ProjectLogic

searchSites

public Collection<SiteSearchResult> searchSites(String search,
                                                Map<String,String> advancedOptions,
                                                boolean publishedSitesOnly)

createEntireTreeModelForUser

public TreeModel createEntireTreeModelForUser(String userId,
                                              boolean addDirectChildren,
                                              boolean cascade)
Creates the model that feeds the tree.

Specified by:
createEntireTreeModelForUser in interface ProjectLogic
Returns:
New instance of tree model.

createAccessTreeModelForUser

public TreeModel createAccessTreeModelForUser(String userId,
                                              boolean addDirectChildren,
                                              boolean cascade)
Specified by:
createAccessTreeModelForUser in interface ProjectLogic

getEntireTreePlusUserPerms

public TreeModel getEntireTreePlusUserPerms(String userId)
Specified by:
getEntireTreePlusUserPerms in interface ProjectLogic

createTreeModelForShoppingPeriod

public TreeModel createTreeModelForShoppingPeriod(String userId)
Specified by:
createTreeModelForShoppingPeriod in interface ProjectLogic

addChildrenNodes

public boolean addChildrenNodes(Object node,
                                String userId,
                                List<ListOptionSerialized> blankRestrictedTools,
                                boolean onlyAccessNodes,
                                List<String> accessAdminNodes,
                                boolean shopping,
                                boolean shoppingPeriodTool)
Adds children node to a node that hasn't had it's children populated. This is used to increase the efficiency of the tree so you can create the structure on the fly with ajax

Specified by:
addChildrenNodes in interface ProjectLogic
Parameters:
node -
userId -
blankRestrictedTools -
onlyAccessNodes -
accessAdminNodes -
shopping -
Returns:

getNodeModel

public NodeModel getNodeModel(String nodeId,
                              String userId)
Specified by:
getNodeModel in interface ProjectLogic

assignUserNodePerm

public void assignUserNodePerm(String userId,
                               String nodeId,
                               String perm,
                               boolean cascade)


removeNode

public void removeNode(String nodeId)
Specified by:
removeNode in interface ProjectLogic

removeNode

public void removeNode(org.sakaiproject.hierarchy.model.HierarchyNode node)
Specified by:
removeNode in interface ProjectLogic

deleteEmptyNonSiteNodes

public void deleteEmptyNonSiteNodes(String hierarchyId)
Specified by:
deleteEmptyNonSiteNodes in interface ProjectLogic

getRealmRoleDisplay

public Map<String,String> getRealmRoleDisplay(boolean shopping)
Specified by:
getRealmRoleDisplay in interface ProjectLogic

hasShoppingPeriodAdminNodes

public boolean hasShoppingPeriodAdminNodes(String userId)
Specified by:
hasShoppingPeriodAdminNodes in interface ProjectLogic

hasDelegatedAccessNodes

public boolean hasDelegatedAccessNodes(String userId)
Specified by:
hasDelegatedAccessNodes in interface ProjectLogic

hasAccessAdminNodes

public boolean hasAccessAdminNodes(String userId)
Specified by:
hasAccessAdminNodes in interface ProjectLogic

getNodesBySiteRef

public Map<String,List<String>> getNodesBySiteRef(String[] siteRefs,
                                                  String hierarchyId)
Specified by:
getNodesBySiteRef in interface ProjectLogic

clearNodeCache

public void clearNodeCache()
Specified by:
clearNodeCache in interface ProjectLogic

getCurrentUsersAccessToSite

public String[] getCurrentUsersAccessToSite(String siteRef)
Specified by:
getCurrentUsersAccessToSite in interface ProjectLogic

isShoppingPeriodOpenForSite

public boolean isShoppingPeriodOpenForSite(Date startDate,
                                           Date endDate,
                                           String[] nodeAccessRealmRole,
                                           String[] restrictedAuthTools,
                                           String[] restrictedPublicTools)
Specified by:
isShoppingPeriodOpenForSite in interface ProjectLogic

syncMyworkspaceToolForUser

public void syncMyworkspaceToolForUser(String userId)
Specified by:
syncMyworkspaceToolForUser in interface ProjectLogic

getUserAccessForSite

public Map<String,AccessNode> getUserAccessForSite(String siteRef)
Specified by:
getUserAccessForSite in interface ProjectLogic

updateShoppingPeriodSettings

public Map<String,String> updateShoppingPeriodSettings(DefaultMutableTreeNode node)
Specified by:
updateShoppingPeriodSettings in interface ProjectLogic

getAddDAMyworkspaceJobStatus

public String getAddDAMyworkspaceJobStatus()
Specified by:
getAddDAMyworkspaceJobStatus in interface ProjectLogic

updateAddDAMyworkspaceJobStatus

public void updateAddDAMyworkspaceJobStatus(String status)
Specified by:
updateAddDAMyworkspaceJobStatus in interface ProjectLogic

scheduleAddDAMyworkspaceJobStatus

public void scheduleAddDAMyworkspaceJobStatus()
Specified by:
scheduleAddDAMyworkspaceJobStatus in interface ProjectLogic


Copyright © 2003-2012 Sakai Project. All Rights Reserved.