QueueManager::setQueueName()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 1
1
<?php
2
3
namespace Kaliop\Queueing\Plugins\StompBundle\Adapter\Stomp;
4
5
use Kaliop\QueueingBundle\Service\MessageProducer as BaseMessageProducer;
6
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
7
use Symfony\Component\DependencyInjection\ContainerInterface;
8
use InvalidArgumentException;
9
use Kaliop\QueueingBundle\Queue\Queue;
10
use Kaliop\QueueingBundle\Queue\QueueManagerInterface;
11
12
/**
13
 * Since STOMP does not provide commands for Queue management, all this does is allow listing of configured queues
14
 */
15
class QueueManager implements ContainerAwareInterface, QueueManagerInterface
16
{
17
    protected $queueName;
18
    protected $container;
19
    protected $registeredProducers = array();
20
    protected $registeredConsumers = array();
21
22
    public function setContainer(ContainerInterface $container = null)
23
    {
24
        $this->container = $container;
25
    }
26
27
    /**
28
     * Does nothing
29
     * @param string $queue
30
     * @return $this
31
     */
32
    public function setQueueName($queue)
33
    {
34
        return $this;
35
    }
36
37
    public function listActions()
38
    {
39
        return array('list-configured');
40
    }
41
42
    public function executeAction($action, array $arguments=array())
43
    {
44
        switch ($action) {
45
            case 'list-configured':
46
                return $this->listConfiguredQueues();
47
48
            default:
49
                throw new InvalidArgumentException("Action $action not supported");
50
        }
51
    }
52
53
    protected function listConfiguredQueues($type = Queue::TYPE_ANY)
0 ignored issues
show
Unused Code introduced by
The parameter $type is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
54
    {
55
        $out = array();
56
        if ($type = Queue::TYPE_PRODUCER || $type = Queue::TYPE_ANY) {
0 ignored issues
show
Unused Code introduced by
$type is not used, you could remove the assignment.

This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.

$myVar = 'Value';
$higher = false;

if (rand(1, 6) > 3) {
    $higher = true;
} else {
    $higher = false;
}

Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.

Loading history...
Comprehensibility introduced by
Consider adding parentheses for clarity. Current Interpretation: $type = (\Kaliop\Queuein...Queue\Queue::TYPE_ANY)), Probably Intended Meaning: ($type = \Kaliop\Queuein...e\Queue\Queue::TYPE_ANY
Loading history...
57
            foreach ($this->registeredProducers as $queueName) {
58
                $out[$queueName] = Queue::TYPE_PRODUCER;
59
            }
60
        }
61
        if ($type = Queue::TYPE_CONSUMER || $type = Queue::TYPE_ANY) {
0 ignored issues
show
Unused Code introduced by
$type is not used, you could remove the assignment.

This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.

$myVar = 'Value';
$higher = false;

if (rand(1, 6) > 3) {
    $higher = true;
} else {
    $higher = false;
}

Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.

Loading history...
Comprehensibility introduced by
Consider adding parentheses for clarity. Current Interpretation: $type = (\Kaliop\Queuein...Queue\Queue::TYPE_ANY)), Probably Intended Meaning: ($type = \Kaliop\Queuein...e\Queue\Queue::TYPE_ANY
Loading history...
62
            foreach ($this->registeredConsumers as $queueName) {
63
                if (isset($out[$queueName])) {
64
                    $out[$queueName] = Queue::TYPE_ANY;
65
                } else {
66
                    $out[$queueName] = Queue::TYPE_CONSUMER;
67
                }
68
            }
69
        }
70
        return $out;
71
    }
72
73
    /**
74
     * Used to keep track of the queues which are available (configured in the bundle)
75
     * @param string $queueName
76
     */
77
    public function registerProducer($queueName) {
78
        $this->registeredProducers[] = $queueName;
79
    }
80
81
    /**
82
     * Used to keep track of the queues which are available (configured in the bundle)
83
     * @param string $queueName
84
     */
85
    public function registerConsumer($queueName) {
86
        $this->registeredConsumers[] = $queueName;
87
    }
88
}
89