[jira] [Comment Edited] (WW-4829) Set a global resource bundle in class

2017-08-01 Thread Lukasz Lenart (JIRA)

[ 
https://issues.apache.org/jira/browse/WW-4829?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16108655#comment-16108655
 ] 

Lukasz Lenart edited comment on WW-4829 at 8/1/17 9:57 AM:
---

I would do it like this

{code:java}
public class MyTextProviderFactory implements TextProviderFactory {

protected LocaleProviderFactory localeProviderFactory;
protected LocalizedTextProvider localizedTextProvider;

@Inject
public StrutsTextProviderFactory(LocaleProviderFactory 
localeProviderFactory, LocalizedTextProvider localizedTextProvider) {
this.localeProviderFactory = localeProviderFactory;
this.localizedTextProvider = localizedTextProvider;

this.localizedTextProvider.addDefaultResourceBundle("myBundle");
}

@Override
public TextProvider createInstance(Class clazz) {
TextProvider instance = getTextProvider(clazz);
if (instance instanceof ResourceBundleTextProvider) {
((ResourceBundleTextProvider) instance).setClazz(clazz);
((ResourceBundleTextProvider) 
instance).setLocaleProvider(localeProviderFactory.createLocaleProvider());
}
return instance;
}

@Override
public TextProvider createInstance(ResourceBundle bundle) {
TextProvider instance = getTextProvider(bundle);
if (instance instanceof ResourceBundleTextProvider) {
((ResourceBundleTextProvider) instance).setBundle(bundle);
((ResourceBundleTextProvider) 
instance).setLocaleProvider(localeProviderFactory.createLocaleProvider());
}
return instance;
}

protected TextProvider getTextProvider(Class clazz) {
return new TextProviderSupport(clazz, 
localeProviderFactory.createLocaleProvider(), localizedTextProvider);
}

protected TextProvider getTextProvider(ResourceBundle bundle) {
return new TextProviderSupport(bundle, 
localeProviderFactory.createLocaleProvider(), localizedTextProvider);
}

}
{code}


was (Author: lukaszlenart):
I would do it like this

{code:java}
public class StrutsTextProviderFactory implements TextProviderFactory {

protected LocaleProviderFactory localeProviderFactory;
protected LocalizedTextProvider localizedTextProvider;

@Inject
public StrutsTextProviderFactory(LocaleProviderFactory 
localeProviderFactory, LocalizedTextProvider localizedTextProvider) {
this.localeProviderFactory = localeProviderFactory;
this.localizedTextProvider = localizedTextProvider;

this.localizedTextProvider.addDefaultResourceBundle("myBundle");
}

@Override
public TextProvider createInstance(Class clazz) {
TextProvider instance = getTextProvider(clazz);
if (instance instanceof ResourceBundleTextProvider) {
((ResourceBundleTextProvider) instance).setClazz(clazz);
((ResourceBundleTextProvider) 
instance).setLocaleProvider(localeProviderFactory.createLocaleProvider());
}
return instance;
}

@Override
public TextProvider createInstance(ResourceBundle bundle) {
TextProvider instance = getTextProvider(bundle);
if (instance instanceof ResourceBundleTextProvider) {
((ResourceBundleTextProvider) instance).setBundle(bundle);
((ResourceBundleTextProvider) 
instance).setLocaleProvider(localeProviderFactory.createLocaleProvider());
}
return instance;
}

protected TextProvider getTextProvider(Class clazz) {
return new TextProviderSupport(clazz, 
localeProviderFactory.createLocaleProvider(), localizedTextProvider);
}

protected TextProvider getTextProvider(ResourceBundle bundle) {
return new TextProviderSupport(bundle, 
localeProviderFactory.createLocaleProvider(), localizedTextProvider);
}

}
{code}

> Set a global resource bundle in class 
> --
>
> Key: WW-4829
> URL: https://issues.apache.org/jira/browse/WW-4829
> Project: Struts 2
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 2.5.12
>Reporter: Alireza Fattahi
> Fix For: 2.5.13
>
>
> In struts 2.5.12 the *LocalizedTextUtil* is removed.
> We used to `*LocalizedTextUtil.addDefaultResourceBundle*` in our classes to 
> add resource bundles. This was mentioned in 
> https://struts.apache.org/docs/how-do-i-set-a-global-resource-bundle.html
> Can you please let me know how this can be done with this change ?!



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Comment Edited] (WW-4829) Set a global resource bundle in class

