<?php
/**
 * Created by PhpStorm.
 * User: sdaoudi
 * Date: 07/11/14
 * Time: 14:55
 */

namespace Ayaline\Bundle\EzSitBundle\DwSerialiser\DataType;

use Ayaline\Bundle\EzSitBundle\DwSerialiser\Entities\TraitementProduit\Produit;
use JMS\Serializer as Serializer;

class TraitementProduit extends TraitementParent {
    /**
     * Returns the Assetic resource.
     *
     * @return Produit The wrapped Assetic resource
     */
    public function deserialize()
    {
        if (isset($this->xmlFileContent) && !empty($this->xmlFileContent)) {

            try {

                $produitObject = $this->serializer->deserialize(
                    $this->xmlFileContent,
                    'Ayaline\Bundle\EzSitBundle\DwSerialiser\Entities\TraitementProduit\Produit',
                    'xml'
                );
                $this->logger->info("Objet 'Ayaline\\Bundle\\EzSitBundle\\DwSerialiser\\Entities\\TraitementProduit\\Produit' bien désérialisé.");
                return $produitObject;
            } catch (\Exception $e) {
                $this->logger->error("Un objet de type 'Ayaline\\Bundle\\EzSitBundle\\DwSerialiser\\Entities\\TraitementProduit\\Produit' n'est pas chargé: " . $e->getMessage());
            }
        }
        return false;
    }
}