Change Log

Version 0.9

  • Added PropertyGetter tag
  • Added "useFault" property to MockRemoteObject: when true, any unhandled error in the mock service call will dispatch a fault; when false, error will be rethrown. Default behavior is useFault=true and is backwards compatible
  • Added support for localization (BabelFx framework)

Version 0.8.9

  • Added Flex 4 support.

Version 0.8.6

  • Added tag AsyncCommandInvoker.
  • Added tag DelegateInvoker.
  • Added tag PropertySetter.
  • Added tag Property.
  • Added base class ServiceInvokerBuilder.
  • Added interface IProperty. (implemented by Properties and Property)
  • Added MockServices: AsyncDispatcher, MockCache, MockDelegate, mockMethod, MockOperation, MockRemoteObject, MockWebService.
  • Updated manifest

Version 0.8.5

Version 0.8.4

Fixed bug on cache. Cache == NONE now works as expected

Version 0.8.3

Fixed event propagation bug in StopHandlers tag.

Version 0.8.2

LocalEventMaps have by default a local cache.

Version 0.8.1

Auto registerTarget all objects created by the PropertyInjector

Version 0.8.0

Changes in AbstractHandlers:

  • Added a protected property map:IEventMap

EventHandlers, MessageHandlers, and Injectors changes:

  • In fireEvent method we create the scope using the eventMap as the third parameter.

Changes in IScope:

  • Added cache and eventMap properties.

MessageScope and Service Scope changes:

  • Updated constructor signature. Third element is now an IEventMap.

Changes in Scope:

  • Added cache and eventMap properties and update constructor.

Changes in EventAnnouncer:

  • Removed cache parameter on creator.create() it is no longer needed.
  • Update cache getter and setter to match new type (string).
  • Added dispatcherType property.

Changes in Builder:

  • Cache is no longer a boolean, it's now is a string "local | global | none".
  • Updated createInstance method to match changes in Creator.

Changes in DataCopier:

  • Added two  properties sourceCache and destinationCache.
  • If destination or source is a class, we check if there is an instance of that class in the cache.

Changes in Cache:

  • Now implementing IEventDispatcher and extending Proxy.
  • Added following protected properties: chain, autoCreate, constructorArguments, scopeType, registerTarget
  • Renamed key to generatorKey.
  • Updated the constructor.
  • Added static methods: addCachedInstance, getCachedInstance, clearCachedInstance
  • Added method addKey.
  • Overrride getProperty from proxy.
  • Updated getValue.

Changes in Creator:

  • Removed cache logic.

Changes in EventMap:

  • Implementing now IEventMap.
  • Added cache getter and setter..
  • Removed protected property currentDispatcher.
  • Added getCacheCollection.

Changes in GlobalDispatcher:

  • Fixed bug interceptorEventHandler that makes the event fire in applicationDispatcher when the target is removed from the display list.

Changes in IMateManager and MateManager:

  • Removed addCachedInstance, getCachedInstance, clearCachedInstance methods.
  • Added cache property.

Changes in LocalEventMap:

  • Removed protected property currentDispatcher.

Changes in Dispatcher:

  • Updated dispatchEvent method to allow bubble up on the parent(document).
  • Removed cache parameter on creator.create() it is no longer needed.

Changes in IDispatcherProvider:

  • Renamed IDispatcherProvider to IEventMap.
  • Added cache property and getCacheCollection method.

Changes in manifest:

  • Added LocalEventDispatcher

Version 0.7.9

Fixed a bug in services that manifested when two concurrent calls were made to the same remote service

Version 0.7.8

Added useWeakReference property to Listener tag to improve garbage collection. True by default.

ResponseHandlers now use weakReference internally to improve garbage collection.

Fixed bug in GlobalDispatcher that was firing twice when the event with bubbles true property is dispatched from the application.

Version 0.7.7

Changes in AbstractHandlers:

  • Fixed bug in request object in HTTPServiceInvoker.
  • Implemented new methods setGroupId, getGroupId and clearReferences.
  • Use weak references in mate manager.
  • Added protected vars: dispatcherTypeChanged and currentDispatcher.
  • Added a setter and getter dispatcherType that can have the values inherit or global.
  • When trying to access the dispatcher we now check if the dispatcherType is local, inherit or global and return a dispatcher depending on that value.
  • Updated the setDispatcher to match the interface. Now using the extra parameter local.
  • Clear the scope after runSequence ends to garbage collect the scope object.
  • In initialized method we now check if the document is an IDispatcherProvider. If that is true, we set the dispatcher and validate.

Changes in EventHandlers:

  • Added new properties useWeakReference and useCapture.
  • Changed unregister signature.
  • Implemented new method clearReferences.
  • Use weak references by default in event listeners.
  • handleDispatcherChange was removed.
  • Removed override in dispatcher and added override in setDispatcher.
  • Updated commitProperties to handle dispatcherTypeChanged.
  • Creating the scope now needs a dispatcher in constructor.

