From 482eff11e6570bec192d9ad9ab9f25641e6e35ef Mon Sep 17 00:00:00 2001
From: rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>
Date: Wed, 30 Sep 2009 03:49:07 +0000
Subject: [PATCH] Only save the composite into DOM if there is a policySet with
 attachTo

git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@820166 13f79535-47bb-0310-9956-ffa450edef68
---
 .../sca/builder/impl/PolicyAttachmentBuilderImpl.java        | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/PolicyAttachmentBuilderImpl.java b/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/PolicyAttachmentBuilderImpl.java
index df98ec89b7..59cfdc7393 100644
--- a/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/PolicyAttachmentBuilderImpl.java
+++ b/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/PolicyAttachmentBuilderImpl.java
@@ -118,7 +118,7 @@ public class PolicyAttachmentBuilderImpl implements CompositeBuilder {
                 }
             }
         }
-        Document document = saveAsDOM(composite);
+        Document document = null;
 
         for (PolicySet ps : definitions.getPolicySets()) {
             // First calculate the applicable nodes
@@ -135,6 +135,9 @@ public class PolicyAttachmentBuilderImpl implements CompositeBuilder {
             */
             XPathExpression exp = ps.getAttachToXPathExpression();
             if (exp != null) {
+                if (document == null) {
+                    document = saveAsDOM(composite);
+                }
                 NodeList nodes = (NodeList)exp.evaluate(document, XPathConstants.NODESET);
                 for (int i = 0; i < nodes.getLength(); i++) {
                     Node node = nodes.item(i);