Search the FirstSpirit Knowledge Base
Hallo,
wir erzeugen aus einem Modul heraus einen Workflow in einem anderen Projekt und starten diesen (1. Transitionsschritt).
Wird dies für ein neu erzeugtes Projekt durchgeführt ist die Funktion korrekt.
Wird dieses Projekt exportiert und reimportiert, damit es als zusätzliches Projekt verfügbar ist so schlägt der Prozess fehl.
Durchgeführte Schritte sind folgende:
vorliegender Parameter: de.espirit.firstspirit.access.project.Project project
de.espirit.firstspirit.access.UserService service = project.getUserService();
de.espirit.firstspirit.access.Task newTask = project.getUserService().createTask(...);
MyWorkflowContext wc = new MyWorkflowContext(newTask);
Im korrekten Projekt liefert:
service.getUser()=SYSTEM (SYSTEM)
wc.getUser()=SYSTEM (SYSTEM)
Im Negativfall ergibt sich:
service.getUser()=SYSTEM (SYSTEM)
wc.getUser()=null
Wer hat eine Idee zur Ursachenermittlung und -beseitigung?
Grüße,
Marc Thomas
Hallo,
wie sieht denn die Klasse MyWorkflowContext aus?
Wie wird der Workflow erzeugt?
Das ganze sollte ja in etwa wie folgt aussehen, so dass der aktuelle User genutzt wird:
final Workflow workflow = userService.getTemplateStore().getWorkflowByName("workflow_uid");
final Task task = userService.createTask(storeElement, workflow, "Task created by Module");
Viele Grüße,
Jörg
Hallo,
der Workflow wird genau so erzeugt.
Der MyWorkflowContext enthält folgenden Konstruktor
public MockWorkflowContext(final Task task, final User user) {
_task = (TaskImpl) task;
_project = task.getProject();
_connection = (ServerConnection) _task.getProject().getUserService().getConnection();
_workflow = task.getWorkflow();
_workflowable = task.getWorkflowable();
_user = user;
if (_workflowable instanceof StoreElement) {
_storeElement = (StoreElement) _workflowable;
} else if (_workflowable instanceof ContentWorkflowable) {
_storeElement = ((ContentWorkflowable) _workflowable).getContent();
} else {
_storeElement = null;
}
}
und bei getUser wird auf das Workflowobjekt zugegriffen
public User getUser() {
return _workflow.getEditor();
}
Viele Grüße,
Marc
Hallo Marc,
wenn ich es richtig verstanden habe tritt das Problem nur auf, wenn ihr ein Projektkopie auf dem gleichen Server erstellt? Das hört sich ja merkwürdig an. Könntet ihr uns das Modul (inkl. Code), das Projekt und eine Reproduktionsanleitung zur Verfügung stellen? Eventuell lässt sich das vorher auch noch Abspecken.
Viele Grüße
Christoph