118 lines
4.1 KiB
Java
118 lines
4.1 KiB
Java
package com.flaremicro.visualforecast.datamart;
|
|
|
|
import java.io.BufferedReader;
|
|
import java.io.IOException;
|
|
import java.io.InputStreamReader;
|
|
import java.util.HashMap;
|
|
|
|
import com.flaremicro.util.Util;
|
|
import com.flaremicro.visualforecast.icons.IconProvider;
|
|
|
|
public class DatamartTranslation {
|
|
|
|
private HashMap<Integer, Byte> iconTranslation = new HashMap<Integer, Byte>();
|
|
private HashMap<String, WeatherLines> stringTranslation = new HashMap<String, WeatherLines>();
|
|
|
|
public DatamartTranslation() {
|
|
iconTranslation.put(0, IconProvider.SUN.id);
|
|
iconTranslation.put(1, IconProvider.PARTLY_CLOUDY.id);
|
|
iconTranslation.put(2, IconProvider.PARTLY_CLOUDY.id);
|
|
iconTranslation.put(3, IconProvider.PARTLY_CLOUDY.id);
|
|
iconTranslation.put(4, IconProvider.PARTLY_CLOUDY.id);
|
|
iconTranslation.put(5, IconProvider.PARTLY_CLOUDY.id);
|
|
iconTranslation.put(6, IconProvider.SCATTERD_SHOWERS.id);
|
|
iconTranslation.put(7, IconProvider.RAIN_SNOW.id);
|
|
iconTranslation.put(8, IconProvider.SNOW.id);
|
|
iconTranslation.put(9, IconProvider.RAIN_STORM.id);
|
|
iconTranslation.put(10, IconProvider.CLOUD.id);
|
|
iconTranslation.put(11, IconProvider.INVALID.id);
|
|
iconTranslation.put(12, IconProvider.RAIN_LIGHT.id);
|
|
iconTranslation.put(13, IconProvider.RAIN_HEAVY.id);
|
|
iconTranslation.put(14, IconProvider.FREEZING_RAIN.id);
|
|
iconTranslation.put(15, IconProvider.SCATTERD_SHOWERS.id);
|
|
iconTranslation.put(16, IconProvider.SNOW.id);
|
|
iconTranslation.put(17, IconProvider.SNOW.id);
|
|
iconTranslation.put(18, IconProvider.BLIZZARD.id);
|
|
iconTranslation.put(19, IconProvider.RAIN_STORM.id);
|
|
iconTranslation.put(20, IconProvider.INVALID.id);
|
|
iconTranslation.put(21, IconProvider.INVALID.id);
|
|
iconTranslation.put(22, IconProvider.PARTLY_CLOUDY.id);
|
|
iconTranslation.put(23, IconProvider.FOG.id);
|
|
iconTranslation.put(24, IconProvider.FOG.id);
|
|
iconTranslation.put(25, IconProvider.INVALID.id);
|
|
iconTranslation.put(26, IconProvider.INVALID.id);
|
|
iconTranslation.put(27, IconProvider.HAIL.id);
|
|
iconTranslation.put(28, IconProvider.RAIN_LIGHTEST.id);
|
|
iconTranslation.put(29, IconProvider.INVALID.id);
|
|
iconTranslation.put(30, IconProvider.SUN.id); //MOON
|
|
iconTranslation.put(31, IconProvider.PARTLY_CLOUDY.id);
|
|
iconTranslation.put(32, IconProvider.PARTLY_CLOUDY.id);
|
|
iconTranslation.put(33, IconProvider.CLOUD.id);
|
|
iconTranslation.put(34, IconProvider.CLOUDY_CLOUDY.id);
|
|
iconTranslation.put(35, IconProvider.PARTLY_CLOUDY.id);
|
|
iconTranslation.put(36, IconProvider.SCATTERD_SHOWERS.id);
|
|
iconTranslation.put(37, IconProvider.RAIN_LIGHT.id);
|
|
iconTranslation.put(38, IconProvider.SNOW.id);
|
|
iconTranslation.put(39, IconProvider.LIGHTNING_STORM.id);
|
|
iconTranslation.put(40, IconProvider.SNOW.id);
|
|
iconTranslation.put(41, IconProvider.INVALID.id);
|
|
iconTranslation.put(42, IconProvider.INVALID.id);
|
|
iconTranslation.put(43, IconProvider.INVALID.id); //WIND
|
|
iconTranslation.put(44, IconProvider.INVALID.id); //SMOKE
|
|
|
|
BufferedReader reader = null;
|
|
try
|
|
{
|
|
reader = new BufferedReader(new InputStreamReader(this.getClass().getResourceAsStream("/translation.csv")));
|
|
String line;
|
|
while((line = reader.readLine()) != null)
|
|
{
|
|
String[] info = line.split(",");
|
|
if(info.length == 2)
|
|
{
|
|
stringTranslation.put(info[0].toLowerCase(), new WeatherLines(info[1], ""));
|
|
}
|
|
else if(info.length == 3)
|
|
{
|
|
stringTranslation.put(info[0].toLowerCase(), new WeatherLines(info[1], info[2]));
|
|
}
|
|
}
|
|
}
|
|
catch (IOException e)
|
|
{
|
|
e.printStackTrace();
|
|
}
|
|
finally
|
|
{
|
|
Util.cleanClose(reader);
|
|
}
|
|
|
|
}
|
|
|
|
public byte icon(int icon) {
|
|
if(!iconTranslation.containsKey(icon))
|
|
return IconProvider.INVALID.id;
|
|
return iconTranslation.get(icon);
|
|
}
|
|
|
|
public WeatherLines weatherName(String desc) {
|
|
WeatherLines lines = stringTranslation.get(desc.toLowerCase());
|
|
if(lines == null)
|
|
{
|
|
System.out.println("FAILED:"+desc.toLowerCase());
|
|
return new WeatherLines("TRANSLAT.", "FAILURE");
|
|
}
|
|
else return lines;
|
|
}
|
|
}
|
|
|
|
class WeatherLines {
|
|
public final String line1;
|
|
public final String line2;
|
|
|
|
public WeatherLines(String line1, String line2) {
|
|
this.line1 = line1;
|
|
this.line2 = line2;
|
|
}
|
|
}
|