|
Mantis - Hessian
|
|||||
| Viewing Issue Advanced Details | |||||
|
|
|||||
| ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
| 3921 | major | always | 02-27-10 21:03 | 02-27-10 21:09 | |
|
|
|||||
| Reporter: | aloksingh | Platform: | |||
| Assigned To: | OS: | ||||
| Priority: | normal | OS Version: | |||
| Status: | new | Product Version: | 4.0.3 | ||
| Product Build: | Resolution: | open | |||
| Projection: | none | ||||
| ETA: | none | Fixed in Version: | |||
|
|
|||||
| Summary: | 0003921: SerializerFactory doesn't return the correct deserializer | ||||
| Description: |
In the class SerializerFactory, loadDeserializer() methods skips the deserializer returned from _factories.. Here is the current code, note the line "deserializer = factory.getDeserializer(cl);" The reference is not being returned from the method, and instead overwritten a couple of lines later. [code] protected Deserializer loadDeserializer(Class cl) throws HessianProtocolException { Deserializer deserializer = null; for (int i = 0; deserializer == null && _factories != null && i < _factories.size(); i++) { AbstractSerializerFactory factory; factory = (AbstractSerializerFactory) _factories.get(i); deserializer = factory.getDeserializer(cl); } // XXX: need test deserializer = _contextFactory.getDeserializer(cl.getName()); if (deserializer != null) return deserializer; [/code] Instead, it should be something like this [code] deserializer = factory.getDeserializer(cl); if (deserializer != null) return deserializer; } [/code] |
||||
| Steps To Reproduce: | |||||
| Additional Information: | |||||
| Relationships | |||||
| Attached Files: | |||||
| Notes | |||||
|
|
|||||
|
|
||||