Exemple #1
0
        protected virtual ModelingDocumentHandler CreateDocumentHandler(ModelingAdapterReference adapterReference, IServiceProvider serviceProvider)
        {
            string       adapterReferenceStoreKey = this.GetAdapterReferenceStoreKey(adapterReference);
            Store        sessionStore             = SessionStoreCache.GetSessionStore(adapterReferenceStoreKey);
            ModelElement root = null;

            if (sessionStore != null)
            {
                root = this.FindStoreRoot(sessionStore, adapterReference, serviceProvider);
            }
            if (root == null)
            {
                root = this.CreateLoadStore(sessionStore, adapterReference, serviceProvider);
                if (root == null)
                {
                    throw new AdapterCreationException(Microsoft.VisualStudio.TextTemplating.Modeling.ModelBusExceptionMessages.GetErrorLoadFailed(adapterReference.AbsoluteTargetPath));
                }
                SessionStoreCache.CacheSessionStore(adapterReferenceStoreKey, root.Store);
            }
            if (root != null)
            {
                return(new VsTextTemplatingModelingDocumentHandler(adapterReference.AbsoluteTargetPath, root));
            }
            return(null);
        }
Exemple #2
0
 public void ClearState()
 {
     DisposeAdapters();
     SessionStoreCache.DisposeSessionStoreMap();
 }