Code Duplication    Length = 20-29 lines in 2 locations

src/Organizer/OrganizerLDProjector.php 2 locations

@@ 130-149 (lines=20) @@
127
     * @param OrganizerImportedFromUDB2 $organizerImportedFromUDB2
128
     * @return JsonDocument
129
     */
130
    private function applyOrganizerImportedFromUDB2(
131
        OrganizerImportedFromUDB2 $organizerImportedFromUDB2
132
    ) {
133
        $udb2Actor = ActorItemFactory::createActorFromCdbXml(
134
            $organizerImportedFromUDB2->getCdbXmlNamespaceUri(),
135
            $organizerImportedFromUDB2->getCdbXml()
136
        );
137
138
        $document = $this->newDocument($organizerImportedFromUDB2->getActorId());
139
        $actorLd = $document->getBody();
140
141
        $this->setMainLanguage($actorLd, new Language('nl'));
142
143
        $actorLd = $this->cdbXMLImporter->documentWithCdbXML(
144
            $actorLd,
145
            $udb2Actor
146
        );
147
148
        return $document->withBody($actorLd);
149
    }
150
151
    /**
152
     * @param OrganizerCreated $organizerCreated
@@ 316-344 (lines=29) @@
313
     * @param OrganizerUpdatedFromUDB2 $organizerUpdatedFromUDB2
314
     * @return JsonDocument
315
     */
316
    private function applyOrganizerUpdatedFromUDB2(
317
        OrganizerUpdatedFromUDB2 $organizerUpdatedFromUDB2
318
    ) {
319
        // It's possible that an organizer has been deleted in udb3, but never
320
        // in udb2. If an update comes for that organizer from udb2, it should
321
        // be imported again. This is intended by design.
322
        // @see https://jira.uitdatabank.be/browse/III-1092
323
        try {
324
            $document = $this->loadDocumentFromRepository(
325
                $organizerUpdatedFromUDB2
326
            );
327
        } catch (DocumentGoneException $e) {
328
            $document = $this->newDocument($organizerUpdatedFromUDB2->getActorId());
329
        }
330
331
        $udb2Actor = ActorItemFactory::createActorFromCdbXml(
332
            $organizerUpdatedFromUDB2->getCdbXmlNamespaceUri(),
333
            $organizerUpdatedFromUDB2->getCdbXml()
334
        );
335
336
        $actorLd = $this->cdbXMLImporter->documentWithCdbXML(
337
            $document->getBody(),
338
            $udb2Actor
339
        );
340
341
        $this->setMainLanguage($actorLd, new Language('nl'));
342
343
        return $document->withBody($actorLd);
344
    }
345
346
    /**
347
     * @param LabelAdded $labelAdded