Code Duplication    Length = 20-29 lines in 2 locations

src/Organizer/OrganizerLDProjector.php 2 locations

@@ 77-96 (lines=20) @@
74
    /**
75
     * @param OrganizerImportedFromUDB2 $organizerImportedFromUDB2
76
     */
77
    private function applyOrganizerImportedFromUDB2(
78
        OrganizerImportedFromUDB2 $organizerImportedFromUDB2
79
    ) {
80
        $udb2Actor = ActorItemFactory::createActorFromCdbXml(
81
            $organizerImportedFromUDB2->getCdbXmlNamespaceUri(),
82
            $organizerImportedFromUDB2->getCdbXml()
83
        );
84
85
        $document = $this->newDocument($organizerImportedFromUDB2->getActorId());
86
        $actorLd = $document->getBody();
87
88
        $this->setMainLanguage($actorLd, new Language('nl'));
89
90
        $actorLd = $this->cdbXMLImporter->documentWithCdbXML(
91
            $actorLd,
92
            $udb2Actor
93
        );
94
95
        $this->repository->save($document->withBody($actorLd));
96
    }
97
98
    /**
99
     * @param OrganizerCreated $organizerCreated
@@ 245-273 (lines=29) @@
242
    /**
243
     * @param OrganizerUpdatedFromUDB2 $organizerUpdatedFromUDB2
244
     */
245
    private function applyOrganizerUpdatedFromUDB2(
246
        OrganizerUpdatedFromUDB2 $organizerUpdatedFromUDB2
247
    ) {
248
        // It's possible that an organizer has been deleted in udb3, but never
249
        // in udb2. If an update comes for that organizer from udb2, it should
250
        // be imported again. This is intended by design.
251
        // @see https://jira.uitdatabank.be/browse/III-1092
252
        try {
253
            $document = $this->loadDocumentFromRepository(
254
                $organizerUpdatedFromUDB2
255
            );
256
        } catch (DocumentGoneException $e) {
257
            $document = $this->newDocument($organizerUpdatedFromUDB2->getActorId());
258
        }
259
260
        $udb2Actor = ActorItemFactory::createActorFromCdbXml(
261
            $organizerUpdatedFromUDB2->getCdbXmlNamespaceUri(),
262
            $organizerUpdatedFromUDB2->getCdbXml()
263
        );
264
265
        $actorLd = $this->cdbXMLImporter->documentWithCdbXML(
266
            $document->getBody(),
267
            $udb2Actor
268
        );
269
270
        $this->setMainLanguage($actorLd, new Language('nl'));
271
272
        $this->repository->save($document->withBody($actorLd));
273
    }
274
275
    /**
276
     * @param LabelAdded $labelAdded