{"action":"created","issue":{"url":"https://api.github.com/repos/OpenTravel/OTM-DE-Compiler/issues/24","labels_url":"https://api.github.com/repos/OpenTravel/OTM-DE-Compiler/issues/24/labels{/name}","comments_url":"https://api.github.com/repos/OpenTravel/OTM-DE-Compiler/issues/24/comments","events_url":"https://api.github.com/repos/OpenTravel/OTM-DE-Compiler/issues/24/events","html_url":"https://github.com/OpenTravel/OTM-DE-Compiler/issues/24","id":105619090,"number":24,"title":"Object-Level Event Listeners for TLModel","user":{"login":"slivezey","id":6350905,"avatar_url":"https://avatars.githubusercontent.com/u/6350905?v=3","gravatar_id":"","url":"https://api.github.com/users/slivezey","html_url":"https://github.com/slivezey","followers_url":"https://api.github.com/users/slivezey/followers","following_url":"https://api.github.com/users/slivezey/following{/other_user}","gists_url":"https://api.github.com/users/slivezey/gists{/gist_id}","starred_url":"https://api.github.com/users/slivezey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slivezey/subscriptions","organizations_url":"https://api.github.com/users/slivezey/orgs","repos_url":"https://api.github.com/users/slivezey/repos","events_url":"https://api.github.com/users/slivezey/events{/privacy}","received_events_url":"https://api.github.com/users/slivezey/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/OpenTravel/OTM-DE-Compiler/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":{"login":"slivezey","id":6350905,"avatar_url":"https://avatars.githubusercontent.com/u/6350905?v=3","gravatar_id":"","url":"https://api.github.com/users/slivezey","html_url":"https://github.com/slivezey","followers_url":"https://api.github.com/users/slivezey/followers","following_url":"https://api.github.com/users/slivezey/following{/other_user}","gists_url":"https://api.github.com/users/slivezey/gists{/gist_id}","starred_url":"https://api.github.com/users/slivezey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slivezey/subscriptions","organizations_url":"https://api.github.com/users/slivezey/orgs","repos_url":"https://api.github.com/users/slivezey/repos","events_url":"https://api.github.com/users/slivezey/events{/privacy}","received_events_url":"https://api.github.com/users/slivezey/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/OpenTravel/OTM-DE-Compiler/milestones/1","html_url":"https://github.com/OpenTravel/OTM-DE-Compiler/milestones/Release%203.2","labels_url":"https://api.github.com/repos/OpenTravel/OTM-DE-Compiler/milestones/1/labels","id":1052750,"number":1,"title":"Release 3.2","description":"","creator":{"login":"slivezey","id":6350905,"avatar_url":"https://avatars.githubusercontent.com/u/6350905?v=3","gravatar_id":"","url":"https://api.github.com/users/slivezey","html_url":"https://github.com/slivezey","followers_url":"https://api.github.com/users/slivezey/followers","following_url":"https://api.github.com/users/slivezey/following{/other_user}","gists_url":"https://api.github.com/users/slivezey/gists{/gist_id}","starred_url":"https://api.github.com/users/slivezey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slivezey/subscriptions","organizations_url":"https://api.github.com/users/slivezey/orgs","repos_url":"https://api.github.com/users/slivezey/repos","events_url":"https://api.github.com/users/slivezey/events{/privacy}","received_events_url":"https://api.github.com/users/slivezey/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":19,"state":"open","created_at":"2015-04-04T13:57:30Z","updated_at":"2015-09-19T16:30:21Z","due_on":null,"closed_at":null},"comments":2,"created_at":"2015-09-09T15:16:57Z","updated_at":"2015-09-19T16:30:21Z","closed_at":null,"body":"Under the current TLModel design, listeners can be registered with the top-level TLModel to be notified of events that occur anywhere in the model.  This is useful in some scenarios, but others (particularly the GUI architecture) require a more fine-grained listener registration design.\r\n\r\nThe design should be updated to allow event listeners to be registered on any TLModelElement (BOs cores, attributes, indicators, etc.).  These fine-grained listeners will only be notified of events that occur on the object where the listener is registered.\r\n\r\nThe existing global event listener registration design should remain unchanged as a result of this enhancement."},"comment":{"url":"https://api.github.com/repos/OpenTravel/OTM-DE-Compiler/issues/comments/141685573","html_url":"https://github.com/OpenTravel/OTM-DE-Compiler/issues/24#issuecomment-141685573","issue_url":"https://api.github.com/repos/OpenTravel/OTM-DE-Compiler/issues/24","id":141685573,"user":{"login":"xmldave","id":5968592,"avatar_url":"https://avatars.githubusercontent.com/u/5968592?v=3","gravatar_id":"","url":"https://api.github.com/users/xmldave","html_url":"https://github.com/xmldave","followers_url":"https://api.github.com/users/xmldave/followers","following_url":"https://api.github.com/users/xmldave/following{/other_user}","gists_url":"https://api.github.com/users/xmldave/gists{/gist_id}","starred_url":"https://api.github.com/users/xmldave/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xmldave/subscriptions","organizations_url":"https://api.github.com/users/xmldave/orgs","repos_url":"https://api.github.com/users/xmldave/repos","events_url":"https://api.github.com/users/xmldave/events{/privacy}","received_events_url":"https://api.github.com/users/xmldave/received_events","type":"User","site_admin":false},"created_at":"2015-09-19T16:30:21Z","updated_at":"2015-09-19T16:30:21Z","body":"I am trying to change which LIbraryNode an top level object is associated with on a ownership event.  It seems like to do this using library ownership events I have to search the children/decedents to find one with matching TL object.  My node object is there but not accessible via either TLModelElement or Event. \r\n\r\nDoable but…what I think I want is one additional operation on the event or on the TLModelElement:\r\n\tevent.getListeners();\r\n\t((TLModelElement)event.getAffectedItem()).getListeners();\r\nI can then create listeners that will return their affected node.\r\n\r\n"}}