using the new framework. Also moved PersistableMacroProperty to new assembly (it was also marked as internal).
Updated unit tests to work with Resolution and resetting resolvers.
this gives us more control over all Resolvers and streamlines them. Created IBootManager, CoreBootManager and WebBootManager
to handle the application initialization including the creation of Resolvers. This means that if people are using the dlls outside
of the web app, they can run the boot strappers to initialize everything.
we have to instantiate them all on startup which means that all type searching happens on startup and not lazily which
is bad for performance. I don't think its a big deal that we're not freezing these objects, MVC doesn't freeze its singletons
and nobody seems to have a problem with it, people will just know not to modify these items after startup.
Have removed ResolverBase as we cannot rely on manually setting the current singleton object since applications outside of the standard umbraco web application
might be using these singletons and would expect they already be setup. Have changed all current resolvers to manage their
own singleton instances and sealed them.
and are just adding the known resolvers on app startup and commented out the other resolver stuff for now.
Fixed up xpath statement for resolving the first document, site now renders :)
Updated MacroEngineFactory to use PluginTypeResolver and made it thread safe. Have also
updated it to only create one instance of each IMacroEngine per application which should
increase performance a teeny bit, plus that's how it should be.
our singleton is a getter/setter and field access is thread safe. Updated SingleResolverBase
to ensure that TResolved is a class so the null check works properly.
already found. Have added some notes to some classes that need to be fixed up. Removed the PluginTypeResolver
from the ApplicationContext since it is a utility and isn't exposing application objects.
and changes had not been committed properly.
Fixed up some resolver classes to ensure the generic type is a class so == null works properly.
Changed to internal until we decide to expose.