From b5652ada84105e67174cd9db944679c7f4d88fb4 Mon Sep 17 00:00:00 2001 From: knalli Date: Thu, 13 Nov 2014 19:24:17 +0100 Subject: [PATCH 01/11] Bump version --- bower.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bower.json b/bower.json index a06980e..2930786 100644 --- a/bower.json +++ b/bower.json @@ -2,7 +2,7 @@ "author": "Jan Philipp", "name": "angular-vertxbus", "description": "Seed for reusable Angular components.", - "version": "0.8.1", + "version": "0.9.0", "homepage": "http://github.com/knalli/angular-vertxbus", "main": "./dist/angular-vertxbus.min.js", "ignore": [ diff --git a/package.json b/package.json index 5ee1ade..65672a5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "angular-vertxbus", - "version": "0.8.1", + "version": "0.9.0", "description": "Seed for reusable Angular components.", "main": "dist/angular-vertxbus.min.js", "scripts": { From 753ac45325887c1e475bc0ac15e047ba3f7ac447 Mon Sep 17 00:00:00 2001 From: knalli Date: Thu, 13 Nov 2014 19:26:02 +0100 Subject: [PATCH 02/11] Fix description tag --- bower.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bower.json b/bower.json index 2930786..fe76a05 100644 --- a/bower.json +++ b/bower.json @@ -1,7 +1,7 @@ { "author": "Jan Philipp", "name": "angular-vertxbus", - "description": "Seed for reusable Angular components.", + "description": "AngularJS facade and service acting as a Vert.x SockJS client", "version": "0.9.0", "homepage": "http://github.com/knalli/angular-vertxbus", "main": "./dist/angular-vertxbus.min.js", diff --git a/package.json b/package.json index 65672a5..ba489fa 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "angular-vertxbus", "version": "0.9.0", - "description": "Seed for reusable Angular components.", + "description": "AngularJS facade and service acting as a Vert.x SockJS client", "main": "dist/angular-vertxbus.min.js", "scripts": { "prepublish": "bower install", From 86b06b6d583353965f74bacf2a7995c9830e474d Mon Sep 17 00:00:00 2001 From: knalli Date: Thu, 13 Nov 2014 19:31:45 +0100 Subject: [PATCH 03/11] chore(dependencies): change bower dependency SockJS to 'sockjs-client' BREAKING CHANGE: The bower dependency for SockJS has been changed from 'sockjs' to 'sockjs-client' officially supported since https://github.com/sockjs/sockjs-client/commit/3cbe21423e7f2c93f4b6853059f38ae1a7b2a2b2 --- bower.json | 2 +- test_scopes/angular_1.2.x/bower.json | 4 ++-- test_scopes/angular_1.3.x/bower.json | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/bower.json b/bower.json index fe76a05..305af66 100644 --- a/bower.json +++ b/bower.json @@ -20,7 +20,7 @@ }, "dependencies": { "angular": "~1.2.0", - "sockjs": "~0.3.4", + "sockjs-client": "~0.3.4", "vertxbus.js": "http://cdnjs.cloudflare.com/ajax/libs/vertx/2.0.0/vertxbus.js" }, "devDependencies": { diff --git a/test_scopes/angular_1.2.x/bower.json b/test_scopes/angular_1.2.x/bower.json index 5a4c7bf..d97d80a 100644 --- a/test_scopes/angular_1.2.x/bower.json +++ b/test_scopes/angular_1.2.x/bower.json @@ -1,7 +1,7 @@ { "author": "Jan Philipp", "name": "angular-vertxbus", - "description": "Seed for reusable Angular components.", + "description": "", "version": "0.0.0", "homepage": "http://github.com/knalli/angular-vertxbus", "repository": { @@ -10,7 +10,7 @@ }, "dependencies": { "angular": "~1.2.0", - "sockjs": "~0.3.4", + "sockjs-client": "~0.3.4", "vertxbus.js": "http://cdnjs.cloudflare.com/ajax/libs/vertx/2.0.0/vertxbus.js" }, "devDependencies": { diff --git a/test_scopes/angular_1.3.x/bower.json b/test_scopes/angular_1.3.x/bower.json index caf5229..3f6da6f 100644 --- a/test_scopes/angular_1.3.x/bower.json +++ b/test_scopes/angular_1.3.x/bower.json @@ -1,7 +1,7 @@ { "author": "Jan Philipp", "name": "angular-vertxbus", - "description": "Seed for reusable Angular components.", + "description": "", "version": "0.0.0", "homepage": "http://github.com/knalli/angular-vertxbus", "repository": { @@ -10,7 +10,7 @@ }, "dependencies": { "angular": "~1.3.0", - "sockjs": "~0.3.4", + "sockjs-client": "~0.3.4", "vertxbus.js": "http://cdnjs.cloudflare.com/ajax/libs/vertx/2.0.0/vertxbus.js" }, "devDependencies": { From be1ff6d847d7a260e9b6cc26a728b22398472bb4 Mon Sep 17 00:00:00 2001 From: knalli Date: Thu, 13 Nov 2014 19:40:04 +0100 Subject: [PATCH 04/11] Remove changelog file in canary --- CHANGELOG.md | 48 ------------------------------------------------ 1 file changed, 48 deletions(-) delete mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 167471e..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,48 +0,0 @@ - -### v0.4.4 (2013-12-16) - - -#### Bug Fixes - -* fix issue with $q / typo ([4c455878](http://github.com/knalli/angular-vertxbus/commit/4c4558785b3cf729511909545f7ddf65f92478d8)) - - -### v0.4.3 (2013-12-16) - - -#### Bug Fixes - -* fix another npe ([b1cf79c2](http://github.com/knalli/angular-vertxbus/commit/b1cf79c250e6926bcde916fc848450677f274782)) - - -### v0.4.2 (2013-12-16) - - -#### Bug Fixes - -* fix possible npe if event bus is disabled (was not fixed in 0.4.1) ([15c58325](http://github.com/knalli/angular-vertxbus/commit/15c5832512a1fc1e00fc6ff7e487c172a5178a71)) - - -### v0.4.1 (2013-12-16) - - -#### Bug Fixes - -* fix possible npe if event bus is disabled ([600a0907](http://github.com/knalli/angular-vertxbus/commit/600a0907f556a0ec402b6041a1b1977990c9ffaa)) - - -## v0.4.0 (2013-12-16) - - -#### Features - -* fix use any angularjs 1.2.x ([35b4bc56](http://github.com/knalli/angular-vertxbus/commit/35b4bc56fa5ae035b66ae17c3fc1be2df9b104d6)) - - -## v0.3.0 (2013-12-15) - - -#### Bug Fixes - -* missing repository field in package.json ([1d4e8885](http://github.com/knalli/angular-vertxbus/commit/1d4e88855298f06df91b4237f38f289a576b5f82)) - From 72b51654618d6d3e0519845b2a8f35c83b7e9c98 Mon Sep 17 00:00:00 2001 From: knalli Date: Thu, 13 Nov 2014 19:41:32 +0100 Subject: [PATCH 05/11] fix(package): use non minified artifact as 'main' Fixes #27 --- bower.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bower.json b/bower.json index 305af66..aae1e8a 100644 --- a/bower.json +++ b/bower.json @@ -4,7 +4,7 @@ "description": "AngularJS facade and service acting as a Vert.x SockJS client", "version": "0.9.0", "homepage": "http://github.com/knalli/angular-vertxbus", - "main": "./dist/angular-vertxbus.min.js", + "main": "./dist/angular-vertxbus.js", "ignore": [ ".editorconfig", ".jshintrc", diff --git a/package.json b/package.json index ba489fa..cf7f59c 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "angular-vertxbus", "version": "0.9.0", "description": "AngularJS facade and service acting as a Vert.x SockJS client", - "main": "dist/angular-vertxbus.min.js", + "main": "dist/angular-vertxbus.js", "scripts": { "prepublish": "bower install", "test": "grunt install-test && grunt test", From b74d83fc834aff2eb9a363092dbce29b5fc1b0db Mon Sep 17 00:00:00 2001 From: knalli Date: Thu, 13 Nov 2014 19:45:40 +0100 Subject: [PATCH 06/11] Add npm badge --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 9172905..c167f8b 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# angular-vertxbus [![Bower version](https://badge.fury.io/bo/angular-vertxbus.svg)](http://badge.fury.io/bo/angular-vertxbus) [![Built with Grunt](https://cdn.gruntjs.com/builtwith.png)](http://gruntjs.com/) +# angular-vertxbus [![Bower version](https://badge.fury.io/bo/angular-vertxbus.svg)](http://badge.fury.io/bo/angular-vertxbus) [![npm version](https://badge.fury.io/js/angular-vertxbus.svg)](http://badge.fury.io/js/angular-vertxbus) [![Built with Grunt](https://cdn.gruntjs.com/builtwith.png)](http://gruntjs.com/) Client side library using VertX Event Bus as an Angular Service module @@ -134,12 +134,12 @@ For each connect or disconnect, a global broadcast will be emitted (on `$rootSco ### Setup for using same callback with different addresses -In some scenarios you will want to use a single callback definition to many different addresses. To do this you will -have to follow this pattern. +In some scenarios you will want to use a single callback definition to many different addresses. To do this you will +have to follow this pattern. Create a javascript object that defines your callback. Do not attempt to use `.prototype` as the methods defined as such will always point to the same memory allocation - so will always be found identical when adding to the internal -array. +array. ```javascript function FunctionHolder(){ "use strict"; @@ -151,7 +151,7 @@ function FunctionHolder(){ }; ``` -Then when adding the listeners, you will create a new instance of your object and use your defined function. +Then when adding the listeners, you will create a new instance of your object and use your defined function. ```javascript var funcHolder = new FunctionHolder(); vertxEventBusService.addListener('address', funcHolder.handler); From 2755038ee618f939ee58d78e5cc7642072eb1297 Mon Sep 17 00:00:00 2001 From: Frank Wallis Date: Fri, 21 Nov 2014 14:24:26 +0000 Subject: [PATCH 07/11] feat(componentjs): add support for componentjs and related builds --- component.json | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 component.json diff --git a/component.json b/component.json new file mode 100644 index 0000000..758cea4 --- /dev/null +++ b/component.json @@ -0,0 +1,11 @@ +{ + "name": "angular-vertxbus", + "dependencies": { + }, + "main": "dist/angular-vertxbus.js", + "scripts": [ + "dist/angular-vertxbus.js" + ], + "repository": "knalli/angular-vertxbus", + "version": "master" +} \ No newline at end of file From d748944dae9e10c5332f046904f8a4ee331e6125 Mon Sep 17 00:00:00 2001 From: knalli Date: Sun, 23 Nov 2014 17:29:57 +0100 Subject: [PATCH 08/11] feat(componentjs): add support for componentjs and related builds --- component.json | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/component.json b/component.json index 758cea4..8e94533 100644 --- a/component.json +++ b/component.json @@ -1,11 +1,13 @@ { "name": "angular-vertxbus", - "dependencies": { - }, + "description": "AngularJS facade and service acting as a Vert.x SockJS client", + "version": "master", "main": "dist/angular-vertxbus.js", + "repository": "knalli/angular-vertxbus", "scripts": [ "dist/angular-vertxbus.js" ], - "repository": "knalli/angular-vertxbus", - "version": "master" -} \ No newline at end of file + "dependencies": { + "components/angular.js": "~1.2.0" + } +} From 9a763d6f90ba2633cae8510e1f0370128b4c7b0b Mon Sep 17 00:00:00 2001 From: knalli Date: Sun, 23 Nov 2014 17:32:48 +0100 Subject: [PATCH 09/11] feat(componentjs): add support for componentjs and related builds --- component.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/component.json b/component.json index 8e94533..626e2f8 100644 --- a/component.json +++ b/component.json @@ -9,5 +9,6 @@ ], "dependencies": { "components/angular.js": "~1.2.0" - } + }, + "license": "MIT" } From 4ebd13095836071646ee65b7fd5160b37b685076 Mon Sep 17 00:00:00 2001 From: knalli Date: Sun, 23 Nov 2014 18:09:19 +0100 Subject: [PATCH 10/11] Fixup for 86b06b6 (replaced SockJS dependency) --- test/e2e/web/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/e2e/web/index.html b/test/e2e/web/index.html index 16ca8ce..0a40c5f 100644 --- a/test/e2e/web/index.html +++ b/test/e2e/web/index.html @@ -21,7 +21,7 @@ Invalid Session - + From 8e5006e73ac0bc6d1157ffc4d7d2334ac7b2df4a Mon Sep 17 00:00:00 2001 From: knalli Date: Sun, 23 Nov 2014 18:11:07 +0100 Subject: [PATCH 11/11] feat(): improve debugger-readibility w/ fn.displayName Solves #28 --- src/service.coffee | 50 +++++++++++++++++++++++++++++++++++++++------- src/wrapper.coffee | 18 ++++++++++++++++- 2 files changed, 60 insertions(+), 8 deletions(-) diff --git a/src/service.coffee b/src/service.coffee index 860d441..d00478e 100644 --- a/src/service.coffee +++ b/src/service.coffee @@ -20,6 +20,10 @@ angular.module('knalli.angular-vertxbus') .provider('vertxEventBusService', () -> + CONSTANTS = + MODULE: 'angular-vertxbus' + COMPONENT: 'service' + DEFAULT_OPTIONS = loginRequired: false loginBlockForSession: false #NYI @@ -88,16 +92,19 @@ angular.module('knalli.angular-vertxbus') @requireLogin = (value = options.loginRequired) -> options.loginRequired = value return this + @requireLogin.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: requireLogin" # private: NYI @blockForSession = (value = options.loginBlockForSession) -> options.loginBlockForSession = value return this + @blockForSession.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: blockForSession" # private: NYI @skipUnauthorizeds = (value = options.skipUnauthorizeds) -> options.skipUnauthorizeds = value return this + @skipUnauthorizeds.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: skipUnauthorizeds" @$get = ($rootScope, $q, $interval, $timeout, vertxEventBus) -> # Extract options (with defaults) @@ -131,6 +138,7 @@ angular.module('knalli.angular-vertxbus') vertxEventBus.onclose = -> wrapped.getConnectionState(true) $rootScope.$broadcast "#{prefix}system.disconnected" + vertxEventBus.onclose.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: 'onclose' handler" ensureOpenConnection = (fn) -> if wrapped.getConnectionState() is vertxEventBus.EventBus.OPEN @@ -140,13 +148,14 @@ angular.module('knalli.angular-vertxbus') messageQueueHolder.push(fn) return true return false + ensureOpenConnection.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: ensureOpenConnection" ensureOpenAuthConnection = (fn) -> unless options.loginRequired # easy: no login required ensureOpenConnection fn else - ensureOpenConnection -> + wrapFn = -> if validSession fn() return true @@ -154,6 +163,9 @@ angular.module('knalli.angular-vertxbus') # ignore this message console.debug("[VertX EB Service] Message was not sent because login is required") if debugEnabled return false + wrapFn.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: ensureOpenAuthConnection function wrapper" + ensureOpenConnection wrapFn + ensureOpenAuthConnection.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: ensureOpenAuthConnection" # All utility methods working directly on the event bus object. # The object "vertxEventBus" must be available. @@ -163,10 +175,11 @@ angular.module('knalli.angular-vertxbus') return unless typeof callback is 'function' console.debug("[VertX EB Service] Register handler for #{address}") if debugEnabled return fnWrapperMap.get(callback) if fnWrapperMap.containsKey(callback) # already known - fnWrapperMap.put(callback, (message, replyTo) -> + deconstructor = (message, replyTo) -> callback(message, replyTo) $rootScope.$digest() - ) + deconstructor.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: util.registerHandler (deconstructor)" + fnWrapperMap.put(callback, deconstructor) vertxEventBus.registerHandler address, fnWrapperMap.get(callback) # Remove a callback handler for the specified address match. unregisterHandler : (address, callback) -> @@ -181,19 +194,23 @@ angular.module('knalli.angular-vertxbus') # @param timeout an optional number for a timout after which the promise will be rejected send : (address, message, timeout = 10000) -> deferred = $q.defer() - dispatched = ensureOpenAuthConnection -> + next = -> vertxEventBus.send address, message, (reply) -> if deferred then deferred.resolve reply # Register timeout for promise rejecting. if deferred then $timeout (-> deferred.reject()), timeout + next.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: util.send (ensureOpenAuthConnection callback)" + dispatched = ensureOpenAuthConnection next if deferred and !dispatched then deferred.reject() return deferred?.promise # Publish a message to the specified address (using EventBus.publish). # @param address a required string for the targeting address in the bus # @param message a required piece of message data publish : (address, message) -> - dispatched = ensureOpenAuthConnection -> + next = -> vertxEventBus.publish address, message + next.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: util.publish (ensureOpenAuthConnection callback)" + dispatched = ensureOpenAuthConnection next return dispatched # Send a login message # @param username @@ -201,16 +218,24 @@ angular.module('knalli.angular-vertxbus') # @param timeout login : (username, password, timeout = 5000) -> deferred = $q.defer() - vertxEventBus.login username, password, (reply) -> + next = (reply) -> if reply?.status is 'ok' deferred.resolve reply $rootScope.$broadcast "#{prefix}system.login.succeeded", (status: reply?.status) else deferred.reject reply $rootScope.$broadcast "#{prefix}system.login.failed", (status: reply?.status) + next.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: util.login (callback)" + vertxEventBus.login username, password, next $timeout (-> deferred.reject()), timeout return deferred.promise + util.registerHandler.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: util.registerHandler" + util.unregisterHandler.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: util.unregisterHandler" + util.send.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: util.send" + util.publish.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: util.publish" + util.login.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: util.login" + # Wrapping methods for the api wrapped = # Store of all handlers using as a cache when the event bus is not online @@ -266,8 +291,18 @@ angular.module('knalli.angular-vertxbus') validSession = false return reply + wrapped.registerHandler.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: wrapped.registerHandler" + wrapped.unregisterHandler.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: wrapped.unregisterHandler" + wrapped.send.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: wrapped.send" + wrapped.publish.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: wrapped.publish" + wrapped.getConnectionState.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: wrapped.getConnectionState" + wrapped.isValidSession.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: wrapped.isValidSession" + wrapped.login.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: wrapped.login" + # Update the current connection state periodially. - $interval (-> wrapped.getConnectionState(true)), sockjsStateInterval + connectionIntervalCheck = -> wrapped.getConnectionState(true) + connectionIntervalCheck.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: periodic connection check" + $interval connectionIntervalCheck, sockjsStateInterval ### building and exposing the actual service API ### return ( @@ -284,6 +319,7 @@ angular.module('knalli.angular-vertxbus') isValidSession : -> validSession login : wrapped.login ) + @$get.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: initializer" return #void ) diff --git a/src/wrapper.coffee b/src/wrapper.coffee index b61683b..e71ba1a 100644 --- a/src/wrapper.coffee +++ b/src/wrapper.coffee @@ -14,6 +14,10 @@ angular.module('knalli.angular-vertxbus') .provider('vertxEventBus', () -> + CONSTANTS = + MODULE: 'angular-vertxbus' + COMPONENT: 'wrapper' + DEFAULT_OPTIONS = enabled: true debugEnabled: false @@ -123,17 +127,29 @@ angular.module('knalli.angular-vertxbus') registerHandler: (address, handler) -> eventBus.registerHandler(address, handler) ### and return the deregister callback ### - return -> + deconstructor = -> stub.unregisterHandler(address, handler) return #void + deconstructor.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: EventBusWrapper.registerHandler (deconstructor)" + return deconstructor unregisterHandler: (address, handler) -> eventBus.unregisterHandler(address, handler) readyState: -> eventBus.readyState() ### expose current used internal instance of actual EventBus ### EventBus: EventBus_ getOptions: -> angular.extend({}, options) + stub.reconnect.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: EventBusWrapper.reconnect" + stub.close.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: EventBusWrapper.close" + stub.login.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: EventBusWrapper.login" + stub.send.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: EventBusWrapper.send" + stub.publish.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: EventBusWrapper.publish" + stub.registerHandler.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: EventBusWrapper.registerHandler" + stub.unregisterHandler.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: EventBusWrapper.unregisterHandler" + stub.readyState.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: EventBusWrapper.readyState" + stub.getOptions.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: EventBusWrapper.getOptions" else console.debug("[VertX EventBus] Disabled") if debugEnabled return stub + @$get.displayName = "#{CONSTANTS.MODULE}/#{CONSTANTS.COMPONENT}: initializer" return #void )