Commit Graph

7713 Commits

Author SHA1 Message Date
Victor Woeltjen
8e1eb2f22f [Framework] Initial spec for bundle loader
Add first test case for bundle loader, WTD-518.
2014-11-06 14:28:22 -08:00
Victor Woeltjen
dac05d7841 [Framework] Spec for ApplicationBootstrapper
Add spec for the application bootstrapper; verify
its interactions with Angular. WTD-518.
2014-11-06 08:23:33 -08:00
Victor Woeltjen
e2f8b1eef9 [Framework] Add skeleton specs
Add empty specs for all classes introduced for the
framework layer, WTD-518.

Note that Main is omitted, as this launches the full
application.
2014-11-06 08:03:35 -08:00
Victor Woeltjen
b0bd9c5cf1 [Test] Fix command line testing
Change the way missing test suites are detected by
the test runner; PhantomJS (used for executing tests
from the command line build) does not appear to give
consistent HTTP status codes, so use a more general
try-catch mechanism.

Addresses an issue introduced during ongoing
development of framework layer, WTD-518.
2014-11-05 18:06:03 -08:00
Victor Woeltjen
f3e532156d [Example] Add missing semicolon
In context of building examples for WTD-518 self-testing.
2014-11-05 17:53:06 -08:00
Victor Woeltjen
89a70973d6 [Build] Exclude examples from produced WAR
Exclude example bundles from produced web archive; this
allows the example folder to grow (e.g. in support of
framework component demonstration for WTD-518) without
influencing the size of the built archive.
2014-11-05 17:48:59 -08:00
Victor Woeltjen
074958317f [Example] Add composite services example
Add an example showing the use of composite services,
WTD-518.
2014-11-05 17:38:14 -08:00
Victor Woeltjen
3cbdb0b9e2 [Framework] Add missing require argument
Add missing import of the ServiceCompositor to
CustomRegistrars. WTD-518.
2014-11-05 17:37:49 -08:00
Victor Woeltjen
ea4619c3d8 [Framework] Document implementation
Document implementation more fully, including notes on
composite services. WTD-518.
2014-11-05 17:29:04 -08:00
Victor Woeltjen
9e61e89da4 [Framework] Wire in service compositor
Use service compositor as a form of custom registrar.
Also, add clarifying comments. WTD-518.
2014-11-05 16:42:15 -08:00
Victor Woeltjen
67dac667cf [Framework] Change cardinality of custom registrars
Change cardinality of custom registrars from one to
many; this will permit treating the service
compositor as a custom registrar. WTD-518.
2014-11-05 16:25:34 -08:00
Victor Woeltjen
2d0d505b51 [Framework] Simplify inputs to service compositor
Accept the full component array into the service
compositor; this will make it easier to add these
from the registar. WTD-518.
2014-11-05 15:02:46 -08:00
Victor Woeltjen
d9f17dca83 [Framework] Initial service compositor implementation
Initial implementation of the service compositor, which
is responsible for registering components which follow
the provider-aggregator-decorator pattern as named
services within Angular. WTD-518.
2014-11-05 14:51:08 -08:00
Victor Woeltjen
a4f396b876 [Test] Ignore missing suites
Ignore bundles for which no test suites have been defined.
Used to support development of framework layer (don't
stall the test runner just because some bundle does not
have defined tests yet), WTD-518.
2014-11-05 14:10:46 -08:00
Victor Woeltjen
6e59b5881d [Example] Use implementations in examples
Use implementations of custom extensions in examples.
WTD-518.
2014-11-05 14:05:14 -08:00
Victor Woeltjen
b1654f7034 [Framework] Fix partial constructor
Fix the replicated behavior of the new operator in the
partial constructor such that it accepts factory-style
constructors (which will be the norm according to
current code style standards.) WTD-518.
2014-11-05 14:04:24 -08:00
Victor Woeltjen
2f0ea19750 [Framework] Add clarifying comments
Add clarifying comments to code responsible for registering
empty extension categories, WTD-518.
2014-11-05 13:42:51 -08:00
Victor Woeltjen
aeb670bf5f [Example] Add new example bundle
Add an example bundle containing custom extensions,
which can be recognized by extensions from another
bundle. WTD-518.
2014-11-05 13:38:46 -08:00
Victor Woeltjen
033ecec295 [Framework] Handle empty extension sets
Satisfy dependencies on empty extension sets when
necessary; extensions which depend on extension
categories which do not exist then get an empty
array. WTD-518.
2014-11-05 13:25:01 -08:00
Victor Woeltjen
ff9682c40c [Example] Use non-built-in extensions
Use non-built-in extensions in an example bundle,
WTD-518.
2014-11-05 12:40:53 -08:00
Victor Woeltjen
22034d3305 [Framework] Slice arguments correctly
Fix arguments-to-array conversions used for extension
registration. WTD-518.
2014-11-05 12:36:31 -08:00
Victor Woeltjen
7388f4e8bf [Framework] Add documentation to framework component
Add an overview of the stages of framework execution
at the bundle level. WTD-518.
2014-11-05 12:25:37 -08:00
Victor Woeltjen
73e767228f [Framework] Refactor source folder
Refactor framework source folder; move each initialization
stage into its own directory. WTD-518.
2014-11-05 12:18:19 -08:00
Victor Woeltjen
dbd5b148e2 [Framework] Add comments, logging
Add additional comments and logging to components
of the framework layer. WTD-518.
2014-11-04 17:17:35 -08:00
Victor Woeltjen
3ed3ee19d7 [Example] Add example of service registration
Add an example of registering a plain service
with Angular. WTD-518.
2014-11-04 16:13:49 -08:00
Victor Woeltjen
ed4c178a76 [Framework] Log application bootstrapping
Log bootstrapping phase of framework layer initialization.
WTD-518.
2014-11-04 16:13:09 -08:00
Victor Woeltjen
d3c979fa6f [Example] Add example using directives
Add example of binding a directive with Angular using
declarative syntax. WTD-518.
2014-11-04 16:02:36 -08:00
Victor Woeltjen
b712c9a401 [Example] Add controller example
Add example showing declarative registration of
controllers with Angular. WTD-518.
2014-11-04 15:28:59 -08:00
Victor Woeltjen
0e6f419678 [Framework] Allow controller registration
Add tweaks in framework which fix errors which
were preventing controller registration. This
includes maintaining the type of controllers as
functions, even after decorating with information
from the extension. WTD-518.
2014-11-04 15:27:10 -08:00
Victor Woeltjen
b383be0711 [Example] Add example bundle for built-ins
Add bundle which will serve as an example of how to
declare the presence of Angular built-ins as extensions
which will be recognized by the framework layer.

