|
Yes. We're using it and made some changes to allow it to look for
groups only in certain OUs. Love it. Susan Gherna, Andrew Robert wrote: Hi all, Apologies for cross-posting, but this seems like a developer issue to me.Andy ------ Forwarded Message From: Andy Gherna <[email protected]> Reply-To: <[email protected]> Date: Mon, 2 Nov 2009 20:52:56 -0600 To: <[email protected]> Subject: Re:[uportal-user] Anyone got SmartLDAP successfully working in uPortal 3.1? We are having problems with this too. The cause is in SmartLdapGroupStore, specifically in the findContainingGroups method. Here's how we came across it. We are initializing uPortal 3.1.1. SmartLdap is configured via SmartLdapGroupStoreConfig.xml and turned on in compositeGroupServices.xml. We are running the initportal target in the ant file. Everything goes well until it's time to import channels into the database. When channels are published, any old channel data is deleted from the database. Part of this process is collecting the categories from the ChannelRegistryStore that the channel was originally published under so that they can be removed from the channel definition. Part of retrieving the categories is to iterate through any child groups and their containing groups. When SmartLdap is turned on, these groups are not empty (we have a connection to the backing store and SmartLdap has read through the groups it can access and has cached them by now). This is when findContainingGroups is called. The findContainingGroups code notices that the GroupMember it's passed is an entity. So, it builds an IPerson object. This is the key part. The IPerson is empty. A Map of Attributes is built from this line: Map<String,List> attr = PersonDirectory.getPersonAttributeDao().getMultivaluedUserAttributes(seed); The value of seed (which is itself a Map of Lists keyed by a String) in this case is a single-valued List containing the key of an EntityIdentifier (I'm assuming a channel ID). This Map is passed into the IPerson's (which through debugging we saw that it's PersonImpl) setAttributes method. This method expects to be able to iterate over the Set of Entry objects in the attr Map. In the for() statement, the NullPointerException is thrown. So there's something going on with the way this attr Map is being built. >From a SmartLdap standpoint, what should be brought back from the call to PersonDirectory.getPersonAttributeDao().getMultivaluedUserAttributes(Map)? Could this be a configuration problem or is it deeper than that? Eric Dalquist wrote: --
Susan Bramhall ([email protected]) -- |
- RE:[uportal-dev] Anyone got SmartLDAP successfully w... Gherna, Andrew Robert
- Re: [uportal-dev] Anyone got SmartLDAP successf... Susan Bramhall
- Re: [uportal-dev] Anyone got SmartLDAP succ... Eric Dalquist
- Re: [uportal-dev] Anyone got SmartLDAP ... Susan Bramhall
- Re: [uportal-dev] Anyone got SmartLDAP ... Gherna, Andrew Robert
- Re: [uportal-dev] Anyone got SmartL... Susan Bramhall
- Re: [uportal-dev] Anyone got S... Susan Bramhall
- Re: [uportal-dev] Anyone got SmartL... Gherna, Andrew Robert
