Search the FirstSpirit Knowledge Base
Hallo zusammen,
im FS5 wurden 2 Aufträge angelegt die jeweils eine Teilpublizierung ausführen. Bei der einen Teilpublizierung wurde im Generate Taks ein Startknoten gesetzt bei dem anderen Auftrag nicht. Über einen Workflow werden beide Aufträge ausgeführt und sollen jeweils nur eine Publizierung des gewählten Datensatzes in der Datenquelle starten.
Das kuriose, mit dem Auftrag der keinen Startknoten hat funktioniert das super. Mit dem Auftrag der einen Startknoten hat, werden immer alle Datensätze publiziert. Code schaut wie folgt aus und über generateTask.gentEntityStartNodes().clear() sollte ja auch der definierte Startknoten temporär verschwinden.
for(ScheduleTask scheduleTask : scheduleEntry.getTasks()) {
if(scheduleTask.getName().equals(SCHEDULER_UXB_GENERATE) || scheduleTask.getName().equals(SCHEDULER_GENERATE)) {
if(scheduleTask instanceof GenerateTask) {
if(DETAIL_PAGE_ID != 0) {
scheduleEntry.lock();
GenerateTask generateTask = (GenerateTask) scheduleTask;
context.logInfo("Size beforeClear:" + generateTask.getEntityStartNodes().size());
generateTask.getEntityStartNodes().clear();
context.logInfo("ENTITY_ID" + ENTITY_ID + "DETAIL_PAGE_ID" + DETAIL_PAGE_ID);
context.logInfo("Size after Clear:" + generateTask.getEntityStartNodes().size());
GenerateTask.EntityEntry entityEntry = generateTask.createEntityEntry(ENTITY_ID, DETAIL_PAGE_ID);
generateTask.getEntityStartNodes().add(entityEntry);
context.logInfo("Size after add:" + generateTask.getEntityStartNodes().size());
taskFound = true;
} else {
context.logError("Page with name: " + DETAIL_PAGE + " not found, please check your workflow configuration.");
}
} else {
context.logError("Task with name: " + scheduleTask.getName() + " is no generation task, please check your schedule tasks.");
}
}
}
// execute publish
ScheduleEntryControl control = scheduleEntry.execute();
scheduleEntry.unlock();
Server-Version: 5.0.114.54807
Bin für jeden Hinweis dankbar
Lars
Was ist denn das für ein Startknoten? Zufälligerweise einer, der alle Datensätze generiert?
Richtig, mit clear solltet dieser ja gelöscht werden und mit dem add der neue gesetzt werden. Oder hab ich da etwas falsch verstanden?
Das "clear" rufst du ja auf "EntityStartNodes" auf, nicht auf der 'normalen' Startknoten-Liste.
Hallo Lars,
hat sich das Problem, nach dem Hinweis von Peter, erledigt?
Viele Grüße
Christoph