Changes in IActionList:

  • It now extends from IEventDisptcher and IMXMLObject
  • Added the following methods: setGroupId, getGroupId, clearReferences.
  • The signature of the setDispatcher method has a new parameter, local, that it is true by default.

Changes in Injectors:

  • Use weak references in commitProperties and dispatcherChangeHandler.
  • handleDispatcherChange was removed.
  • Updated commitProperties to handle dispatcherTypeChanged.
  • override setDispatcher.
  • UCreating the scope now needs a dispatcher in constructor.

Changes in MessageHandlers:

  • getConsumer now uses weak references
  • Implemented new method clearReferences
  • Creating the scope now needs a dispatcher in constructor.

Changes in Scope and MessageScope:

  • Changed constructor signature to add a dispatcher. We are not using the global dispatcher by default anymore.

Changes in ServiceHandlers:

  • Removed un-registration of listeners in fireEvent method. Now that is handled in AbstractServiceInvoker.

Changes in ServiceScope:

  • Updated the super call to send the dispatcher.

Changes in AbstractServiceInvoker:

  • Added new properties currentIndex, autoUnregistration,innerHandlerList.
  • Override prepare to increase currentIndex.
  • Added new handler actionListStartHandler to listen to innerHandlers' START event.
  • Changed createInnerHandlers to auto unregister listeners after one of the innerHandlers fires.

Changes in EventMap:

  • Added protected var currentDispatcher
  • Implemented getDispatcher method from IDispatcherProvider in terface.

Changes in IMateManager:

  • Changed signature of addListenerProxy to allow having multiple proxies, one for each dispatcher.
  • Removed methods removeListenerProxy and lockProxy.
  • Added clearCachedInstance to remove instances from cache.
  • Added listenerProxyType property

Changes in MateManager:

  • Removed unnecessary private property _application, we were not using it.
  • Added a new GlobalDispatcher as the default value of the private var _dispatcher.
  • Added new private var listenerProxies to allow having multiple listenerProxies for injectors.
  • We are not longer adding and removing a single listenerProxy, we are now adding proxies but not removing them.
  • Removed most of the proxy logic because now we have separate class that does that, the ListenerProxy.
  • Implemented clearCachedInstance to remove instances from cache.
  • listenerProxyType is no longer a private var. It is now is a public setter and getter.

Changes in InjectorEvent:

  • Changed the constructor signature to allow passing an object to be used as the target. We generate a string based on that object to use as the type.

Changes in InjectorRegistry:

  • Removed the autowire property.
  • Changed inner logic in eventType to use the global property listenerProxyType in the manager.

Changes in InjectorSettings:

  • Updated to use the new InjectorEvent constructor signature.

Changes in MateManagerEvent:

  • MateManagerEvent was renamed to DispatcherEvent.

New Classes:

  • GlobalDispatcher, this is our default event dispatcher.
  • ListenerProxy.
  • AsyncMethodInvoker.
  • InjectorSettingsEvent.

New Interfaces:

  • IDispatcherProvider, implemented by the EventMap.

Version 0.7.6

Fixed bug in request object in HTTPServiceInvoker

Version 0.7.5

Fixed bug in HttpServiceInvoker when sending XML as a request

Version 0.7.4

Allow request property of HTTPServiceInvoker to be an ISmartObject

Version 0.7.3

Added targetId to PropertyInjector

Version 0.7.2

Added lockProxy in IMateManager interface and implemented it in MateManager
Changed in InjectorSettings to use the lockProxy when the autowire is false
Changed registration in InjectorTarget to register the object with a unique id


Version 0.7.1

Added id property to InjectorTarget and fixed bug when setting the document property in initialize method

Version 0.7.0

Added registerTarget attribute to Object builder

Version 0.6.9

Syntax change: from IMXMLdocument to document in the InjectorTarget class.
Allow the Property injector to have an ISmartObject as source

Version 0.6.8

Added targets to Injectors tag.

Version 0.6.7

Fixed injectors to work in the Application

Version 0.6.6

Fixed lastReturn bug in InlineInvoker tag

Version 0.6.5

Changed default event type in InjectorsSettings back to original type (CreationComplete)

Version 0.6.4

Changed all service invokers to allow the properties RemoteUsername, RemotePassword, Username and Password to be ISmartObjects (ie: event.username, event.password, etc).

Version 0.6.3


Changed default event type in InjectorsSettings to INITIALIZE

Updated the debugger to debug the InlineInvoker

3 responses

  1. Do you have any more detailed info about your releases, e.g. up to which build or nightly build it's been tested with?
  2. Is there a change list for what is new between 0.8.6 and the current version
  3. please update the documentation from EventAnnouncer, because the dispatcherType property is not mentioned there. some new examples use it, but there is no documentation for it

Comments now closed