Search in sources :

Example 1 with CMDocumentLoader

use of org.eclipse.wst.xml.core.internal.contentmodel.modelqueryimpl.CMDocumentLoader in project webtools.sourceediting by eclipse.

the class DOMObserver method invokeCMDocumentLoad.

public void invokeCMDocumentLoad() {
    if (fIsDisabled)
        return;
    try {
        fIsLoading = true;
        ModelQuery modelQuery = ModelQueryUtil.getModelQuery(fDocument);
        if ((modelQuery != null) && (modelQuery.getCMDocumentManager() != null)) {
            CMDocumentLoader loader = isGrammarInferenceEnabled ? new InferredGrammarBuildingCMDocumentLoader(fDocument, modelQuery) : new CMDocumentLoader(fDocument, modelQuery);
            loader.loadCMDocuments();
        }
    } finally {
        fIsLoading = false;
    }
}
Also used : InferredGrammarBuildingCMDocumentLoader(org.eclipse.wst.xml.core.internal.contentmodel.modelqueryimpl.InferredGrammarBuildingCMDocumentLoader) CMDocumentLoader(org.eclipse.wst.xml.core.internal.contentmodel.modelqueryimpl.CMDocumentLoader) InferredGrammarBuildingCMDocumentLoader(org.eclipse.wst.xml.core.internal.contentmodel.modelqueryimpl.InferredGrammarBuildingCMDocumentLoader) ModelQuery(org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery)

Example 2 with CMDocumentLoader

use of org.eclipse.wst.xml.core.internal.contentmodel.modelqueryimpl.CMDocumentLoader in project webtools.sourceediting by eclipse.

the class ReloadDependenciesHandler method execute.

/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.core.commands.AbstractHandler#execute(org.eclipse.core.commands.ExecutionEvent)
	 */
public Object execute(ExecutionEvent event) throws ExecutionException {
    IEditorPart editor = HandlerUtil.getActiveEditor(event);
    ITextEditor textEditor = null;
    if (editor instanceof ITextEditor)
        textEditor = (ITextEditor) editor;
    else {
        Object o = editor.getAdapter(ITextEditor.class);
        if (o != null)
            textEditor = (ITextEditor) o;
    }
    if (textEditor != null) {
        IDocument document = textEditor.getDocumentProvider().getDocument(textEditor.getEditorInput());
        IStructuredModel model = StructuredModelManager.getModelManager().getExistingModelForRead(document);
        if (model != null) {
            ModelQuery modelQuery = null;
            try {
                modelQuery = ModelQueryUtil.getModelQuery(model);
            } finally {
                model.releaseFromRead();
            }
            Document domDocument = ((IDOMModel) model).getDocument();
            if ((modelQuery != null) && (modelQuery.getCMDocumentManager() != null)) {
                modelQuery.getCMDocumentManager().getCMDocumentCache().clear();
                // TODO... need to figure out how to access the
                // DOMObserver via ModelQuery
                // ...why?
                CMDocumentLoader loader = new InferredGrammarBuildingCMDocumentLoader(domDocument, modelQuery);
                loader.loadCMDocuments();
            }
        }
    }
    return null;
}
Also used : ITextEditor(org.eclipse.ui.texteditor.ITextEditor) InferredGrammarBuildingCMDocumentLoader(org.eclipse.wst.xml.core.internal.contentmodel.modelqueryimpl.InferredGrammarBuildingCMDocumentLoader) IDOMModel(org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel) CMDocumentLoader(org.eclipse.wst.xml.core.internal.contentmodel.modelqueryimpl.CMDocumentLoader) InferredGrammarBuildingCMDocumentLoader(org.eclipse.wst.xml.core.internal.contentmodel.modelqueryimpl.InferredGrammarBuildingCMDocumentLoader) ModelQuery(org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery) IEditorPart(org.eclipse.ui.IEditorPart) IStructuredModel(org.eclipse.wst.sse.core.internal.provisional.IStructuredModel) IDocument(org.eclipse.jface.text.IDocument) Document(org.w3c.dom.Document) IDocument(org.eclipse.jface.text.IDocument)

Example 3 with CMDocumentLoader

use of org.eclipse.wst.xml.core.internal.contentmodel.modelqueryimpl.CMDocumentLoader in project webtools.sourceediting by eclipse.

the class GlobalCMDocumentCacheTest method getCMDocumentFromXMLFile.

private CMDocument getCMDocumentFromXMLFile(String documentPath) {
    IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(documentPath));
    IModelManager modelManager = StructuredModelManager.getModelManager();
    IStructuredModel structuredModel = null;
    CMDocument cmDocument = null;
    try {
        structuredModel = modelManager.getModelForRead(file);
        Document document = ((IDOMModel) structuredModel).getDocument();
        ModelQuery modelQuery = ModelQueryUtil.getModelQuery(document);
        CMDocumentManager cmDocumentManager = modelQuery.getCMDocumentManager();
        CMDocumentLoader loader = new CMDocumentLoader(document, cmDocumentManager);
        loader.loadCMDocuments();
        cmDocument = modelQuery.getCorrespondingCMDocument(document.getDocumentElement());
    } catch (Exception exception) {
        exception.printStackTrace();
    } finally {
        if (structuredModel != null) {
            structuredModel.releaseFromRead();
        }
    }
    return cmDocument;
}
Also used : Path(org.eclipse.core.runtime.Path) CMDocument(org.eclipse.wst.xml.core.internal.contentmodel.CMDocument) IFile(org.eclipse.core.resources.IFile) IDOMModel(org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel) CMDocumentManager(org.eclipse.wst.xml.core.internal.contentmodel.modelquery.CMDocumentManager) IModelManager(org.eclipse.wst.sse.core.internal.provisional.IModelManager) CMDocumentLoader(org.eclipse.wst.xml.core.internal.contentmodel.modelqueryimpl.CMDocumentLoader) ModelQuery(org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery) IStructuredModel(org.eclipse.wst.sse.core.internal.provisional.IStructuredModel) CMDocument(org.eclipse.wst.xml.core.internal.contentmodel.CMDocument) Document(org.w3c.dom.Document)

Aggregations

ModelQuery (org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery)3 CMDocumentLoader (org.eclipse.wst.xml.core.internal.contentmodel.modelqueryimpl.CMDocumentLoader)3 IStructuredModel (org.eclipse.wst.sse.core.internal.provisional.IStructuredModel)2 InferredGrammarBuildingCMDocumentLoader (org.eclipse.wst.xml.core.internal.contentmodel.modelqueryimpl.InferredGrammarBuildingCMDocumentLoader)2 IDOMModel (org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel)2 Document (org.w3c.dom.Document)2 IFile (org.eclipse.core.resources.IFile)1 Path (org.eclipse.core.runtime.Path)1 IDocument (org.eclipse.jface.text.IDocument)1 IEditorPart (org.eclipse.ui.IEditorPart)1 ITextEditor (org.eclipse.ui.texteditor.ITextEditor)1 IModelManager (org.eclipse.wst.sse.core.internal.provisional.IModelManager)1 CMDocument (org.eclipse.wst.xml.core.internal.contentmodel.CMDocument)1 CMDocumentManager (org.eclipse.wst.xml.core.internal.contentmodel.modelquery.CMDocumentManager)1