Keep the composite object into the RemoteEndpoints

git-svn-id: https://svn.apache.org/repos/asf/tuscany/sca-java-2.x/trunk@1366136 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/configuration/xml/RemoteEndpoints.java b/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/configuration/xml/RemoteEndpoints.java
index b4e631c..c1020a4 100644
--- a/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/configuration/xml/RemoteEndpoints.java
+++ b/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/configuration/xml/RemoteEndpoints.java
@@ -20,10 +20,20 @@
 package org.apache.tuscany.sca.node.configuration.xml;
 
 import java.util.ArrayList;
-import java.util.List;
 
+import org.apache.tuscany.sca.assembly.Composite;
 import org.apache.tuscany.sca.assembly.Endpoint;
 
 public class RemoteEndpoints extends ArrayList<Endpoint> {
     private static final long serialVersionUID = -9045949145596529956L;
+
+    private Composite composite;
+
+    public Composite getComposite() {
+        return composite;
+    }
+
+    public void setComposite(Composite composite) {
+        this.composite = composite;
+    }
 }
diff --git a/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/configuration/xml/RemoteEndpointsProcessor.java b/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/configuration/xml/RemoteEndpointsProcessor.java
index dc4b79e..640b841 100644
--- a/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/configuration/xml/RemoteEndpointsProcessor.java
+++ b/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/configuration/xml/RemoteEndpointsProcessor.java
@@ -47,8 +47,8 @@
  * A StaX processor for remote endpoints
  */
 public class RemoteEndpointsProcessor extends BaseAssemblyProcessor implements StAXArtifactProcessor<RemoteEndpoints> {
-    private final static String ENDPOINT = "remoteEndpoints";
-    private final static QName ENDPOINT_QNAME = new QName(Constants.SCA11_TUSCANY_NS, ENDPOINT);
+    private final static String REMOTE_ENDPOINTS = "remoteEndpoints";
+    private final static QName REMOTE_ENDPOINTS_QNAME = new QName(Constants.SCA11_TUSCANY_NS, REMOTE_ENDPOINTS);
 
     private ExtensionPointRegistry registry;
 
@@ -71,7 +71,7 @@
     }
 
     public QName getArtifactType() {
-        return ENDPOINT_QNAME;
+        return REMOTE_ENDPOINTS_QNAME;
     }
 
     public RemoteEndpoints read(XMLStreamReader reader, ProcessorContext context) throws ContributionReadException,
@@ -80,13 +80,14 @@
         if (reader.getEventType() == XMLStreamConstants.START_DOCUMENT) {
             reader.nextTag();
         }
-        if (reader.getEventType() == XMLStreamConstants.START_ELEMENT && ENDPOINT_QNAME.equals(reader.getName())) {
+        if (reader.getEventType() == XMLStreamConstants.START_ELEMENT && REMOTE_ENDPOINTS_QNAME.equals(reader.getName())) {
             // Skip the "endpoint" element wrapper
             reader.nextTag();
         }
         Object model = extensionProcessor.read(reader, context);
         if (model instanceof Composite) {
             Composite composite = (Composite)model;
+            endpoints.setComposite(composite);
             for (Component component : composite.getComponents()) {
                 if (component.getURI() == null) {
                     // Default to the component name as the uri
@@ -113,7 +114,9 @@
 
     public void write(RemoteEndpoints model, XMLStreamWriter writer, ProcessorContext context)
         throws ContributionWriteException, XMLStreamException {
-
+        writeStart(writer, REMOTE_ENDPOINTS_QNAME.getNamespaceURI(), REMOTE_ENDPOINTS_QNAME.getLocalPart());
+        extensionProcessor.write(model.getComposite(), writer, context);
+        writeEnd(writer);
     }
 
     public Class<RemoteEndpoints> getModelType() {