Thanks.
I removed that converter alltogether.
However, I am still getting the following (and this is even as I both save
and load the session using ver 1.4.2 so it is not a cross version issue):

com.thoughtworks.xstream.converters.ConversionException: Could not call
edu.tau.compbio.util.OrderedHash.readObject() :
edu.tau.compbio.io.IOMgr_$Constraints
---- Debugging information ----
message             : Could not call
edu.tau.compbio.util.OrderedHash.readObject()
cause-exception     :
com.thoughtworks.xstream.mapper.CannotResolveClassException
cause-message       : edu.tau.compbio.io.IOMgr_$Constraints
class               : edu.tau.compbio.util.OrderedHash
required-type       : edu.tau.compbio.util.OrderedHash
converter-type      :
com.thoughtworks.xstream.converters.reflection.SerializableConverter
path                :
/expander.ds.MainData/studyToSolsMap/entry/list/expander.ds.ClusteringSol/opInput/__inputDef/hashtable/edu.tau.compbio.io.IOMgr_-Constraints
line number         : 600
class[1]            : edu.tau.compbio.io.IOMgr
converter-type[1]   :
com.thoughtworks.xstream.converters.reflection.ReflectionConverter
class[2]            : expander.ds.ClusteringSol
converter-type[2]   : expander.io.converters.ClustSolConverter
class[3]            : java.util.ArrayList
converter-type[3]   :
com.thoughtworks.xstream.converters.collections.CollectionConverter
class[4]            : java.util.Hashtable
converter-type[4]   :
com.thoughtworks.xstream.converters.collections.MapConverter
class[5]            : expander.ds.MainData
version             : null
-------------------------------
        at
com.thoughtworks.xstream.converters.reflection.SerializationMethodInvoker.callReadObject(SerializationMethodInvoker.java:119)
        at
com.thoughtworks.xstream.converters.reflection.SerializableConverter.doUnmarshal(SerializableConverter.java:411)
        at
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:234)
        at
com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
        at
com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
        at
com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
        at
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshallField(AbstractReflectionConverter.java:355)
        at
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:306)
        at
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:234)
        at
com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
        at
com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
        at
com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
        at
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshallField(AbstractReflectionConverter.java:355)
        at
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:306)
        at
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:234)
        at
expander.io.converters.ClustSolConverter.unmarshal(ClustSolConverter.java:35)
        at
com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
        at
com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
        at
com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
        at
com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)
        at
com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:71)
        at
com.thoughtworks.xstream.converters.collections.CollectionConverter.addCurrentElementToCollection(CollectionConverter.java:79)
        at
com.thoughtworks.xstream.converters.collections.CollectionConverter.populateCollection(CollectionConverter.java:72)
        at
com.thoughtworks.xstream.converters.collections.CollectionConverter.populateCollection(CollectionConverter.java:66)
        at
com.thoughtworks.xstream.converters.collections.CollectionConverter.unmarshal(CollectionConverter.java:61)
        at
com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
        at
com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
        at
com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
        at
com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)
        at
com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:71)
        at
com.thoughtworks.xstream.converters.collections.MapConverter.putCurrentEntryIntoMap(MapConverter.java:89)
        at
com.thoughtworks.xstream.converters.collections.MapConverter.populateMap(MapConverter.java:77)
        at
com.thoughtworks.xstream.converters.collections.MapConverter.populateMap(MapConverter.java:71)
        at
com.thoughtworks.xstream.converters.collections.MapConverter.unmarshal(MapConverter.java:66)
        at
com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
        at
com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
        at
com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
        at
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshallField(AbstractReflectionConverter.java:355)
        at
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:306)
        at
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:234)
        at
com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
        at
com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
        at
com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
        at
com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)
        at
com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:134)
        at
com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32)
        at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1052)
        at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1036)
        at com.thoughtworks.xstream.XStream.fromXML(XStream.java:912)
        at expander.Engine.loadSession(Engine.java:4178)
        at expander.MainFrame$98.actionPerformed(MainFrame.java:2555)
        at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
        at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown 
Source)
        at java.awt.Component.processMouseEvent(Unknown Source)
        at javax.swing.JComponent.processMouseEvent(Unknown Source)
        at java.awt.Component.processEvent(Unknown Source)
        at java.awt.Container.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.Dialog$1.run(Unknown Source)
        at java.awt.Dialog$3.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.awt.Dialog.show(Unknown Source)
        at java.awt.Component.show(Unknown Source)
        at java.awt.Component.setVisible(Unknown Source)
        at java.awt.Window.setVisible(Unknown Source)
        at java.awt.Dialog.setVisible(Unknown Source)
        at expander.MainFrame.onActionFileLoadSession(MainFrame.java:2584)
        at expander.MainFrame.access$17(MainFrame.java:2535)
        at expander.MainFrame$10.actionPerformed(MainFrame.java:446)
        at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
        at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
        at javax.swing.AbstractButton.doClick(Unknown Source)
        at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
        at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown
Source)
        at java.awt.Component.processMouseEvent(Unknown Source)
        at javax.swing.JComponent.processMouseEvent(Unknown Source)
        at java.awt.Component.processEvent(Unknown Source)
        at java.awt.Container.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: com.thoughtworks.xstream.mapper.CannotResolveClassException:
