package org.sculptor.dddsample.routing.repositoryimpl;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Map;
import org.apache.commons.lang.Validate;
import org.sculptor.dddsample.routing.domain.RtCarrierMovement;
import org.sculptor.dddsample.routing.domain.RtCarrierMovementRepository;
import org.sculptor.dddsample.routing.domain.RtLocation;
import org.springframework.stereotype.Repository;
/**
* Repository implementation for RtCarrierMovement
*/
@Repository("rtCarrierMovementRepository")
public class RtCarrierMovementRepositoryImpl extends RtCarrierMovementRepositoryBase implements
RtCarrierMovementRepository {
public RtCarrierMovementRepositoryImpl() {
}
public void storeCarrierMovementId(String cmId, String from, String to) {
Map<Object, RtLocation> locations = getRtLocationRepository().findByKeys(
new HashSet<String>(Arrays.asList(from, to)));
RtLocation fromLocation = locations.get(from);
Validate.notNull(fromLocation);
RtLocation toLocation = locations.get(to);
Validate.notNull(toLocation);
RtCarrierMovement carrierMovement = new RtCarrierMovement(cmId, fromLocation, toLocation);
save(carrierMovement);
}
}