diff --git a/release/src/main/org/apache/maven/release/AbstractPomTransformer.java b/release/src/main/org/apache/maven/release/AbstractPomTransformer.java index 13c0cdc4..6d3451ef 100644 --- a/release/src/main/org/apache/maven/release/AbstractPomTransformer.java +++ b/release/src/main/org/apache/maven/release/AbstractPomTransformer.java @@ -94,6 +94,8 @@ public abstract class AbstractPomTransformer /** Properties used in transformNode */ private Properties properties; + private List selectedNodes; + // ------------------------------------------------------------------------- // Accessors // ------------------------------------------------------------------------- @@ -170,6 +172,44 @@ public abstract class AbstractPomTransformer this.outputFile = outputFile; } + /** + * + * @return + */ + public List getSelectedNodes() + { + if ( selectedNodes == null ) + { + try + { + selectNodes(); + } + catch ( Exception e ) + { + // do nothing. + } + } + return selectedNodes; + } + + /** + * + * @param selectedNodes + */ + public void setSelectedNodes( List selectedNodes ) + { + this.selectedNodes = selectedNodes; + } + + /** + * + * @return + */ + public int getSelectedNodeCount() + { + return getSelectedNodes().size(); + } + // ---------------------------------------------------------------------- // Implementation // ---------------------------------------------------------------------- @@ -195,7 +235,7 @@ public abstract class AbstractPomTransformer public void transformNodes() throws Exception { - for ( Iterator i = selectNodes().iterator(); i.hasNext(); ) + for ( Iterator i = getSelectedNodes().iterator(); i.hasNext(); ) { Object o = i.next(); @@ -212,7 +252,7 @@ public abstract class AbstractPomTransformer * * @throws Exception */ - public List selectNodes() + public void selectNodes() throws Exception { SAXReader reader = new SAXReader(); @@ -223,7 +263,7 @@ public abstract class AbstractPomTransformer // So we can get any information we need, and alter anything we need to before writing // the dom4j document back out. XPath xpath = new Dom4jXPath( createXPathExpression() ); - return xpath.selectNodes( getDocument() ); + setSelectedNodes( xpath.selectNodes( getDocument() ) ); } /** diff --git a/release/src/main/org/apache/maven/release/SnapshotResolver.java b/release/src/main/org/apache/maven/release/SnapshotResolver.java index 9acabd6d..ac74c730 100644 --- a/release/src/main/org/apache/maven/release/SnapshotResolver.java +++ b/release/src/main/org/apache/maven/release/SnapshotResolver.java @@ -68,7 +68,7 @@ import java.io.File; * * @author Jason van Zyl * - * @version $Id: SnapshotResolver.java,v 1.3 2003/02/10 15:57:06 jvanzyl Exp $ + * @version $Id: SnapshotResolver.java,v 1.4 2003/02/10 16:43:41 jvanzyl Exp $ */ public class SnapshotResolver extends AbstractPomTransformer