*/
public void saveUserProfile(UserProfile profile, boolean broadcast) throws Exception
{
String userName = profile.getUserName();
Session session = service_.openSession();
UserProfileData upd = (UserProfileData)service_.findOne(session, queryFindUserProfileByName, userName);
User user = userDAO.findUserByName(userName);
if (user == null)
{
throw new InvalidNameException("User " + userName + " not exists");
}
if (upd == null)
{
upd = new UserProfileData();
upd.setUserProfile(profile);
if (broadcast)
preSave(profile, true);
session.save(userName, upd);
session.flush();
cache_.put(userName, profile);
if (broadcast)
postSave(profile, true);
}
else
{
upd.setUserProfile(profile);
if (broadcast)
preSave(profile, false);
session.update(upd);
session.flush();