How do I see these stack traces?

On Thu, Nov 13, 2014 at 4:25 PM, Alex Harui <[email protected]> wrote:

> Interesting.  What are the allocation stack traces of the instances?
>
> On 11/13/14, 1:49 PM, "mark goldin" <[email protected]> wrote:
>
> >Just tried Profiler and it does show multiple Instances of ModelLocator
> >that are increasing every time I run the screen.
> >
> >On Thu, Nov 13, 2014 at 3:43 PM, mark goldin <[email protected]>
> >wrote:
> >
> >> 1. singleton:
> >> package
> >> {
> >> import com.adobe.cairngorm.model.IModelLocator;
> >> import com.instepsoftware.prism.vo.AutoGenerated.ReportResult;
> >>  import flash.events.EventDispatcher;
> >>
> >> [Bindable]
> >> public class ModelLocator extends EventDispatcher implements
> >>IModelLocator
> >> {
> >> private static var _instance:ModelLocator = new ModelLocator();
> >> public var healthReport:ReportResult;
> >>
> >> public function ModelLocator()
> >> {
> >> }
> >>  public static function getInstance():ModelLocator
> >> {
> >> return _instance;
> >> }
> >> }
> >> }
> >> 2. ReportResult:
> >> package
> >> {
> >>
> >> [Bindable]
> >> [RemoteClass(alias=".............ReportResult")]
> >> public class ReportResult
> >> {
> >> public var ReportXMLDoc:String = null;
> >> }
> >> }
> >> Command to handle EventWhichWillPopulateData event:
> >> private var _Model:ModelLocator = ModelLocator.getInstance();
> >> public function result(data:Object):void
> >> {
> >> var re:ResultEvent = data as ResultEvent;
> >> _Model.healthReport = re.result as ReportResult;
> >> // data is here every time I run it
> >> }
> >> 3. Implementation:
> >> mxml file:
> >> creationComplete="creationCompleteHandler(event)"
> >> ......
> >> [Bindable]
> >> private var _ModelLocator = ModelLocator.getInstance();
> >> ....
> >> protected function creationCompleteHandler(event:FlexEvent):void
> >> {
> >> dispatchEvent(new EventWhichWillPopulateData());
> >> }
> >>
> >> <anothercomponenttoshowdata>
> >>     dataProvider="{_ModelLocator.healthReport}"
> >> </anothercomponenttoshowdata>
> >> end of mxml file
> >>
> >>
> >> 4. anothercomponenttoshowdata:
> >> public function set dataProvider(value:ReportResult):void
> >> {
> >> if (value)
> >> {
> >> .......
> >> }
> >> }
> >>
> >> That is close to real code.
> >> I know for sure that _ModelLocator.healthReport gets data in the result
> >> function. The whole thing works for the one time only.
> >> Any consecutive run will have _ModelLocator.healthReport = null in set
> >> dataProvider.
> >>
> >> That's how the whole chain of questions was triggered because I started
> >> looking for workarounds.
> >>
> >> Sorry if that is still not clear.
> >>
> >>
> >> On Thu, Nov 13, 2014 at 3:19 PM, mark goldin <[email protected]>
> >> wrote:
> >>
> >>> I will try again. But this is a commercial application we are talking
> >>> about and it takes some effort to prepare simplified code. Otherwise I
> >>> would just dumb the whole damn thing.
> >>>
> >>> On Thu, Nov 13, 2014 at 3:17 PM, mark goldin <[email protected]>
> >>> wrote:
> >>>
> >>>> Agree about details. But do not with overlapping.
> >>>> Your label does not show its text. Can you imagine how many problems
> >>>> that can be caused by? But here we are talking about singletons and
> >>>> binding, a bit more complicated, at least for me.
> >>>>
> >>>> On Thu, Nov 13, 2014 at 3:12 PM, OmPrakash Muppirala <
> >>>> [email protected]> wrote:
> >>>>
> >>>>> On Thu, Nov 13, 2014 at 1:09 PM, mark goldin <[email protected]>
> >>>>> wrote:
> >>>>>
> >>>>> > I am very sorry for the confusion. I do have it in exactly same
> >>>>>way.
> >>>>> I was
> >>>>> > trying not to provide too much details. What can I say ...
> >>>>> >
> >>>>> >
> >>>>> You should always try to provide as much detail as possible when
> >>>>>asking
> >>>>> a
> >>>>> question.  Also, please try not to create multiple threads at the
> >>>>>same
> >>>>> time
> >>>>> talking about overlapping issues.
> >>>>>
> >>>>> Thanks,
> >>>>> Om
> >>>>>
> >>>>>
> >>>>> > On Thu, Nov 13, 2014 at 3:04 PM, Alex Harui <[email protected]>
> >>>>>wrote:
> >>>>> >
> >>>>> > > In this example, the ‘data’ property is an Object.  Properties
> >>>>> assigned
> >>>>> > to
> >>>>> > > Objects are not bindable.  There should have been warnings in the
> >>>>> compile
> >>>>> > > output or in the console at runtime.
> >>>>> > >
> >>>>> > > If you know the set of properties on the data object, you should
> >>>>> define a
> >>>>> > > class for that.
> >>>>> > >
> >>>>> > > [Bindable]
> >>>>> > > public class MyModelDataSubObject
> >>>>> > > {
> >>>>> > >    public var propOnData:String;
> >>>>> > > }
> >>>>> > >
> >>>>> > > And:
> >>>>> > >
> >>>>> > > [Bindable]
> >>>>> > > public class ModelLocator extends EventDispatcher implements
> >>>>> > IModelLocator
> >>>>> > > {
> >>>>> > > private static var _instance:ModelLocator;
> >>>>> > > public var data:MyModelDataSubObject;
> >>>>> > > public function ModelLocator(enforcer:SingletonEnforcer)
> >>>>> > > ..
> >>>>> > >
> >>>>> > >
> >>>>> > > -Alex
> >>>>> > >
> >>>>> > > On 11/13/14, 12:49 PM, "mark goldin" <[email protected]>
> >>>>>wrote:
> >>>>> > >
> >>>>> > > >Something like this. A bit simplified:
> >>>>> > > >package
> >>>>> > > >{
> >>>>> > > >
> >>>>> > > >[Bindable]
> >>>>> > > >public class ModelLocator extends EventDispatcher implements
> >>>>> > IModelLocator
> >>>>> > > >{
> >>>>> > > >private static var _instance:ModelLocator;
> >>>>> > > >public var data:Object;
> >>>>> > > > public function ModelLocator(enforcer:SingletonEnforcer)
> >>>>> > > >{
> >>>>> > > >if (enforcer == null){
> >>>>> > > >throw new Error("You can have only one ModelLocator");
> >>>>> > > >}
> >>>>> > > >}
> >>>>> > > > public static function getInstance():ModelLocator{
> >>>>> > > > if (_instance == null){
> >>>>> > > >_instance = new ModelLocator(new SingletonEnforcer());
> >>>>> > > > }
> >>>>> > > > return _instance;
> >>>>> > > > }
> >>>>> > > >}
> >>>>> > > >}
> >>>>> > > >class SingletonEnforcer{}
> >>>>> > > >
> >>>>> > > >
> >>>>> > > >On Thu, Nov 13, 2014 at 2:44 PM, Alex Harui <[email protected]>
> >>>>> wrote:
> >>>>> > > >
> >>>>> > > >> Declaring a class [Bindable] does not make its sub-objects
> >>>>> bindable.
> >>>>> > > >>Show
> >>>>> > > >> us the code for the model’s data property.
> >>>>> > > >>
> >>>>> > > >> -Alex
> >>>>> > > >>
> >>>>> > > >> On 11/13/14, 12:31 PM, "mark goldin" <[email protected]>
> >>>>> wrote:
> >>>>> > > >>
> >>>>> > > >> >It's an object. The whole model class is Bindable.
> >>>>> > > >> >
> >>>>> > > >> >On Thu, Nov 13, 2014 at 2:11 PM, Alex Harui
> >>>>><[email protected]>
> >>>>> > wrote:
> >>>>> > > >> >
> >>>>> > > >> >> It appears you are binding to sub-objects in the model, and
> >>>>> they
> >>>>> > may
> >>>>> > > >>not
> >>>>> > > >> >> be bindable.  What is _model.data?
> >>>>> > > >> >>
> >>>>> > > >> >> -Alex
> >>>>> > > >> >>
> >>>>> > > >> >> On 11/13/14, 10:49 AM, "mark goldin"
> >>>>><[email protected]>
> >>>>> > wrote:
> >>>>> > > >> >>
> >>>>> > > >> >> >No, they are not static. I even replaces public var ...
> >>>>>with
> >>>>> > setter
> >>>>> > > >>and
> >>>>> > > >> >> >getter. Still the same.
> >>>>> > > >> >> >Here more code for singleton:
> >>>>> > > >> >> >public var data:Object;
> >>>>> > > >> >> >public function ModelLocator(enforcer:SingletonEnforcer)
> >>>>> > > >> >> >{
> >>>>> > > >> >> >if (enforcer == null){
> >>>>> > > >> >> >throw new Error("You can have only one ModelLocator");
> >>>>> > > >> >> >}
> >>>>> > > >> >> >}
> >>>>> > > >> >> > public static function getInstance():ModelLocator{
> >>>>> > > >> >> > if (_instance == null){
> >>>>> > > >> >> >_instance = new ModelLocator(new SingletonEnforcer());
> >>>>> > > >> >> > }
> >>>>> > > >> >> > return _instance;
> >>>>> > > >> >> > }
> >>>>> > > >> >> >class SingletonEnforcer{}
> >>>>> > > >> >> >
> >>>>> > > >> >> >
> >>>>> > > >> >> >In another class I am getting an instance of singleton:
> >>>>> > > >> >> >private var _model:ModelLocator =
> >>>>>ModelLocator.getInstance();
> >>>>> > > >> >> >
> >>>>> > > >> >> >BindingUtils.bindSetter(onDataLoaded, _Model.data,
> >>>>> "propOnData");
> >>>>> > > >> >> >new GetDataEvent().dispatch();
> >>>>> > > >> >> >
> >>>>> > > >> >> >public function onDataLoaded(value:String):void
> >>>>> > > >> >> >{
> >>>>> > > >> >> >trace(2);
> >>>>> > > >> >> >if (value)
> >>>>> > > >> >> >{
> >>>>> > > >> >> >......
> >>>>> > > >> >> >}
> >>>>> > > >> >> >}
> >>>>> > > >> >> >
> >>>>> > > >> >> >this is a command that set to get data when GetDataEvent
> >>>>> event is
> >>>>> > > >> >> >triggered:
> >>>>> > > >> >> >
> >>>>> > > >> >> >public function result(data:Object):void
> >>>>> > > >> >> >{
> >>>>> > > >> >> >var re:ResultEvent = data as ResultEvent;
> >>>>> > > >> >> >_assetHealthModel.data = re.result as Object;
> >>>>> > > >> >> >trace(1);
> >>>>> > > >> >> >}
> >>>>> > > >> >> >
> >>>>> > > >> >> >In Console I see
> >>>>> > > >> >> >2
> >>>>> > > >> >> >1
> >>>>> > > >> >> >
> >>>>> > > >> >> >but never 2 again.
> >>>>> > > >> >> >
> >>>>> > > >> >> >Hope, it's clear.
> >>>>> > > >> >> >
> >>>>> > > >> >> >Thanks
> >>>>> > > >> >> >
> >>>>> > > >> >> >
> >>>>> > > >> >> >On Thu, Nov 13, 2014 at 12:37 PM, Alex Harui <
> >>>>> [email protected]>
> >>>>> > > >>wrote:
> >>>>> > > >> >> >
> >>>>> > > >> >> >>
> >>>>> > > >> >> >>
> >>>>> > > >> >> >> On 11/13/14, 10:04 AM, "mark goldin" <
> >>>>> [email protected]>
> >>>>> > > >>wrote:
> >>>>> > > >> >> >>
> >>>>> > > >> >> >> >Here is singleton definition:
> >>>>> > > >> >> >> >[Bindable]
> >>>>> > > >> >> >> >public class ModelLocator extends EventDispatcher
> >>>>> implements
> >>>>> > > >> >> >>IModelLocator
> >>>>> > > >> >> >> >
> >>>>> > > >> >> >> >All properties on that class are public vars.
> >>>>> > > >> >> >>
> >>>>> > > >> >> >> I’ll assume you are trying to tell me that they are not
> >>>>> public
> >>>>> > > >>static
> >>>>> > > >> >> >>vars?
> >>>>> > > >> >> >>
> >>>>> > > >> >> >> When we’ll need to know more about how the instance is
> >>>>> shared,
> >>>>> > > >> >>whether
> >>>>> > > >> >> >>you
> >>>>> > > >> >> >> are getting warnings and compile time or runtime, and
> >>>>> probably
> >>>>> > > >>more
> >>>>> > > >> >> >> details about what the symptoms are.
> >>>>> > > >> >> >>
> >>>>> > > >> >> >> -Alex
> >>>>> > > >> >> >>
> >>>>> > > >> >> >>
> >>>>> > > >> >>
> >>>>> > > >> >>
> >>>>> > > >>
> >>>>> > > >>
> >>>>> > >
> >>>>> > >
> >>>>> >
> >>>>>
> >>>>
> >>>>
> >>>
> >>
>
>

Reply via email to