Skip to content

Commit 473428e

Browse files
committed
[27222] never send second create event for document, send update instead
1 parent 625e819 commit 473428e

1 file changed

Lines changed: 5 additions & 9 deletions

File tree

bundles/ch.elexis.core.ui.documents/src/ch/elexis/core/ui/documents/handler/DocumentCrudHandler.java

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@
2525

2626
import ch.elexis.core.common.ElexisEventTopics;
2727
import ch.elexis.core.data.events.ElexisEvent;
28-
import ch.elexis.core.data.events.ElexisEventDispatcher;
2928
import ch.elexis.core.exceptions.ElexisException;
3029
import ch.elexis.core.l10n.Messages;
3130
import ch.elexis.core.model.IDocument;
31+
import ch.elexis.core.model.IPatient;
3232
import ch.elexis.core.model.Identifiable;
3333
import ch.elexis.core.services.holder.ContextServiceHolder;
3434
import ch.elexis.core.ui.documents.service.DocumentStoreServiceHolder;
@@ -37,7 +37,6 @@
3737
import ch.elexis.core.ui.locks.AcquireLockBlockingUi;
3838
import ch.elexis.core.ui.locks.ILockHandler;
3939
import ch.elexis.core.ui.util.SWTHelper;
40-
import ch.elexis.data.Patient;
4140

4241
public class DocumentCrudHandler extends AbstractHandler implements IHandler {
4342
private static Logger logger = LoggerFactory.getLogger(DocumentCrudHandler.class);
@@ -52,7 +51,7 @@ public class DocumentCrudHandler extends AbstractHandler implements IHandler {
5251
@Override
5352
public Object execute(ExecutionEvent event) throws ExecutionException {
5453

55-
Patient patient = ElexisEventDispatcher.getSelectedPatient();
54+
IPatient patient = ContextServiceHolder.get().getActivePatient().orElse(null);
5655
if (patient != null && patient.getId() != null) {
5756
Shell shell = PlatformUI.getWorkbench().getDisplay().getActiveShell();
5857

@@ -140,14 +139,12 @@ public void lockFailed() {
140139
@Override
141140
public void lockAcquired() {
142141
DocumentStoreServiceHolder.getService().removeDocument(document);
143-
ElexisEventDispatcher.getInstance().fire(
144-
new ElexisEvent(document, IDocument.class, eventType, ElexisEvent.PRIORITY_NORMAL));
142+
ContextServiceHolder.get().postEvent(ElexisEventTopics.EVENT_UPDATE, document);
145143
}
146144
});
147145
} else {
148146
DocumentStoreServiceHolder.getService().removeDocument(document);
149-
ElexisEventDispatcher.getInstance()
150-
.fire(new ElexisEvent(document, IDocument.class, eventType, ElexisEvent.PRIORITY_NORMAL));
147+
ContextServiceHolder.get().postEvent(ElexisEventTopics.EVENT_UPDATE, document);
151148
}
152149
}
153150
}
@@ -192,8 +189,7 @@ private Optional<IDocument> openMetaDataDialogNoLocking(Shell shell, IDocument d
192189
if (file != null) {
193190
try (InputStream fin = new FileInputStream(file)) {
194191
IDocument savedDocument = DocumentStoreServiceHolder.getService().saveDocument(document, fin);
195-
ElexisEventDispatcher.getInstance().fire(new ElexisEvent(savedDocument, IDocument.class,
196-
eventType, ElexisEvent.PRIORITY_NORMAL));
192+
ContextServiceHolder.get().postEvent(ElexisEventTopics.EVENT_UPDATE, savedDocument);
197193
return Optional.of(savedDocument);
198194
}
199195
} else {

0 commit comments

Comments
 (0)