Mantis - Hessian
|
|||||
Viewing Issue Advanced Details | |||||
|
|||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3004 | major | always | 10-13-08 07:24 | 10-14-08 15:59 | |
|
|||||
Reporter: | tcouery | Platform: | |||
Assigned To: | OS: | ||||
Priority: | normal | OS Version: | |||
Status: | closed | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.1 | ||
|
|||||
Summary: | 0003004: Hessian serializer in Flex don't use the [Transient] metadata | ||||
Description: |
Actualy, this instance is fully serialized: package hessian.test { public class TestTransient { [Transient] public var field1: String; [Bindable] [Transient] public var field2: String; [Bindable] [Transient] public function get field3(): String { return "field3"; } public function set field3(value: String): void { // } } } An idea of implementation in HessianOutput: private function writeObject10(obj:Object):void { ... //Fields for each(var variable:XML in variables) { key = variable.@name; if ((!isMetadataContains(variable.metadata, "Transient")) && (key != "hessianTypeName")) { writeObject(key); writeObject(obj[key]); } } //Accessors for each(var accessor:XML in accessors) { key = accessor.@name; if ((isMetadataContains(accessor.metadata, "Bindable")) && (!isMetadataContains(accessor.metadata, "Transient")) && (key != "hessianTypeName")) { writeObject(key); writeObject(obj[key]); } } ... } private function isMetadataContains(metadatas:XMLList, code:String): Boolean { for each(var metada:XML in metadatas) { if (metada.@name == code) { return true; } } return false; } |
||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Relationships | |||||
Attached Files: |
There are no notes attached to this issue. |