#------------------------------------------------------------
# Copyright (C) 2006 RoyaltyShare, Inc.   All Rights Reserved
# $Id$
#------------------------------------------------------------
package RPS::Payee::RecentlyViewedPayeeList;

use strict;
use warnings;
use Data::Dumper;

use lib '/app/tools/rps/lib';
use RPS::ArtistPayee::ArtistPayeeSimple;
use RPS::LabelPayee::LabelPayeeSimple;
use RPS::Publisher::US::PublisherSimple;
use RPS::Publisher::CA::PublisherSimple;


use Common::FormObject;
use RPS::CommandLog;
#use base 'Common::XMLObject';
use base 'RPS::CommandLog';

sub _createLogItemFromDBItem
{
    my ($self, $dbItem) = @_;

    # First call the inherited method to get the log item
    #
    my $logItem = $self->SUPER::_createLogItemFromDBItem($dbItem);

    # Now we can put stuff inside the log item
    #
    if ('RPS::ArtistPayee::Command::Show' eq $logItem->CommandName())
    {
        my $obj = RPS::ArtistPayee::ArtistPayeeSimple->new(artistPayeeID => $logItem->CommandID(), loadSubs => 0);
        $logItem->{ArtistPayee} = $obj;
    }
    elsif ('RPS::LabelPayee::Command::Show' eq $logItem->CommandName())
    {
        my $obj = RPS::LabelPayee::LabelPayeeSimple->new(labelPayeeID => $logItem->CommandID(), loadSubs => 0);
        $logItem->{LabelPayee} = $obj;
    }
    elsif('RPS::Publisher::Command::US::Show' eq $logItem->CommandName())
    {
        my $obj = RPS::Publisher::US::PublisherSimple->new(publisherID=> $logItem->CommandID(), loadSubs => 0);
        $logItem->{Publisher} = $obj;
    }
    elsif('RPS::Publisher::Command::CA::Show' eq $logItem->CommandName())
    {
        my $obj = RPS::Publisher::CA::PublisherSimple->new(publisherID=> $logItem->CommandID(), loadSubs => 0);
        $logItem->{CAPublisher} = $obj;
    }    
    else
    {
        assert(0, "Unexpected log item encountered: " . Dumper($logItem));
    }

    return $logItem;
}


sub _init
{
    my ($self, %args) = @_;


    $args{command} = [ 'RPS::ArtistPayee::Command::Show', 'RPS::LabelPayee::Command::Show',  'RPS::Publisher::Command::US::Show', 'RPS::Publisher::Command::CA::Show' ];
    $args{most_recent} = 1;

    return $self->SUPER::_init(%args);
}


1;

