struts-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lukasz Lenart (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (WW-4762) DefaultLocalizedTextProvider refactoring
Date Fri, 12 May 2017 06:35:04 GMT

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

Lukasz Lenart edited comment on WW-4762 at 5/12/17 6:34 AM:
------------------------------------------------------------

ok, I copied the tiles plugin also (and now the tiles error is gone and it works).

When i add

{code:xml}
<constant name="struts.localizedTextProvider" value="default-only" />
{code}

I get this (core jar)
{noformat}
SEVERE: Servlet.service() for servlet [default] in context with path [] threw exception
java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException:
java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: Unable
to load bean com.opensymphony.xwork2.LocalizedTextProvider (default-only) - [unknown location]
at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:131)
	at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:52)
	at com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:491)
	at com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:501)
	at com.opensymphony.xwork2.inject.ContainerImpl$9.call(ContainerImpl.java:532)
	at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:560)
	at com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:530)
	at org.apache.struts2.dispatcher.PrepareOperations.createActionContext(PrepareOperations.java:84)
	at org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:134)
{noformat}

To make it work : 

{code:xml}
<constant name="struts.localizedTextProvider" value="default-only" />
{code}

and then update my :

{code}
struts.custom.i18n.resources=ApplicationResources
{code}

to include EventAdd, EventEdit, FolderAdd, FolderEdit, etc there are probably about 40 files
as they are validator message.properties etc

ie.
{code}
struts.custom.i18n.resources=ApplicationResources, EventAdd, EventEdit, FolderAdd, FolderEdit
{code}




was (Author: gregh99):
ok, I copied the tiles plugin also (and now the tiles error is gone and it works).

When i add

```xml
<constant name="struts.localizedTextProvider" value="default-only" />
```

I get this (core jar)
SEVERE: Servlet.service() for servlet [default] in context with path [] threw exception
java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException:
java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: Unable
to load bean com.opensymphony.xwork2.LocalizedTextProvider (default-only) - [unknown location]
at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:131)
	at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:52)
	at com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:491)
	at com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:501)
	at com.opensymphony.xwork2.inject.ContainerImpl$9.call(ContainerImpl.java:532)
	at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:560)
	at com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:530)
	at org.apache.struts2.dispatcher.PrepareOperations.createActionContext(PrepareOperations.java:84)
	at org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:134)
#####
To make it work : 

```xml
<constant name="struts.localizedTextProvider" value="default-only" />
```
and then update my :

struts.custom.i18n.resources=ApplicationResources

to include EventAdd, EventEdit, FolderAdd, FolderEdit, etc there are probably about 40 files
as they are validator message.properties etc

ie
struts.custom.i18n.resources=ApplicationResources, EventAdd, EventEdit, FolderAdd, FolderEdit




> DefaultLocalizedTextProvider refactoring
> ----------------------------------------
>
>                 Key: WW-4762
>                 URL: https://issues.apache.org/jira/browse/WW-4762
>             Project: Struts 2
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Greg Huber
>            Assignee: Lukasz Lenart
>            Priority: Minor
>             Fix For: 2.5.next
>
>
> Now that DefaultLocalizedTextProvider is a bean, would it be possible to refactor the
code to allow an override so we can change the default behavior on the package searching for
the resource.properties files.  Currently is does an extensive search up the class interfaces
first which on busy screens slows things down and is an unnecessary overhead. 
> ie As I have migrated from struts1 my main UI resources are in the default ApplicationResources.properties
file and are shared across struts ui classes in various packages. I would not want to duplicate
the .properties entries for maintenance etc.
> I would then want to search the default ApplicationResources.properties first and then
package class (for validation messages) and then possibly up the interfaces (which would not
make sense for me as I do not use this logic).
> Discussion related to this
> http://markmail.org/message/v2oc6c35swfwzwid



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message