]> git.basschouten.com Git - openhab-addons.git/blob
f0eb0131f59c93f3b1faaaa8987f5911bda0c672
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2023 Contributors to the openHAB project
3  *
4  * See the NOTICE file(s) distributed with this work for additional
5  * information.
6  *
7  * This program and the accompanying materials are made available under the
8  * terms of the Eclipse Public License 2.0 which is available at
9  * http://www.eclipse.org/legal/epl-2.0
10  *
11  * SPDX-License-Identifier: EPL-2.0
12  */
13 package org.openhab.binding.deutschebahn.internal;
14
15 import java.util.HashMap;
16 import java.util.Map;
17
18 import org.eclipse.jdt.annotation.NonNullByDefault;
19
20 /**
21  * Class containing the mappings for all message status codes.
22  * 
23  * chapter "2 List of all codes" in Technical Interface Description for external Developers
24  *
25  * @see <a href="https://developers.deutschebahn.com/db-api-marketplace/apis/product/timetables">DB API Marketplace</a>
26  *
27  * @author Sönke Küper - initial contribution
28  */
29 @NonNullByDefault
30 public final class MessageCodes {
31
32     private static final Map<Integer, String> CODES = new HashMap<>();
33     static {
34         CODES.put(0, "keine Verspätungsbegründung");
35         CODES.put(2, "Polizeiliche Ermittlung");
36         CODES.put(3, "Feuerwehreinsatz an der Strecke");
37         CODES.put(4, "kurzfristiger Personalausfall");
38         CODES.put(5, "ärztliche Versorgung eines Fahrgastes");
39         CODES.put(6, "Betätigen der Notbremse");
40         CODES.put(7, "Personen im Gleis");
41         CODES.put(8, "Notarzteinsatz am Gleis");
42         CODES.put(9, "Streikauswirkungen");
43         CODES.put(10, "Tiere im Gleis");
44         CODES.put(11, "Unwetter");
45         CODES.put(12, "Warten auf ein verspätetes Schiff");
46         CODES.put(13, "Pass- und Zollkontrolle");
47         CODES.put(14, "Technische Störung am Bahnhof");
48         CODES.put(15, "Beeinträchtigung durch Vandalismus");
49         CODES.put(16, "Entschärfung einer Fliegerbombe");
50         CODES.put(17, "Beschädigung einer Brücke");
51         CODES.put(18, "umgestürzter Baum im Gleis");
52         CODES.put(19, "Unfall an einem Bahnübergang");
53         CODES.put(20, "Tiere im Gleis");
54         CODES.put(21, "Warten auf Fahrgäste aus einem anderen Zug");
55         CODES.put(22, "Witterungsbedingte Störung");
56         CODES.put(23, "Feuerwehreinsatz auf Bahngelände");
57         CODES.put(24, "Verspätung im Ausland");
58         CODES.put(25, "Warten auf weitere Wagen");
59         CODES.put(28, "Gegenstände im Gleis");
60         CODES.put(29, "Ersatzverkehr mit Bus ist eingerichtet");
61         CODES.put(31, "Bauarbeiten");
62         CODES.put(32, "Verzögerung beim Ein-/Ausstieg");
63         CODES.put(33, "Oberleitungsstörung");
64         CODES.put(34, "Signalstörung");
65         CODES.put(35, "Streckensperrung");
66         CODES.put(36, "technische Störung am Zug");
67         CODES.put(38, "technische Störung an der Strecke");
68         CODES.put(39, "Anhängen von zusätzlichen Wagen");
69         CODES.put(40, "Stellwerksstörung /-ausfall");
70         CODES.put(41, "Störung an einem Bahnübergang");
71         CODES.put(42, "außerplanmäßige Geschwindigkeitsbeschränkung");
72         CODES.put(43, "Verspätung eines vorausfahrenden Zuges");
73         CODES.put(44, "Warten auf einen entgegenkommenden Zug");
74         CODES.put(45, "Überholung");
75         CODES.put(46, "Warten auf freie Einfahrt");
76         CODES.put(47, "verspätete Bereitstellung des Zuges");
77         CODES.put(48, "Verspätung aus vorheriger Fahrt");
78         CODES.put(55, "technische Störung an einem anderen Zug");
79         CODES.put(56, "Warten auf Fahrgäste aus einem Bus");
80         CODES.put(57, "Zusätzlicher Halt zum Ein-/Ausstieg für Reisende");
81         CODES.put(58, "Umleitung des Zuges");
82         CODES.put(59, "Schnee und Eis");
83         CODES.put(60, "Reduzierte Geschwindigkeit wegen Sturm");
84         CODES.put(61, "Türstörung");
85         CODES.put(62, "behobene technische Störung am Zug");
86         CODES.put(63, "technische Untersuchung am Zug");
87         CODES.put(64, "Weichenstörung");
88         CODES.put(65, "Erdrutsch");
89         CODES.put(66, "Hochwasser");
90         CODES.put(70, "WLAN im gesamten Zug nicht verfügbar");
91         CODES.put(71, "WLAN in einem/mehreren Wagen nicht verfügbar");
92         CODES.put(72, "Info-/Entertainment nicht verfügbar");
93         CODES.put(73, "Heute: Mehrzweckabteil vorne");
94         CODES.put(74, "Heute: Mehrzweckabteil hinten");
95         CODES.put(75, "Heute: 1. Klasse vorne");
96         CODES.put(76, "Heute: 1. Klasse hinten");
97         CODES.put(77, "ohne 1. Klasse");
98         CODES.put(79, "ohne Mehrzweckabteil");
99         CODES.put(80, "andere Reihenfolge der Wagen");
100         CODES.put(82, "mehrere Wagen fehlen");
101         CODES.put(83, "Störung fahrzeuggebundene Einstiegshilfe");
102         CODES.put(84, "Zug verkehrt richtig gereiht");
103         CODES.put(85, "ein Wagen fehlt");
104         CODES.put(86, "gesamter Zug ohne Reservierung");
105         CODES.put(87, "einzelne Wagen ohne Reservierung");
106         CODES.put(88, "keine Qualitätsmängel");
107         CODES.put(89, "Reservierungen sind wieder vorhanden");
108         CODES.put(90, "kein gastronomisches Angebot");
109         CODES.put(91, "fehlende Fahrradbeförderung");
110         CODES.put(92, "Eingeschränkte Fahrradbeförderung");
111         CODES.put(93, "keine behindertengerechte Einrichtung");
112         CODES.put(94, "Ersatzbewirtschaftung");
113         CODES.put(95, "Ohne behindertengerechtes WC");
114         CODES.put(96, "Überbesetzung mit Kulanzleistungen");
115         CODES.put(97, "Überbesetzung ohne Kulanzleistungen");
116         CODES.put(98, "sonstige Qualitätsmängel");
117         CODES.put(99, "Verzögerungen im Betriebsablauf");
118     }
119
120     private MessageCodes() {
121     }
122
123     /**
124      * Returns the message for the given code or emtpy string if not present.
125      */
126     public static String getMessage(final int code) {
127         final String message = CODES.get(code);
128         if (message == null) {
129             return "";
130         } else {
131             return message;
132         }
133     }
134 }