2017-08-01 Thread Lukasz Lenart (JIRA)

[ 
https://issues.apache.org/jira/browse/WW-4829?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16108655#comment-16108655
 ] 

Lukasz Lenart edited comment on WW-4829 at 8/1/17 9:57 AM:
---

I would do it like this

{code:java}
public class MyTextProviderFactory implements TextProviderFactory {

protected LocaleProviderFactory localeProviderFactory;
protected LocalizedTextProvider localizedTextProvider;

@Inject
public MyTextProviderFactory(LocaleProviderFactory localeProviderFactory, 
LocalizedTextProvider localizedTextProvider) {
this.localeProviderFactory = localeProviderFactory;
this.localizedTextProvider = localizedTextProvider;

this.localizedTextProvider.addDefaultResourceBundle("myBundle");
}

@Override
public TextProvider createInstance(Class clazz) {
TextProvider instance = getTextProvider(clazz);
if (instance instanceof ResourceBundleTextProvider) {
((ResourceBundleTextProvider) instance).setClazz(clazz);
((ResourceBundleTextProvider) 
instance).setLocaleProvider(localeProviderFactory.createLocaleProvider());
}
return instance;
}

@Override
public TextProvider createInstance(ResourceBundle bundle) {
TextProvider instance = getTextProvider(bundle);
if (instance instanceof ResourceBundleTextProvider) {
((ResourceBundleTextProvider) instance).setBundle(bundle);
((ResourceBundleTextProvider) 
instance).setLocaleProvider(localeProviderFactory.createLocaleProvider());
}
return instance;
}

protected TextProvider getTextProvider(Class clazz) {
return new TextProviderSupport(clazz, 
localeProviderFactory.createLocaleProvider(), localizedTextProvider);
}

protected TextProvider getTextProvider(ResourceBundle bundle) {
return new TextProviderSupport(bundle, 
localeProviderFactory.createLocaleProvider(), localizedTextProvider);
}

}
{code}


was (Author: lukaszlenart):
I would do it like this

{code:java}
public class MyTextProviderFactory implements TextProviderFactory {

protected LocaleProviderFactory localeProviderFactory;
protected LocalizedTextProvider localizedTextProvider;

@Inject
public StrutsTextProviderFactory(LocaleProviderFactory 
localeProviderFactory, LocalizedTextProvider localizedTextProvider) {
this.localeProviderFactory = localeProviderFactory;
this.localizedTextProvider = localizedTextProvider;

this.localizedTextProvider.addDefaultResourceBundle("myBundle");
}

@Override
public TextProvider createInstance(Class clazz) {
TextProvider instance = getTextProvider(clazz);
if (instance instanceof ResourceBundleTextProvider) {
((ResourceBundleTextProvider) instance).setClazz(clazz);
((ResourceBundleTextProvider) 
instance).setLocaleProvider(localeProviderFactory.createLocaleProvider());
}
return instance;
}

@Override
public TextProvider createInstance(ResourceBundle bundle) {
TextProvider instance = getTextProvider(bundle);
if (instance instanceof ResourceBundleTextProvider) {
((ResourceBundleTextProvider) instance).setBundle(bundle);
((ResourceBundleTextProvider) 
instance).setLocaleProvider(localeProviderFactory.createLocaleProvider());
}
return instance;
}

protected TextProvider getTextProvider(Class clazz) {
return new TextProviderSupport(clazz, 
localeProviderFactory.createLocaleProvider(), localizedTextProvider);
}

protected TextProvider getTextProvider(ResourceBundle bundle) {
return new TextProviderSupport(bundle, 
localeProviderFactory.createLocaleProvider(), localizedTextProvider);
}

}
{code}

