Skip to content

Commit

Permalink
Several changes made
Browse files Browse the repository at this point in the history
  • Loading branch information
danielfernandez committed Jun 21, 2010
1 parent b858383 commit 3879bec
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 1 deletion.
2 changes: 1 addition & 1 deletion pom.xml
Expand Up @@ -6,7 +6,7 @@
<groupId>org.javagalician</groupId>
<artifactId>javagalician-java6</artifactId>
<packaging>jar</packaging>
<version>1.0</version>
<version>1.1</version>
<name>javagalician</name>
<url>http://www.javagalician.org</url>

Expand Down
Expand Up @@ -50,6 +50,9 @@ public String getDisplayName(final String ID, final boolean daylight, final int

final DateFormatSymbols symbols = DateFormatSymbols.getInstance(Locales.GALICIAN_ES);
final String[][] zoneStrings = symbols.getZoneStrings();
/*
* First, try to retrieve a name using the specified ID as the main timezone ID
*/
for (int i = 0; i < zoneStrings.length; i++) {
if (ID.equalsIgnoreCase(zoneStrings[i][0])) {
switch (style) {
Expand All @@ -60,7 +63,39 @@ public String getDisplayName(final String ID, final boolean daylight, final int
}
}
}
/*
* Then try to retrieve a name using the specified ID as a short name
* (first, non-daylight saving - then, daylight-saving).
*/
if (!daylight) {
for (int i = 0; i < zoneStrings.length; i++) {
if (ID.equalsIgnoreCase(zoneStrings[i][2])) {
switch (style) {
case TimeZone.LONG :
return (daylight? zoneStrings[i][3] : zoneStrings[i][1]);
case TimeZone.SHORT :
return (daylight? zoneStrings[i][4] : zoneStrings[i][2]);
}
}
}
} else {
for (int i = 0; i < zoneStrings.length; i++) {
if (ID.equalsIgnoreCase(zoneStrings[i][4])) {
switch (style) {
case TimeZone.LONG :
return (daylight? zoneStrings[i][3] : zoneStrings[i][1]);
case TimeZone.SHORT :
return (daylight? zoneStrings[i][4] : zoneStrings[i][2]);
}
}
}
}

/*
* If we don't have a name yet, default to en_US
*/
final TimeZone timeZone = TimeZone.getTimeZone(ID);
return timeZone.getDisplayName(new Locale("en","US"));
}
throw new IllegalArgumentException("Locale \"" + locale + "\" " +
"is not one of the supported locales (" + Arrays.asList(Locales.GALICIAN_ARRAY) + ")");
Expand All @@ -78,4 +113,5 @@ public Locale[] getAvailableLocales() {
return Locales.GALICIAN_ARRAY;
}


}
@@ -1,8 +1,11 @@
package org.javagalician.java6.text;

import java.util.Calendar;
import java.util.TimeZone;

import org.javagalician.java6.constants.Locales;
import org.javagalician.java6.text.GalicianDateFormatSymbols;
import org.javagalician.java6.util.spi.GalicianTimeZoneNameProvider;

import junit.framework.Assert;
import junit.framework.TestCase;
Expand All @@ -26,5 +29,13 @@ public void testWeekdays() throws Exception {
Assert.assertEquals("xoves", this.dateFormatSymbols.getWeekdays()[Calendar.THURSDAY]);
Assert.assertEquals("venres", this.dateFormatSymbols.getWeekdays()[Calendar.FRIDAY]);
}

public void testTimeZoneNames() throws Exception {
final TimeZone timeZone1 = TimeZone.getTimeZone("CEST");
System.out.println(timeZone1.getDisplayName(Locales.GALICIAN_ES));
System.out.println(timeZone1.getDisplayName(Locales.CASTILIAN));
final GalicianTimeZoneNameProvider prov = new GalicianTimeZoneNameProvider();
System.out.println("-"+prov.getDisplayName("CEST", false, TimeZone.LONG, Locales.GALICIAN_ES) + "-");
}

}

0 comments on commit 3879bec

Please sign in to comment.