Also useful for generally verifying that functionality
provided by framework layer provides sufficient support
for other bundles to expose application features.
WTD-518.
2014-11-04 14:40:06 -08:00
Victor Woeltjen
86df248096 [Framework] Add angular-route
Add angular route library and utilize when instantiating
framework-driven module. This allows invocation of ng-view
by way of defined routes. WTD-518.
2014-11-04 14:38:49 -08:00
Victor Woeltjen
f16fa32b68 [Framework] Fix error in custom registrars
Fix error in CustomRegistrars; return a function when
creating general-purpose registration code for
Angular built-ins which follow the normal pattern
(directives, controllers, services...)

WTD-518.
2014-11-04 14:35:22 -08:00
Victor Woeltjen
126b515782 [Framework] Fix code style for ExtensionRegistrar
Satisfy code style standards in ExtensionRegistrar.
WTD-518.
2014-11-04 13:54:14 -08:00
Victor Woeltjen
78effaa09f [Framework] Fix code style in BundleLoader
Fix code style and remove unuseful code from BundleLoader,
WTD-518.
2014-11-04 13:51:53 -08:00
Victor Woeltjen
19bfeb4d03 [Framework] Wire up framework layer
Wire up and invoke framework layer components for
application start up, from main point-of-entry.
WTD-518.
2014-11-04 13:46:17 -08:00
Victor Woeltjen
8e31b2b6e0 [Framework] Add bootstrapper
Add an application bootstrapper, responsible for
handling the Angular bootstrapping phase of
framework layer initialization. WTD-518.
2014-11-04 13:00:12 -08:00
Victor Woeltjen
24591c67dd [Framework] Add custom registration types
Add custom registration for Angular's directives and
controllers. WTD-518.
2014-11-04 12:48:16 -08:00
Victor Woeltjen
9541d6716a [Framework] Custom route registration
Add custom extension registration code for routes,
using these to configure Angular's routeProvider.
WTD-518.
2014-11-04 09:55:03 -08:00
Victor Woeltjen
306d8ae9db [Framework] Add bundle resolver; normalize initialization
Simplify the extension initializer by putting each
phase's responsibilities into a specific class.
WTD-518.
2014-11-04 08:35:06 -08:00
Victor Woeltjen
d8eb72621b [Framework] Simplify custom registration
Handle the iteration over extensions which have a
custom registration mechanism (directives, services)
at the same level that general registration is handled.
WTD-518.
2014-11-04 08:06:44 -08:00
Victor Woeltjen
00de789f5e [Framework] Intermediary commit; registration phase
Continue implementation of registration phase of framework layer.
Begin adding some custom registration behavior for specific
Angular concepts, such as services and directives. WTD-518.
2014-11-03 13:55:02 -08:00
Victor Woeltjen
650969d9c5 [Framework] Begin adding registration phase
Begin implementation registration phase of framework
layer initialization process. This phase is responsible
for registering resolved extensions with Angular, in a
manner than individual extensions can later request
dependencies from. WTD-518.
2014-11-03 13:29:59 -08:00
Victor Woeltjen
eba3e47182 [Framework] Implement ExtensionResolver
Initial implementation of class responsible for
resolving extensions (that is, loading modules
associated with defined extensions.)

