aalbrecht
I'm new here

UrlFactory prüfen ob Url schon existiert

Jump to solution

Hallo,

ich bin dabei eine eigene UrlFactory zu schreiben.

Wie kann ich offiziell über die API herausfinden, ob eine URL schon in der Registry vorhanden ist?

In diesem Beitrag Vermeiden von URI-Konflikten bei einer Generierung wird dazu die nicht dokumentierte Klasse UrlRegistryAgent verwendet:

urlRegistryAgent.getEntries(path)

Diese Methode funktioniert aber nicht für gelöschte Elemente, da die Url des gelöschten Elements noch in der Registry gespeichert ist.

Wie kann ich jetzt über die API prüfen, ob die URL schon existiert und dabei gelöschte Elemente berücksichtigt werden?

Viele Grüße

Alex

1 Solution

Accepted Solutions
tenter
I'm new here

Hallo Alex,

hat man dir schon persönlich mit dem Problem geholfen, als du in der Schulung warst?

Soweit ich weiß, gibt es für das was du willst keine Funktion.

Grüße,

Hannes

View solution in original post

0 Kudos
4 Replies
tenter
I'm new here

Hallo Alex,

hat man dir schon persönlich mit dem Problem geholfen, als du in der Schulung warst?

Soweit ich weiß, gibt es für das was du willst keine Funktion.

Grüße,

Hannes

0 Kudos

Hallo Hannes,

diese Antwort habe ich in der Schulung auch erhalten: Es gibt da keine offizielle Api zu.

Viele Grüße

Alex

0 Kudos

Wie hast du denn den UrlRegistryAgent instanziiert? In ner URL Factory hat man ja keinen Context.

0 Kudos

Ja das ist nicht so einfach. Mir ist nichts besseres eingefallen als folgendes:

@Override
public String getUrl(final ContentProducer contentProducer, final TemplateSet templateSet, final Language language, final PageParams pageParams) {

if (urlRegistryAgent == null && contentProducer instanceof AbstractStoreElement) {

  urlRegistryAgent = ((AbstractStoreElement) contentProducer).getSpecialistsBroker().requestSpecialist(UrlRegistryAgent.TYPE);

  userService = ((AbstractStoreElement) contentProducer).getUserService();

}