Commit Graph

2762 Commits

Author SHA1 Message Date
Victor Woeltjen
5ae58644d9 [Framework] Add spec for constant registration
Add spec for registration of constant values as
extensions. WTD-572.
2014-11-20 10:52:01 -08:00
Victor Woeltjen
c594ad8918 [Framework] Add spec for property retention
Add spec to verify that static properties exposed by
extension constructors remain visible after these
have been converted to partial constructors. These
static methods have various uses, such as providing
appliesTo methods to classes where pre-instantiation
filtering is useful. WTD-572.
2014-11-20 10:48:04 -08:00
Victor Woeltjen
05f4832608 [Framework] Add bundle definition
Add an (empty) bundle definition for the framework
component. This has the practical effect of avoiding
404 errors in the console log, since platform/framework
is included in bundles.json (the set of active bundles)
in order to ensure detection by the test framework.
This also provides a place for possible future
extensions provided by the framework itself.

WTD-572.
2014-11-20 10:41:39 -08:00
Victor Woeltjen
08ff75c9c0 [Framework] Bring in changes from sandbox
Bring in changes from 'sandbox' branch. These include:

* Reconfiguring require's baseUrl such that relative
  paths work as expected in define call dependencies.
  Previously this only worked as expected in the
  framework bundle, since data-main points there.
* Add support for a 'constants' category of extension,
  to define application constants from bundles. This
  allows services to treat static values (such as
  persistence URIs) as injectable dependencies.
* Various assurances that properties from extension
  definitions will be exposed upon resolved
  implementations, even after partial construction.

WTD-572.
2014-11-20 10:37:27 -08:00
Victor Woeltjen
3682eb73cb [Framework] Remove temporary file
Remove temporary script file (introduced for initial
build/repository setup to illustrate naming conventions
and test declaration) from framework sources.

Completes implementation of framework layer for
WTD-518.
2014-11-07 04:57:51 -08:00
Victor Woeltjen
2e144ca003 [Framework] Fix code style in specs
Fix code style in specs for framework layer, written
for WTD-518.
2014-11-06 19:46:14 -08:00
Victor Woeltjen
bfcfa0127d [Framework] Spec for FrameworkInitializer
Complete specs for initial implementation of framework
layer, WTD-518.
2014-11-06 19:44:34 -08:00
Victor Woeltjen
0feb7c9699 [Framework] Remove spec for constants
Remove spec for Constants.js (only constants are defined
here, and there is no particular use to verifying their
existence; also, implicitly tested by specs for code
which uses these constants.) WTD-518
2014-11-06 19:33:47 -08:00
Victor Woeltjen
0d80494618 [Framework] Add spec for ImplementationLoader
WTD-518.
2014-11-06 19:29:55 -08:00
Victor Woeltjen
5f7704f1b8 [Framework] Add spec for ExtensionResolver
WTD-518
2014-11-06 19:20:51 -08:00
Victor Woeltjen
69c6811f00 [Framework] Fill in spec for bundle resolver
Fill in spec for bundle resolver, WTD-518.
2014-11-06 19:06:26 -08:00
Victor Woeltjen
2dde62cb79 [Framework] Complete ServiceCompositor spec
WTD-518.
2014-11-06 18:40:25 -08:00
Victor Woeltjen
5d4f1f2008 [Framework] Add spec for partial constructor
Add spec for partial constructor, used to handle two-stage
application of Angular dependencies and constructor
arguments. WTD-518.
2014-11-06 17:09:55 -08:00
Victor Woeltjen
b0267a9c59 [Framework] Complete spec for ExtensionRegistrar
Complete tests for the extension registar, WTD-518.
2014-11-06 16:52:22 -08:00
Victor Woeltjen
1a113b2a6f [Framework] Add specs for custom registrars
WTD-518
2014-11-06 16:08:14 -08:00
Victor Woeltjen
52e2761ac7 [Framework] Fill in spec for Extension
Fill in spec for Extension, part of the framework
component. WTD-518.
2014-11-06 15:41:25 -08:00
Victor Woeltjen
794d11e715 [Framework] Add spec for Bundle
Add spec for Bundle, used by the framework layer.
WTD-518.
2014-11-06 15:20:26 -08:00
Victor Woeltjen
cbea30d9cc [Framework] Add test cases for warning
Verify that warnings are issued when bundles are missing
or malformed. WTD-518.
2014-11-06 14:57:32 -08:00
Victor Woeltjen
587a913405 [Framework] Add test case for BundleLoader
Add a test case for BundleLoader, to improve test coverage
of framework layer. WTD-518.
2014-11-06 14:47:56 -08:00
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
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
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
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
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
ed4c178a76 [Framework] Log application bootstrapping
Log bootstrapping phase of framework layer initialization.
WTD-518.
2014-11-04 16:13:09 -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
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
Victor Woeltjen
047d56d662 [Structure] Add comments to temporary files
Add clarifying comments to temporary files, to
ensure they are distinguishable as placeholders.
Part of developing project folder structure and
build for WTD-519.
2014-10-31 09:49:09 -07:00
Victor Woeltjen
0bf0912bf8 [Tests] Initial spec runner
Initial spec runner; looks in bundles, assumes conventions.
Supports initial repository set up and build scripts, for
WTD-519.
2014-10-30 17:24:30 -07:00
Victor Woeltjen
a753818b24 [Build] Initial test dependencies
Initial commit of test dependencies, as brought over
from prototype, to continue establishing build. WTD-519.
2014-10-30 16:04:38 -07:00
Victor Woeltjen
bd9f90428c [Framework] Add Angular, Require libraries
Add libraries for Angular and Require. This expands
folder structure to support initial build (WTD-519)
and also directly supports implementation of a
framework layer (WTD-518).
2014-10-28 08:28:18 -07:00
Victor Woeltjen
42bc4599b8 [Structure] Add platform structure
Add general structure for Open MCT Web, including
top-level and second-level directory structure.
README files are included to explain the role of
each directory; markdown is used to allow for
richer display when viewer support is present.

WTD-519.
2014-10-27 18:18:50 -07:00