public void serialize()

in modules/core/src/main/java/org/apache/sandesha2/policy/SandeshaPolicyBean.java [249:387]


    public void serialize(XMLStreamWriter writer) throws XMLStreamException {
        try {
			String localName = Sandesha2Constants.Assertions.Q_ELEM_RMASSERTION
			        .getLocalPart();
			String namespaceURI = Sandesha2Constants.Assertions.Q_ELEM_RMASSERTION
			        .getNamespaceURI();

			String prefix = writer.getPrefix(namespaceURI);
			if (prefix == null) {
			    prefix = Sandesha2Constants.Assertions.Q_ELEM_RMASSERTION.getPrefix();
			    writer.setPrefix(prefix, namespaceURI);
			}

			// <wsrm:RMAssertion>
			writer.writeStartElement(prefix, localName, namespaceURI);
			// xmlns:wsrm=".."
			writer.writeNamespace(prefix, namespaceURI);

			String policyLocalName = Sandesha2Constants.Assertions.Q_ELEM_POLICY
			        .getLocalPart();
			String policyNamespaceURI = Sandesha2Constants.Assertions.Q_ELEM_POLICY
			        .getNamespaceURI();
			String wspPrefix = writer.getPrefix(policyNamespaceURI);

			if (wspPrefix == null) {
			    wspPrefix = Sandesha2Constants.Assertions.Q_ELEM_POLICY.getPrefix();
			    writer.writeNamespace(wspPrefix, policyNamespaceURI);
			}

			// <wsp:Policy>
			writer.writeStartElement(wspPrefix, policyLocalName, policyNamespaceURI);

			// <wsrm:AcknowledgementInterval />
			writer.writeStartElement(prefix, Sandesha2Constants.Assertions.Q_ELEM_ACK_INTERVAL.getLocalPart(), namespaceURI);
			writer.writeCharacters(Long.toString(getAcknowledgementInterval()));
			writer.writeEndElement();
			
			// <wsrm:RetransmissionInterval />
			writer.writeStartElement(prefix, Sandesha2Constants.Assertions.Q_ELEM_RETRANS_INTERVAL.getLocalPart(), namespaceURI);
			writer.writeCharacters(Long.toString(getRetransmissionInterval()));
			writer.writeEndElement();

			// <wsrm:MaximumRetransmissionCount />
			writer.writeStartElement(prefix, Sandesha2Constants.Assertions.Q_ELEM_MAX_RETRANS_COUNT.getLocalPart(), namespaceURI);
			writer.writeCharacters(Long.toString(getMaximumRetransmissionCount()));
			writer.writeEndElement();
			
			// <wsrm:ExponentialBackoff />
			writer.writeStartElement(prefix, Sandesha2Constants.Assertions.Q_ELEM_EXP_BACKOFF.getLocalPart(), namespaceURI);
			writer.writeCharacters(Boolean.toString(isExponentialBackoff()));
			writer.writeEndElement();
				
			// <wsrm:InactivityTimeout />
			writer.writeStartElement(prefix, Sandesha2Constants.Assertions.Q_ELEM_INACTIVITY_TIMEOUT.getLocalPart(), namespaceURI);
			writer.writeCharacters(Long.toString(getInactivityTimeoutInterval()));
			writer.writeEndElement();
			
            // <wsrm:SequenceRemovalTimeout />
			writer.writeStartElement(prefix, Sandesha2Constants.Assertions.Q_ELEM_SEQUENCE_REMOVAL_TIMEOUT.getLocalPart(), namespaceURI);
			writer.writeCharacters(Long.toString(getSequenceRemovalTimeoutInterval()));
			writer.writeEndElement();
			
			// <wsrm:InvokeInOrder />
			writer.writeStartElement(prefix, Sandesha2Constants.Assertions.Q_ELEM_INVOKE_INORDER.getLocalPart(), namespaceURI);
			writer.writeCharacters(Boolean.toString(isInOrder()));
			writer.writeEndElement();
			
			// <wsrm:MessageTypesToDrop />
			writer.writeStartElement(prefix, Sandesha2Constants.Assertions.Q_ELEM_MSG_TYPES_TO_DROP.getLocalPart(), namespaceURI);
			writer.writeCharacters("none"); // FIXME
			writer.writeEndElement();
			
			// <wsrm:StorageManagers>
			writer.writeStartElement(prefix, Sandesha2Constants.Assertions.Q_ELEM_STORAGE_MGR.getLocalPart(), namespaceURI);
			
			// <wsrm:InMemoryStorageManager />
			writer.writeStartElement(prefix, Sandesha2Constants.Assertions.Q_ELEM_INMEMORY_STORAGE_MGR.getLocalPart(), namespaceURI);
			writer.writeCharacters(getInMemoryStorageManagerClass());
			writer.writeEndElement();
			
			// <wsrm:PermanentStorageManager />
			writer.writeStartElement(prefix, Sandesha2Constants.Assertions.Q_ELEM_PERMANENT_STORAGE_MGR.getLocalPart(), namespaceURI);
			writer.writeCharacters(getPermanentStorageManagerClass());
			writer.writeEndElement();        
			
			// </wsrm:StorageManager>
			writer.writeEndElement();
			
			// <wsrm:SecurityManager />
			writer.writeStartElement(prefix, Sandesha2Constants.Assertions.Q_ELEM_SEC_MGR.getLocalPart(), namespaceURI);
			writer.writeCharacters(getSecurityManagerClass());
			writer.writeEndElement();
			
			//<wsrm:EPRDecorator />
			writer.writeStartElement(prefix, Sandesha2Constants.Assertions.Q_ELEM_EPR_DECORATOR.getLocalPart(), namespaceURI);
			writer.writeCharacters(getEPRDecoratorClass());
			writer.writeEndElement();
			
			//<wsrm:ContextManager />
			writer.writeStartElement(prefix, Sandesha2Constants.Assertions.Q_ELEM_CONTEXT_MGR.getLocalPart(), namespaceURI);
			writer.writeCharacters(getContextManagerClass());
			writer.writeEndElement();

			// <wsrm:MakeConnection>
			writer.writeStartElement(prefix, Sandesha2Constants.Assertions.Q_ELEM_MAKE_CONNECTION.getLocalPart(), namespaceURI);
			
			// <wsrm:Enabled />
			writer.writeStartElement(prefix, Sandesha2Constants.Assertions.Q_ELEM_ENABLED.getLocalPart(), namespaceURI);
			writer.writeCharacters(Boolean.toString(isEnableMakeConnection()));
			writer.writeEndElement();
			
			// <wsrm:UseRMAnonURI />
			writer.writeStartElement(prefix, Sandesha2Constants.Assertions.Q_ELEM_USE_RM_ANON_URI.getLocalPart(), namespaceURI);
			writer.writeCharacters(Boolean.toString(isEnableRMAnonURI()));
			writer.writeEndElement();
			
			// </wsrm:MakeConnection>
			writer.writeEndElement();
			
			// <wsrm:UseMessageSerialization />
			writer.writeStartElement(prefix, Sandesha2Constants.Assertions.Q_ELEM_USE_SERIALIZATION.getLocalPart(), namespaceURI);
			writer.writeCharacters(Boolean.toString(isUseMessageSerialization()));
			writer.writeEndElement();

			// <wsrm:EnforceRM />
			writer.writeStartElement(prefix, Sandesha2Constants.Assertions.Q_ELEM_ENFORCE_RM.getLocalPart(), namespaceURI);
			writer.writeCharacters(Boolean.toString(isEnforceRM()));
			writer.writeEndElement();
			
			// </wsp:Policy>
			writer.writeEndElement();

			// </wsrm:RMAssertion>
			writer.writeEndElement();
		} catch (SandeshaException e) {
			throw new XMLStreamException (e);
		}

    }