Code Duplication    Length = 22-22 lines in 2 locations

services/NorthWind/NorthWindDSExpressionProvider.php 2 locations

@@ 412-433 (lines=22) @@
409
     */
410
    private function _prepareBinaryExpression($operator, $left, $right)
411
    {
412
      if (!substr_compare($left, "STRCMP", 0, 6)) {
413
            $str = explode(';', $left, 2);
414
            $str[0] = str_replace('STRCMP', '', $str[0]);
415
            if ($right == 'false' and $right != '0') {
416
              if (!substr_compare($operator, '!', 0, 1)) {
417
                  $operator = str_replace('!', '', $operator);
418
              } else if ($operator == '>=') {
419
                  $operator = '<';
420
              } else if ($operator == '<=') {
421
                  $operator = '>';
422
              } else {
423
                    $operator = "!".$operator;
424
              }
425
              return self::OPEN_BRAKET 
426
                    . $str[0] . ' ' . $operator 
427
                    . ' ' . $str[1] . self::CLOSE_BRACKET;
428
            } else {
429
                return self::OPEN_BRAKET 
430
                    . $str[0] . ' ' . $operator 
431
                    . ' ' . $str[1] . self::CLOSE_BRACKET;
432
            }
433
        }
434
        
435
        //DATETIMECMP
436
        if (!substr_compare($left, "DATETIMECMP", 0, 11)) {
@@ 436-457 (lines=22) @@
433
        }
434
        
435
        //DATETIMECMP
436
        if (!substr_compare($left, "DATETIMECMP", 0, 11)) {
437
          $str = explode(';', $left, 2);
438
          $str[0] = str_replace('DATETIMECMP', '', $str[0]);
439
          if ($right == 'false' and $right != '0') {
440
            if (!substr_compare($operator, '!', 0, 1)) {
441
              $operator = str_replace('!', '', $operator);
442
            } else if ($operator == '>=') {
443
              $operator = '<';
444
            } else if ($operator == '<=') {
445
              $operator = '>';
446
            } else {
447
              $operator = "!".$operator;
448
            }
449
            return self::OPEN_BRAKET
450
            . $str[0] . ' ' . $operator
451
            . ' ' . $str[1] . self::CLOSE_BRACKET;
452
          } else {
453
            return self::OPEN_BRAKET
454
            . $str[0] . ' ' . $operator
455
            . ' ' . $str[1] . self::CLOSE_BRACKET;
456
          }
457
        }
458
459
        return 
460
            self::OPEN_BRAKET