[jira] [Commented] (WW-4302) XmlConfigurationProvider.loadedFileUrls only contains the last one of urls with same file name

2014-03-28 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/WW-4302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13951369#comment-13951369
 ] 

ASF subversion and git services commented on WW-4302:
-

Commit 1fae47dfc6c79624488f838e3cc8790fb2d00ae8 in struts's branch 
refs/heads/develop from [~lukaszlenart]
[ https://git-wip-us.apache.org/repos/asf?p=struts.git;h=1fae47d ]

WW-4302 XmlConfigurationProvider.loadedFileUrls observs all loaded files


 XmlConfigurationProvider.loadedFileUrls only contains the last one of urls 
 with same file name
 --

 Key: WW-4302
 URL: https://issues.apache.org/jira/browse/WW-4302
 Project: Struts 2
  Issue Type: Bug
  Components: XML Configuration
Affects Versions: 2.3.16.1
Reporter: Liang Liu
Assignee: Lukasz Lenart
Priority: Minor
  Labels: patch
 Fix For: 2.3.17


 In XmlConfigurationProvider, the field loadedFileUrls contains the xml files 
 loaded. The loaded files will be checked if they are modified for 
 configuration reloading.
 {code:java}
 public boolean needsReload() {
 for (String url : loadedFileUrls) {
 if (fileManager.fileNeedsReloading(url)) {
 return true;
 }
 }
 return false;
 }
 {code}
 But in method private ListDocument loadConfigurationFiles(String fileName, 
 Element includeElement), after the while (urls.hasNext()) loop, the variable 
 url is assigned by the last one of urls with same file name.
 So when loadedFileUrls.add(url.toString()); is called in the for (Document 
 doc : docs) loop, only THE LAST ONE is added to loadedFileUrls.
 I wrote a demo. I set constant name=struts.configuration.xml.reload 
 value=true/
 . I wrote two configuration files: struts-plugin.xml and struts-biz.xml in my 
 web project. I use struts plugins such as struts-spring-plugin, 
 struts-json-plugin and so on.
 The reloading works when I changed the file struts-biz.xml in my project. But 
 it does not work when I changed struts-plugin.xml in my project. I debug 
 XmlConfigurationProvider and see only the struts-plugin.xml in 
 struts-spring-plugin is contained in loadedFileUrls.
 I tried to fix it by moving the loadedFileUrls.add(url.toString()); into the 
 while (urls.hasNext()) loop. I send a pull request in github: 
 https://github.com/apache/struts/pull/6, and I test it running well.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (WW-4302) XmlConfigurationProvider.loadedFileUrls only contains the last one of urls with same file name

2014-03-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WW-4302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13941660#comment-13941660
 ] 

ASF GitHub Bot commented on WW-4302:


Github user code4craft commented on the pull request:

https://github.com/apache/struts/pull/6#issuecomment-38159811
  
The JIRA issue is 
[https://issues.apache.org/jira/browse/WW-4302](https://issues.apache.org/jira/browse/WW-4302).


 XmlConfigurationProvider.loadedFileUrls only contains the last one of urls 
 with same file name
 --

 Key: WW-4302
 URL: https://issues.apache.org/jira/browse/WW-4302
 Project: Struts 2
  Issue Type: Bug
  Components: XML Configuration
Affects Versions: 2.3.16.1
Reporter: Liang Liu
Priority: Minor
  Labels: patch
 Fix For: 2.3.17


 In XmlConfigurationProvider, the field loadedFileUrls contains the xml files 
 loaded. The loaded files will be checked if they are modified for 
 configuration reloading.
 public boolean needsReload() {
 for (String url : loadedFileUrls) {
 if (fileManager.fileNeedsReloading(url)) {
 return true;
 }
 }
 return false;
 }
 But in method private ListDocument loadConfigurationFiles(String fileName, 
 Element includeElement), after the while (urls.hasNext()) loop, the variable 
 url is assigned by the last one of urls with same file name.
 So when loadedFileUrls.add(url.toString()); is called in the for (Document 
 doc : docs) loop, only THE LAST ONE is added to loadedFileUrls.
 I wrote a demo. I set constant name=struts.configuration.xml.reload 
 value=true/
 . I wrote two configuration files: struts-plugin.xml and struts-biz.xml in my 
 web project. I use struts plugins such as struts-spring-plugin, 
 struts-json-plugin and so on.
 The reloading works when I changed the file struts-biz.xml in my project. But 
 it does not work when I changed struts-plugin.xml in my project. I debug 
 XmlConfigurationProvider and see only the struts-plugin.xml in 
 struts-spring-plugin is contained in loadedFileUrls.
 I tried to fix it by moving the loadedFileUrls.add(url.toString()); into the 
 while (urls.hasNext()) loop. I send a pull request in github: 
 https://github.com/apache/struts/pull/6, and I test it running well.



--
This message was sent by Atlassian JIRA
(v6.2#6252)