SloRequestActionBuilder::doInitialize()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 64
Code Lines 46

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 64
rs 9.3956
c 0
b 0
f 0
ccs 0
cts 54
cp 0
cc 1
eloc 46
nc 1
nop 0
crap 2

How to fix   Long Method   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

1
<?php
2
3
/*
4
 * This file is part of the LightSAML-Logout package.
5
 *
6
 * (c) Milos Tomic <[email protected]>
7
 *
8
 * This source file is subject to the GPL-3 license that is bundled
9
 * with this source code in the file LICENSE.
10
 */
11
12
namespace LightSaml\Logout\Builder\Action\Profile\SingleLogout;
13
14
use LightSaml\Action\Profile\Outbound\Message\CreateMessageIssuerAction;
15
use LightSaml\Action\Profile\Outbound\Message\DestinationAction;
16
use LightSaml\Action\Profile\Outbound\Message\ResolveEndpointSloAction;
17
use LightSaml\Action\Profile\Outbound\Message\SaveRequestStateAction;
18
use LightSaml\Logout\Action\Profile\Outbound\LogoutRequest\CreateLogoutRequestAction;
19
use LightSaml\Logout\Action\Profile\Outbound\LogoutRequest\LogoutResolveAction;
20
use LightSaml\Logout\Action\Profile\Outbound\LogoutRequest\ResolveLogoutPartyAction;
21
use LightSaml\Logout\Action\Profile\Outbound\LogoutRequest\SetNameIdAction;
22
use LightSaml\Logout\Action\Profile\Outbound\LogoutRequest\SetNotOnOrAfterAction;
23
use LightSaml\Logout\Action\Profile\Outbound\LogoutRequest\SetSessionIndexAction;
24
use LightSaml\Action\Profile\Outbound\Message\MessageIdAction;
25
use LightSaml\Action\Profile\Outbound\Message\MessageIssueInstantAction;
26
use LightSaml\Action\Profile\Outbound\Message\MessageVersionAction;
27
use LightSaml\Action\Profile\Outbound\Message\SendMessageAction;
28
use LightSaml\Action\Profile\Outbound\Message\SignMessageAction;
29
use LightSaml\Builder\Action\CompositeActionBuilder;
30
use LightSaml\Builder\Action\Profile\AbstractProfileActionBuilder;
31
use LightSaml\SamlConstants;
32
33
class SloRequestActionBuilder extends AbstractProfileActionBuilder
34
{
35
    protected function doInitialize()
36
    {
37
        $proceedActionBuilder = new CompositeActionBuilder();
38
39
        $proceedActionBuilder->add(new CreateLogoutRequestAction(
40
            $this->buildContainer->getSystemContainer()->getLogger()
41
        ), 100);
42
        $proceedActionBuilder->add(new MessageIdAction(
43
            $this->buildContainer->getSystemContainer()->getLogger()
44
        ));
45
        $proceedActionBuilder->add(new MessageVersionAction(
46
            $this->buildContainer->getSystemContainer()->getLogger(),
47
            SamlConstants::VERSION_20
48
        ));
49
        $proceedActionBuilder->add(new MessageIssueInstantAction(
50
            $this->buildContainer->getSystemContainer()->getLogger(),
51
            $this->buildContainer->getSystemContainer()->getTimeProvider()
52
        ));
53
        $proceedActionBuilder->add(new ResolveLogoutPartyAction(
54
            $this->buildContainer->getPartyContainer()->getIdpEntityDescriptorStore(),
55
            $this->buildContainer->getPartyContainer()->getSpEntityDescriptorStore(),
56
            $this->buildContainer->getPartyContainer()->getTrustOptionsStore()
57
        ));
58
        $proceedActionBuilder->add(new ResolveEndpointSloAction(
59
            $this->buildContainer->getSystemContainer()->getLogger(),
60
            $this->buildContainer->getServiceContainer()->getEndpointResolver()
61
        ));
62
        $proceedActionBuilder->add(new DestinationAction(
63
            $this->buildContainer->getSystemContainer()->getLogger()
64
        ));
65
        $proceedActionBuilder->add(new CreateMessageIssuerAction(
66
            $this->buildContainer->getSystemContainer()->getLogger()
67
        ));
68
        $proceedActionBuilder->add(new SetNameIdAction(
69
            $this->buildContainer->getSystemContainer()->getLogger()
70
        ));
71
        $proceedActionBuilder->add(new SetSessionIndexAction(
72
            $this->buildContainer->getSystemContainer()->getLogger()
73
        ));
74
        $proceedActionBuilder->add(new SetNotOnOrAfterAction(
75
            $this->buildContainer->getSystemContainer()->getLogger(),
76
            $this->buildContainer->getSystemContainer()->getTimeProvider(),
77
            120
78
        ));
79
        $proceedActionBuilder->add(new SaveRequestStateAction(
80
            $this->buildContainer->getSystemContainer()->getLogger(),
81
            $this->buildContainer->getStoreContainer()->getRequestStateStore()
82
        ));
83
84
        $proceedActionBuilder->add(new SignMessageAction(
85
            $this->buildContainer->getSystemContainer()->getLogger(),
86
            $this->buildContainer->getServiceContainer()->getSignatureResolver()
87
        ));
88
        $proceedActionBuilder->add(new SendMessageAction(
89
            $this->buildContainer->getSystemContainer()->getLogger(),
90
            $this->buildContainer->getServiceContainer()->getBindingFactory()
91
        ));
92
93
        $this->add(new LogoutResolveAction(
94
            $this->buildContainer->getSystemContainer()->getLogger(),
95
            $this->buildContainer->getServiceContainer()->getLogoutSessionResolver(),
96
            $proceedActionBuilder->build()
97
        ), 100);
98
    }
99
}
100