Package org.jboss.ws.core.jaxrpc.binding

Source Code of org.jboss.ws.core.jaxrpc.binding.JBossXBSerializer

/*     */ package org.jboss.ws.core.jaxrpc.binding;
/*     */
/*     */ import java.io.StringWriter;
/*     */ import javax.xml.namespace.QName;
/*     */ import javax.xml.transform.Result;
/*     */ import org.apache.xerces.xs.XSModel;
/*     */ import org.jboss.logging.Logger;
/*     */ import org.jboss.ws.core.binding.BindingException;
/*     */ import org.jboss.ws.core.binding.BufferedStreamResult;
/*     */ import org.jboss.ws.core.binding.ComplexTypeSerializer;
/*     */ import org.jboss.ws.core.binding.SerializationContext;
/*     */ import org.jboss.ws.core.jaxrpc.SerializationContextJAXRPC;
/*     */ import org.jboss.ws.core.jaxrpc.binding.jbossxb.JBossXBMarshaller;
/*     */ import org.jboss.ws.core.jaxrpc.binding.jbossxb.JBossXBMarshallerImpl;
/*     */ import org.jboss.ws.metadata.jaxrpcmapping.JavaWsdlMapping;
/*     */ import org.w3c.dom.NamedNodeMap;
/*     */
/*     */ public class JBossXBSerializer extends ComplexTypeSerializer
/*     */ {
/*  55 */   private static final Logger log = Logger.getLogger(JBossXBSerializer.class);
/*     */   private JBossXBMarshaller marshaller;
/*     */
/*     */   public JBossXBSerializer()
/*     */     throws BindingException
/*     */   {
/*  62 */     this.marshaller = new JBossXBMarshallerImpl();
/*     */   }
/*     */
/*     */   public Result serialize(QName xmlName, QName xmlType, Object value, SerializationContext serContext, NamedNodeMap attributes)
/*     */     throws BindingException
/*     */   {
/*  83 */     log.debug("serialize: [xmlName=" + xmlName + ",xmlType=" + xmlType + "]");
/*     */
/*  86 */     SerializationContextJAXRPC jaxrpcContext = (SerializationContextJAXRPC)serContext;
/*     */     try
/*     */     {
/*  91 */       XSModel model = jaxrpcContext.getXsModel();
/*     */
/*  94 */       JavaWsdlMapping jaxrpcMapping = jaxrpcContext.getJavaWsdlMapping();
/*     */
/*  97 */       JBossXBMarshaller delegate = this.marshaller;
/*     */
/* 100 */       delegate.setProperty("org.jboss.xb.xsd.xsmodel", model);
/* 101 */       delegate.setProperty("org.jboss.xb.type.qname", xmlType);
/* 102 */       delegate.setProperty("org.jboss.xb.root.qname", xmlName);
/* 103 */       delegate.setProperty("org.jboss.xb.java.mapping", jaxrpcMapping);
/*     */
/* 106 */       StringWriter strwr = new StringWriter();
/* 107 */       delegate.marshal(value, strwr);
/* 108 */       String xmlFragment = strwr.toString();
/*     */
/* 110 */       log.debug("serialized: " + xmlFragment);
/* 111 */       return new BufferedStreamResult(xmlFragment);
/*     */     }
/*     */     catch (RuntimeException rte)
/*     */     {
/* 115 */       throw rte;
/*     */     }
/*     */     catch (Exception ex) {
/*     */     }
/* 119 */     throw new BindingException(ex);
/*     */   }
/*     */ }

/* Location:           /home/mnovotny/projects/EMBEDDED_JBOSS_BETA3_COMMUNITY/embedded/output/lib/embedded-jboss/lib/jboss-embedded-all.jar
* Qualified Name:     org.jboss.ws.core.jaxrpc.binding.JBossXBSerializer
* JD-Core Version:    0.6.0
*/
TOP

Related Classes of org.jboss.ws.core.jaxrpc.binding.JBossXBSerializer

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.