]> git.basschouten.com Git - openhab-addons.git/blob
fae86487fed87266510aca8a303c152a1cda4280
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2021 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 https://developer.deutschebahn.com/store/apis/info?name=Timetables&version=v1&provider=DBOpenData&#tab1
26  *
27  * @author Sönke Küper - initial contribution
28  */
29 @NonNullByDefault
30 public final class MessageCodes {
31
32     private static 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 }