Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,34 @@ <h4>Verhaltensänderung von MCRCronjob</h4>
</ul>

<h2>Migrationsschritte</h2>
<h4>Schritt 1</h4>
<ul>
<li>Beschreibung</li>
<li>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you provide a proper Headline in the <h4> above`?
something like "MCRXMLMetadataManager wird zum Interface"

We are going to merge this after the corresponding MyCoRe-PR was merged?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've now followed the style of existing migration guides and removed the headline entirely.

Correct, this pull request should only be merged once the change in MyCoRe has been merged.

<p>
Bisher war <code>MCRXMLMetadataManager</code> eine finale Klasse. Die konkrete Implementierung konnte ausgetauscht werden,
indem per <code>MCR.Metadata.Manager</code> eine Instanz von <code>MCRXMLMetadataManagerAdapter</code> angegeben wurde.
Damit war <code>MCRXMLMetadataManager</code> die einzige Stelle in MyCoRe, die dieses Adapter-Pattern verwendet hat.
Zur Harmonisierung wurde daher <code>MCRXMLMetadataManager</code> in ein Interface umgewandelt.
</p>
<p>
Die bestehenden Implementierungen implementieren nun direkt <code>MCRXMLMetadataManager</code> und nicht mehr
<code>MCRXMLMetadataManagerAdapter</code>. Sie wurden daher wie folgt umbeannnt:
</p>
<ul>
<li><code>MCRDefaultXMLMetadataManagerAdapter</code> ⮕ <code>MCRDefaultXMLMetadataManager</code></li>
<li><code>MCRGZIPOCFLXMLMetadataManagerAdapter</code> ⮕ <code>MCRGZIPOCFLXMLMetadataManager</code></li>
<li><code>MCROCFLXMLMetadataManagerAdapter</code> ⮕ <code>MCROCFLXMLMetadataManager</code></li>
</ul>
<br/>
<p>
Es wurde jeweils eine weitere Klasse mit dem alten Namen hinzugefügt und als <code>@Deprecated</code> markiert.
Im Kommentar zur Klasse wird jeweils auf die nun zu verwendende Klasse hingewiesen. Eigener Code bleibt daher noch
funktionsfähig, muss aber vor der Verwendung des nächsten MyCoRe-Releases umgestellt werden.
</p>
<p>
Um den PMD-Regeln für Singeltons gerecht zu werden wurde zudem die Methode <code>MCRXMLMetadataManager#getInstance</code>
in <code>MCRXMLMetadataManager#obtainInstance</code> umbenannt und die alte Methode ebenfalls als <code>@Deprecated</code>
markiert. Auch sie wird mit dem nächsten Release entfernt.
</p>
</li>
</ul>
</div>