edu.tau.compbio.io.IOMgr_$Constraints
        at
com.thoughtworks.xstream.mapper.DefaultMapper.realClass(DefaultMapper.java:56)
        at
com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
        at
com.thoughtworks.xstream.mapper.XStream11XmlFriendlyMapper.realClass(XStream11XmlFriendlyMapper.java:38)
        at
com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
        at
com.thoughtworks.xstream.mapper.DynamicProxyMapper.realClass(DynamicProxyMapper.java:55)
        at
com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
        at
com.thoughtworks.xstream.mapper.PackageAliasingMapper.realClass(PackageAliasingMapper.java:88)
        at
com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
        at
com.thoughtworks.xstream.mapper.ClassAliasingMapper.realClass(ClassAliasingMapper.java:79)
        at
com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
        at
com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
        at
com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
        at
com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
        at
com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
        at
com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
        at
com.thoughtworks.xstream.mapper.ArrayMapper.realClass(ArrayMapper.java:74)
        at
com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
        at
com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
        at
com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
        at
com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
        at
com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
        at
com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
        at
com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
        at
com.thoughtworks.xstream.mapper.CachingMapper.realClass(CachingMapper.java:45)
        at
com.thoughtworks.xstream.core.util.HierarchicalStreams.readClassType(HierarchicalStreams.java:29)
        at
com.thoughtworks.xstream.converters.reflection.SerializableConverter$2.readFromStream(SerializableConverter.java:296)
        at
