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

Hudson commented on AXIS2-5778:
-------------------------------

SUCCESS: Integrated in Axis2 #3555 (See 
[https://builds.apache.org/job/Axis2/3555/])
AXIS2-5778: Use the DeploymentFileData.getName() method to compute the archive 
name in ModuleDeployer. (veithen: rev 1747601)
* axis2/modules/kernel/src/org/apache/axis2/deployment/ModuleDeployer.java


> Module Deployer incorrectly invalidates MAR due to invalid filename 
> recognition in ModuleDeployer
> -------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-5778
>                 URL: https://issues.apache.org/jira/browse/AXIS2-5778
>             Project: Axis2
>          Issue Type: Bug
>          Components: kernel
>    Affects Versions: 1.7.3
>         Environment: Windows
>            Reporter: Jeff Thomas
>             Fix For: 1.7.4, 1.8.0
>
>
> When performing full build on windows, the axis2-transport-udp module fails 
> build in the unit test: UDPTest:testSoapOverUdpWithEchoService
> It fails because it is unable to load the 'addressing.mar' Module.  The 
> module (in my workspace) is at:
> file:/C:/XXX/DEV/PWC/TRUNK/AXIS-1.7.3/modules/transport/testkit/target/classes/org/apache/axis2/transport/repo/modules/addressing.mar
> The failure seems to occur in org.apache.axis2.deployment.ModuleDeployer 
> within the following code from method "deoloyFromUrl(...)"  [side note: maybe 
> fix the method name to 'deployFromUrl(...)]:
> {code:java}
> int index = fileUrl.getPath().lastIndexOf(File.separator);
> if(index > 0) {
>   moduleFile = fileUrl.getPath().substring(index);
> } else {
>   moduleFile = fileUrl.getPath();                
> } 
> {code}
> On Windows the File.separator is "\" (backslash) and a URL/URI the separator 
> is always "/" (forward slash).  The effect is, that on windows the index will 
> always be -1 and on unix it would correctly be 113 in my case.
> The result is that the module name on windows is not "addressing.mar" but the 
> full file URL.  Because my path also has the Axis version in  it, the version 
> recognition in AxisModule.setModuleName(...) throws an error 
> (NumberFormatException) and flags the module as faulty.
> I believe the correct implementation is:
> {code:java}
> int index = fileUrl.getPath().lastIndexOf('/');
> String moduleFile;
> if(index > 0){
>   moduleFile = fileUrl.getPath().substring(index + 1);
> } else {
>   moduleFile = fileUrl.getPath();
> }  
> {code}
> I made the following changes:
> 1. Changed {{File.separator}} to {{'/'}}
> 2. Changed {{.substring(index)}} to {{.substring(index + 1)}} so that it 
> returns "{{addressing.mar}}" instead of "{{/addressing.mar}}".



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@axis.apache.org
For additional commands, e-mail: java-dev-h...@axis.apache.org

Reply via email to