/*
* Copyright (c) 2010 Lockheed Martin Corporation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.eurekastreams.server.persistence.mappers.cache;
import org.apache.commons.logging.Log;
import org.eurekastreams.commons.logging.LogFactory;
import org.eurekastreams.server.domain.Person;
import org.eurekastreams.server.domain.stream.StreamEntityDTO;
/**
* Update the avatar id in a stream entity dto.
*/
public class UpdateStreamEntityDTOAvatarId implements UpdateStreamEntityDTOFromPerson
{
/**
* Logger.
*/
private Log log = LogFactory.make();
/**
* Update the input stream entity dto with the avatar from the input person.
*
* @param inStreamEntityDTO
* the stream entity dto to update the avatar of
* @param inPerson
* the person with the avatar to set in the stream entity dto
* @return true if the stream entity was updated
*/
public boolean execute(final StreamEntityDTO inStreamEntityDTO, final Person inPerson)
{
String oldAvatarId = inStreamEntityDTO.getAvatarId();
String newAvatarId = inPerson.getAvatarId();
if (oldAvatarId == null || !oldAvatarId.equals(newAvatarId))
{
if (log.isTraceEnabled())
{
log.trace("actor avatar id for StreamEntityDTO with id:" + inStreamEntityDTO.getId()
+ " is being changed from '" + oldAvatarId + "' to '" + newAvatarId + "'");
}
// only update if it's not the current value
inStreamEntityDTO.setAvatarId(newAvatarId);
return true;
}
return false;
}
}