package org.jboss.seam.remoting.client; import org.dom4j.Element; import org.jboss.seam.remoting.CallContext; import org.jboss.seam.remoting.wrapper.Wrapper; import java.util.Iterator; /** * * * @author Shane Bryzak */ public class ParserUtils { public static Object unmarshalResult(Element resultElement) { Element valueElement = resultElement.element("value"); Element refsElement = resultElement.element("refs"); CallContext ctx = new CallContext(); Iterator iter = refsElement.elementIterator("ref"); while (iter.hasNext()) { ctx.createWrapperFromElement((Element) iter.next()); } Wrapper resultWrapper = ctx.createWrapperFromElement((Element) valueElement.elementIterator().next()); // Now unmarshal the ref values for (Wrapper w : ctx.getInRefs().values()) w.unmarshal(); return resultWrapper.getValue(); } }