[582302] AOT cleanups and unit test fixes
diff --git a/core/bundles/org.eclipse.wst.sse.core/META-INF/MANIFEST.MF b/core/bundles/org.eclipse.wst.sse.core/META-INF/MANIFEST.MF index 4da38b4..469f1d3 100644 --- a/core/bundles/org.eclipse.wst.sse.core/META-INF/MANIFEST.MF +++ b/core/bundles/org.eclipse.wst.sse.core/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@ Automatic-Module-Name: org.eclipse.wst.sse.core Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.wst.sse.core; singleton:=true -Bundle-Version: 1.2.1100.qualifier +Bundle-Version: 1.2.1200.qualifier Bundle-Activator: org.eclipse.wst.sse.core.internal.SSECorePlugin Bundle-Vendor: %providerName Bundle-Localization: plugin
diff --git a/core/bundles/org.eclipse.wst.sse.core/pom.xml b/core/bundles/org.eclipse.wst.sse.core/pom.xml index 184ff3c..5b042dc 100644 --- a/core/bundles/org.eclipse.wst.sse.core/pom.xml +++ b/core/bundles/org.eclipse.wst.sse.core/pom.xml
@@ -21,7 +21,7 @@ <groupId>org.eclipse.webtools.sourceediting</groupId> <artifactId>org.eclipse.wst.sse.core</artifactId> - <version>1.2.1100-SNAPSHOT</version> + <version>1.2.1200-SNAPSHOT</version> <packaging>eclipse-plugin</packaging> <build>
diff --git a/core/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/FileBufferModelManager.java b/core/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/FileBufferModelManager.java index 95b22c5..044688a 100644 --- a/core/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/FileBufferModelManager.java +++ b/core/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/FileBufferModelManager.java
@@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2001, 2018 IBM Corporation and others. + * Copyright (c) 2001, 2023 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 * which accompanies this distribution, and is available at @@ -16,7 +16,6 @@ import java.io.ByteArrayInputStream; import java.io.File; -import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; @@ -592,28 +591,22 @@ } } else { - File file = FileBuffers.getSystemFileAtLocation(location); - if (file != null) { - InputStream input = null; - try { - input = new FileInputStream(file); - type = Platform.getContentTypeManager().findContentTypeFor(input, file.getName()); + IFileStore fileStore = FileBuffers.getFileStoreAtLocation(location); + if (fileStore != null) { + try (InputStream input = fileStore.openInputStream(EFS.NONE, null)) { + type = Platform.getContentTypeManager().findContentTypeFor(input, fileStore.getName()); } catch (FileNotFoundException e) { + Logger.logException(e); } catch (IOException e) { + Logger.logException(e); } - finally { - if (input != null) { - try { - input.close(); - } - catch (IOException e1) { - } - } + catch (CoreException e) { + Logger.logException(e); } if (type == null) { - type = Platform.getContentTypeManager().findContentTypeFor(file.getName()); + type = Platform.getContentTypeManager().findContentTypeFor(fileStore.getName()); } } } @@ -726,8 +719,10 @@ DocumentInfo info = (DocumentInfo) fDocumentMap.get(buffer.getDocument()); if (info != null) { /* - * Note: "info" being null at this point is a slight - * error. + * Note: "info" being null means someone requested a + * model for a file with a text file buffer containing + * a document implementation other than + * StructuredDocument. * * The connect call from above (or at some time earlier in * the session) would have notified the FileBufferMapper @@ -748,6 +743,14 @@ model = getModel((IStructuredDocument) bufferDocument); } else { + IContentType[] contentTypes = Platform.getContentTypeManager().findContentTypesFor(buffer.getLocation().lastSegment()); + for (int i = 0; i < contentTypes.length; i++) { + IModelHandler handler = ModelHandlerRegistry.getInstance().getHandlerForContentTypeId(contentTypes[i].getId()); + if (handler != null) { + Logger.log(Logger.ERROR, "Detected content type did not match one for which a model handler is registered: " + detectContentType(buffer) + " vs. " + handler.getAssociatedContentTypeId() , null); + break; + } + } /* * 190768 - Quick diff marks do not disappear in the * vertical ruler of JavaScript editor and @@ -791,8 +794,10 @@ DocumentInfo info = (DocumentInfo) fDocumentMap.get(buffer.getDocument()); if (info != null) { /* - * Note: "info" being null at this point is a slight - * error. + * Note: "info" being null means someone requested a + * model for a file with a text file buffer containing + * a document implementation other than + * StructuredDocument. * * The connect call from above (or at some time * earlier in the session) would have notified the @@ -813,6 +818,14 @@ model = getModel((IStructuredDocument) bufferDocument); } else { + IContentType[] contentTypes = Platform.getContentTypeManager().findContentTypesFor(buffer.getLocation().lastSegment()); + for (int i = 0; i < contentTypes.length; i++) { + IModelHandler handler = ModelHandlerRegistry.getInstance().getHandlerForContentTypeId(contentTypes[i].getId()); + if (handler != null) { + Logger.log(Logger.ERROR, "Detected content type did not match one for which a model handler is registered: " + detectContentType(buffer) + " vs. " + handler.getAssociatedContentTypeId() , null); + break; + } + } /* * 190768 - Quick diff marks do not disappear in the * vertical ruler of JavaScript editor and
diff --git a/core/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/document/AbstractDocumentLoader.java b/core/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/document/AbstractDocumentLoader.java index 9be8e39..7dbb56a 100644 --- a/core/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/document/AbstractDocumentLoader.java +++ b/core/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/document/AbstractDocumentLoader.java
@@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2001, 2006 IBM Corporation and others. + * Copyright (c) 2001, 2023 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 * which accompanies this distribution, and is available at @@ -44,7 +44,7 @@ /** - * This class reads a file and creates an Structured Model. + * This class reads a file and creates a Structured Document. */ public abstract class AbstractDocumentLoader implements IDocumentLoader { @@ -301,13 +301,13 @@ * later). Needs to be public to handle interface. It is in the interface * just so ModelManagerImpl can use it in a special circumstance. */ - public StringBuffer handleLineDelimiter(StringBuffer originalString, IEncodedDocument theFlatModel) { + public StringBuffer handleLineDelimiter(StringBuffer originalString, IEncodedDocument structuredDocument) { // TODO: need to handle line delimiters so Marker Positions are // updated StringBuffer convertedText = null; // based on text, make a guess on what's being used as // line delimiter - String probableLineDelimiter = TextUtilities.determineLineDelimiter(originalString, theFlatModel.getLegalLineDelimiters(), System.getProperty("line.separator")); //$NON-NLS-1$ + String probableLineDelimiter = TextUtilities.determineLineDelimiter(originalString, structuredDocument.getLegalLineDelimiters(), System.getProperty("line.separator")); //$NON-NLS-1$ String preferredLineDelimiter = getPreferredNewLineDelimiter(null); if (preferredLineDelimiter == null) { // when preferredLineDelimiter is null, it means "leave alone" @@ -315,8 +315,8 @@ // set here, only if null (should already be set, but if not, // we'll set so any subsequent editing inserts what we're // assuming) - if (!theFlatModel.getPreferredLineDelimiter().equals(probableLineDelimiter)) { - theFlatModel.setPreferredLineDelimiter(probableLineDelimiter); + if (!structuredDocument.getPreferredLineDelimiter().equals(probableLineDelimiter)) { + structuredDocument.setPreferredLineDelimiter(probableLineDelimiter); } convertedText = originalString; } @@ -327,11 +327,11 @@ // line delimter is "leave alone" then we do leave alone, // so best to be right from beginning. convertedText = convertLineDelimiters(originalString, preferredLineDelimiter); - theFlatModel.setPreferredLineDelimiter(preferredLineDelimiter); + structuredDocument.setPreferredLineDelimiter(preferredLineDelimiter); } else { // they are already the same, no conversion needed - theFlatModel.setPreferredLineDelimiter(preferredLineDelimiter); + structuredDocument.setPreferredLineDelimiter(preferredLineDelimiter); convertedText = originalString; } }
diff --git a/core/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/document/IDocumentLoader.java b/core/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/document/IDocumentLoader.java index 90ff8e6..adb2c51 100644 --- a/core/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/document/IDocumentLoader.java +++ b/core/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/document/IDocumentLoader.java
@@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2001, 2009 IBM Corporation and others. + * Copyright (c) 2001, 2023 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 * which accompanies this distribution, and is available at
diff --git a/core/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/modelhandler/ModelHandlerRegistry.java b/core/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/modelhandler/ModelHandlerRegistry.java index 3e1d74b..7ce7512 100644 --- a/core/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/modelhandler/ModelHandlerRegistry.java +++ b/core/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/modelhandler/ModelHandlerRegistry.java
@@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2001, 2010 IBM Corporation and others. + * Copyright (c) 2001, 2023 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 * which accompanies this distribution, and is available at @@ -290,7 +290,7 @@ if (handler == null) { // temp hard coding for null content type arguments - handler = getHandlerExtension(INTERNAL_DEFAULT_EXTENSION); //$NON-NLS-1$ + // handler = getHandlerExtension(INTERNAL_DEFAULT_EXTENSION); //$NON-NLS-1$ } return handler; }
diff --git a/core/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/BasicStructuredDocument.java b/core/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/BasicStructuredDocument.java index 9d19731..b7fc57f 100644 --- a/core/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/BasicStructuredDocument.java +++ b/core/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/BasicStructuredDocument.java
@@ -97,7 +97,7 @@ /** * This ThreadLocal construct is used so each thread can maintain its only * pointer to the double linked list that manages the documents regions. - * The only thing we "gaurd" for is that a previously cached region has + * The only thing we "guard" for is that a previously cached region has * been deleted. * * The object that is kept in the thread local's map, is just a pointer to
diff --git a/core/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/DelegatingStructuredDocument.java b/core/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/DelegatingStructuredDocument.java new file mode 100644 index 0000000..ef44b0d --- /dev/null +++ b/core/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/DelegatingStructuredDocument.java
@@ -0,0 +1,245 @@ +/******************************************************************************* + * Copyright (c) 2023 Nitin Dahyabhai + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License 2.0 + * which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-2.0/ + * + * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * Nitin Dahyabhai - initial implementation + * + *******************************************************************************/ +package org.eclipse.wst.sse.core.internal.text; + +import org.eclipse.core.runtime.Platform; +import org.eclipse.jface.text.Document; +import org.eclipse.jface.text.IDocument; +import org.eclipse.jface.text.IDocumentListener; +import org.eclipse.wst.sse.core.internal.encoding.EncodingMemento; +import org.eclipse.wst.sse.core.internal.ltk.parser.RegionParser; +import org.eclipse.wst.sse.core.internal.provisional.events.IModelAboutToBeChangedListener; +import org.eclipse.wst.sse.core.internal.provisional.events.IStructuredDocumentListener; +import org.eclipse.wst.sse.core.internal.provisional.events.StructuredDocumentEvent; +import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument; +import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion; +import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegionList; +import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredTextReParser; +import org.eclipse.wst.sse.core.internal.text.BasicStructuredDocument.CurrentDocumentRegionCache; +import org.eclipse.wst.sse.core.internal.text.BasicStructuredDocument.NullDocumentEvent; +import org.eclipse.wst.sse.core.internal.undo.IStructuredTextUndoManager; + +public class DelegatingStructuredDocument extends Document implements IStructuredDocument { + + private IDocument fDelegateDocument = null; + private RegionParser fReParser; + private IDocumentListener fDelegateBridge; + private IStructuredDocumentRegion cachedDocumentRegion; + private EncodingMemento encodingMemento; + private CurrentDocumentRegionCache fCurrentDocumentRegionCache; + + /** + * Theoretically, a document can contain mixed line delimiters, but the + * user's preference is usually to be internally consistent. + */ + private String fInitialLineDelimiter; + private IStructuredDocumentRegion firstDocumentRegion; + private Object[] fStructuredDocumentAboutToChangeListeners; + private Object[] fStructuredDocumentChangedListeners; + private Object[] fStructuredDocumentChangingListeners; + private NullDocumentEvent NULL_DOCUMENT_EVENT; + + DelegatingStructuredDocument() { + } + + public DelegatingStructuredDocument(RegionParser parser, IDocument delegate) { + super(); + fReParser = parser; + fDelegateDocument = delegate; + fDelegateDocument.addDocumentListener(fDelegateBridge); + fDelegateDocument.addPrenotifiedDocumentListener(null); + } + + @Override + public String getPreferredLineDelimiter() { + return fInitialLineDelimiter; + } + + @Override + public void setPreferredLineDelimiter(String preferredLineDelimiter) { + fInitialLineDelimiter = preferredLineDelimiter; + } + + @Override + public <T> T getAdapter(Class<T> adapter) { + return Platform.getAdapterManager().getAdapter(this, adapter); + } + + @Override + public void addDocumentAboutToChangeListener(IModelAboutToBeChangedListener listener) { + } + + @Override + public void addDocumentChangedListener(IStructuredDocumentListener listener) { + // TODO Auto-generated method stub + + } + + @Override + public void addDocumentChangingListener(IStructuredDocumentListener listener) { + // TODO Auto-generated method stub + + } + + @Override + public void clearReadOnly(int startOffset, int length) { + // TODO Auto-generated method stub + + } + + @Override + public boolean containsReadOnly(int startOffset, int length) { + // TODO Auto-generated method stub + return false; + } + + @Override + public EncodingMemento getEncodingMemento() { + // TODO Auto-generated method stub + return null; + } + + @Override + public IStructuredDocumentRegion getFirstStructuredDocumentRegion() { + // TODO Auto-generated method stub + return null; + } + + @Override + public IStructuredDocumentRegion getLastStructuredDocumentRegion() { + // TODO Auto-generated method stub + return null; + } + + @Override + public String getLineDelimiter() { + // TODO Auto-generated method stub + return null; + } + + @Override + public RegionParser getParser() { + // TODO Auto-generated method stub + return null; + } + + @Override + public IStructuredDocumentRegionList getRegionList() { + // TODO Auto-generated method stub + return null; + } + + @Override + public IStructuredDocumentRegion getRegionAtCharacterOffset(int offset) { + // TODO Auto-generated method stub + return null; + } + + @Override + public IStructuredDocumentRegion[] getStructuredDocumentRegions(int offset, int length) { + // TODO Auto-generated method stub + return null; + } + + @Override + public IStructuredDocumentRegion[] getStructuredDocumentRegions() { + // TODO Auto-generated method stub + return null; + } + + @Override + public IStructuredTextReParser getReParser() { + // TODO Auto-generated method stub + return null; + } + + @Override + public String getText() { + // TODO Auto-generated method stub + return null; + } + + @Override + public IStructuredTextUndoManager getUndoManager() { + // TODO Auto-generated method stub + return null; + } + + @Override + public void makeReadOnly(int startOffset, int length) { + // TODO Auto-generated method stub + + } + + @Override + public IStructuredDocument newInstance() { + // TODO Auto-generated method stub + return null; + } + + @Override + public void removeDocumentAboutToChangeListener(IModelAboutToBeChangedListener listener) { + // TODO Auto-generated method stub + + } + + @Override + public void removeDocumentChangedListener(IStructuredDocumentListener listener) { + // TODO Auto-generated method stub + + } + + @Override + public void removeDocumentChangingListener(IStructuredDocumentListener listener) { + // TODO Auto-generated method stub + + } + + @Override + public StructuredDocumentEvent replaceText(Object source, int oldStart, int replacementLength, String requestedChange) { + // TODO Auto-generated method stub + return null; + } + + @Override + public StructuredDocumentEvent replaceText(Object source, int oldStart, int replacementLength, String requestedChange, boolean ignoreReadOnlySetting) { + // TODO Auto-generated method stub + return null; + } + + @Override + public void setEncodingMemento(EncodingMemento encodingMemento) { + // TODO Auto-generated method stub + + } + + @Override + public void setLineDelimiter(String delimiter) { + // TODO Auto-generated method stub + + } + + @Override + public StructuredDocumentEvent setText(Object requester, String allText) { + // TODO Auto-generated method stub + return null; + } + + @Override + public void setUndoManager(IStructuredTextUndoManager undoManager) { + // TODO Auto-generated method stub + + } + +}
diff --git a/core/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/StructuredDocumentReParser.java b/core/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/StructuredDocumentReParser.java index eef19d2..cac927d 100644 --- a/core/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/StructuredDocumentReParser.java +++ b/core/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/StructuredDocumentReParser.java
@@ -64,7 +64,7 @@ protected BasicStructuredDocument fStructuredDocument; /** - * variable used in anticiapation of multithreading + * variable used in anticipation of multi-threading */ protected boolean isParsing; final private String singleQuote = new String(new char[]{'\''});
diff --git a/core/bundles/org.eclipse.wst.sse.ui/META-INF/MANIFEST.MF b/core/bundles/org.eclipse.wst.sse.ui/META-INF/MANIFEST.MF index 5a8ff65..b7d8747 100755 --- a/core/bundles/org.eclipse.wst.sse.ui/META-INF/MANIFEST.MF +++ b/core/bundles/org.eclipse.wst.sse.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.wst.sse.ui; singleton:=true -Bundle-Version: 1.7.701.qualifier +Bundle-Version: 1.7.800.qualifier Bundle-Activator: org.eclipse.wst.sse.ui.internal.SSEUIPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin @@ -61,7 +61,7 @@ org.eclipse.ui.workbench;bundle-version="[3.117.0,4.0.0)", org.eclipse.ui.forms;bundle-version="[3.7.0,4.0.0)", org.eclipse.ui.views;bundle-version="[3.9.0,4.0.0)", - org.eclipse.wst.sse.core;bundle-version="[1.2.1000,1.3.0)", + org.eclipse.wst.sse.core;bundle-version="[1.2.0,2.0.0)", org.eclipse.core.runtime;bundle-version="[3.27.0,4.0.0)", org.eclipse.core.resources;bundle-version="[3.13.0,4.0.0)", org.eclipse.core.commands;bundle-version="[3.9.0,4.0.0)",
diff --git a/core/bundles/org.eclipse.wst.sse.ui/pom.xml b/core/bundles/org.eclipse.wst.sse.ui/pom.xml index 24dee93..67c6b5a 100644 --- a/core/bundles/org.eclipse.wst.sse.ui/pom.xml +++ b/core/bundles/org.eclipse.wst.sse.ui/pom.xml
@@ -21,7 +21,7 @@ <groupId>org.eclipse.webtools.sourceediting</groupId> <artifactId>org.eclipse.wst.sse.ui</artifactId> - <version>1.7.701-SNAPSHOT</version> + <version>1.7.800-SNAPSHOT</version> <packaging>eclipse-plugin</packaging> <build>
diff --git a/web/bundles/org.eclipse.jst.jsp.core/META-INF/MANIFEST.MF b/web/bundles/org.eclipse.jst.jsp.core/META-INF/MANIFEST.MF index 99e13ff..82f66a2 100644 --- a/web/bundles/org.eclipse.jst.jsp.core/META-INF/MANIFEST.MF +++ b/web/bundles/org.eclipse.jst.jsp.core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.jst.jsp.core;singleton:=true -Bundle-Version: 1.4.800.qualifier +Bundle-Version: 1.4.700.qualifier Bundle-Activator: org.eclipse.jst.jsp.core.internal.JSPCorePlugin Bundle-Vendor: %providerName Bundle-Localization: plugin @@ -51,7 +51,7 @@ org.eclipse.core.filebuffers;bundle-version="[3.6.0,4.0.0)", org.eclipse.jdt.core;bundle-version="[3.14.0,4.0.0)", org.eclipse.wst.common.uriresolver;bundle-version="[1.2.300,2.0.0)", - org.eclipse.wst.sse.core;bundle-version="[1.2.0,1.3.0)", + org.eclipse.wst.sse.core;bundle-version="[1.2.0,1.4.0)", org.eclipse.wst.xml.core;bundle-version="[1.2.0,1.3.0)", org.eclipse.wst.css.core;bundle-version="[1.3.0,1.4.0)", org.eclipse.wst.html.core;bundle-version="[1.4.0,1.5.0)",
diff --git a/web/bundles/org.eclipse.jst.jsp.core/pom.xml b/web/bundles/org.eclipse.jst.jsp.core/pom.xml index 86e7e24..34f875c 100644 --- a/web/bundles/org.eclipse.jst.jsp.core/pom.xml +++ b/web/bundles/org.eclipse.jst.jsp.core/pom.xml
@@ -21,6 +21,6 @@ <groupId>org.eclipse.webtools.sourceediting</groupId> <artifactId>org.eclipse.jst.jsp.core</artifactId> - <version>1.4.800-SNAPSHOT</version> + <version>1.4.700-SNAPSHOT</version> <packaging>eclipse-plugin</packaging> </project>
diff --git a/web/bundles/org.eclipse.jst.jsp.ui/META-INF/MANIFEST.MF b/web/bundles/org.eclipse.jst.jsp.ui/META-INF/MANIFEST.MF index 7b6fc08..6f16b07 100755 --- a/web/bundles/org.eclipse.jst.jsp.ui/META-INF/MANIFEST.MF +++ b/web/bundles/org.eclipse.jst.jsp.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.jst.jsp.ui; singleton:=true -Bundle-Version: 1.3.501.qualifier +Bundle-Version: 1.3.600.qualifier Bundle-Activator: org.eclipse.jst.jsp.ui.internal.JSPUIPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin @@ -48,7 +48,7 @@ org.eclipse.wst.html.core;bundle-version="[1.4.0,1.5.0)", org.eclipse.wst.css.core;bundle-version="[1.3.0,1.4.0)", org.eclipse.wst.xml.core;bundle-version="[1.2.0,1.3.0)", - org.eclipse.wst.sse.core;bundle-version="[1.2.0,1.3.0)", + org.eclipse.wst.sse.core;bundle-version="[1.2.0,1.4.0)", org.eclipse.jdt.ui;bundle-version="[3.14.0,4.0.0)", org.eclipse.jdt.core;bundle-version="[3.14.0,4.0.0)", org.eclipse.debug.core;bundle-version="[3.11.0,4.0.0)",
diff --git a/web/bundles/org.eclipse.jst.jsp.ui/pom.xml b/web/bundles/org.eclipse.jst.jsp.ui/pom.xml index 7cfec3c..d18ef11 100644 --- a/web/bundles/org.eclipse.jst.jsp.ui/pom.xml +++ b/web/bundles/org.eclipse.jst.jsp.ui/pom.xml
@@ -21,6 +21,6 @@ <groupId>org.eclipse.webtools.sourceediting</groupId> <artifactId>org.eclipse.jst.jsp.ui</artifactId> - <version>1.3.501-SNAPSHOT</version> + <version>1.3.600-SNAPSHOT</version> <packaging>eclipse-plugin</packaging> </project>
diff --git a/web/bundles/org.eclipse.wst.css.core/META-INF/MANIFEST.MF b/web/bundles/org.eclipse.wst.css.core/META-INF/MANIFEST.MF index 2b92190..e8bf467 100644 --- a/web/bundles/org.eclipse.wst.css.core/META-INF/MANIFEST.MF +++ b/web/bundles/org.eclipse.wst.css.core/META-INF/MANIFEST.MF
@@ -39,7 +39,7 @@ org.w3c.dom.stylesheets Require-Bundle: org.apache.xerces;bundle-version="[2.12.2,3.0.0)";visibility:=reexport, org.eclipse.wst.xml.core;bundle-version="[1.2.800,1.3.0)", - org.eclipse.wst.sse.core;bundle-version="[1.2.1100,1.3.0)", + org.eclipse.wst.sse.core;bundle-version="[1.2.0,2.0.0)", org.eclipse.core.runtime;bundle-version="[3.14.0,4.0.0)", org.eclipse.core.resources;bundle-version="[3.13.0,4.0.0)", com.ibm.icu;bundle-version="73.1.0"
diff --git a/web/bundles/org.eclipse.wst.css.core/plugin.xml b/web/bundles/org.eclipse.wst.css.core/plugin.xml index 350789a..c806b9c 100644 --- a/web/bundles/org.eclipse.wst.css.core/plugin.xml +++ b/web/bundles/org.eclipse.wst.css.core/plugin.xml
@@ -43,7 +43,7 @@ <scanner id="org.eclipse.wst.css.core.internal.tasks.CSSFileTaskScanner" class="org.eclipse.wst.css.core.internal.tasks.CSSFileTaskScanner:org.eclipse.wst.css.core.taskMarker" - contentTypeIds="org.eclipse.wst.css.core.csssource" /> + contentTypeIds="org.eclipse.wst.css.core.csssource,org.eclipse.wildwebdeveloper.css" /> </extension> <extension id="taskMarker"
diff --git a/web/bundles/org.eclipse.wst.css.ui/META-INF/MANIFEST.MF b/web/bundles/org.eclipse.wst.css.ui/META-INF/MANIFEST.MF index 77e4f0a..3faf02e 100755 --- a/web/bundles/org.eclipse.wst.css.ui/META-INF/MANIFEST.MF +++ b/web/bundles/org.eclipse.wst.css.ui/META-INF/MANIFEST.MF
@@ -40,7 +40,7 @@ org.eclipse.wst.xml.ui;bundle-version="[1.2.300,2.0.0)", org.eclipse.wst.sse.ui;bundle-version="[1.7.0,2.0.0)", org.eclipse.wst.css.core;bundle-version="[1.3.0,1.4.0)", - org.eclipse.wst.sse.core;bundle-version="[1.2.0,1.3.0)", + org.eclipse.wst.sse.core;bundle-version="[1.2.0,1.4.0)", org.eclipse.wst.html.core;bundle-version="[1.4.0,1.5.0)", org.eclipse.wst.xml.core;bundle-version="[1.2.0,1.3.0)", org.eclipse.core.resources;bundle-version="[3.13.0,4.0.0)",
diff --git a/web/bundles/org.eclipse.wst.css.ui/plugin.xml b/web/bundles/org.eclipse.wst.css.ui/plugin.xml index 073d3c3..a2b80db 100755 --- a/web/bundles/org.eclipse.wst.css.ui/plugin.xml +++ b/web/bundles/org.eclipse.wst.css.ui/plugin.xml
@@ -10,6 +10,7 @@ icon="$nl$/icons/full/obj16/sourceEditor.gif" contributorClass="org.eclipse.wst.css.ui.internal.ActionContributorCSS" symbolicFontName="org.eclipse.wst.sse.ui.textfont" + extensions="css" id="org.eclipse.wst.css.core.csssource.source"> <class class="org.eclipse.wst.sse.ui.StructuredTextEditor"> <parameter name="org.eclipse.wst.sse.ui.appearancePreferenceScopeName" value="org.eclipse.wst.css.ui"/>
diff --git a/web/bundles/org.eclipse.wst.html.core/META-INF/MANIFEST.MF b/web/bundles/org.eclipse.wst.html.core/META-INF/MANIFEST.MF index 783a2d6..c3ef286 100644 --- a/web/bundles/org.eclipse.wst.html.core/META-INF/MANIFEST.MF +++ b/web/bundles/org.eclipse.wst.html.core/META-INF/MANIFEST.MF
@@ -34,7 +34,7 @@ Require-Bundle: org.eclipse.core.resources;bundle-version="[3.13.0,4.0.0)", org.eclipse.core.runtime;bundle-version="[3.14.0,4.0.0)", org.eclipse.wst.common.uriresolver;bundle-version="[1.2.300,2.0.0)", - org.eclipse.wst.sse.core;bundle-version="[1.2.0,1.3.0)", + org.eclipse.wst.sse.core;bundle-version="[1.2.0,1.4.0)", org.eclipse.wst.xml.core;bundle-version="[1.2.0,1.3.0)", org.eclipse.wst.css.core;bundle-version="[1.3.0,1.4.0)", org.eclipse.core.filebuffers;bundle-version="[3.6.0,4.0.0)",
diff --git a/web/bundles/org.eclipse.wst.html.core/plugin.xml b/web/bundles/org.eclipse.wst.html.core/plugin.xml index dc9393b..ea3c9b8 100644 --- a/web/bundles/org.eclipse.wst.html.core/plugin.xml +++ b/web/bundles/org.eclipse.wst.html.core/plugin.xml
@@ -23,7 +23,7 @@ <scanner id="org.eclipse.wst.html.core.internal.tasks.HTMLFileTaskScanner" class="org.eclipse.wst.xml.core.internal.tasks.XMLStreamingFileTaskScanner:org.eclipse.wst.html.core.taskMarker" - contentTypeIds="org.eclipse.wst.html.core.htmlsource" /> + contentTypeIds="org.eclipse.wst.html.core.htmlsource,org.eclipse.wildwebdeveloper.html" /> </extension> <extension id="taskMarker"
diff --git a/web/bundles/org.eclipse.wst.html.ui/META-INF/MANIFEST.MF b/web/bundles/org.eclipse.wst.html.ui/META-INF/MANIFEST.MF index 18999b4..8884cc1 100755 --- a/web/bundles/org.eclipse.wst.html.ui/META-INF/MANIFEST.MF +++ b/web/bundles/org.eclipse.wst.html.ui/META-INF/MANIFEST.MF
@@ -38,7 +38,7 @@ org.eclipse.wst.sse.ui;bundle-version="[1.7.0,2.0.0)", org.eclipse.wst.xml.ui;bundle-version="[1.2.0,1.3.0)", org.eclipse.wst.css.ui;bundle-version="[1.2.0,1.3.0)", - org.eclipse.wst.sse.core;bundle-version="[1.2.0,1.3.0)", + org.eclipse.wst.sse.core;bundle-version="[1.2.0,1.4.0)", org.eclipse.wst.css.core;bundle-version="[1.3.0,1.4.0)", org.eclipse.wst.html.core;bundle-version="[1.4.0,1.5.0)", org.eclipse.wst.xml.core;bundle-version="[1.2.0,1.3.0)",
diff --git a/web/bundles/org.eclipse.wst.html.ui/plugin.xml b/web/bundles/org.eclipse.wst.html.ui/plugin.xml index 180d710..f81e643 100755 --- a/web/bundles/org.eclipse.wst.html.ui/plugin.xml +++ b/web/bundles/org.eclipse.wst.html.ui/plugin.xml
@@ -10,6 +10,7 @@ icon="$nl$/icons/full/obj16/sourceEditor.gif" contributorClass="org.eclipse.wst.html.ui.internal.edit.ui.ActionContributorHTML" symbolicFontName="org.eclipse.wst.sse.ui.textfont" + extensions="html,htm,xhtml,htpl,wml,shtml,shtm" id="org.eclipse.wst.html.core.htmlsource.source"> <class class="org.eclipse.wst.sse.ui.StructuredTextEditor"> <parameter name="org.eclipse.wst.sse.ui.unsupported_preferred_default" value="org.eclipse.wst.html.core.htmlsource"/>
diff --git a/web/bundles/org.eclipse.wst.web.ui/META-INF/MANIFEST.MF b/web/bundles/org.eclipse.wst.web.ui/META-INF/MANIFEST.MF index 92c0aa5..41d7561 100644 --- a/web/bundles/org.eclipse.wst.web.ui/META-INF/MANIFEST.MF +++ b/web/bundles/org.eclipse.wst.web.ui/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@ Automatic-Module-Name: org.eclipse.wst.web.ui Bundle-Name: %Bundle-Name.0 Bundle-SymbolicName: org.eclipse.wst.web.ui; singleton:=true -Bundle-Version: 1.2.401.qualifier +Bundle-Version: 1.2.500.qualifier Bundle-Activator: org.eclipse.wst.web.ui.internal.WSTWebUIPlugin Bundle-ActivationPolicy: lazy Bundle-Vendor: %Bundle-Vendor.0
diff --git a/web/bundles/org.eclipse.wst.web.ui/pom.xml b/web/bundles/org.eclipse.wst.web.ui/pom.xml index 99abda1..3af7785 100644 --- a/web/bundles/org.eclipse.wst.web.ui/pom.xml +++ b/web/bundles/org.eclipse.wst.web.ui/pom.xml
@@ -21,6 +21,6 @@ <groupId>org.eclipse.webtools.javaee</groupId> <artifactId>org.eclipse.wst.web.ui</artifactId> - <version>1.2.401-SNAPSHOT</version> + <version>1.2.500-SNAPSHOT</version> <packaging>eclipse-plugin</packaging> </project>
diff --git a/web/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/WebContainerInitializer.java b/web/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/WebContainerInitializer.java index f867bdb..c7f9fa5 100644 --- a/web/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/WebContainerInitializer.java +++ b/web/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/WebContainerInitializer.java
@@ -39,11 +39,11 @@ if (bundles == null) { try { bundles = new IClasspathEntry[] { - getBundleEntry("jakarta.servlet.jsp"), - getBundleEntry("jakarta.servlet"), - getBundleEntry("jakarta.servlet-api"), - getBundleEntry("javax.servlet.jsp-api") - }; + getBundleEntry("jakarta.servlet.jsp"), + getBundleEntry("jakarta.servlet"), + getBundleEntry("jakarta.servlet-api"), + getBundleEntry("javax.servlet.jsp-api") + }; } catch (Exception e) { bundles = new IClasspathEntry[0];
diff --git a/web/tests/org.eclipse.jst.jsp.ui.tests/.classpath b/web/tests/org.eclipse.jst.jsp.ui.tests/.classpath index a79bffc..5949852 100644 --- a/web/tests/org.eclipse.jst.jsp.ui.tests/.classpath +++ b/web/tests/org.eclipse.jst.jsp.ui.tests/.classpath
@@ -1,9 +1,21 @@ <?xml version="1.0" encoding="UTF-8"?> <classpath> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/> <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> - <classpathentry kind="src" path="src"/> - <classpathentry kind="src" path="text.tests"/> - <classpathentry kind="src" path="jface.text.tests"/> + <classpathentry kind="src" path="src"> + <attributes> + <attribute name="test" value="true"/> + </attributes> + </classpathentry> + <classpathentry kind="src" path="text.tests"> + <attributes> + <attribute name="test" value="true"/> + </attributes> + </classpathentry> + <classpathentry kind="src" path="jface.text.tests"> + <attributes> + <attribute name="test" value="true"/> + </attributes> + </classpathentry> <classpathentry kind="output" path="bin"/> </classpath>
diff --git a/web/tests/org.eclipse.jst.jsp.ui.tests/.settings/org.eclipse.jdt.core.prefs b/web/tests/org.eclipse.jst.jsp.ui.tests/.settings/org.eclipse.jdt.core.prefs index d7afe51..3482a9a 100644 --- a/web/tests/org.eclipse.jst.jsp.ui.tests/.settings/org.eclipse.jdt.core.prefs +++ b/web/tests/org.eclipse.jst.jsp.ui.tests/.settings/org.eclipse.jdt.core.prefs
@@ -7,9 +7,9 @@ org.eclipse.jdt.core.classpath.exclusionPatterns=enabled org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=11 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate @@ -23,6 +23,7 @@ org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore org.eclipse.jdt.core.compiler.problem.emptyStatement=warning +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore @@ -52,6 +53,7 @@ org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=enabled org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled @@ -74,6 +76,7 @@ org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=11 org.eclipse.jdt.core.incompatibleJDKLevel=ignore org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/web/tests/org.eclipse.jst.jsp.ui.tests/META-INF/MANIFEST.MF b/web/tests/org.eclipse.jst.jsp.ui.tests/META-INF/MANIFEST.MF index 68e7ff8..d4b6fa1 100644 --- a/web/tests/org.eclipse.jst.jsp.ui.tests/META-INF/MANIFEST.MF +++ b/web/tests/org.eclipse.jst.jsp.ui.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name.0 Bundle-SymbolicName: org.eclipse.jst.jsp.ui.tests; singleton:=true -Bundle-Version: 1.1.2.qualifier +Bundle-Version: 1.2.0.qualifier Bundle-Activator: org.eclipse.jst.jsp.ui.tests.JSPUITestsPlugin Bundle-Vendor: %Bundle-Vendor.0 Bundle-Localization: plugin @@ -51,5 +51,5 @@ org.eclipse.core.commands, org.eclipse.core.expressions Eclipse-LazyStart: true -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Automatic-Module-Name: org.eclipse.jst.jsp.ui.tests
diff --git a/web/tests/org.eclipse.jst.jsp.ui.tests/pom.xml b/web/tests/org.eclipse.jst.jsp.ui.tests/pom.xml index 77e4b7c..629fc9c 100644 --- a/web/tests/org.eclipse.jst.jsp.ui.tests/pom.xml +++ b/web/tests/org.eclipse.jst.jsp.ui.tests/pom.xml
@@ -21,7 +21,7 @@ <groupId>org.eclipse.webtools.sourceediting</groupId> <artifactId>org.eclipse.jst.jsp.ui.tests</artifactId> - <version>1.1.2-SNAPSHOT</version> + <version>1.2.0-SNAPSHOT</version> <packaging>eclipse-test-plugin</packaging> <properties>
diff --git a/web/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/contentassist/TestJSPContentAssistComputers.java b/web/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/contentassist/TestJSPContentAssistComputers.java index 0cfe7db..c2ddf14 100644 --- a/web/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/contentassist/TestJSPContentAssistComputers.java +++ b/web/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/contentassist/TestJSPContentAssistComputers.java
@@ -149,8 +149,10 @@ public void testJSPRegionProposals() throws Exception { //default, jsp, jsp java, default - int[] expectedProposalCounts = new int[] {60, 0, 60, 60}; - runProposalTest("test1.jsp", 28, 0, expectedProposalCounts); + int[] expectedProposalCounts = new int[] {59, 0, 59, 59}; + String[] proposalLists = runProposalTest("test1.jsp", 28, 0, expectedProposalCounts); + assertTrue("testJspString, declared in the page itself, was not proposed", proposalLists[0].indexOf("testJspString") >=0); + assertTrue("pageContext : PageContext, an argument to the generated service method, was not proposed", proposalLists[0].indexOf("pageContext : PageContext") >=0); } public void testDIVTagAttributeNameProposals() throws Exception { @@ -225,7 +227,7 @@ * @param expectedProposalCounts * @throws Exception */ - private static void runProposalTest(String fileName, + private static String[] runProposalTest(String fileName, int lineNum, int lineRelativeCharOffset, int[] expectedProposalCounts) throws Exception{ @@ -235,8 +237,19 @@ int offset = viewer.getDocument().getLineOffset(lineNum) + lineRelativeCharOffset; ICompletionProposal[][] pages = getProposals(viewer, offset, expectedProposalCounts.length); - + verifyProposalCounts(pages, expectedProposalCounts); + + String[] proposalPages = new String[pages.length]; + for (int i = 0; i < proposalPages.length; i++) { + var builder = new StringBuilder(); + for (int j = 0; j < pages[i].length; j++) { + builder.append(pages[i][j].getDisplayString()); + builder.append('\n'); + } + proposalPages[i] = builder.toString(); + } + return proposalPages; } /**
diff --git a/xml/bundles/org.eclipse.wst.dtd.core/META-INF/MANIFEST.MF b/xml/bundles/org.eclipse.wst.dtd.core/META-INF/MANIFEST.MF index b33abcb..a025c96 100644 --- a/xml/bundles/org.eclipse.wst.dtd.core/META-INF/MANIFEST.MF +++ b/xml/bundles/org.eclipse.wst.dtd.core/META-INF/MANIFEST.MF
@@ -34,7 +34,7 @@ org.eclipse.core.runtime;bundle-version="[3.14.0,4.0.0)", org.eclipse.emf.ecore;bundle-version="[2.14.0,3.0.0)", org.eclipse.wst.common.uriresolver;bundle-version="[1.2.0,2.0.0)", - org.eclipse.wst.sse.core;bundle-version="[1.2.0,1.3.0)", + org.eclipse.wst.sse.core;bundle-version="[1.2.0,1.4.0)", org.eclipse.wst.xml.core;bundle-version="[1.2.0,1.3.0)", org.eclipse.wst.validation;bundle-version="[1.3.0,2.0.0)", com.ibm.icu;bundle-version="73.1.0"
diff --git a/xml/bundles/org.eclipse.wst.dtd.core/plugin.xml b/xml/bundles/org.eclipse.wst.dtd.core/plugin.xml index 812c146..6922b9b 100644 --- a/xml/bundles/org.eclipse.wst.dtd.core/plugin.xml +++ b/xml/bundles/org.eclipse.wst.dtd.core/plugin.xml
@@ -14,7 +14,7 @@ <scanner id="org.eclipse.wst.dtd.core.internal.tasks.DTDFileTaskScanner" class="org.eclipse.wst.dtd.core.internal.tasks.DTDFileTaskScanner:org.eclipse.wst.dtd.core.taskMarker" - contentTypeIds="org.eclipse.wst.dtd.core.dtdsource" /> + contentTypeIds="org.eclipse.wst.dtd.core.dtdsource,org.eclipse.wildwebdeveloper.dtd" /> </extension> <extension id="taskMarker"
diff --git a/xml/bundles/org.eclipse.wst.dtd.ui/META-INF/MANIFEST.MF b/xml/bundles/org.eclipse.wst.dtd.ui/META-INF/MANIFEST.MF index 91e0119..7796329 100755 --- a/xml/bundles/org.eclipse.wst.dtd.ui/META-INF/MANIFEST.MF +++ b/xml/bundles/org.eclipse.wst.dtd.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.wst.dtd.ui; singleton:=true -Bundle-Version: 1.1.600.qualifier +Bundle-Version: 1.1.700.qualifier Bundle-Activator: org.eclipse.wst.dtd.ui.internal.DTDUIPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin @@ -28,7 +28,7 @@ org.eclipse.ui.workbench.texteditor;bundle-version="[3.10.0,4.0.0)", org.eclipse.wst.common.ui;bundle-version="[1.1.500,2.0.0)", org.eclipse.wst.dtd.core;bundle-version="[1.2.0,1.3.0)", - org.eclipse.wst.sse.core;bundle-version="[1.2.0,1.3.0)", + org.eclipse.wst.sse.core;bundle-version="[1.2.0,1.4.0)", org.eclipse.wst.sse.ui;bundle-version="[1.7.0,2.0.0)", org.eclipse.wst.xml.core;bundle-version="[1.2.0,1.3.0)", org.eclipse.wst.xml.ui;bundle-version="[1.2.300,2.0.0)",
diff --git a/xml/bundles/org.eclipse.wst.dtd.ui/plugin.xml b/xml/bundles/org.eclipse.wst.dtd.ui/plugin.xml index 29e51e7..bbdb3b5 100755 --- a/xml/bundles/org.eclipse.wst.dtd.ui/plugin.xml +++ b/xml/bundles/org.eclipse.wst.dtd.ui/plugin.xml
@@ -8,6 +8,7 @@ name="%DTD_Source_Page_Editor.name" icon="$nl$/icons/full/obj16/DTDFile.gif" contributorClass="org.eclipse.wst.dtd.ui.internal.editor.ActionContributorDTD" + extensions="dtd,mod,ent" symbolicFontName="org.eclipse.wst.sse.ui.textfont" id="org.eclipse.wst.dtd.core.dtdsource.source"> <class class="org.eclipse.wst.dtd.ui.internal.DTDEditor">
diff --git a/xml/bundles/org.eclipse.wst.dtd.ui/pom.xml b/xml/bundles/org.eclipse.wst.dtd.ui/pom.xml index 344843a..1527ffb 100644 --- a/xml/bundles/org.eclipse.wst.dtd.ui/pom.xml +++ b/xml/bundles/org.eclipse.wst.dtd.ui/pom.xml
@@ -21,7 +21,7 @@ <groupId>org.eclipse.webtools.sourceediting</groupId> <artifactId>org.eclipse.wst.dtd.ui</artifactId> - <version>1.1.600-SNAPSHOT</version> + <version>1.1.700-SNAPSHOT</version> <packaging>eclipse-plugin</packaging> <!-- added this "constraint" for bug 458962 -->
diff --git a/xml/bundles/org.eclipse.wst.xml.core/META-INF/MANIFEST.MF b/xml/bundles/org.eclipse.wst.xml.core/META-INF/MANIFEST.MF index a8cb7d8..810bb41 100644 --- a/xml/bundles/org.eclipse.wst.xml.core/META-INF/MANIFEST.MF +++ b/xml/bundles/org.eclipse.wst.xml.core/META-INF/MANIFEST.MF
@@ -313,7 +313,7 @@ org.eclipse.core.resources;bundle-version="[3.13.0,4.0.0)", org.eclipse.core.filebuffers;bundle-version="[3.6.200,4.0.0)";resolution:=optional, org.eclipse.wst.common.uriresolver;bundle-version="[1.2.300,2.0.0)", - org.eclipse.wst.sse.core;bundle-version="[1.2.0,1.3.0)", + org.eclipse.wst.sse.core;bundle-version="[1.2.0,1.4.0)", org.eclipse.jem.util;bundle-version="[2.1.200,3.0.0)";resolution:=optional, org.eclipse.wst.validation;bundle-version="[1.3.0,2.0.0)";resolution:=optional, org.eclipse.wst.common.emf;bundle-version="[1.2.500,1.3.0)";resolution:=optional,
diff --git a/xml/bundles/org.eclipse.wst.xml.ui/META-INF/MANIFEST.MF b/xml/bundles/org.eclipse.wst.xml.ui/META-INF/MANIFEST.MF index fb360b5..4682776 100755 --- a/xml/bundles/org.eclipse.wst.xml.ui/META-INF/MANIFEST.MF +++ b/xml/bundles/org.eclipse.wst.xml.ui/META-INF/MANIFEST.MF
@@ -53,7 +53,7 @@ org.eclipse.jface.text;bundle-version="[3.13.0,4.0.0)", org.eclipse.ui.workbench.texteditor;bundle-version="[3.10.0,4.0.0)", org.eclipse.wst.sse.ui;bundle-version="[1.7.100,2.0.0)", - org.eclipse.wst.sse.core;bundle-version="[1.2.400,1.3.0)", + org.eclipse.wst.sse.core;bundle-version="[1.2.0,2.0.0)", org.eclipse.ui;bundle-version="[3.109.0,4.0.0)", org.eclipse.core.resources;bundle-version="[3.13.0,4.0.0)", org.eclipse.core.runtime;bundle-version="[3.20.0,4.0.0)",
diff --git a/xml/bundles/org.eclipse.wst.xsd.ui/META-INF/MANIFEST.MF b/xml/bundles/org.eclipse.wst.xsd.ui/META-INF/MANIFEST.MF index 4cb5148..147c895 100755 --- a/xml/bundles/org.eclipse.wst.xsd.ui/META-INF/MANIFEST.MF +++ b/xml/bundles/org.eclipse.wst.xsd.ui/META-INF/MANIFEST.MF
@@ -62,7 +62,7 @@ org.eclipse.core.runtime;bundle-version="[3.14.0,4.0.0)", org.eclipse.wst.common.uriresolver;bundle-version="[1.2.300,2.0.0)", org.eclipse.wst.sse.ui;bundle-version="[1.7.0,2.0.0)", - org.eclipse.wst.sse.core;bundle-version="[1.2.0,1.3.0)", + org.eclipse.wst.sse.core;bundle-version="[1.2.0,1.4.0)", org.eclipse.wst.common.core;bundle-version="[1.3.0,2.0.0)", org.eclipse.wst.xml.core;bundle-version="[1.2.0,1.3.0)", org.eclipse.wst.xml.ui;bundle-version="[1.2.400,2.0.0)",
diff --git a/xml/tests/org.eclipse.wst.xml.core.tests/src/org/eclipse/wst/xml/core/tests/document/BasicEventOrdering1.txt b/xml/tests/org.eclipse.wst.xml.core.tests/src/org/eclipse/wst/xml/core/tests/document/BasicEventOrdering1.txt new file mode 100644 index 0000000..dea8954 --- /dev/null +++ b/xml/tests/org.eclipse.wst.xml.core.tests/src/org/eclipse/wst/xml/core/tests/document/BasicEventOrdering1.txt
@@ -0,0 +1,132 @@ +BEGIN Setting Content +BEGIN DocumentAboutToChange +org.eclipse.wst.sse.core.internal.provisional.events.AboutToBeChangedEvent +END DocumentAboutToChange +BEGIN PrenotifiedDocumentListener +offset: 0, length: 0, timestamp: 0 +text:><?xml version="1.0" encoding="UTF-8"?><rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">< + +END PrenotifiedDocumentListener +BEGIN DocumentListener +offset: 0, length: 0, timestamp: 0 +text:><?xml version="1.0" encoding="UTF-8"?><rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">< + +END DocumentListener +BEGIN DocumentChanging +org.eclipse.wst.sse.core.internal.provisional.events.StructuredDocumentRegionsReplacedEvent +END DocumentChanging +BEGIN DocumentChanged +org.eclipse.wst.sse.core.internal.provisional.events.StructuredDocumentRegionsReplacedEvent +END DocumentChanged +BEGIN PrenotifiedDocumentListener +offset: 0, length: 0, timestamp: 0 +text:><?xml version="1.0" encoding="UTF-8"?><rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">< + +END PrenotifiedDocumentListener +BEGIN DocumentListener +offset: 0, length: 0, timestamp: 0 +text:><?xml version="1.0" encoding="UTF-8"?><rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">< + +END DocumentListener +END Setting Content +BEGIN Change Content +BEGIN DocumentAboutToChange +org.eclipse.wst.sse.core.internal.provisional.events.AboutToBeChangedEvent +END DocumentAboutToChange +BEGIN PrenotifiedDocumentListener +offset: 38, length: 0, timestamp: 0 +text:> +< + +END PrenotifiedDocumentListener +BEGIN DocumentListener +offset: 38, length: 0, timestamp: 0 +text:> +< + +END DocumentListener +BEGIN DocumentChanging +org.eclipse.wst.sse.core.internal.provisional.events.StructuredDocumentRegionsReplacedEvent +END DocumentChanging +BEGIN DocumentChanged +org.eclipse.wst.sse.core.internal.provisional.events.StructuredDocumentRegionsReplacedEvent +END DocumentChanged +BEGIN PrenotifiedDocumentListener +offset: 38, length: 0, timestamp: 2 +text:> +< + +END PrenotifiedDocumentListener +BEGIN DocumentListener +offset: 38, length: 0, timestamp: 2 +text:> +< + +END DocumentListener +END Change Content +BEGIN NoChangeContent +BEGIN DocumentAboutToChange +org.eclipse.wst.sse.core.internal.provisional.events.AboutToBeChangedEvent +END DocumentAboutToChange +BEGIN PrenotifiedDocumentListener +offset: 43, length: 1, timestamp: 2 +text:> < + +END PrenotifiedDocumentListener +BEGIN DocumentListener +offset: 43, length: 1, timestamp: 2 +text:> < + +END DocumentListener +BEGIN DocumentChanging +org.eclipse.wst.sse.core.internal.provisional.events.NoChangeEvent +END DocumentChanging +BEGIN DocumentChanged +org.eclipse.wst.sse.core.internal.provisional.events.NoChangeEvent +END DocumentChanged +BEGIN PrenotifiedDocumentListener +offset: 43, length: 1, timestamp: 2 +text:> < + +END PrenotifiedDocumentListener +BEGIN DocumentListener +offset: 43, length: 1, timestamp: 2 +text:> < + +END DocumentListener +END NoChangeContent +BEGIN Append +BEGIN DocumentAboutToChange +org.eclipse.wst.sse.core.internal.provisional.events.AboutToBeChangedEvent +END DocumentAboutToChange +BEGIN PrenotifiedDocumentListener +offset: 115, length: 0, timestamp: 2 +text:> +</rss>< + +END PrenotifiedDocumentListener +BEGIN DocumentListener +offset: 115, length: 0, timestamp: 2 +text:> +</rss>< + +END DocumentListener +BEGIN DocumentChanging +org.eclipse.wst.sse.core.internal.provisional.events.StructuredDocumentRegionsReplacedEvent +END DocumentChanging +BEGIN DocumentChanged +org.eclipse.wst.sse.core.internal.provisional.events.StructuredDocumentRegionsReplacedEvent +END DocumentChanged +BEGIN PrenotifiedDocumentListener +offset: 115, length: 0, timestamp: 4 +text:> +</rss>< + +END PrenotifiedDocumentListener +BEGIN DocumentListener +offset: 115, length: 0, timestamp: 4 +text:> +</rss>< + +END DocumentListener +END Append \ No newline at end of file
diff --git a/xml/tests/org.eclipse.wst.xml.core.tests/src/org/eclipse/wst/xml/core/tests/document/TestCompatibility.java b/xml/tests/org.eclipse.wst.xml.core.tests/src/org/eclipse/wst/xml/core/tests/document/TestCompatibility.java new file mode 100644 index 0000000..634a378 --- /dev/null +++ b/xml/tests/org.eclipse.wst.xml.core.tests/src/org/eclipse/wst/xml/core/tests/document/TestCompatibility.java
@@ -0,0 +1,214 @@ +/******************************************************************************* + * Copyright (c) 2023 Nitin Dahyabhai + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License 2.0 + * which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-2.0/ + * + * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * Nitin Dahyabhai - initial implementation + * + *******************************************************************************/ + +package org.eclipse.wst.xml.core.tests.document; + +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; + +import org.eclipse.jface.text.BadLocationException; +import org.eclipse.jface.text.Document; +import org.eclipse.jface.text.DocumentEvent; +import org.eclipse.jface.text.IDocumentListener; +import org.eclipse.wst.sse.core.internal.ltk.modelhandler.IModelHandler; +import org.eclipse.wst.sse.core.internal.modelhandler.ModelHandlerRegistry; +import org.eclipse.wst.sse.core.internal.provisional.IModelLoader; +import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel; +import org.eclipse.wst.sse.core.internal.provisional.events.AboutToBeChangedEvent; +import org.eclipse.wst.sse.core.internal.provisional.events.IModelAboutToBeChangedListener; +import org.eclipse.wst.sse.core.internal.provisional.events.IStructuredDocumentListener; +import org.eclipse.wst.sse.core.internal.provisional.events.NewDocumentEvent; +import org.eclipse.wst.sse.core.internal.provisional.events.NoChangeEvent; +import org.eclipse.wst.sse.core.internal.provisional.events.RegionChangedEvent; +import org.eclipse.wst.sse.core.internal.provisional.events.RegionsReplacedEvent; +import org.eclipse.wst.sse.core.internal.provisional.events.StructuredDocumentEvent; +import org.eclipse.wst.sse.core.internal.provisional.events.StructuredDocumentRegionsReplacedEvent; +import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument; + +import junit.framework.TestCase; + +public class TestCompatibility extends TestCase { + + public TestCompatibility() { + } + + public TestCompatibility(String name) { + super(name); + } + + private String loadStringFromResource(String name) { + try (InputStream stream = getClass().getResourceAsStream(name)) { + InputStreamReader inputStreamReader = new InputStreamReader(stream, "utf8"); + StringBuilder builder = new StringBuilder(); + int charsRead; + char[] chars = new char[1024]; + while ((charsRead = inputStreamReader.read(chars)) != -1) { + builder.append(chars, 0, charsRead); + } + String s = builder.toString(); + s = s.replaceAll("\r\n", "\n"); + s = s.replaceAll("\r", "\n"); + return s; + } + catch (IOException e) { + return "Unable to read resource " + e; + } + } + + private void testImplementation(IStructuredDocument document, String referenceResourceName) throws BadLocationException { + StringBuilder testBuffer = new StringBuilder(); + document.addDocumentAboutToChangeListener(new IModelAboutToBeChangedListener() { + @Override + public void modelAboutToBeChanged(AboutToBeChangedEvent e) { + testBuffer.append("BEGIN DocumentAboutToChange\n"); + testBuffer.append(e); + testBuffer.append("\n"); + testBuffer.append("END DocumentAboutToChange\n"); + } + }); + document.addDocumentChangingListener(new IStructuredDocumentListener() { + private void append(StructuredDocumentEvent e) { + testBuffer.append("BEGIN DocumentChanging\n"); + testBuffer.append(e); + testBuffer.append("\n"); + testBuffer.append("END DocumentChanging\n"); + } + + @Override + public void regionsReplaced(RegionsReplacedEvent structuredDocumentEvent) { + append(structuredDocumentEvent); + } + + @Override + public void regionChanged(RegionChangedEvent structuredDocumentEvent) { + append(structuredDocumentEvent); + } + + @Override + public void nodesReplaced(StructuredDocumentRegionsReplacedEvent structuredDocumentEvent) { + append(structuredDocumentEvent); + } + + @Override + public void noChange(NoChangeEvent structuredDocumentEvent) { + append(structuredDocumentEvent); + } + + @Override + public void newModel(NewDocumentEvent structuredDocumentEvent) { + append(structuredDocumentEvent); + } + }); + document.addDocumentChangedListener(new IStructuredDocumentListener() { + private void append(StructuredDocumentEvent e) { + testBuffer.append("BEGIN DocumentChanged\n"); + testBuffer.append(e); + testBuffer.append("\n"); + testBuffer.append("END DocumentChanged\n"); + } + + @Override + public void regionsReplaced(RegionsReplacedEvent structuredDocumentEvent) { + append(structuredDocumentEvent); + } + + @Override + public void regionChanged(RegionChangedEvent structuredDocumentEvent) { + append(structuredDocumentEvent); + } + + @Override + public void nodesReplaced(StructuredDocumentRegionsReplacedEvent structuredDocumentEvent) { + append(structuredDocumentEvent); + } + + @Override + public void noChange(NoChangeEvent structuredDocumentEvent) { + append(structuredDocumentEvent); + } + + @Override + public void newModel(NewDocumentEvent structuredDocumentEvent) { + append(structuredDocumentEvent); + } + }); + document.addPrenotifiedDocumentListener(new IDocumentListener() { + private void append(DocumentEvent e) { + testBuffer.append("BEGIN PrenotifiedDocumentListener\n"); + testBuffer.append(e); + testBuffer.append("\n"); + testBuffer.append("END PrenotifiedDocumentListener\n"); + } + + @Override + public void documentChanged(DocumentEvent event) { + append(event); + } + + @Override + public void documentAboutToBeChanged(DocumentEvent event) { + append(event); + } + }); + document.addDocumentListener(new IDocumentListener() { + private void append(DocumentEvent e) { + testBuffer.append("BEGIN DocumentListener\n"); + testBuffer.append(e); + testBuffer.append("\n"); + testBuffer.append("END DocumentListener\n"); + } + + @Override + public void documentChanged(DocumentEvent event) { + append(event); + } + + @Override + public void documentAboutToBeChanged(DocumentEvent event) { + append(event); + } + }); + testBuffer.append("BEGIN Setting Content\n"); + document.set("<?xml version=\"1.0\" encoding=\"UTF-8\"?><rss xmlns:itunes=\"http://www.itunes.com/dtds/podcast-1.0.dtd\" version=\"2.0\">"); + testBuffer.append("END Setting Content\n"); + int i = document.get().indexOf("<rss"); + testBuffer.append("BEGIN Change Content\n"); + document.replace(i, 0, "\n"); + testBuffer.append("END Change Content\n"); + i = document.get().indexOf("<rss "); + testBuffer.append("BEGIN NoChangeContent\n"); + document.replace(i + 4, 1, " "); + testBuffer.append("END NoChangeContent\n"); + testBuffer.append("BEGIN Append\n"); + document.replace(document.getLength() - 1, 0, "\n</rss>"); + testBuffer.append("END Append\n"); + + assertEquals(loadStringFromResource(referenceResourceName).trim(), testBuffer.toString().trim()); + } + + /** + * Check the ordering of events sent from a BasicStructuredDocument for + * XML against a reference + * + * @throws BadLocationException + */ + public void testBasicEventOrdering() throws BadLocationException { + IModelHandler modelHandler = ModelHandlerRegistry.getInstance().getHandlerForContentTypeId("org.eclipse.core.runtime.xml"); + IModelLoader modelLoader = modelHandler.getModelLoader(); + IStructuredModel model = modelLoader.createModel(); + IStructuredDocument document = model.getStructuredDocument(); + testImplementation(document, "BasicEventOrdering1.txt"); + } +}
diff --git a/xsl/tests/org.eclipse.wst.xsl.ui.tests/META-INF/MANIFEST.MF b/xsl/tests/org.eclipse.wst.xsl.ui.tests/META-INF/MANIFEST.MF index 25a0095..81daaad 100644 --- a/xsl/tests/org.eclipse.wst.xsl.ui.tests/META-INF/MANIFEST.MF +++ b/xsl/tests/org.eclipse.wst.xsl.ui.tests/META-INF/MANIFEST.MF
@@ -12,7 +12,7 @@ org.eclipse.ui.ide;bundle-version="[3.14.0,4.0.0)", org.eclipse.wst.xml.core;bundle-version="[1.2.0,2.0.0)", org.eclipse.jface.text;bundle-version="[3.13.0,4.0.0)", - org.eclipse.wst.sse.core;bundle-version="[1.2.0,1.3.0)", + org.eclipse.wst.sse.core;bundle-version="[1.2.0,1.4.0)", org.eclipse.ui.workbench.texteditor;bundle-version="[3.10.0,4.0.0)", org.eclipse.wst.sse.ui;bundle-version="[1.4.0,2.0.0)", org.eclipse.wst.xml.ui;bundle-version="[1.2.0,2.0.0)",