Skip to content

Commit 6724447

Browse files
author
oleg
committed
changed language implementation to use I18N for it's operations, so it's now just a simplification wrapper over I18N.
And it's Java 1.5 only ..
1 parent 9d5b4d5 commit 6724447

File tree

2 files changed

+32
-39
lines changed

2 files changed

+32
-39
lines changed

src/main/java/org/codehaus/plexus/i18n/DefaultLanguage.java

Lines changed: 31 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import java.util.Locale;
44
import java.util.ResourceBundle;
55

6+
import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
7+
68

79
/**
810
*
@@ -14,49 +16,48 @@
1416
*/
1517
public class DefaultLanguage
1618
implements Language
17-
{
18-
public static String DEFAULT_NAME = "Messages";
19-
20-
private Class clazz;
21-
ResourceBundle rb;
19+
{
20+
private String bundleName;
21+
private Locale locale;
22+
// private ResourceBundle rb;
23+
private DefaultI18N i18n = new DefaultI18N();
24+
private String error;
2225
//-------------------------------------------------------------------------------------
2326
public DefaultLanguage()
2427
{
2528
}
2629
//-------------------------------------------------------------------------------------
2730
public DefaultLanguage( Class clazz )
2831
{
29-
this( clazz, Locale.getDefault() );
32+
this.bundleName = clazz.getPackage().getName()+"."+DEFAULT_NAME;
33+
try
34+
{
35+
i18n.initialize();
36+
}
37+
catch( InitializationException e )
38+
{
39+
error = e.getMessage();
40+
}
3041
}
3142
//-------------------------------------------------------------------------------------
3243
public DefaultLanguage( Class clazz, Locale locale )
3344
{
34-
this.clazz = clazz;
35-
rb = ResourceBundle.getBundle( clazz.getPackage().getName()+"."+DEFAULT_NAME, locale, clazz.getClassLoader() );
36-
}
37-
//-------------------------------------------------------------------------------------
38-
public Language init()
39-
{
40-
return new DefaultLanguage();
41-
}
42-
//-------------------------------------------------------------------------------------
43-
public Language init(Class clazz, Locale locale)
44-
{
45-
return new DefaultLanguage( clazz, locale );
45+
this( clazz );
46+
this.locale = locale;
47+
// rb = ResourceBundle.getBundle( clazz.getPackage().getName()+"."+DEFAULT_NAME, locale, clazz.getClassLoader() );
4648
}
4749
//-------------------------------------------------------------------------------------
48-
public Language init(Class clazz)
49-
{
50-
return new DefaultLanguage( clazz );
51-
}
52-
//-------------------------------------------------------------------------------------
53-
public String getMessage( String key )
54-
{
55-
if( rb == null )
56-
return "resourceBundle not initialized for "+(clazz==null?"null":clazz.getName() );
57-
58-
return rb.getString(key);
59-
}
50+
public String getMessage( String key, String... args )
51+
{
52+
53+
if( error != null )
54+
return error;
55+
56+
if( args == null || args.length == 0)
57+
return i18n.getString( bundleName, locale, key );
58+
59+
return i18n.format( bundleName, locale, key, args );
60+
}
6061
//-------------------------------------------------------------------------------------
6162
//-------------------------------------------------------------------------------------
6263
}

src/main/java/org/codehaus/plexus/i18n/Language.java

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,8 @@ public interface Language
88

99
/** look for Messages.properties in the clazz package by default */
1010
public static final String DEFAULT_NAME = "Messages";
11-
12-
public Language init();
13-
14-
@SuppressWarnings("unchecked")
15-
public Language init( Class clazz );
16-
17-
@SuppressWarnings("unchecked")
18-
public Language init( Class clazz, Locale locale );
1911

20-
public String getMessage( String key )
12+
public String getMessage( String key, String... args )
2113
;
2214

2315
}

0 commit comments

Comments
 (0)