ncbruckner
Returning Observer

Verwendete und tatsächlich deployte Datensätze aus Datenquelle auslesen

Hallo,

ich hab hier folgendes Problem: Ich habe Datenquelle mit Downloads. Die Downloads und die Inhalte davon sollen via XML in eine Suche importiert werden. Allerdings gibt es in der Datenquelle auch Datensätze, die gar nicht verwendet werden bzw. die Seite, in der sie verwendet werden, wird gar nicht ausgespielt. Die sollen natürlich nicht in der Suche auftauchen, weil ja tatsächlich gar nicht auf sie zugegriffen werden kann.

Ich versuche jetzt, in einer Executable über die Datensätze zu iterieren und festzustellen, ob es eine freigegebene Strukturseite für die Datensätze gibt. Das mache ich über "getIncomingReferences()". Für Datensätze, die direkt auf Seiten verlinkt sind, funktioniert das auch recht problemlos. Ich habe aber auch Downloads, die innerhalb anderer Datenquellen, z.B. Newsmeldungen, verlinkt sind und da komme ich nicht weiter.

Ich hole mir so die incoming References für den einzelnen Datensatz:

ContentStoreRoot contentStoreRoot = (ContentStoreRoot) userService.getStore(Store.Type.CONTENTSTORE,false);
Content2 datasource = (Content2) contentStoreRoot.getStoreElement("download", IDProvider.UidType.CONTENTSTORE);
Schema schema = datasource.getSchema();
ReferenceEntry[] incomingReferences = schema.getIncomingReferences(entity, true);

Dann iteriere ich über die ReferenceEntries, für den Fall der referenzierenden Datenquelle so:

ContentReferenceEntry contentReferenceEntry = (ContentReferenceEntry) referenceEntry;
Entity referencedEntity = contentReferenceEntry.getReferencedDataset(project.getMasterLanguage()).getEntity();

Dann habe ich wieder die Entity, aber wie komme ich jetzt ans Schema, damit ich die Incoming References auslesen kann?

Habe ich mich da irgendwo verlaufen? Kennt jemand eine einfachere Variante?

Viele Grüße

Nina

Labels (1)
0 Kudos
2 Replies
hoebbel
Crownpeak employee
Crownpeak employee

Re: Verwendete und tatsächlich deployte Datensätze aus Datenquelle auslesen

Hallo Nina,

kommst Du nicht mit <entity>.getSession().getSchema() an das gesuchte Schema?

Viele Grüße

Holger

0 Kudos
ncbruckner
Returning Observer

Re: Verwendete und tatsächlich deployte Datensätze aus Datenquelle auslesen

Ich habe es jetzt anders gelöst und führe beim Generieren eine Liste der verlinkten Datensätze mit.

0 Kudos