Also, add methods to Bundle and Extension classes
to support logging performed during the extension
resolution phase. WTD-518.
2014-11-03 10:14:13 -08:00
Victor Woeltjen
a940d1a460 [Framework] Begin work on extension resolution
Begin work on extension resolution phase of
the framework layer. WTD-518.

Introduce an implementation loader which wraps
RequireJS, and a skeleton class for extension
resolution.
2014-11-03 09:44:16 -08:00
Victor Woeltjen
0e82250c84 [Framework] Continue implementing fundamentals
Continue implementing classes which represent fundamental
concepts within the framework layer. WTD-518.

In particular, add methods which will be useful during the
extension resolution phase of framework start up.
2014-11-03 08:45:14 -08:00
Victor Woeltjen
12f43d1c8d [Framework] First-pass implementation of bundle loader
Begin implementing the bundle loader component of the
framework layer, responsible for taking a list of
included bundles and exposing their contents in a
useful manner. WTD-518.
2014-10-31 16:45:08 -07:00
Victor Woeltjen
2719dea775 [Framework] Add constants
Add AMD module to store Constants used in framework.
WTD-518.
2014-10-31 16:43:52 -07:00
Victor Woeltjen
de409fd8e7 [Framework] Begin work on main point-of-entry
Add main point-of-entry script for framework layer; performs
only minimal tasks of loading framework dependencies
and demonstrating that bundle list can be loaded
using these. WTD-518.
2014-10-31 16:43:18 -07:00
Victor Woeltjen
b55c6b8bce [Framework] Initial skeletons for framework
Initial skeletons for framework classes, WTD-518.
2014-10-31 13:58:56 -07:00
Victor Woeltjen
83d06b6f8f [Framework] Add Promise polyfill
Add Promise polyfill to version control. Promise objects
are included in ECMAScript 6 and browser support is
present, but non-universal. Using the polyfill approach
permits the use of Promise directly throughout the
application without relying on bleeding-edge browser
support.

Promises are useful at the framework level particularly
because of the number of asynchronous calls made when
assembling bundles. Framework layer is WTD-518.
2014-10-31 13:14:34 -07:00