> Set a global resource bundle in class 
> --
>
> Key: WW-4829
> URL: https://issues.apache.org/jira/browse/WW-4829
> Project: Struts 2
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 2.5.12
>Reporter: Alireza Fattahi
> Fix For: 2.5.13
>
>
> In struts 2.5.12 the *LocalizedTextUtil* is removed.
> We used to `*LocalizedTextUtil.addDefaultResourceBundle*` in our classes to 
> add resource bundles. This was mentioned in 
> https://struts.apache.org/docs/how-do-i-set-a-global-resource-bundle.html
> Can you please let me know how this can be done with this change ?!



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Comment Edited] (WW-4829) Set a global resource bundle in class

2017-07-31 Thread Alireza Fattahi (JIRA)

[ 
https://issues.apache.org/jira/browse/WW-4829?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16107263#comment-16107263
 ] 

Alireza Fattahi edited comment on WW-4829 at 7/31/17 12:44 PM:
---

Can you please help me with this too:

Here is the code:

{code:java}
public class CustomStrutsTextProviderFactory extends StrutsTextProviderFactory {

@Override
protected TextProvider getTextProvider(Class clazz) {
   localizedTextProvider.addDefaultResourceBundle("messages/label");

localizedTextProvider.addDefaultResourceBundle("messages/customerA/label");
return new CustomTextProvider(clazz, 
localeProviderFactory.createLocaleProvider(), localizedTextProvider);
  }

{code}

The code works, but for every request the 
*CustomStrutsTextProviderFactory.getTextProvider* is called. So the 
*localizedTextProvider.addDefaultResourceBundle* is called for every request. 
Although the   *AbstractLocalizedTextProvider.addDefaultResourceBundle* make 
sure bundle is not doesn't get added more than once it is not a good approch 
... 

I think the *CustomStrutsTextProviderFactory* could be write better, any idea!


was (Author: afattahi):
Can you please help me with this too:

Here is the code:

{code:java}
public class CustomStrutsTextProviderFactory extends StrutsTextProviderFactory {

@Override
protected TextProvider getTextProvider(Class clazz) {
   localizedTextProvider.addDefaultResourceBundle("messages/label");

localizedTextProvider.addDefaultResourceBundle("messages/customerA/label");
return new CustomTextProvider(clazz, 
localeProviderFactory.createLocaleProvider(), localizedTextProvider);
  }

{code}

The code works, but for every request the 
*CustomStrutsTextProviderFactory.getTextProvider* is called. So the 
*localizedTextProvider.addDefaultResourceBundle* is called for every request. 
Although the   *AbstractLocalizedTextProvider.addDefaultResourceBundle* make 
sure bundle is not doesn't get added more than once ... I think the 
*CustomStrutsTextProviderFactory* could be write better.

> Set a global resource bundle in class 
> --
>
> Key: WW-4829
> URL: https://issues.apache.org/jira/browse/WW-4829
> Project: Struts 2
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 2.5.12
>Reporter: Alireza Fattahi
> Fix For: 2.5.13
>
>
> In struts 2.5.12 the *LocalizedTextUtil* is removed.
> We used to `*LocalizedTextUtil.addDefaultResourceBundle*` in our classes to 
> add resource bundles. This was mentioned in 
> https://struts.apache.org/docs/how-do-i-set-a-global-resource-bundle.html
> Can you please let me know how this can be done with this change ?!



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Comment Edited] (WW-4829) Set a global resource bundle in class

2017-07-31 Thread Lukasz Lenart (JIRA)

[ 
https://issues.apache.org/jira/browse/WW-4829?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16106466#comment-16106466
 ] 

Lukasz Lenart edited comment on WW-4829 at 7/31/17 9:26 AM:


Thanks !
I put some code at WW-4830 for whom has same issue.


was (Author: afattahi):
Thanks !
I put some code at https://issues.apache.org/jira/browse/WW-4830 for whom has 
same issue.

> Set a global resource bundle in class 
> --
>
> Key: WW-4829
> URL: https://issues.apache.org/jira/browse/WW-4829
> Project: Struts 2
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 2.5.12
>Reporter: Alireza Fattahi
> Fix For: 2.5.13
>
>
> In struts 2.5.12 the *LocalizedTextUtil* is removed.
> We used to `*LocalizedTextUtil.addDefaultResourceBundle*` in our classes to 
> add resource bundles. This was mentioned in 
> https://struts.apache.org/docs/how-do-i-set-a-global-resource-bundle.html
> Can you please let me know how this can be done with this change ?!



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)