Я работаю над плагином Nuxeo, который реализует операцию. Поэтому я использую аннотации @Operation
, @OperationMethod
и @Context
. Целью плагина является получение ссылки LiveEdit, а проблема в том, что я не могу получить идентификатор разговора, который необходим для создания URL-адреса nxedit:. Исходный код Nuxeo использует Manager.instance().getCurrentConversationId()
, но я также не могу получить экземпляр Manager в своем плагине. И кажется невозможным внедрить экземпляр Manager через @Context, он возвращает просто нулевое значение. Заранее спасибо.
Как получить идентификатор разговора в плагине nuxeo
Ответы (1)
Вы смотрели операции Seam.InitContext
и Seam.RunOperation
?
Оба делают вызов org.nuxeo.ecm.automation.seam.operations.SeamOperationFilter.handleBeforeRun(OperationContext, String)
и org.nuxeo.ecm.automation.seam.operations.SeamOperationFilter.initializeSeamContext(OperationContext, String, CoreSession)
. Затем должен быть доступен разговорId:
ConversationPropagation.instance().setConversationId(conversationId);
Manager.instance().restoreConversation();
person
Julien Carsique
schedule
19.01.2015
Да. Для обоих методов требуется параметр
conversationId
as String, и моя проблема в том, что я не могу его получить. Они используют conversationId = (String) context.get("conversationId");
, но кажется, что в контексте плагина такого ключа нет.
- person chernish2; 19.01.2015
Вы все еще можете передать null. Но если вы запускаете свою операцию в цепочке после одной из вышеперечисленных операций, то контекст шва должен был быть инициализирован.
- person Julien Carsique; 19.01.2015
Когда я пытаюсь вызвать операцию
Seam.InitContext
, я получаю Can not init Seam context: no HttpServletRequest was found
. Я называю это так: OperationContext operationContext = new OperationContext(session); operationContext.setInput(doc); OperationChain chain = new OperationChain("chain"); chain.add("Seam.InitContext"); AutomationService automationService = Framework.getService(AutomationService.class); automationService.run(operationContext, chain);
- person chernish2; 19.01.2015