fixed.
Thanks for review.

On 7 November 2013 17:56, Konstantin Kolinko <knst.koli...@gmail.com> wrote:
> 2013/11/6  <ol...@apache.org>:
>> Author: olamy
>> Date: Wed Nov  6 01:31:25 2013
>> New Revision: 1539209
>>
>> URL: http://svn.apache.org/r1539209
>> Log:
>> [MTOMCAT-211] The .war file is not extracted from executable war
>>
>> Modified:
>>     
>> tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java
>>
>> Modified: 
>> tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java
>> URL: 
>> http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java?rev=1539209&r1=1539208&r2=1539209&view=diff
>> ==============================================================================
>> --- 
>> tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java
>>  (original)
>> +++ 
>> tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java
>>  Wed Nov  6 01:31:25 2013
>> @@ -560,28 +560,35 @@ public class Tomcat7Runner
>>              InputStream inputStream = null;
>>              try
>>              {
>> +                File expandFile = null;
>>                  inputStream = 
>> Thread.currentThread().getContextClassLoader().getResourceAsStream( 
>> entry.getValue() );
>>                  if ( !useServerXml() )
>>                  {
>>                      if ( entry.getKey().equals( "/" ) )
>>                      {
>> -                        File expandFile = new File( extractDirectory, 
>> "webapps/ROOT.war" );
>> -                        debugMessage( "expand to file:" + 
>> expandFile.getPath() );
>> -                        expand( inputStream, expandFile );
>> +                        expandFile = new File( extractDirectory, 
>> "webapps/ROOT.war" );
>>                      }
>>                      else
>>                      {
>> -                        File expandFile = new File( extractDirectory, 
>> "webapps/" + entry.getValue() );
>> -                        debugMessage( "expand to file:" + 
>> expandFile.getPath() );
>> -                        expand( inputStream, expandFile );
>> +                        expandFile = new File( extractDirectory, "webapps/" 
>> + entry.getValue() );
>>                      }
>>                  }
>>                  else
>>                  {
>> -                    File expandFile = new File( extractDirectory, 
>> "webapps/" + entry.getValue() );
>> -                    debugMessage( "expand to file:" + expandFile.getPath() 
>> );
>> -                    expand( inputStream, new File( extractDirectory, 
>> "webapps/" + entry.getValue() ) );
>> +                    expandFile = new File( extractDirectory, "webapps/" + 
>> entry.getValue() );
>>                  }
>> +
>> +                debugMessage( "expand to file:" + expandFile.getPath() );
>> +
>> +                // MTOMCAT-211 ensure parent directories created
>> +
>> +                if ( !expandFile.getParentFile().mkdirs() )
>> +                {
>> +                    throw new Exception( "FATAL: impossible to create 
>> directories:" + expandFile.getParentFile() );
>> +                }
>
> The above mkdirs() call returns "false" if those directories already exist.
>
> Can webappWarPerContext.entrySet() contain several wars? If so then I
> expect the code to throw the above exception when processing the
> second war.
>
> In Tomcat such code is usually written like this:
> quoting from o.a.c.core.StandardContext
> [[[
>         if (!dir.mkdirs() && !dir.isDirectory()) {
>             log.warn(sm.getString("standardContext.workCreateFail", dir,
>                     getName()));
>         }
> ]]]
>
>> +
>> +                expand( inputStream, expandFile );
>> +
>>              }
>>              finally
>>              {
>>
>
> Best regards,
> Konstantin Kolinko
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
>



-- 
Olivier Lamy
Ecetera: http://ecetera.com.au
http://twitter.com/olamy | http://linkedin.com/in/olamy

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

Reply via email to