Skip to content

Package: AbstractDefaultApplication$1

AbstractDefaultApplication$1

nameinstructionbranchcomplexitylinemethod
close()
M: 4 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
processMessage(Message)
M: 7 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
{...}
M: 9 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%

Coverage

1: /*******************************************************************************
2: * Copyright (c) 2017, 2022 Red Hat Inc and others
3: *
4: * This program and the accompanying materials are made
5: * available under the terms of the Eclipse Public License 2.0
6: * which is available at https://www.eclipse.org/legal/epl-2.0/
7: *
8: * SPDX-License-Identifier: EPL-2.0
9: *
10: * Contributors:
11: * Red Hat Inc - initial API and implementation
12: *******************************************************************************/
13: package org.eclipse.kapua.kura.simulator.app;
14:
15: import org.eclipse.kapua.kura.simulator.payload.Message;
16: import org.slf4j.Logger;
17: import org.slf4j.LoggerFactory;
18:
19: public abstract class AbstractDefaultApplication implements Application {
20:
21: private static final Logger logger = LoggerFactory.getLogger(AbstractDefaultApplication.class);
22:
23: private final Descriptor descriptor;
24:
25: protected abstract void processRequest(final Request request) throws Exception;
26:
27: public AbstractDefaultApplication(final String applicationId) {
28: this.descriptor = new Descriptor(applicationId);
29: }
30:
31: @Override
32: public Descriptor getDescriptor() {
33: return this.descriptor;
34: }
35:
36: @Override
37: public Handler createHandler(final ApplicationContext context) {
38: return new Handler() {
39:
40: @Override
41: public void processMessage(final Message message) {
42: AbstractDefaultApplication.this.process(context, message);
43: }
44:
45: @Override
46: public void close() throws Exception {
47: AbstractDefaultApplication.this.close();
48: }
49: };
50: }
51:
52: protected void process(final ApplicationContext context, final Message message) {
53: logger.debug("Received message: {}", message);
54:
55: final Request request;
56: try {
57: request = Request.parse(context, message);
58: } catch (final Exception e) {
59: logger.warn("Failed to parse request message", e);
60: return;
61: }
62:
63: logger.debug("Processing request: {}", request);
64:
65: try {
66: processRequest(request);
67: } catch (final Exception e) {
68: logger.info("Failed to process request", e);
69: request.replyError(e);
70: }
71: }
72:
73: protected void close() throws Exception {
74: }
75:
76: }