diff options
Diffstat (limited to 'bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelquery/ModelQueryAdapterFactoryForJSP.java')
-rw-r--r-- | bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelquery/ModelQueryAdapterFactoryForJSP.java | 116 |
1 files changed, 4 insertions, 112 deletions
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelquery/ModelQueryAdapterFactoryForJSP.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelquery/ModelQueryAdapterFactoryForJSP.java index d381b702cf..86c9b0d336 100644 --- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelquery/ModelQueryAdapterFactoryForJSP.java +++ b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelquery/ModelQueryAdapterFactoryForJSP.java @@ -10,117 +10,25 @@ *******************************************************************************/ package org.eclipse.jst.jsp.core.modelquery; -import org.eclipse.core.runtime.Platform; -import org.eclipse.jst.jsp.core.contentmodel.tld.URIResolverProvider; -import org.eclipse.jst.jsp.core.internal.contentmodel.tld.DeferredTaglibSupport; import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery; import org.eclipse.wst.common.contentmodel.util.CMDocumentCache; import org.eclipse.wst.sse.core.AbstractAdapterFactory; import org.eclipse.wst.sse.core.AdapterFactory; -import org.eclipse.wst.sse.core.IModelLifecycleListener; import org.eclipse.wst.sse.core.IModelStateListener; import org.eclipse.wst.sse.core.INodeAdapter; import org.eclipse.wst.sse.core.INodeNotifier; import org.eclipse.wst.sse.core.IStructuredModel; -import org.eclipse.wst.sse.core.ModelLifecycleEvent; import org.eclipse.wst.sse.core.modelquery.ModelQueryAdapter; -import org.eclipse.wst.sse.core.text.IStructuredDocument; import org.eclipse.wst.sse.core.util.Debug; -import org.eclipse.wst.sse.core.util.URIResolver; import org.eclipse.wst.xml.core.document.XMLNode; import org.eclipse.wst.xml.core.modelquery.XMLCatalogIdResolver; import org.eclipse.wst.xml.uriresolver.util.IdResolver; public class ModelQueryAdapterFactoryForJSP extends AbstractAdapterFactory implements IModelStateListener { - /** - * This class ensures that the tabligSupport field is always connected to - * the correct IDocument, should the IDocument in the Structured Model - * change. - */ - protected class TaglibSupportModelLifecycleListener implements IModelLifecycleListener { - // had to change to 'false' when implicit job support added. - // somehow, during document.set("") the wrong rule was in effect. - // of course, we shouldn't being doing document set anyway, so - // would like to re-consider. (may not need for V6, with other - // workarounds in place?) - private static final boolean doForceReloadOnDocumentChange = false; - - public TaglibSupportModelLifecycleListener() { - if (stateNotifier != null) { - setDocument(stateNotifier.getStructuredDocument()); - } - } - - private void clearDocumentInformation() { - if (taglibSupport != null) { - taglibSupport.setStructuredDocument(null); - taglibSupport.clearCMDocumentCache(); - } - } - - /* - * (non-Javadoc) - * - * @see com.ibm.sse.model.IModelLifecycleListener#processPostModelEvent(com.ibm.sse.model.ModelLifecycleEvent) - */ - public void processPostModelEvent(ModelLifecycleEvent event) { - if (event.getType() == ModelLifecycleEvent.MODEL_DOCUMENT_CHANGED) { -// DocumentChanged documentChangedEvent = (DocumentChanged) event; -// IDocument oldDoc = documentChangedEvent.getOldDocument(); -// IDocument newDoc = documentChangedEvent.getNewDocument(); -// IDocument debugDoc = event.getModel().getStructuredDocument(); - setDocument(event.getModel().getStructuredDocument()); - } - } - - /* - * (non-Javadoc) - * - * @see com.ibm.sse.model.IModelLifecycleListener#processPreModelEvent(com.ibm.sse.model.ModelLifecycleEvent) - */ - public void processPreModelEvent(ModelLifecycleEvent event) { - if (event.getType() == ModelLifecycleEvent.MODEL_DOCUMENT_CHANGED) { - clearDocumentInformation(); - } - } - - /** - * @param event - */ - private void setDocument(IStructuredDocument document) { - if (taglibSupport != null) { - taglibSupport.setStructuredDocument(document); - // force the reparsing of the IDocument so that taglibs - // can be recorded and enabled; while this is expensive, - // the lack of control over document and model creation - // makes it necessary - if (doForceReloadOnDocumentChange && document.getLength() > 0) { - String contents = document.get(); - // don't allow any optimizations to be used - document.set(""); //$NON-NLS-1$ - document.set(contents); - } - } - } - } - - protected TaglibSupportModelLifecycleListener fTaglibSupportModelLifecycleListener = null; - protected JSPModelQueryAdapterImpl modelQueryAdapterImpl; - // delay providing a URIResolver to the taglib support - protected URIResolverProvider resolverProvider = new URIResolverProvider() { - public URIResolver getResolver() { - if (stateNotifier != null) - return stateNotifier.getResolver(); - return null; - } - }; protected IStructuredModel stateNotifier = null; - protected DeferredTaglibSupport taglibSupport = null; - - static final boolean _debug = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.jst.jsp.core/debug/taglibsupport")); //$NON-NLS-1$ //$NON-NLS-2$ public ModelQueryAdapterFactoryForJSP() { this(ModelQueryAdapter.class, true); @@ -134,8 +42,8 @@ public class ModelQueryAdapterFactoryForJSP extends AbstractAdapterFactory imple * @param registerAdapters * boolean */ - public ModelQueryAdapterFactoryForJSP(Object adapterKey, boolean registerAdapters) { - super(adapterKey, registerAdapters); + public ModelQueryAdapterFactoryForJSP(Object key, boolean registerAdapters) { + super(key, registerAdapters); } public AdapterFactory copy() { @@ -157,20 +65,9 @@ public class ModelQueryAdapterFactoryForJSP extends AbstractAdapterFactory imple CMDocumentCache cmDocumentCache = new CMDocumentCache(); IdResolver resolver = new XMLCatalogIdResolver(model.getBaseLocation(), model.getResolver()); - // connect the taglib support package to this model, deferring - // the URIResolver requirement - taglibSupport = new DeferredTaglibSupport(); - taglibSupport.setStructuredDocument(model.getStructuredDocument()); - taglibSupport.setResolverProvider(resolverProvider); - fTaglibSupportModelLifecycleListener = new TaglibSupportModelLifecycleListener(); - model.addModelLifecycleListener(fTaglibSupportModelLifecycleListener); - - ModelQuery modelQuery = new JSPModelQueryImpl(model, taglibSupport, resolver); + ModelQuery modelQuery = new JSPModelQueryImpl(model, resolver); modelQuery.setEditMode(ModelQuery.EDIT_MODE_UNCONSTRAINED); - modelQueryAdapterImpl = new JSPModelQueryAdapterImpl(cmDocumentCache, modelQuery, taglibSupport, resolver); - if(_debug) { - System.out.println("ModelQueryAdapterFactoryForJSP.createAdapter registered Taglib Support for model with ID " + model.getId() + " at " + model.getBaseLocation()); //$NON-NLS-2$ //$NON-NLS-1$ - } + modelQueryAdapterImpl = new JSPModelQueryAdapterImpl(cmDocumentCache, modelQuery, resolver); } } return modelQueryAdapterImpl; @@ -226,12 +123,7 @@ public class ModelQueryAdapterFactoryForJSP extends AbstractAdapterFactory imple } protected void updateResolver(IStructuredModel model) { - /** - * The taglib support will automatically use the new one, so trigger a - * reparse - */ modelQueryAdapterImpl.setIdResolver(new XMLCatalogIdResolver(model.getBaseLocation(), model.getResolver())); - fTaglibSupportModelLifecycleListener.setDocument(model.getStructuredDocument()); } }
\ No newline at end of file |