Code Duplication    Length = 18-27 lines in 3 locations

src/Place/ReadModel/JSONLD/PlaceLDProjector.php 1 location

@@ 139-156 (lines=18) @@
136
    /**
137
     * @param PlaceImportedFromUDB2Event $eventImportedFromUDB2
138
     */
139
    protected function applyPlaceImportedFromUDB2Event(
140
        PlaceImportedFromUDB2Event $eventImportedFromUDB2
141
    ) {
142
        $udb2Event = EventItemFactory::createEventFromCdbXml(
143
            $eventImportedFromUDB2->getCdbXmlNamespaceUri(),
144
            $eventImportedFromUDB2->getCdbXml()
145
        );
146
147
        $document = $this->newDocument($eventImportedFromUDB2->getActorId());
148
        $placeLd = $document->getBody();
149
150
        $placeLd = $this->cdbXMLImporter->eventDocumentWithCdbXML(
151
            $placeLd,
152
            $udb2Event
153
        );
154
155
        $this->repository->save($document->withBody($placeLd));
156
    }
157
158
    /**
159
     * @param string $id

src/Organizer/OrganizerLDProjector.php 2 locations

@@ 55-72 (lines=18) @@
52
    /**
53
     * @param OrganizerImportedFromUDB2 $organizerImportedFromUDB2
54
     */
55
    public function applyOrganizerImportedFromUDB2(
56
        OrganizerImportedFromUDB2 $organizerImportedFromUDB2
57
    ) {
58
        $udb2Actor = ActorItemFactory::createActorFromCdbXml(
59
            $organizerImportedFromUDB2->getCdbXmlNamespaceUri(),
60
            $organizerImportedFromUDB2->getCdbXml()
61
        );
62
63
        $document = $this->newDocument($organizerImportedFromUDB2->getActorId());
64
        $actorLd = $document->getBody();
65
66
        $actorLd = $this->cdbXMLImporter->documentWithCdbXML(
67
            $actorLd,
68
            $udb2Actor
69
        );
70
71
        $this->repository->save($document->withBody($actorLd));
72
    }
73
74
    /**
75
     * @param OrganizerCreated $organizerCreated
@@ 187-213 (lines=27) @@
184
    /**
185
     * @param OrganizerUpdatedFromUDB2 $organizerUpdatedFromUDB2
186
     */
187
    public function applyOrganizerUpdatedFromUDB2(
188
        OrganizerUpdatedFromUDB2 $organizerUpdatedFromUDB2
189
    ) {
190
        // It's possible that an organizer has been deleted in udb3, but never
191
        // in udb2. If an update comes for that organizer from udb2, it should
192
        // be imported again. This is intended by design.
193
        // @see https://jira.uitdatabank.be/browse/III-1092
194
        try {
195
            $document = $this->loadDocumentFromRepository(
196
                $organizerUpdatedFromUDB2
197
            );
198
        } catch (DocumentGoneException $e) {
199
            $document = $this->newDocument($organizerUpdatedFromUDB2->getActorId());
200
        }
201
202
        $udb2Actor = ActorItemFactory::createActorFromCdbXml(
203
            $organizerUpdatedFromUDB2->getCdbXmlNamespaceUri(),
204
            $organizerUpdatedFromUDB2->getCdbXml()
205
        );
206
207
        $actorLd = $this->cdbXMLImporter->documentWithCdbXML(
208
            $document->getBody(),
209
            $udb2Actor
210
        );
211
212
        $this->repository->save($document->withBody($actorLd));
213
    }
214
215
    /**
216
     * @param LabelAdded $labelAdded