History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: UP-1525
Type: Bug Bug
Status: Closed Closed
Resolution: Duplicate
Priority: Minor Minor
Assignee: Unassigned
Reporter: Mark Boyd
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
uPortal

Two sequence generation approaches should be rolled into one.

Created: 01/Jun/06 01:04 PM   Updated: 15/Sep/08 06:46 PM
Component/s: Framework
Affects Version/s: 2.6.0 M1, 2.5.0 GA, 2.5.1 GA, 2.5.2 GA, 2.6.0 RC1, 2.6.0 RC2, 2.6.0 GA, 2.6.1 RC1, 2.6.1 RC2
Fix Version/s: 3.1.0-M1, 3.0.2

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown


 Description  « Hide
There appear to be at least two general approaches for sequence generation both of which use the same backing table, UP_SEQUENCE. This can send confusing messages to new adopters of the portal concerning which should be used and can cause similar confusion when traditional developers are maintaining code. These really should be rolled into one with the other deprecated -OR- to avoid breaking channels that may have been designed using the deprecated one the deprecated one can be changed to delegate to the other.

The two approaches are:

[1] org.jasig.portal.services.SequenceGenerator

This class looks in portal.properties for "org.jasig.portal.SequenceGeneratorFactory.implementation"
which by default points to "org.jasig.portal.ReferenceSequenceGeneratorFactory" which implements ISequenceGeneratorFactory and returns an instance of org.jasig.portal.ReferenceSequenceGenerator which implements ISequenceGenerator. All instances of SequenceGenerator then wraps the implementation delegates all instance methods to the ReferenceSequenceGenerator singleton instance..

SequenceGenerator is referenced from these locations:
- org.jasig.portal.concurrency.caching.ReferenceInvalidatingEntityCache
- org.jasig.portal.groups.RDBMEntityGroupStore
- org.jasig.portal.tools.dbloader.DataHandler


[2] org.jasig.portal.utils.CounterStoreFactory

This class looks in portal.properties for "org.jasig.portal.utils.CounterStoreFactory.implementation"
which by default points to "org.jasig.portal.utils.RDBMCounterStore" which implements ICounterStore. The CounterStoreFactory instantiates a singleton instance of RDBMCounterStore and returns for all calls made to getCounterStoreImpl().

CounterStoreFactory is referenced from these locations:
- RDBMUserLayoutStore
- RDBMChannelRegistryStore
- RDBMPortletPreferencesStore
- RDBMUserIdentityStore


 All   Comments   Work Log   Change History      Sort Order:
Eric Dalquist [04/Aug/08 09:19 AM]
Fixed by UP-2125