You are viewing a plain text version of this content. The canonical link for it is here.
Posted to m2-dev@maven.apache.org by jv...@apache.org on 2004/06/14 21:20:38 UTC

cvs commit: maven-components/maven-core/src/test/java/org/apache/maven/plugin OgnlProjectValueExtractorTest.java

jvanzyl     2004/06/14 12:20:38

  Modified:    maven-core/src/main/java/org/apache/maven/plugin
                        OgnlProjectValueExtractor.java
               maven-core/src/test/java/org/apache/maven/plugin
                        OgnlProjectValueExtractorTest.java
  Log:
  
  
  Revision  Changes    Path
  1.2       +13 -3     maven-components/maven-core/src/main/java/org/apache/maven/plugin/OgnlProjectValueExtractor.java
  
  Index: OgnlProjectValueExtractor.java
  ===================================================================
  RCS file: /home/cvs/maven-components/maven-core/src/main/java/org/apache/maven/plugin/OgnlProjectValueExtractor.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- OgnlProjectValueExtractor.java	11 Jun 2004 15:11:54 -0000	1.1
  +++ OgnlProjectValueExtractor.java	14 Jun 2004 19:20:38 -0000	1.2
  @@ -38,7 +38,17 @@
           {
               try
               {
  -                value = Ognl.getValue( expression.substring( 9 ), project );
  +                int pathSeparator = expression.indexOf( "/" );
  +
  +                if ( pathSeparator > 0 )
  +                {
  +                    value = Ognl.getValue( expression.substring( 9, pathSeparator ), project )
  +                        + expression.substring( pathSeparator );
  +                }
  +                else
  +                {
  +                    value = Ognl.getValue( expression.substring( 9 ), project );
  +                }
               }
               catch ( OgnlException e )
               {
  @@ -57,7 +67,7 @@
   
               if ( pathSeparator > 0 )
               {
  -                value = project.getProperty( expression.substring( 0, pathSeparator ) ) 
  +                value = project.getProperty( expression.substring( 0, pathSeparator ) )
                       + expression.substring( pathSeparator );
               }
               else
  
  
  
  1.2       +21 -2     maven-components/maven-core/src/test/java/org/apache/maven/plugin/OgnlProjectValueExtractorTest.java
  
  Index: OgnlProjectValueExtractorTest.java
  ===================================================================
  RCS file: /home/cvs/maven-components/maven-core/src/test/java/org/apache/maven/plugin/OgnlProjectValueExtractorTest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- OgnlProjectValueExtractorTest.java	11 Jun 2004 15:11:55 -0000	1.1
  +++ OgnlProjectValueExtractorTest.java	14 Jun 2004 19:20:38 -0000	1.2
  @@ -2,10 +2,13 @@
   
   import junit.framework.TestCase;
   import org.apache.maven.project.MavenProject;
  +import org.apache.maven.model.Model;
  +import org.apache.maven.model.Build;
   
   import java.util.Properties;
   import java.util.HashMap;
   import java.util.Map;
  +import java.io.File;
   
   /**
    * @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
  @@ -20,6 +23,14 @@
       {
           project = new MavenProject();
   
  +        project.setModel( new Model() );
  +
  +        project.getModel().setBuild( new Build() );
  +
  +        project.getModel().getBuild().setDirectory( "target" );
  +
  +        project.setFile( new File( System.getProperty( "basedir" ), "pom.xml" ) );
  +
           Map properties = new HashMap();
   
           properties.put( "maven.build.dest", "target/classes" );
  @@ -34,10 +45,18 @@
           assertEquals( "target/classes", value );
       }
   
  -    public void testPathExtractionWithAnEmbeddedProperty()
  +    public void testValueExtractionWithAPropertyContainingAPath()
       {
           Object value = OgnlProjectValueExtractor.evaluate( "#maven.build.dest/META-INF/maven", project );
   
           assertEquals( "target/classes/META-INF/maven", value );        
  +    }
  +
  +    public void testValueExtractionWithAPomValueContainingAPath()
  +    {
  +        Object value = OgnlProjectValueExtractor.evaluate( "#project.build.directory/classes", project );
  +
  +        assertEquals( new File( System.getProperty( "basedir" ), "target/classes" ).getAbsolutePath(),
  +                      new File( value.toString() ).getAbsolutePath() );
       }
   }