Skip to content

Commit 43e909a

Browse files
committed
[26682] rework emediplan serial barcode buffer, add info logging
1 parent d08d493 commit 43e909a

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

bundles/at.medevit.elexis.emediplan.ui/src/at/medevit/elexis/emediplan/StartupHandler.java

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,7 @@
3636
public class StartupHandler implements EventHandler {
3737
private static Logger logger = LoggerFactory.getLogger(StartupHandler.class);
3838

39-
private StringBuffer buffer;
40-
private boolean bufferStarted;
39+
private volatile StringBuffer buffer;
4140

4241
public static void openEMediplanImportDialog(String chunk, String selectedPatientId) {
4342
Medication medication = EMediplanServiceHolder.getService().createModelFromChunk(chunk);
@@ -106,28 +105,29 @@ public void handleEvent(Event event) {
106105
BarcodeScannerMessage b = (BarcodeScannerMessage) event.getProperty("org.eclipse.e4.data");
107106
if (hasMediplanHeader(b.getChunk())) {
108107
chunkBuffer(b);
109-
} else if (bufferStarted) {
108+
} else if (buffer != null) {
110109
chunkBuffer(b);
111110
}
112111
}
113112
}
114113
}
115114

116-
private void chunkBuffer(BarcodeScannerMessage message) {
115+
private synchronized void chunkBuffer(BarcodeScannerMessage message) {
117116
if (buffer == null) {
117+
LoggerFactory.getLogger(StartupHandler.class).info("Start emdiplan buffer"); //$NON-NLS-1$
118118
buffer = new StringBuffer();
119119
}
120-
if (!bufferStarted) {
121-
bufferStarted = true;
122-
new Timer().schedule(new TimerTask() {
123-
@Override
124-
public void run() {
120+
buffer.append(message.getChunk());
121+
new Timer().schedule(new TimerTask() {
122+
@Override
123+
public void run() {
124+
if (buffer != null) {
125+
LoggerFactory.getLogger(StartupHandler.class)
126+
.info("Import emdiplan buffer [" + buffer.length() + "]"); //$NON-NLS-1$ //$NON-NLS-2$
125127
openEMediplanImportDialog(buffer.toString(), null);
126-
bufferStarted = false;
127128
buffer = null;
128129
}
129-
}, 500);
130-
}
131-
buffer.append(message.getChunk());
130+
}
131+
}, 500);
132132
}
133133
}

0 commit comments

Comments
 (0)