//-------------------------------------------------------------------------------- //configuration //-------------------------------------------------------------------------------- var storeIDField="Title"; var storeIDValue="myDataStore"; var storeTable="Nashorn.JS"; var storeValueField="Contents"; var str_ret=''; function print(s){ str_ret+=s; } function println(s){ str_ret+=s+'\n'; } function alert(s){ com.mendix.webui.FeedbackHelper.addTextMessageFeedback( root.getContext(), com.mendix.systemwideinterfaces.core.IFeedback.MessageType.INFO, s, true ) } function getStoreObject(){ var objStore=null; var objType=storeTable; var objIdentifierAttribute=storeIDField; var objIdentifierValue=storeIDValue; var objStoreAttribute=storeValueField; var arr_obj=com.mendix.core.Core.retrieveXPathQuery( root.getContext(), "//"+objType+"["+objIdentifierAttribute+"='"+objIdentifierValue+"']", 1, 0, {} ); if(arr_obj.length>0){ objStore=arr_obj[0]; }else{ objStore=com.mendix.core.Core.instantiate(root.getContext(),objType); objStore.setValue(root.getContext(),objIdentifierAttribute,objIdentifierValue); objStore.setValue(root.getContext(),objStoreAttribute,"{}");//script content goes here com.mendix.core.Core.commit(root.getContext(),objStore); } return objStore; } function getStoreValue(){ var objType=storeTable; var objIdentifierAttribute=storeIDField; var objIdentifierValue=storeIDValue; var objStoreAttribute=storeValueField; try{ return JSON.parse( getStoreObject().getValue(root.getContext(),objStoreAttribute) ); }catch(e){ return null; } } function setStoreValue(o){ if( o!=null&& typeof(getStoreValue())=='object' ){ var objType=storeTable; var objIdentifierAttribute=storeIDField; var objIdentifierValue=storeIDValue; var objStoreAttribute=storeValueField; objStore=getStoreObject(); if(objStore!=null){ try{ objStore.setValue( root.getContext(), objStoreAttribute, JSON.stringify( o, 0, '\t' ) ); com.mendix.core.Core.commit(root.getContext(),objStore); }catch(e){ return false; } }else{ return false; } }else{ return false; } } function setStoreKV(k,v){ try{ var newobj=getStoreValue(); newobj[k]=v; setStoreValue(newobj); return true; }catch(e){ return false; } } function getStoreV(k){ try{ return getStoreValue()[k]; }catch(e){ return null; } } for(var i=0;i<8;i++){ var v=[]; for(var j=0;j<8;j++){ v.push(Math.random()) } setStoreKV(i,v); } try{ alert(JSON.stringify(getStoreValue(),0,'_')); //-------------------------------------------------------------------------------- //java.util.List> getChangedMembers(IContext context) //-------------------------------------------------------------------------------- //alert(getStoreObject().getChangedMembers(root.getContext()));//??? //-------------------------------------------------------------------------------- }catch(e){ alert(e); }