com.thoughtworks.xstream.core.util.CustomObjectInputStream.readObjectOverride(CustomObjectInputStream.java:104)
        at java.io.ObjectInputStream.readObject(Unknown Source)
        at java.util.Hashtable.readObject(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at
com.thoughtworks.xstream.converters.reflection.SerializationMethodInvoker.callReadObject(SerializationMethodInvoker.java:113)
        ... 110 more
Failed loading session from file:
C:\Adi\work\Expander\Ver6\session_onlyClust.zip
Details: com.thoughtworks.xstream.converters.ConversionException: Could not
call edu.tau.compbio.util.OrderedHash.readObject() :
edu.tau.compbio.io.IOMgr_$Constraints
---- Debugging information ----
message             : Could not call
edu.tau.compbio.util.OrderedHash.readObject()
cause-exception     :
com.thoughtworks.xstream.mapper.CannotResolveClassException
cause-message       : edu.tau.compbio.io.IOMgr_$Constraints
class               : edu.tau.compbio.util.OrderedHash
required-type       : edu.tau.compbio.util.OrderedHash
converter-type      :
com.thoughtworks.xstream.converters.reflection.SerializableConverter
path                :
/expander.ds.MainData/studyToSolsMap/entry/list/expander.ds.ClusteringSol/opInput/__inputDef/hashtable/edu.tau.compbio.io.IOMgr_-Constraints
line number         : 600
class[1]            : edu.tau.compbio.io.IOMgr
converter-type[1]   :
com.thoughtworks.xstream.converters.reflection.ReflectionConverter
class[2]            : expander.ds.ClusteringSol
converter-type[2]   : expander.io.converters.ClustSolConverter
class[3]            : java.util.ArrayList
converter-type[3]   :
com.thoughtworks.xstream.converters.collections.CollectionConverter
class[4]            : java.util.Hashtable
converter-type[4]   :
com.thoughtworks.xstream.converters.collections.MapConverter
class[5]            : expander.ds.MainData
version             : null
-------------------------------


Adi





Jörg Schaible-3 wrote:
> 
> Hi Adi,
> 
> adimaron wrote:
> 
>> 
>> Do you think that the problem is with
>> expander.io.converters.EnrichmentSolConverter.unmarshal()?
>> 
>> It is a method that was generated to support some DS changes in prev
>> versions.
>> Should I try to get rid of this converter?
>> 
>> I do not know if this helps but the code of the method is
>> 
>> public Object unmarshal(HierarchicalStreamReader reader,
>> UnmarshallingContext arg1) {
>> if (! reader.hasMoreChildren())
>> return null;
>> 
>> Class cType = arg1.getRequiredType();
>> reader.moveDown();
>> try
>> {
>> String nodeName = reader.getNodeName();
>> boolean prevVer = false;
>> float[][]  rawPVals=null, relativeFreqs=null;
>> double minRawPVal=2;
>> if(nodeName.equals("rawPVals")){ //funcAnal prev version{
>> prevVer = true;
>> rawPVals = (float[][])arg1.convertAnother(arg1.currentObject(),
>> float[][].class);
>> }else if(nodeName.equals("relativeFreqs")){//PromAnalSol prevVersion
>> prevVer = true;
>> relativeFreqs = (float[][])arg1.convertAnother(arg1.currentObject(),
>> float[][].class);
>> }
> 
> ================== %< ==============
> 
>> if(!prevVer){//default converter can do the work
>> reader.moveUp();
>> Converter defaultConverter =
>> conLookup.lookupConverterForType(GeneralSolution.class);
>> Object res =  defaultConverter.unmarshal(reader, arg1);
>> return res;//defaultConverter.unmarshal(reader, arg1);
> 
> ================== %< ==============
> 
> This snippet that cannot really work. When a converter is invoked, it 
> expects the parser to be at the current tag, because it might have to read 
> (system) attributes.
> 
> Now, remember that you're reading from a stream model. The code moves in
> the 
> stream forward from the start tag to the tags children and then suddenly 
> expects to handle the original start tag. Actually it was pure incidence, 
> that it worked with XStream 1.1.2, but this is simply wrong! I am quite 
> sure, line 72 from the stack trace is here ...
> 
> 
>> }
>> Hashtable hitsHash=null, pwmLengthHash=null;
>> String seqsFilePath=null ;
>> reader.moveUp();
>> reader.moveDown();
>> String next = reader.getNodeName();
>> if(cType.equals(FuncAnalSol.class)){
>> minRawPVal = Double.parseDouble(reader.getValue());
>> reader.moveUp();
>> reader.moveDown();
>> }
>> else//PromoterAnalSol
>> {
>> hitsHash =  (Hashtable)arg1.convertAnother(arg1.currentObject(),
>> Hashtable.class);
>> reader.moveUp();
>> reader.moveDown();
>> pwmLengthHash =  (Hashtable)arg1.convertAnother(arg1.currentObject(),
>> Hashtable.class);
>> reader.moveUp();
>> reader.moveDown();
>> seqsFilePath = (String)arg1.convertAnother(arg1.currentObject(),
>> String.class);
>> reader.moveUp();
>> reader.moveDown();
>> 
>> }
>> next = reader.getNodeName();
>> 
>> 
>> String[] catNames = (String[])arg1.convertAnother(arg1.currentObject(),
>> String[].class);
>> reader.moveUp();
>> reader.moveDown();
>> if(reader.getNodeName().equals("coverage")){
>> reader.moveUp();
>> reader.moveDown();
>> }
>> float[][] freqs = (float[][])arg1.convertAnother(arg1.currentObject(),
>> float[][].class);
>> reader.moveUp();
>> reader.moveDown();
>> float[][] pVals = (float[][])arg1.convertAnother(arg1.currentObject(),
>> float[][].class);
>> reader.moveUp();
>> reader.moveDown();
>> String[][][][] enrichmntGenes =
>> (String[][][][])arg1.convertAnother(arg1.currentObject(),
>> String[][][][].class);
>> reader.moveUp();
>> reader.moveDown();
>> reader.moveUp();
>> reader.moveDown();
>> double threshPVal = Double.parseDouble(reader.getValue());
>> reader.moveUp();
>> reader.moveDown();
>> if(relativeFreqs == null)
>> relativeFreqs = freqs;
>> ArrayList<EnrichmentResult> enrichments =
>> generateEnrichmentsList(catNames/*,coverage*/, relativeFreqs,
>> pVals, rawPVals,enrichmntGenes, threshPVal );
>> 
>> String baseSetsKey = reader.getValue();
>> reader.moveUp();
>> reader.moveDown();
>> String studyID = reader.getValue();
>> reader.moveUp();
>> reader.moveDown();
>> //   double minPVal = Double.parseDouble(reader.getValue());
>> reader.moveUp();
>> reader.moveDown();
>> ArrayList opInfo = (ArrayList)       
>> arg1.convertAnother(arg1.currentObject(),
>> ArrayList.class);
>> reader.moveUp();
>> reader.moveDown();
>> reader.moveUp();
>> reader.moveDown();
>> String solName = reader.getValue();
>> reader.moveUp();
>> reader.moveDown();
>> IOStorage opInput = (IOStorage)arg1.convertAnother(arg1.currentObject(),
>> IOMgr.class);
>> reader.moveUp();
>> reader.moveDown();
>> String key = reader.getValue();
>> reader.moveUp();
>> EnrichmentSol res=null;
>> if(cType.equals(FuncAnalSol.class))
>> res = new FuncAnalSol(solName, opInfo, opInput, catNames,enrichments,
>> baseSetsKey,studyID,baseSetsDetector);
>> else if(cType.equals(PromoterAnalSol.class)){
>> res = new PromoterAnalSol(solName, opInfo, opInput,
>> catNames,enrichments, baseSetsKey,studyID,baseSetsDetector, hitsHash,
>> pwmLengthHash);
>> ((PromoterAnalSol)res).setSeqsFilePath(seqsFilePath);
>> 
>> }
>> if(res!=null)
>> res.setKey(key);
>> return res;
>> }
>> catch(Exception e){
>> e.printStackTrace();
>> return null;
>> }
>> 
>> 
>> }
>> 
>> If this is not what you meant then which method are you referring to?
> 
> Yes, see inline comment.
> 
> Chrres,
> Jörg
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
> 
>     http://xircles.codehaus.org/manage_email
> 
> 
> 
> 
-- 
View this message in context: 
http://old.nabble.com/ConversionException-when-using-XStream-1.4.2-caused-by-CannotResolveClassException-tp34199308p34213961.html
Sent from the xstream - user mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to