Ejemplo n.º 1
0
 public function testCreateMsisdnEricsson()
 {
     $csvFileName = tempnam('/tmp', '_msisdnParserTest_');
     file_put_contents($csvFileName, '8934071279000005005,34682988695');
     $parser = new App_Parser_MSISDNParser($csvFileName);
     $list = $parser->parse();
     unlink($csvFileName);
     try {
         $this->assertNotNull($this->stockMapper->createMsisdnEricsson($list, $this->_user->getOrganizationId()));
     } catch (Exception $e) {
         $this->fail($e->getMessage());
     }
 }
Ejemplo n.º 2
0
 public function getData($filename, $mime)
 {
     // I'm not sure... I don't like it.
     set_time_limit(0);
     /**
      * According to its mime type, call the
      * correct parser.
      */
     switch ($mime) {
         case 'text/plain':
             /**
              * Try to parse the file as MSISDN data
              */
             $parser = new \App_Parser_MSISDNParser($filename);
             $fileType = "csvMsisdn";
             $data = $parser->parse();
             $firstError = $parser->getErrors(0);
             if (!$data && $firstError && $firstError->code === ValidationCodes::FILE_TYPE_UNKNOWN) {
                 // If it's not MSISDN data, try the CSV parser
                 $parser = new \App_Parser_CsvParser($filename);
                 $fileType = "csvData";
                 $data = $parser->parse();
             }
             $firstError = $parser->getErrors(0);
             break;
         case 'application/xml':
             $parser = new \App_Parser_SimManufacturerParser($filename);
             $fileType = "xml";
             $data = $parser->parse();
             $firstError = $parser->getErrors(0);
             break;
         default:
             $firstError = \App_Parser_AbstractParser::createUnknownFileTypeError();
             throw new AppEx\StockParserException('Invalid parameter value: attached file', array('errorMessages' => array($firstError)));
     }
     if ($firstError && $firstError->code === ValidationCodes::FILE_TYPE_UNKNOWN) {
         \App::log()->warn("Error parsing file: \n" . implode("\n", $parser->getErrors()));
         throw new AppEx\StockParserException('Invalid parameter value: attached file', array('errorMessages' => array($firstError)));
     }
     $errors = $parser->getErrors();
     $errors = array_reverse($errors, false);
     $count = $parser->getItemParsedCount();
     if (!$data) {
         \App::log()->warn("Error parsing file: \n" . implode("\n", $errors));
         throw new AppEx\InvalidFileContentException('Invalid parameter value: attached file', array('errorMessages' => $errors, 'fileType' => $fileType, 'simParsed' => $count));
     }
     return array('data' => $data, 'errors' => $errors, 'count' => $count);
 }