Author: niclas Date: Mon Sep 20 05:00:05 2004 New Revision: 46931 Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/PropertyTask.java avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/ReplicateTask.java Log: Fried rotten egg sinks in water unless chewed on, and Steve/Peter has worked out some patch for Magic's property handling.
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/PropertyTask.java ============================================================================== --- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/PropertyTask.java (original) +++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/PropertyTask.java Mon Sep 20 05:00:05 2004 @@ -36,6 +36,7 @@ private String m_key; private String m_feature; private String m_property; + private boolean m_resolve = true; public void init() { @@ -50,6 +51,11 @@ m_key = key; } + public void setResolve( final boolean policy ) + { + m_resolve = policy; + } + public void setFeature( final String feature ) { m_feature = feature; @@ -82,7 +88,15 @@ return; } - final String value = getFeature(); + final ResourceRef ref = new ResourceRef( m_key ); + final Resource resource = getHome().getResource( ref ); + if( m_resolve ) + { + resource.getArtifact( getProject() ); + } + + final String value = getFeature( resource ); + if( null != value ) { final Property property = (Property) getProject().createTask( "property" ); @@ -98,10 +112,8 @@ } } - private String getFeature() + private String getFeature( Resource resource ) { - final ResourceRef ref = new ResourceRef( m_key ); - final Resource resource = getHome().getResource( ref ); if( m_feature.equals( "name" ) ) { return resource.getInfo().getName(); Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/ReplicateTask.java ============================================================================== --- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/ReplicateTask.java (original) +++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/ReplicateTask.java Mon Sep 20 05:00:05 2004 @@ -68,11 +68,27 @@ } /** + * Set the path programatically. + * @param path a path object + */ + public void setReplicationPath( Path path ) + { + m_path = path; + } + + /** * The id of a repository based path. */ public void setRefid( String id ) throws BuildException { + if( null != m_path ) + { + final String error = + "Path already set."; + throw new BuildException( error ); + } + Object ref = getProject().getReference( id ); if( null == ref ) { --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]