try
{
// update the attribute.
//updateCaches(key, val, attrE, INCLUDE_REMOTE_CACHE);
CacheElement ce = new CacheElement( this.getCacheName(), key, val );
ce.setElementAttributes( attrE );
if ( log.isDebugEnabled() )
{
log.debug( "putGAN( gan,val,attr,boolean invocation) > updating group attribute via super" );
}
super.update( ce, localOnly );
// UPDATE THE ATTRIBUTENAME LIST, get it first
GroupId groupId = key.groupId;
HashSet attrNameSet = null;
attrNameSet = (HashSet)systemGroupIdCache.get(groupId.toString());
if ( attrNameSet == null )
{
attrNameSet = new HashSet();
}
attrNameSet.add( key.attrName );
if ( log.isDebugEnabled() )
{
log.debug( "putGAN( gan,val,attr,boolean invocation) > attrNameSet.size() = " + attrNameSet.size() );
}
CacheElement ceID = new CacheElement( this.getCacheName(), groupId, attrNameSet );
ceID.setElementAttributes( attrE );
// DO NOT SEND THE UPDATE LIST REMOTELY
// THE ELEMENT WILL BE SENT AND THE LIST MAINTAINED REMOTELY
systemGroupIdCache.localUpdate( ceID );