/**
  * Converts map array to microdata Object
  *
  * @param array $map map array returned by the generator
  * @return null|Varien_Object
  */
 protected function _createRowObject($map)
 {
     if (empty($map['price']) || empty($map['availability']) || empty($map['title'])) {
         return null;
     }
     $microdata = new Varien_Object();
     $microdata->setName($map['title']);
     $microdata->setId($map['id']);
     if (!empty($map['sale_price'])) {
         $price = $map['sale_price'];
     } else {
         $price = $map['price'];
     }
     $microdata->setPrice(Zend_Locale_Format::toNumber($price, array('precision' => 2, 'number_format' => '#0.00')));
     $microdata->setCurrency(Mage::app()->getStore()->getCurrentCurrencyCode());
     if ($map['availability'] == 'in stock') {
         $microdata->setAvailability('http://schema.org/InStock');
     } else {
         $microdata->setAvailability('http://schema.org/OutOfStock');
     }
     if (array_key_exists('condition', $map)) {
         if (strcasecmp('new', $map['condition']) == 0) {
             $microdata->setCondition('http://schema.org/NewCondition');
         } else {
             if (strcasecmp('used', $map['condition']) == 0) {
                 $microdata->setCondition('http://schema.org/UsedCondition');
             } else {
                 if (strcasecmp('refurbished', $map['condition']) == 0) {
                     $microdata->setCondition('http://schema.org/RefurbishedCondition');
                 }
             }
         }
     }
     return $microdata;
 }