Index: impl/src/java/org/sakaiproject/delegatedaccess/dao/impl/DelegatedAccessSampleDataLoader.java =================================================================== --- impl/src/java/org/sakaiproject/delegatedaccess/dao/impl/DelegatedAccessSampleDataLoader.java (revision 79776) +++ impl/src/java/org/sakaiproject/delegatedaccess/dao/impl/DelegatedAccessSampleDataLoader.java (working copy) @@ -7,8 +7,11 @@ import org.quartz.JobExecutionException; import org.sakaiproject.authz.api.SecurityAdvisor; import org.sakaiproject.authz.api.SecurityService; +import org.sakaiproject.authz.cover.AuthzGroupService; import org.sakaiproject.delegatedaccess.jobs.DelegatedAccessSiteHierarchyJob; import org.sakaiproject.entity.api.ResourcePropertiesEdit; +import org.sakaiproject.event.cover.EventTrackingService; +import org.sakaiproject.event.cover.UsageSessionService; import org.sakaiproject.exception.IdInvalidException; import org.sakaiproject.exception.IdUnusedException; import org.sakaiproject.exception.IdUsedException; @@ -16,6 +19,8 @@ import org.sakaiproject.site.api.Site; import org.sakaiproject.site.api.SitePage; import org.sakaiproject.site.api.SiteService; +import org.sakaiproject.tool.api.Session; +import org.sakaiproject.tool.cover.SessionManager; public class DelegatedAccessSampleDataLoader { private SiteService siteService; @@ -23,7 +28,7 @@ private SecurityService securityService; private static final Logger log = Logger.getLogger(DelegatedAccessSampleDataLoader.class); - private List schools = Arrays.asList("MUSIC", "MEDICINE", "EDUCATION"); + private List schools = Arrays.asList("Bryan"); private List depts = Arrays.asList("DEPT1", "DEPT2", "DEPT3"); private List subjs = Arrays.asList("SUBJ1", "SUBJ2","SUBJ3"); @@ -38,6 +43,7 @@ } }; try{ + loginToSakai(); securityService.pushAdvisor(yesMan); for(String school : schools){ for(String dept : depts){ @@ -84,6 +90,8 @@ } catch (Exception e){ //who knows what happened... let's quit! log.warn(e); + securityService.popAdvisor(yesMan); + logoutFromSakai(); return; } } @@ -102,9 +110,33 @@ log.warn(e); }finally{ securityService.popAdvisor(yesMan); + logoutFromSakai(); } } + private void loginToSakai() { + Session sakaiSession = SessionManager.getCurrentSession(); + sakaiSession.setUserId("admin"); + sakaiSession.setUserEid("admin"); + + // establish the user's session + UsageSessionService.startSession("admin", "127.0.0.1", "DAdata"); + + // update the user's externally provided realm definitions + AuthzGroupService.refreshUser("admin"); + + // post the login event + EventTrackingService.post(EventTrackingService.newEvent(UsageSessionService.EVENT_LOGIN, null, true)); + } + + private void logoutFromSakai() { + Session sakaiSession = SessionManager.getCurrentSession(); + sakaiSession.invalidate(); + + // post the logout event + EventTrackingService.post(EventTrackingService.newEvent(UsageSessionService.EVENT_LOGOUT, null, true)); + } + public void setSiteService(SiteService siteService) { this.siteService = siteService; }