From 8a84768d90ea9566794b61260d17726898b4b605 Mon Sep 17 00:00:00 2001 From: Matthew Buckett Date: Thu, 30 Jul 2015 22:18:35 +0100 Subject: [PATCH] KNL-1374 Remove references to AliasService cover This updates everthing that uses the AliasService cover directly to either use the ComponentManager to get the service or Spring injection. This allows the cover to be removed so we don't have 2 copies of the API and makes testing easier for services. --- alias/alias-tool/tool/pom.xml | 4 +++ .../alias/tool/AliasesAction.java | 36 +++++++++++-------- .../announcement/tool/AnnouncementAction.java | 19 ++++++---- .../calendar/tool/CalendarAction.java | 17 ++++++--- .../content/tool/ResourcesAction.java | 14 ++++++-- .../java/org/sakaiproject/dav/DavServlet.java | 7 ++-- .../util/SiteEmailNotification.java | 13 +++++-- .../impl/BaseMailArchiveService.java | 18 ++++++++-- .../pack/src/webapp/WEB-INF/components.xml | 1 + .../mailarchive/tool/MailboxAction.java | 26 ++++++++------ .../charon/site/PortalSiteHelperImpl.java | 9 +++-- .../caret/sakai/rwiki/utils/NameHelper.java | 8 +++-- .../sakaiproject/site/tool/SiteAction.java | 34 +++++++++--------- .../site/tool/AdminSitesAction.java | 14 ++++++-- 14 files changed, 151 insertions(+), 69 deletions(-) diff --git a/alias/alias-tool/tool/pom.xml b/alias/alias-tool/tool/pom.xml index d1cdfc50359e..64bb41551029 100644 --- a/alias/alias-tool/tool/pom.xml +++ b/alias/alias-tool/tool/pom.xml @@ -29,6 +29,10 @@ org.sakaiproject.kernel sakai-kernel-api + + org.sakaiproject.kernel + sakai-component-manager + commons-logging commons-logging diff --git a/alias/alias-tool/tool/src/java/org/sakaiproject/alias/tool/AliasesAction.java b/alias/alias-tool/tool/src/java/org/sakaiproject/alias/tool/AliasesAction.java index 6a70b11084aa..2acf13080baa 100644 --- a/alias/alias-tool/tool/src/java/org/sakaiproject/alias/tool/AliasesAction.java +++ b/alias/alias-tool/tool/src/java/org/sakaiproject/alias/tool/AliasesAction.java @@ -28,7 +28,7 @@ import java.util.List; import org.sakaiproject.alias.api.AliasEdit; -import org.sakaiproject.alias.cover.AliasService; +import org.sakaiproject.alias.api.AliasService; import org.sakaiproject.authz.cover.SecurityService; import org.sakaiproject.cheftool.Context; import org.sakaiproject.cheftool.JetspeedRunData; @@ -39,6 +39,7 @@ import org.sakaiproject.cheftool.api.MenuItem; import org.sakaiproject.cheftool.menu.MenuEntry; import org.sakaiproject.cheftool.menu.MenuImpl; +import org.sakaiproject.component.cover.ComponentManager; import org.sakaiproject.courier.api.ObservingCourier; import org.sakaiproject.event.api.SessionState; import org.sakaiproject.exception.IdInvalidException; @@ -70,6 +71,13 @@ public class AliasesAction extends PagedResourceActionII /** Resource bundle using current language locale */ private static ResourceLoader rb = new ResourceLoader("admin"); + private AliasService aliasService; + + public AliasesAction() { + super(); + aliasService = ComponentManager.get(AliasService.class); + } + protected void initState(SessionState state, VelocityPortlet portlet, JetspeedRunData rundata) { super.initState(state, portlet, rundata); @@ -149,14 +157,14 @@ else if (mode.equals("confirm")) private String buildListContext(SessionState state, Context context) { // put the service in the context - context.put("service", AliasService.getInstance()); + context.put("service", aliasService); // put all aliases into the context context.put("aliases", prepPage(state)); // build the menu Menu bar = new MenuImpl(); - if (AliasService.allowAdd()) + if (aliasService.allowAdd()) { bar.add(new MenuEntry(rb.getString("alias.new"), null, true, MenuItem.CHECKED_NA, "doNew")); } @@ -230,7 +238,7 @@ private String buildEditContext(SessionState state, Context context) // we need the form fields for the remove... boolean menuPopulated = false; Menu bar = new MenuImpl(); - if (AliasService.allowRemoveAlias(alias.getId())) + if (aliasService.allowRemoveAlias(alias.getId())) { bar.add(new MenuEntry(rb.getString("alias.remove"), null, true, MenuItem.CHECKED_NA, "doRemove", "alias-form")); menuPopulated = true; @@ -286,7 +294,7 @@ public void doEdit(RunData data, Context context) // get the alias try { - AliasEdit alias = AliasService.edit(id); + AliasEdit alias = aliasService.edit(id); state.setAttribute("alias", alias); state.setAttribute("mode", "edit"); @@ -342,7 +350,7 @@ public void doSave(RunData data, Context context) AliasEdit alias = (AliasEdit) state.getAttribute("alias"); if (alias != null) { - AliasService.commit(alias); + aliasService.commit(alias); } // cleanup @@ -375,7 +383,7 @@ public void doCancel(RunData data, Context context) // remove try { - AliasService.remove(alias); + aliasService.remove(alias); } catch (PermissionException e) { @@ -384,7 +392,7 @@ public void doCancel(RunData data, Context context) } else { - AliasService.cancel(alias); + aliasService.cancel(alias); } } @@ -432,7 +440,7 @@ public void doRemove_confirmed(RunData data, Context context) // remove try { - AliasService.remove(alias); + aliasService.remove(alias); } catch (PermissionException e) { @@ -484,7 +492,7 @@ private boolean readAliasForm(RunData data, SessionState state) try { // add the alias, getting an edit clone to it - alias = AliasService.add(id); + alias = aliasService.add(id); // put the alias in the state state.setAttribute("alias", alias); @@ -526,10 +534,10 @@ protected List readResourcesPage(SessionState state, int first, int last) if (search != null) { - return AliasService.searchAliases(search, first, last); + return aliasService.searchAliases(search, first, last); } - return AliasService.getAliases(first, last); + return aliasService.getAliases(first, last); } /** @@ -542,10 +550,10 @@ protected int sizeResources(SessionState state) if (search != null) { - return AliasService.countSearchAliases(search); + return aliasService.countSearchAliases(search); } - return AliasService.countAliases(); + return aliasService.countAliases(); } } // AliasesAction diff --git a/announcement/announcement-tool/tool/src/java/org/sakaiproject/announcement/tool/AnnouncementAction.java b/announcement/announcement-tool/tool/src/java/org/sakaiproject/announcement/tool/AnnouncementAction.java index 6bf0929843a9..95a8da8d3748 100644 --- a/announcement/announcement-tool/tool/src/java/org/sakaiproject/announcement/tool/AnnouncementAction.java +++ b/announcement/announcement-tool/tool/src/java/org/sakaiproject/announcement/tool/AnnouncementAction.java @@ -49,7 +49,7 @@ import org.sakaiproject.announcement.api.AnnouncementMessageHeaderEdit; import org.sakaiproject.announcement.cover.AnnouncementService; import org.sakaiproject.announcement.tool.AnnouncementActionState.DisplayOptions; -import org.sakaiproject.alias.cover.AliasService; +import org.sakaiproject.alias.api.AliasService; import org.sakaiproject.alias.api.Alias; import org.sakaiproject.authz.api.PermissionsHelper; import org.sakaiproject.authz.api.SecurityAdvisor; @@ -251,12 +251,19 @@ public class AnnouncementAction extends PagedResourceActionII private EntityBroker entityBroker; + private AliasService aliasService; + private RuleBasedCollator collator_ini = (RuleBasedCollator)Collator.getInstance(); private Collator collator = Collator.getInstance(); private static final String DEFAULT_TEMPLATE="announcement/chef_announcements"; - + + + public AnnouncementAction() { + super(); + aliasService = ComponentManager.get(AliasService.class); + } /* * Returns the current order * @@ -1380,7 +1387,7 @@ public String buildOptionsPanelContext(VelocityPortlet portlet, Context context, + SiteService.getSiteDisplay(channelRef.getContext())); Reference anncRef = AnnouncementService.getAnnouncementReference(ToolManager.getCurrentPlacement().getContext()); - List aliasList = AliasService.getAliases( anncRef.getReference() ); + List aliasList = aliasService.getAliases( anncRef.getReference() ); if ( ! aliasList.isEmpty() ) { String alias[] = ((Alias)aliasList.get(0)).getId().split("\\."); @@ -4913,7 +4920,7 @@ public void doOptionsUpdate(RunData runData, Context context) Reference anncRef = AnnouncementService.getAnnouncementReference(ToolManager.getCurrentPlacement().getContext()); - List aliasList = AliasService.getAliases( anncRef.getReference() ); + List aliasList = aliasService.getAliases( anncRef.getReference() ); String oldAlias = null; if ( ! aliasList.isEmpty() ) { @@ -4925,10 +4932,10 @@ public void doOptionsUpdate(RunData runData, Context context) if ( alias != null && (oldAlias == null || !oldAlias.equals(alias)) ) { // first, clear any alias set to this channel - AliasService.removeTargetAliases(anncRef.getReference()); + aliasService.removeTargetAliases(anncRef.getReference()); alias += ".rss"; - AliasService.setAlias(alias, anncRef.getReference()); + aliasService.setAlias(alias, anncRef.getReference()); } } catch (IdUsedException ue) diff --git a/calendar/calendar-tool/tool/src/java/org/sakaiproject/calendar/tool/CalendarAction.java b/calendar/calendar-tool/tool/src/java/org/sakaiproject/calendar/tool/CalendarAction.java index 7c6202e210a6..3e2add2a47c9 100644 --- a/calendar/calendar-tool/tool/src/java/org/sakaiproject/calendar/tool/CalendarAction.java +++ b/calendar/calendar-tool/tool/src/java/org/sakaiproject/calendar/tool/CalendarAction.java @@ -49,7 +49,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.sakaiproject.alias.api.Alias; -import org.sakaiproject.alias.cover.AliasService; +import org.sakaiproject.alias.api.AliasService; import org.sakaiproject.authz.api.PermissionsHelper; import org.sakaiproject.authz.cover.AuthzGroupService; import org.sakaiproject.authz.cover.SecurityService; @@ -207,6 +207,8 @@ public class CalendarAction // Dependency: setup in init private OpaqueUrlDao opaqueUrlDao; + + private AliasService aliasService; // tbd fix shared definition from org.sakaiproject.assignment.api.AssignmentEntityProvider private final static String ASSN_ENTITY_ID = "assignment"; @@ -214,6 +216,11 @@ public class CalendarAction private final static String ASSN_ENTITY_PREFIX = EntityReference.SEPARATOR+ASSN_ENTITY_ID+EntityReference.SEPARATOR+ASSN_ENTITY_ACTION+EntityReference.SEPARATOR; private NumberFormat monthFormat = null; + + public CalendarAction() { + super(); + aliasService = ComponentManager.get(AliasService.class); + } /** * Converts a string that is used to store additional attribute fields to an array of strings. @@ -4023,7 +4030,7 @@ public String buildIcalExportPanelContext(VelocityPortlet portlet, Context conte if ( calendarObj != null ) { - List aliasList = AliasService.getAliases( calendarObj.getReference() ); + List aliasList = aliasService.getAliases( calendarObj.getReference() ); if ( ! aliasList.isEmpty() ) { String alias[] = ((Alias)aliasList.get(0)).getId().split("\\."); @@ -5751,7 +5758,7 @@ public void doIcalExport(RunData data, Context context) { calendarObj = CalendarService.getCalendar(calId); - List aliasList = AliasService.getAliases( calendarObj.getReference() ); + List aliasList = aliasService.getAliases( calendarObj.getReference() ); String oldAlias = null; if ( ! aliasList.isEmpty() ) { @@ -5763,10 +5770,10 @@ public void doIcalExport(RunData data, Context context) if ( alias != null && (oldAlias == null || !oldAlias.equals(alias)) ) { // first, clear any alias set to this calendar - AliasService.removeTargetAliases(calendarObj.getReference()); + aliasService.removeTargetAliases(calendarObj.getReference()); alias += ICAL_EXTENSION; - AliasService.setAlias(alias, calendarObj.getReference()); + aliasService.setAlias(alias, calendarObj.getReference()); } } catch (IdUnusedException ie) diff --git a/content/content-tool/tool/src/java/org/sakaiproject/content/tool/ResourcesAction.java b/content/content-tool/tool/src/java/org/sakaiproject/content/tool/ResourcesAction.java index 9edc2e15d379..fc1e93fbc415 100644 --- a/content/content-tool/tool/src/java/org/sakaiproject/content/tool/ResourcesAction.java +++ b/content/content-tool/tool/src/java/org/sakaiproject/content/tool/ResourcesAction.java @@ -59,7 +59,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.sakaiproject.alias.api.AliasEdit; -import org.sakaiproject.alias.cover.AliasService; +import org.sakaiproject.alias.api.AliasService; import org.sakaiproject.antivirus.api.VirusFoundException; import org.sakaiproject.authz.api.PermissionsHelper; import org.sakaiproject.authz.cover.AuthzGroupService; @@ -163,6 +163,7 @@ public class ResourcesAction private static ContentPrintService contentPrintService = (ContentPrintService) ComponentManager.get("org.sakaiproject.content.api.ContentPrintService"); private static SchedulerManager schedulerManager = (SchedulerManager) ComponentManager.get("org.sakaiproject.api.app.scheduler.SchedulerManager"); + /** state variable name for the content print service call result */ private static String CONTENT_PRINT_CALL_RESPONSE = "content_print_call_response"; @@ -904,6 +905,13 @@ public void setParent(String parent) CREATION_ACTIONS.add(ActionType.PASTE_COPIED); } + private AliasService aliasService; + + public ResourcesAction() { + super(); + aliasService = ComponentManager.get(AliasService.class); + } + /** * Add additional resource pattern to the observer *@param pattern The pattern value to be added @@ -5693,7 +5701,7 @@ else if(parts.length >= 3) if (!inMyWorkspace && !dropboxMode && m_siteAlias) { // find site alias first - List target = AliasService.getAliases("/site/" + siteId); + List target = aliasService.getAliases("/site/" + siteId); if (!target.isEmpty()) { // take the first alias only @@ -5707,7 +5715,7 @@ else if(parts.length >= 3) } } else { // use mail archive alias - target = AliasService.getAliases("/mailarchive/channel/" + siteId + "/main"); + target = aliasService.getAliases("/mailarchive/channel/" + siteId + "/main"); if (!target.isEmpty()) { // take the first alias only diff --git a/dav/dav/src/java/org/sakaiproject/dav/DavServlet.java b/dav/dav/src/java/org/sakaiproject/dav/DavServlet.java index 8c281d14be0b..3ee9753b8fe3 100644 --- a/dav/dav/src/java/org/sakaiproject/dav/DavServlet.java +++ b/dav/dav/src/java/org/sakaiproject/dav/DavServlet.java @@ -122,7 +122,7 @@ import org.apache.catalina.util.XMLWriter; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.sakaiproject.alias.cover.AliasService; +import org.sakaiproject.alias.api.AliasService; import org.sakaiproject.component.cover.ComponentManager; import org.sakaiproject.component.cover.ServerConfigurationService; import org.sakaiproject.content.api.*; @@ -378,7 +378,7 @@ else if (parts[1].equals("group")) { try { - String target = AliasService.getTarget(context); + String target = aliasService.getTarget(context); Reference targetRef = EntityManager.newReference(target); boolean changed = false; @@ -547,6 +547,8 @@ private SimpleDateFormat[] dateFormats() private ContentHostingService contentHostingService; + private AliasService aliasService; + // --------------------------------------------------------- Public Methods /** @@ -555,6 +557,7 @@ private SimpleDateFormat[] dateFormats() public void init() throws ServletException { contentHostingService = (ContentHostingService) ComponentManager.get(ContentHostingService.class.getName()); + aliasService = ComponentManager.get(AliasService.class); // Set our properties from the initialization parameters String value = null; diff --git a/kernel/kernel-util/src/main/java/org/sakaiproject/util/SiteEmailNotification.java b/kernel/kernel-util/src/main/java/org/sakaiproject/util/SiteEmailNotification.java index 5ef31f5dfe78..1d0dc3f789c4 100644 --- a/kernel/kernel-util/src/main/java/org/sakaiproject/util/SiteEmailNotification.java +++ b/kernel/kernel-util/src/main/java/org/sakaiproject/util/SiteEmailNotification.java @@ -29,9 +29,10 @@ import java.util.Vector; import org.sakaiproject.alias.api.Alias; -import org.sakaiproject.alias.cover.AliasService; +import org.sakaiproject.alias.api.AliasService; import org.sakaiproject.authz.cover.SecurityService; import org.sakaiproject.authz.api.Member; +import org.sakaiproject.component.cover.ComponentManager; import org.sakaiproject.component.cover.ServerConfigurationService; import org.sakaiproject.entity.api.Reference; import org.sakaiproject.entity.cover.EntityManager; @@ -59,11 +60,19 @@ */ public class SiteEmailNotification extends EmailNotification { + private AliasService aliasService; + /** * Construct. */ public SiteEmailNotification() { + this(ComponentManager.get(AliasService.class)); + } + + public SiteEmailNotification(AliasService aliasService) + { + this.aliasService = aliasService; } /** @@ -234,7 +243,7 @@ protected String getToSite(Event event) EntityManager.newReference(channel); // find the alias for this site's mail channel - List all = AliasService.getAliases(channel); + List all = aliasService.getAliases(channel); if (!all.isEmpty()) email = ((Alias) all.get(0)).getId(); } catch (Exception ignore) diff --git a/mailarchive/mailarchive-impl/impl/src/java/org/sakaiproject/mailarchive/impl/BaseMailArchiveService.java b/mailarchive/mailarchive-impl/impl/src/java/org/sakaiproject/mailarchive/impl/BaseMailArchiveService.java index 9812ebddf79b..34d63f96bb1e 100644 --- a/mailarchive/mailarchive-impl/impl/src/java/org/sakaiproject/mailarchive/impl/BaseMailArchiveService.java +++ b/mailarchive/mailarchive-impl/impl/src/java/org/sakaiproject/mailarchive/impl/BaseMailArchiveService.java @@ -29,7 +29,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.sakaiproject.alias.cover.AliasService; +import org.sakaiproject.alias.api.AliasService; import org.sakaiproject.authz.cover.FunctionManager; import org.sakaiproject.authz.cover.SecurityService; import org.sakaiproject.entity.api.ContextObserver; @@ -88,6 +88,9 @@ public abstract class BaseMailArchiveService extends BaseMessage implements Mail /** Dependency: NotificationService. */ protected NotificationService m_notificationService = null; + /** Dependency: AliasService */ + protected AliasService m_aliasService; + /** * Dependency: NotificationService. * @@ -99,6 +102,17 @@ public void setNotificationService(NotificationService service) m_notificationService = service; } + /** + * Dependency: AliasService. + * + * @param service + * The AliasService. + */ + public void setAliasService(AliasService service) + { + m_aliasService = service; + } + /********************************************************************************************************************************************************************************************************************************************************** * Init and Destroy *********************************************************************************************************************************************************************************************************************************************************/ @@ -653,7 +667,7 @@ protected void disableMailbox(String siteId) // remove any alias try { - AliasService.removeTargetAliases(channelRef); + m_aliasService.removeTargetAliases(channelRef); } catch (PermissionException e) { diff --git a/mailarchive/mailarchive-impl/pack/src/webapp/WEB-INF/components.xml b/mailarchive/mailarchive-impl/pack/src/webapp/WEB-INF/components.xml index 469ac6cce27d..19dd36df879c 100644 --- a/mailarchive/mailarchive-impl/pack/src/webapp/WEB-INF/components.xml +++ b/mailarchive/mailarchive-impl/pack/src/webapp/WEB-INF/components.xml @@ -22,6 +22,7 @@ + MAILARCHIVE_CHANNEL MAILARCHIVE_MESSAGE diff --git a/mailarchive/mailarchive-tool/tool/src/java/org/sakaiproject/mailarchive/tool/MailboxAction.java b/mailarchive/mailarchive-tool/tool/src/java/org/sakaiproject/mailarchive/tool/MailboxAction.java index 4a397b7e7ffa..81117d616152 100644 --- a/mailarchive/mailarchive-tool/tool/src/java/org/sakaiproject/mailarchive/tool/MailboxAction.java +++ b/mailarchive/mailarchive-tool/tool/src/java/org/sakaiproject/mailarchive/tool/MailboxAction.java @@ -28,7 +28,7 @@ import java.util.Map.Entry; import org.sakaiproject.alias.api.Alias; -import org.sakaiproject.alias.cover.AliasService; +import org.sakaiproject.alias.api.AliasService; import org.sakaiproject.authz.api.PermissionsHelper; import org.sakaiproject.cheftool.Context; import org.sakaiproject.cheftool.JetspeedRunData; @@ -40,6 +40,7 @@ import org.sakaiproject.cheftool.menu.MenuDivider; import org.sakaiproject.cheftool.menu.MenuEntry; import org.sakaiproject.cheftool.menu.MenuImpl; +import org.sakaiproject.component.cover.ComponentManager; import org.sakaiproject.component.cover.ServerConfigurationService; import org.sakaiproject.content.cover.ContentTypeImageService; import org.sakaiproject.entity.api.Reference; @@ -149,8 +150,13 @@ public class MailboxAction extends PagedResourceActionII /** Default for search suppression threshold */ private final int MESSAGE_THRESHOLD_DEFAULT = 2500; - - /** paging */ + + private AliasService aliasService; + + public MailboxAction() { + super(); + aliasService = ComponentManager.get(AliasService.class); + } /* * (non-Javadoc) @@ -513,12 +519,12 @@ private String buildListModeContext(VelocityPortlet portlet, Context context, Ru pagingInfoToContext(state, context); // the aliases for the channel - List all = AliasService.getAliases((String) state.getAttribute(STATE_CHANNEL_REF)); + List all = aliasService.getAliases((String) state.getAttribute(STATE_CHANNEL_REF)); // and the aliases for the site (context) Reference channelRef = EntityManager.newReference((String) state.getAttribute(STATE_CHANNEL_REF)); String siteRef = SiteService.siteReference(channelRef.getContext()); - all.addAll(AliasService.getAliases(siteRef)); + all.addAll(aliasService.getAliases(siteRef)); context.put("aliases", all); @@ -855,7 +861,7 @@ public String buildOptionsPanelContext(VelocityPortlet portlet, Context context, } // place the current alias, if any, in to context - List all = AliasService.getAliases((String) state.getAttribute(STATE_CHANNEL_REF), 1, 1); + List all = aliasService.getAliases((String) state.getAttribute(STATE_CHANNEL_REF), 1, 1); if (!all.isEmpty()) context.put("alias", ((Alias) all.get(0)).getId()); context.put("serverName", ServerConfigurationService.getServerName()); @@ -927,7 +933,7 @@ public void doUpdate(RunData data, Context context) if (state.getAttribute(STATE_MESSAGE) == null) { // get any current alias for this channel - List all = AliasService.getAliases((String) state.getAttribute(STATE_CHANNEL_REF), 1, 1); + List all = aliasService.getAliases((String) state.getAttribute(STATE_CHANNEL_REF), 1, 1); String curAlias = null; if (!all.isEmpty()) curAlias = ((Alias) all.get(0)).getId(); @@ -941,7 +947,7 @@ public void doUpdate(RunData data, Context context) { try { - String target = AliasService.getTarget(alias); + String target = aliasService.getTarget(alias); // if so, is it this channel? ok = target.equals(channel.getReference()); @@ -963,9 +969,9 @@ public void doUpdate(RunData data, Context context) try { if ( alias == null ) { - AliasService.removeTargetAliases(channel.getReference()); + aliasService.removeTargetAliases(channel.getReference()); } else { - AliasService.setAlias(alias, channel.getReference()); + aliasService.setAlias(alias, channel.getReference()); } } catch (IdInvalidException iie) { diff --git a/portal/portal-impl/impl/src/java/org/sakaiproject/portal/charon/site/PortalSiteHelperImpl.java b/portal/portal-impl/impl/src/java/org/sakaiproject/portal/charon/site/PortalSiteHelperImpl.java index e2a883239653..e051602c2235 100644 --- a/portal/portal-impl/impl/src/java/org/sakaiproject/portal/charon/site/PortalSiteHelperImpl.java +++ b/portal/portal-impl/impl/src/java/org/sakaiproject/portal/charon/site/PortalSiteHelperImpl.java @@ -40,7 +40,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.sakaiproject.alias.api.Alias; -import org.sakaiproject.alias.cover.AliasService; +import org.sakaiproject.alias.api.AliasService; import org.sakaiproject.authz.cover.SecurityService; import org.sakaiproject.component.cover.ComponentManager; import org.sakaiproject.component.cover.ServerConfigurationService; @@ -102,6 +102,8 @@ public class PortalSiteHelperImpl implements PortalSiteHelper protected final static String CURRENT_PLACEMENT = "sakai:ToolComponent:current.placement"; private Portal portal; + + private AliasService aliasService; private boolean lookForPageAliases; @@ -129,6 +131,7 @@ public PortalSiteHelperImpl(Portal portal, boolean lookForPageAliases) { this.portal = portal; this.lookForPageAliases = lookForPageAliases; + aliasService = ComponentManager.get(AliasService.class); } /* (non-Javadoc) @@ -1173,7 +1176,7 @@ public SitePage lookupAliasToPage(String alias, Site site) try { // Use page#{siteId}:{pageAlias} So we can scan for fist colon and alias can contain any character - String refString = AliasService.getTarget(buildAlias(alias, site)); + String refString = aliasService.getTarget(buildAlias(alias, site)); String aliasPageId = EntityManager.newReference(refString).getId(); page = (SitePage) site.getPage(aliasPageId); } @@ -1196,7 +1199,7 @@ public String lookupPageToAlias(String siteId, SitePage page) return null; } String alias = null; - List aliases = AliasService.getAliases(page.getReference()); + List aliases = aliasService.getAliases(page.getReference()); if (aliases.size() > 0) { if (aliases.size() > 1 && log.isWarnEnabled()) diff --git a/rwiki/rwiki-util/util/src/java/uk/ac/cam/caret/sakai/rwiki/utils/NameHelper.java b/rwiki/rwiki-util/util/src/java/uk/ac/cam/caret/sakai/rwiki/utils/NameHelper.java index 35d47b541b72..e93f537a250a 100644 --- a/rwiki/rwiki-util/util/src/java/uk/ac/cam/caret/sakai/rwiki/utils/NameHelper.java +++ b/rwiki/rwiki-util/util/src/java/uk/ac/cam/caret/sakai/rwiki/utils/NameHelper.java @@ -27,7 +27,8 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.sakaiproject.alias.api.AliasEdit; -import org.sakaiproject.alias.cover.AliasService; +import org.sakaiproject.alias.api.AliasService; +import org.sakaiproject.component.cover.ComponentManager; import org.sakaiproject.entity.api.Entity; import org.sakaiproject.site.cover.SiteService; import org.apache.commons.lang.StringUtils; @@ -319,6 +320,7 @@ public static String localizeSpace(final String globalPageName) public static String aliasSpace (final String localSpace) { String localAliasSpace = localSpace; + AliasService aliasService = ComponentManager.get(AliasService.class); String parts[] = StringUtils.split (localSpace, Entity.SEPARATOR); String siteId = null; @@ -329,12 +331,12 @@ public static String aliasSpace (final String localSpace) if ((siteId != null) && (siteId.length() > 0)) { // get site alias first - List target = AliasService.getAliases( + List target = aliasService.getAliases( "/site/" + siteId); // get mail archive alias, if site alias is not available if (target.isEmpty()) { - target = AliasService.getAliases( + target = aliasService.getAliases( "/mailarchive/channel/" + siteId + "/main"); } diff --git a/site-manage/site-manage-tool/tool/src/java/org/sakaiproject/site/tool/SiteAction.java b/site-manage/site-manage-tool/tool/src/java/org/sakaiproject/site/tool/SiteAction.java index 788d1f45b902..02170742e73c 100644 --- a/site-manage/site-manage-tool/tool/src/java/org/sakaiproject/site/tool/SiteAction.java +++ b/site-manage/site-manage-tool/tool/src/java/org/sakaiproject/site/tool/SiteAction.java @@ -65,7 +65,7 @@ import org.apache.commons.validator.routines.EmailValidator; import org.apache.velocity.tools.generic.SortTool; import org.sakaiproject.alias.api.Alias; -import org.sakaiproject.alias.cover.AliasService; +import org.sakaiproject.alias.api.AliasService; import org.sakaiproject.api.privacy.PrivacyManager; import org.sakaiproject.archive.api.ImportMetadata; import org.sakaiproject.archive.cover.ArchiveService; @@ -217,6 +217,8 @@ public class SiteAction extends PagedResourceActionII { private org.sakaiproject.sitemanage.api.SiteTypeProvider siteTypeProvider = (org.sakaiproject.sitemanage.api.SiteTypeProvider) ComponentManager .get(org.sakaiproject.sitemanage.api.SiteTypeProvider.class); + + private AliasService aliasService = ComponentManager.get(AliasService.class); private static org.sakaiproject.sitemanage.api.model.SiteSetupQuestionService questionService = (org.sakaiproject.sitemanage.api.model.SiteSetupQuestionService) ComponentManager .get(org.sakaiproject.sitemanage.api.model.SiteSetupQuestionService.class); @@ -6569,7 +6571,7 @@ public void doFinish(RunData data) { { public SecurityAdvice isAllowed(String userId, String function, String reference) { - if ( AliasService.SECURE_ADD_ALIAS.equals(function) || + if ( AliasService.SECURE_ADD_ALIAS.equals(function) || AliasService.SECURE_UPDATE_ALIAS.equals(function) ) { return SecurityAdvice.ALLOWED; } @@ -6756,7 +6758,7 @@ private String getSiteAlias(String reference) if (reference != null) { // get the email alias when an Email Archive tool has been selected - List aliases = AliasService.getAliases(reference, 1, 1); + List aliases = aliasService.getAliases(reference, 1, 1); if (aliases.size() > 0) { alias = ((Alias) aliases.get(0)).getId(); } @@ -6795,7 +6797,7 @@ private void setSiteReferenceAliases(SessionState state, String siteId) { return; } String siteReference = SiteService.siteReference(siteId); - List existingAliasIds = toIdList(AliasService.getAliases(siteReference)); + List existingAliasIds = toIdList(aliasService.getAliases(siteReference)); Set proposedAliasIds = siteInfo.siteRefAliases; Set aliasIdsToDelete = new HashSet(existingAliasIds); aliasIdsToDelete.removeAll(proposedAliasIds); @@ -6803,7 +6805,7 @@ private void setSiteReferenceAliases(SessionState state, String siteId) { aliasIdsToAdd.removeAll(existingAliasIds); for ( String aliasId : aliasIdsToDelete ) { try { - AliasService.removeAlias(aliasId); + aliasService.removeAlias(aliasId); } catch ( PermissionException e ) { addAlert(state, rb.getFormattedMessage("java.delalias", new Object[]{aliasId})); M_log.error(this + ".setSiteReferenceAliases: " + rb.getFormattedMessage("java.delalias", new Object[]{aliasId}), e); @@ -6816,7 +6818,7 @@ private void setSiteReferenceAliases(SessionState state, String siteId) { } for ( String aliasId : aliasIdsToAdd ) { try { - AliasService.setAlias(aliasId, siteReference); + aliasService.setAlias(aliasId, siteReference); } catch ( PermissionException e ) { addAlert(state, rb.getString("java.addalias") + " "); M_log.error(this + ".setSiteReferenceAliases: " + rb.getString("java.addalias"), e); @@ -8151,8 +8153,8 @@ private boolean aliasAssignmentForNewSitesEnabled(SessionState state) { */ private boolean aliasEditingPermissioned(SessionState state, String siteId) { String siteRef = SiteService.siteReference(siteId); - return AliasService.allowSetAlias("", siteRef) && - AliasService.allowRemoveTargetAliases(siteRef); + return aliasService.allowSetAlias("", siteRef) && + aliasService.allowRemoveTargetAliases(siteRef); } /** @@ -10561,7 +10563,7 @@ private boolean validateSiteAlias(String aliasId, SessionState state) { String currentSiteId = StringUtils.trimToNull((String) state.getAttribute(STATE_SITE_INSTANCE_ID)); boolean editingSite = currentSiteId != null; try { - String targetRef = AliasService.getTarget(aliasId); + String targetRef = aliasService.getTarget(aliasId); if ( editingSite ) { String siteRef = SiteService.siteReference(currentSiteId); boolean targetsCurrentSite = siteRef.equals(targetRef); @@ -10770,11 +10772,11 @@ private void saveFeatures(ParameterParser params, SessionState state, Site site) if (alias != null) { if (!Validator.checkEmailLocal(alias)) { addAlert(state, rb.getString("java.theemail")); - } else if (!AliasService.allowSetAlias(alias, channelReference )) { + } else if (!aliasService.allowSetAlias(alias, channelReference )) { addAlert(state, rb.getString("java.addalias")); } else { try { - String target = AliasService.getTarget(alias); + String target = aliasService.getTarget(alias); boolean targetsThisSite = site.getReference().equals(target) || channelReference.equals(target); if (!(targetsThisSite)) { @@ -10782,7 +10784,7 @@ private void saveFeatures(ParameterParser params, SessionState state, Site site) } } catch (IdUnusedException ee) { try { - AliasService.setAlias(alias, + aliasService.setAlias(alias, channelReference); } catch (IdUsedException exception) { M_log.error(this + ".saveFeatures setAlias IdUsedException:"+exception.getMessage()+" alias="+ alias + " channelReference="+channelReference, exception); @@ -12547,13 +12549,13 @@ private void updateSelectedToolList(SessionState state, ParameterParser params, } else { if (!Validator.checkEmailLocal(emailId)) { addAlert(state, rb.getString("java.theemail")); - } else if (!AliasService.allowSetAlias(emailId, channelReference )) { + } else if (!aliasService.allowSetAlias(emailId, channelReference )) { addAlert(state, rb.getString("java.addalias")); } else { // check to see whether the alias has been used by // other sites try { - String target = AliasService.getTarget(emailId); + String target = aliasService.getTarget(emailId); if (target != null) { if (siteId != null) { if (!target.equals(channelReference)) { @@ -13240,7 +13242,7 @@ private void addSiteTypeFeatures(SessionState state) { String alias = siteTypeProvider.getSiteAlias(type, pList); String channelReference = mailArchiveChannelReference(id); try { - AliasService.setAlias(alias, channelReference); + aliasService.setAlias(alias, channelReference); } catch (IdUsedException ee) { addAlert(state, rb.getFormattedMessage("java.alias.exists", new Object[]{alias})); M_log.error(this + ".addSiteTypeFeatures:" + rb.getFormattedMessage("java.alias.exists", new Object[]{alias}), ee); @@ -14911,7 +14913,7 @@ private String getSiteUrlForAliasId(String aliasId) { } private Collection prefixSiteAliasIds(String prefix, Site site) { - return prefixSiteAliasIds(prefix, AliasService.getAliases(site.getReference())); + return prefixSiteAliasIds(prefix, aliasService.getAliases(site.getReference())); } private Collection prefixSiteAliasIds(String prefix, Collection aliases) { diff --git a/site/site-tool/tool/src/java/org/sakaiproject/site/tool/AdminSitesAction.java b/site/site-tool/tool/src/java/org/sakaiproject/site/tool/AdminSitesAction.java index f61adfca1054..b81b89cbee0f 100644 --- a/site/site-tool/tool/src/java/org/sakaiproject/site/tool/AdminSitesAction.java +++ b/site/site-tool/tool/src/java/org/sakaiproject/site/tool/AdminSitesAction.java @@ -35,7 +35,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.sakaiproject.alias.api.Alias; -import org.sakaiproject.alias.cover.AliasService; +import org.sakaiproject.alias.api.AliasService; import org.sakaiproject.authz.api.AuthzGroup; import org.sakaiproject.authz.api.GroupNotDefinedException; import org.sakaiproject.authz.api.Role; @@ -52,6 +52,7 @@ import org.sakaiproject.cheftool.menu.MenuEntry; import org.sakaiproject.cheftool.menu.MenuField; import org.sakaiproject.cheftool.menu.MenuImpl; +import org.sakaiproject.component.cover.ComponentManager; import org.sakaiproject.component.cover.ServerConfigurationService; import org.sakaiproject.courier.api.ObservingCourier; import org.sakaiproject.entity.api.Entity; @@ -109,6 +110,13 @@ public class AdminSitesAction extends PagedResourceActionII /** Name of state attribute for Site instance id */ private static final String STATE_SITE_INSTANCE_ID = "site.instance.id"; + private AliasService aliasService; + + public AdminSitesAction() { + super(); + aliasService = ComponentManager.get(AliasService.class); + } + /** * {@inheritDoc} */ @@ -2633,7 +2641,7 @@ private String getSiteAlias(String reference) if (reference != null) { // get the email alias when an Email Archive tool has been selected - List aliases = AliasService.getAliases(reference, 1, 1); + List aliases = aliasService.getAliases(reference, 1, 1); if (aliases.size() > 0) { alias = ((Alias) aliases.get(0)).getId(); } @@ -2664,7 +2672,7 @@ else if (StringUtil.trimToNull(alias) != null && StringUtil.trimToNull(siteRefer if (currentAlias == null || !currentAlias.equals(alias)) { try { - AliasService.setAlias(alias, siteReference); + aliasService.setAlias(alias, siteReference); } catch (IdUsedException ee) { addAlert(state, rb.getFormattedMessage("sitedipag.alias.exists", new Object[]{alias})); M_log.warn(this + ".setSiteAlias: " + rb.getFormattedMessage("sitedipag.alias.exists", new Object[]{alias}));