From: Thomas D. <tho...@jb...> - 2005-09-02 17:58:11
|
User: tdiesler Date: 05/09/02 13:58:01 Modified: src/main/org/jboss/ws/jaxb JAXBUnmarshallerImpl.java Log: Make schemaBinding a property for potential caching Revision Changes Path 1.18 +43 -39 webservice/src/main/org/jboss/ws/jaxb/JAXBUnmarshallerImpl.java (In the diff below, changes in quantity of whitespace are not shown.) Index: JAXBUnmarshallerImpl.java =================================================================== RCS file: /cvsroot/jboss/webservice/src/main/org/jboss/ws/jaxb/JAXBUnmarshallerImpl.java,v retrieving revision 1.17 retrieving revision 1.18 diff -u -b -r1.17 -r1.18 --- JAXBUnmarshallerImpl.java 2 Sep 2005 16:05:08 -0000 1.17 +++ JAXBUnmarshallerImpl.java 2 Sep 2005 17:58:01 -0000 1.18 @@ -6,7 +6,7 @@ */ package org.jboss.ws.jaxb; -// $Id: JAXBUnmarshallerImpl.java,v 1.17 2005/09/02 16:05:08 tdiesler Exp $ +// $Id: JAXBUnmarshallerImpl.java,v 1.18 2005/09/02 17:58:01 tdiesler Exp $ import java.io.File; import java.io.InputStream; @@ -57,6 +57,9 @@ // The marshaller properties private HashMap<String, Object> properties = new HashMap<String, Object>(); + // The schema binding + private SchemaBinding schemaBinding; + /** * Unmarshal XML data from the specified InputStream and return the resulting content tree. */ @@ -65,7 +68,7 @@ assertRequiredProperties(); org.jboss.xb.binding.Unmarshaller unm = UnmarshallerFactory.newInstance().newUnmarshaller(); - SchemaBinding schemaBinding = initSchemaBinding(); + initSchemaBinding(); try { @@ -109,8 +112,7 @@ assertRequiredProperties(); org.jboss.xb.binding.Unmarshaller unm = UnmarshallerFactory.newInstance().newUnmarshaller(); - SchemaBinding schemaBinding = initSchemaBinding(); - + initSchemaBinding(); try { if (source.getByteStream() != null) @@ -156,7 +158,7 @@ assertRequiredProperties(); org.jboss.xb.binding.Unmarshaller unm = UnmarshallerFactory.newInstance().newUnmarshaller(); - SchemaBinding schemaBinding = initSchemaBinding(); + initSchemaBinding(); try { @@ -176,7 +178,7 @@ assertRequiredProperties(); org.jboss.xb.binding.Unmarshaller unm = UnmarshallerFactory.newInstance().newUnmarshaller(); - SchemaBinding schemaBinding = initSchemaBinding(); + initSchemaBinding(); try { @@ -252,7 +254,9 @@ /** * Creates and initializes an instance of SchemaBinding */ - private SchemaBinding initSchemaBinding() + private void initSchemaBinding() + { + if (schemaBinding == null) { QName xmlName = (QName)getProperty(JAXBConstants.JAXB_ROOT_QNAME); if (xmlName == null) @@ -267,7 +271,7 @@ } XSModel model = (XSModel)getProperty(JAXBConstants.JAXB_XS_MODEL); - SchemaBinding schemaBinding = XsdBinder.bind(model, new DefaultSchemaResolver()); + schemaBinding = XsdBinder.bind(model, new DefaultSchemaResolver()); schemaBinding.setIgnoreLowLine(false); schemaBinding.setIgnoreUnresolvedFieldOrClass(false); @@ -295,7 +299,7 @@ schemaBinding.addElement(rootElement, type); } - return schemaBinding; + } } /** Merges JavaWsdlMapping into SchemaBinding |