public Object getValue(ServiceValueContext valueContext) throws Exception { // Get the attribute element content in a parsable form StringBuffer buffer = ServiceConfigurator.getElementContent(getElement()); Thread current = Thread.currentThread(); ClassLoader oldTcl = current.getContextClassLoader(); ClassLoader cl = valueContext.getClassloader(); if (cl != null) current.setContextClassLoader(cl); try { // Parse the attribute element content SchemaBindingResolver resolver = SingletonSchemaResolverFactory.getInstance().getSchemaBindingResolver(); Unmarshaller unmarshaller = UnmarshallerFactory.newInstance().newUnmarshaller(); StringReader reader = new StringReader(buffer.toString()); return unmarshaller.unmarshal(reader, resolver); } finally { if (cl != null) current.setContextClassLoader(oldTcl); } } }
value = new ServiceJBXBValueMetaData(element);
value = new ServiceJBXBValueMetaData(element);
public Object getValue(ServiceValueContext valueContext) throws Exception { // Get the attribute element content in a parsable form StringBuffer buffer = ServiceConfigurator.getElementContent(getElement()); Thread current = Thread.currentThread(); ClassLoader oldTcl = current.getContextClassLoader(); ClassLoader cl = valueContext.getClassloader(); if (cl != null) current.setContextClassLoader(cl); try { // Parse the attribute element content SchemaBindingResolver resolver = SingletonSchemaResolverFactory.getInstance().getSchemaBindingResolver(); Unmarshaller unmarshaller = UnmarshallerFactory.newInstance().newUnmarshaller(); StringReader reader = new StringReader(buffer.toString()); Object bean = unmarshaller.unmarshal(reader, resolver); return bean; } finally { if (cl != null) current.setContextClassLoader(oldTcl); } } }