Hi,


I receive json response from request and I use a Marshaler with a delegate
to convert Json to Object



This is the Json :

{"id":"ddf0ceee-94dc-43c1-89ab-85a1976beeac","version":1361461822009,"dele
ted":false,"creationDate":1361461822009,"userDescriptor":{"id":"2a015030-0
14a-4b1f-b037-bd7b70da2ce7","version":1360718975541,"deleted":false,"first
Name":"Administrateur","lastName":"Système","username":"root","emailAddre
ss":"tmail...@lanauco.com"},"application":{"id":"16328b30-6c79-11e2-bcfd-0
800200c9a66","version":1360853942868,"deleted":false,"applicationKey":"883
63a0d-81fe-48f5-9e9f-23b01cab118e","nameMap":{"en":"RCP
Application","fr":"Application
RCP"}},"permissionList":[{"id":"57e39c52-f7e5-44a3-a831-7345df69d5de","ver
sion":1360718975541,"deleted":false,"permissionKey":"permission.core.secur
ity.permission.view","nameMap":{"fr":"Voir les permissions","en":"View
permissions"},"descriptionMap":{"fr":"","en":""}},{"id":"62d0ba21-4f8f-435
8-a979-1eb5c8f828b9","version":1360718975541,"deleted":false,"permissionKe
y":"permission.core.security.application.view","nameMap":{"en":"View
applications","fr":"Voir les
applications"},"descriptionMap":{"en":"","fr":""}},{"id":"2fdf519f-b826-44
c0-9f47-ce2047fc7a45","version":1360718975541,"deleted":false,"permissionK
ey":"permission.core.security.session.view","nameMap":{"en":"View
sessions","fr":"Voir les
sessions"},"descriptionMap":{"en":"","fr":""}},{"id":"de8f7812-266e-4127-b
eab-28824dcbf16e","version":1360718975541,"deleted":false,"permissionKey":
"permission.core.security.role.view","nameMap":{"fr":"Voir les
roles","en":"View
roles"},"descriptionMap":{"fr":"","en":""}},{"id":"270a0ec3-5d9c-4cfe-9f0c
-214b0e5088a2","version":1360718975541,"deleted":false,"permissionKey":"pe
rmission.core.document.view","nameMap":{"fr":"Voir les
documents","en":"View
documents"},"descriptionMap":{"fr":"","en":""}},{"id":"d0d4aab3-d269-4c2f-
9561-f06b3bcdd65c","version":1360859122702,"deleted":false,"permissionKey"
:"permission.core.security.role.admin","nameMap":{"en":"Manage
roles","fr":"Gérer les
roles"},"descriptionMap":{"en":null,"fr":null}},{"id":"af41e22f-b0e4-48b6-
8fb7-75dbe158a808","version":1360772059381,"deleted":false,"permissionKey"
:"permission.core.security.permission.admin","nameMap":{"en":"Manage
permissions","fr":"Gérer les
permissions"},"descriptionMap":{"en":null,"fr":null}},{"id":"b99d4b52-4fa2
-4dc3-a584-cc0897151215","version":1360785637811,"deleted":false,"permissi
onKey":"permission.core.security.application.admin","nameMap":{"en":"Manag
e applications","fr":"Gérer les
applications"},"descriptionMap":{"en":null,"fr":null}},{"id":"28a8cf05-30a
8-4e8a-88e1-aad1f0ce4295","version":1360718975541,"deleted":false,"permiss
ionKey":"permission.core.document.admin","nameMap":{"en":"Manage
documents","fr":"Gérer les
documents"},"descriptionMap":{"en":"","fr":""}},{"id":"bd1ef190-a356-4dbe-
9365-fd492b4e16ea","version":1360718975541,"deleted":false,"permissionKey"
:"permission.core.security.user.view","nameMap":{"fr":"Voir les
utilisateurs","en":"View
users"},"descriptionMap":{"fr":"","en":""}},{"id":"cb0a542d-9421-4a95-a996
-b9f1179e017a","version":1360785805033,"deleted":false,"permissionKey":"pe
rmission.core.security.user.admin","nameMap":{"fr":"Gérer les
utilisateurs","en":"Manage
users"},"descriptionMap":{"fr":null,"en":null}},{"id":"318764f4-f770-4fb5-
95a5-41e0205df171","version":1360718975541,"deleted":false,"permissionKey"
:"permission.core.security.session.admin","nameMap":{"en":"Manage
sessions","fr":"Gérer les
sessions"},"descriptionMap":{"en":"","fr":""}}]}



This is the delegate :



qx.Class.define("com.lanauco.mobile.core.security.model.delegate.Session",

    {

        extend : qx.core.Object,



        implement: qx.data.marshal.IMarshalerDelegate,



        construct : function() {

            this.base(arguments);

            console.log("Session Delegate Constructor");

        },



        members: {

            getModelClass : function(properties){

                console.log("delegate.Session.getModelClass() properties:
" + properties);

                switch(properties){

                    case
'application"creationDate"deleted"id"permissionList"userDescriptor"version
':

                        return function(){return new
com.lanauco.mobile.core.security.model.Session();};

                        break;

                    case
'deleted"emailAddress"firstName"id"lastName"username"version':

                        return function(){return new
com.lanauco.mobile.core.security.model.UserDescriptor();};

                        break;

                    case 'applicationKey"deleted"id"nameMap"version':

                        return function(){return new
com.lanauco.mobile.core.security.model.Application();};

                        break;

                    case
'deleted"descriptionMap"id"nameMap"permissionKey"version':

                        return function(){return new
com.lanauco.mobile.core.security.model.Permission();};

                        break;

                    case 'en"fr':

                        return function(){return new
com.lanauco.mobile.core.security.model.Translation();};

                        break;

                    default: return null;

                }

            },



            getPropertyMapping : function(property, properties) {

                console.log("delegate.Session.getPropertyMapping()
property : " + property + " , properties : " + properties);

                return property;

            },



            getModelMixins : function(properties){

                console.log("delegate.Session.getModelMixins() properties:
" + properties);

                return null;

            },



            getModelSuperClass : function(properties){

                console.log("delegate.Session.getModelSuperClass()
properties: " + properties);

                return null;

            },



            getValidationRule : function(properties, propertyName){

                console.log("delegate.Session.getValidationRule()
properties : " + properties + " , propertyName : " + propertyName);

                return null;

            },



            ignore: function(properties, parentProperty, depth){

                console.log("delegate.Session.ignore() properties : " +
properties + " , parentProperty : " + parentProperty + " , depth : " +
depth);

            }

        }



    });



This is the part of my code I use to parse Json :



console.log("JSON Login request success");

var req = e.getTarget();



var delegate = new
com.lanauco.mobile.core.security.model.delegate.Session();



var marshaler = new qx.data.marshal.Json(delegate);

console.log("Marshaler created");

marshaler.toClass(new
com.lanauco.mobile.core.security.model.Session(),true);

console.log("marshaler.toclass()");



var modelObject = marshaler.toModel(req.getResponse());



console.log("ModelObjectCreated [" + typeof (modelObject) + "] : " +
modelObject);



this.__offlineStore.setModel(modelObject);

console.log("this.__offlineStore.setModel(modelObject) Complete");



Since I replaced Jsonp request by Xhr request, the conversion not working
anymore…



Do you have any idea for resolving this problem?



Thank you and have a nice day!



Marc-André Dubois
madub...@lanauco.com
Programmeur-Analyste

Description : Lanauco_logo_couleur_long Signature

1.877.881.5151 p.261 (sans frais).

450.831.5151 p.261

450.839.1103 (Fax)

Web :  <http://www.lanauco.com/> http://www.lanauco.com

<<image001.png>>

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
qooxdoo-devel mailing list
qooxdoo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to