uPortal 3 API Changes
Information on this page pertains to the uPortal 3 effort currently underway. This documentation does not apply to any version of uPortal 2 or the exploratory portal code archived in the SVN sandbox. For more information on this effort please read the uPortal 3 Development Documentation
Some APIs have changed or been removed in uPortal 3 in relation to uPortal 2 release. These changes are linked to or documented on this page.
General API Changes
The following APIs have been changed due to design constraints with the new features of uPortal 3.
Deprecated API Removal
The following APIs have were deprecated as of uPortal 2.6.0 and removed in uPortal 3. Each package, class or method listed has a description that details why it was removed and if there is a replacement what it is.
org.jasig.portal.services.StatsRecorder
The IStatsRecorder implementation is replaced with a much more flexible system based on the Spring ApplicationEventPublisher and Event Listeners. For more information see: Proposal to Deprecate IStatsRecorder
The removal of the following classes fall under this heading as well.
- org.jasig.portal.services.stats.BaseStatsRecorder
- org.jasig.portal.services.stats.DoNothingStatsRecorder
- org.jasig.portal.services.stats.DoNothingStatsRecorderFactory
- org.jasig.portal.services.stats.IStatsRecorderFactory
- org.jasig.portal.services.stats.ListStatsRecorder
- org.jasig.portal.services.stats.LoggingStatsRecorder
- org.jasig.portal.services.stats.LoggingStatsRecorderFactory
- org.jasig.portal.services.stats.MessageStatsRecorder
- org.jasig.portal.services.stats.PrintingStatsRecorder
- org.jasig.portal.services.stats.PrintingStatsRecorderFactory
- org.jasig.portal.services.stats.RecordChannelAddedToLayoutWorkerTask
- org.jasig.portal.services.stats.RecordChannelDefinitionModifiedWorkerTask
- org.jasig.portal.services.stats.RecordChannelDefinitionPublishedWorkerTask
- org.jasig.portal.services.stats.RecordChannelDefinitionRemovedWorkerTask
- org.jasig.portal.services.stats.RecordChannelInstantiatedWorkerTask
- org.jasig.portal.services.stats.RecordChannelMovedInLayoutWorkerTask
- org.jasig.portal.services.stats.RecordChannelRemovedFromLayoutWorkerTask
- org.jasig.portal.services.stats.RecordChannelRenderedWorkerTask
- org.jasig.portal.services.stats.RecordChannelTargetedWorkerTask
- org.jasig.portal.services.stats.RecordChannelUpdatedInLayoutWorkerTask
- org.jasig.portal.services.stats.RecordFolderAddedToLayoutWorkerTask
- org.jasig.portal.services.stats.RecordFolderMovedInLayoutWorkerTask
- org.jasig.portal.services.stats.RecordFolderRemovedFromLayoutWorkerTask
- org.jasig.portal.services.stats.RecordFolderUpdatedInLayoutWorkerTask
- org.jasig.portal.services.stats.RecordLoginWorkerTask
- org.jasig.portal.services.stats.RecordLogoutWorkerTask
- org.jasig.portal.services.stats.RecordSessionCreatedWorkerTask
- org.jasig.portal.services.stats.RecordSessionDestroyedWorkerTask
- org.jasig.portal.services.stats.StatsRecorderWorkerTask
- org.jasig.portal.services.stats.ThreadFiringStatsRecorder
org.jasig.portal.ChannelParameter#ChannelParameter(String, String, String)
Resolve the last parameter as a boolean and use the org.jasig.portal.ChannelParameter#ChannelParameter(String, String, boolean) constructor.
org.jasig.portal.InternalPortalException#getException()
Use the parent Throwable#getCause() method.
org.jasig.portal.LdapServices
Use org.jasig.portal.ldap.LdapServices instead.
org.jasig.portal.PortalEvent#PortalEvent(int)
Use the static singleton PortalEvents instead of creating them.
org.jasig.portal.PortalException
For allowRefresh() use isRefreshable(), allowReinstantiation() use isReinstantiable(), getRecordedException() use Throwable.getCause(), setRecordedException() use Throwable.initCause(Throwable).
org.jasig.portal.PropertiesManager
Use org.jasig.portal.properties.PropertiesManager instead.
org.jasig.portal.Version
Use VersionsManager.getInstance().getVersion(IPermission.PORTAL_FRAMEWORK) to access a similar Version class.
org.jasig.portal.channels.CError
Use org.jasig.portal.error.CError.
org.jasig.portal.concurrency.CachingException#CachingException()
Removed, use a constructor that provides a message or nested exception.
org.jasig.portal.utils.DocumentFactory
- getDocumentFromStream(InputStream) use getDocumentFromStream(InputStream, String) to provide an identifier for the document being created.
- getDocumentFromStream(InputStream, EntityResolver) use getDocumentFromStream(InputStream, EntityResolver, String) to provide an identifier for the document being created.
org.jasig.portal.services.LogService
Use Commons Logging APIs instead.
org.jasig.portal.utils.AddressTester
Use org.jasig.portal.services.HttpClientManager#getNewHTTPClient() instead.
org.jasig.portal.utils.IPortalDocument
Use DOM3 Documents instead. This all removed org.jasig.portal.utils.PortalDocumentImpl and org.jasig.portal.utils.PortalDocumentImplTest
org.jasig.portal.RDBMServices#closePreparedStatement(PreparedStatement)
Use #closeStatement(Statement) instead.
org.jasig.portal.services.PersonDirectory
The following methods have been removed:
- #instance() use #getPersonAttributeDao() instead.
- #getRestrictedPerson(String) use #createRestrictedPerson() and IPersonAttributeDao#getUserAttributes(String) and RestrictedPerson#setAttributes(Map) instead.
- #getPropertyNamesIterator() use IPersonAttributeDao#getPossibleUserAttributeNames() instead.
- #getUserDirectoryInformation(String) use IPersonAttributeDao#getUserAttributes(String) instead.
- #getUserDirectoryInformation(String, IPerson) use IPersonAttributeDao#getUserAttributes(String) and IPerson#setAttributes(Map) instead.
The following classes were removed and all references changed to point to stand alone person directory library. Use org.jasig.services.persondir instead of org.jasig.portal.services.persondir
- org.jasig.portal.services.persondir.support.legacy.LegacyPersonAttributeDao.java
- org.jasig.portal.services.persondir.support.legacy.PersonDirInfo.java
- org.jasig.portal.services.persondir.support.legacy.PersonDirInfoAdaptor.java
- org.jasig.portal.services.persondir.support.legacy.PersonDirXmlParser.java
- org.jasig.portal.services.persondir.support.merger.IAttributeMerger.java
- org.jasig.portal.services.persondir.support.merger.MultivaluedAttributeMerger.java
- org.jasig.portal.services.persondir.support.merger.NoncollidingAttributeAdder.java
- org.jasig.portal.services.persondir.support.merger.ReplacingAttributeAdder.java
- org.jasig.portal.services.persondir.support.AbstractDefaultQueryPersonAttributeDao.java
- org.jasig.portal.services.persondir.support.CachingPersonAttributeDaoImpl.java
- org.jasig.portal.services.persondir.support.CascadingPersonAttributeDao.java
- org.jasig.portal.services.persondir.support.EchoPersonAttributeDaoImpl.java
- org.jasig.portal.services.persondir.support.JdbcPersonAttributeDaoImpl.java
- org.jasig.portal.services.persondir.support.LdapPersonAttributeDaoImpl.java
- org.jasig.portal.services.persondir.support.MergingPersonAttributeDaoImpl.java
- org.jasig.portal.services.persondir.support.MultivaluedPersonAttributeUtils.java
- org.jasig.portal.services.persondir.support.StubPersonAttributeDao.java
- org.jasig.portal.services.persondir.IPersonAttributeDao.java
org.jasig.portal.security.provider.CacheLdapSecurityContext
Use org.jasig.portal.security.provider.SimpleLdapSecurityContext chained with org.jasig.portal.security.provider.CacheSecurityContext instead.
This also removes org.jasig.portal.security.provider.CacheLdapSecurityContextFactory
org.jasig.portal.security.PortalSecurityException#PortalSecurityException()
Removed, use a constructor that provides a message or nested exception.
org.jasig.portal.properties.MissingPropertiesServlet
Removed, CMissingProperties is used instead.
org.jasig.portal.concurrency.CachingException#getExceptionCode()
Unused and always returned 0.
org.jasig.portal.concurrency.LockingException#LockingException()
Removed, use a constructor that provides a message or nested exception.
org.jasig.portal.jndi.JNDIManager
Deprecated. Use the org.jasig.portal.jndi.IJndiManager interface configured in the Spring application context under the name 'jndiManager'
org.jasig.portal.UserInstanceManager
Deprecated. Use the org.jasig.portal.user.IUserInstanceManager interface configured in the Spring application context under the name 'userInstanceManager'
org.jasig.portal.ChannelRegistryStoreFactory
Deprecated. Use the bean named 'channelRegistryStore' from the Spring application context.
org.jasig.portal.utils.ResourceLoader
Removed getResourceAsFile and getResourceAsFileString. getResourceAsStream and getResourceAsURL should be used instead.