diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md
index 9f8af9049..9555806aa 100644
--- a/RELEASE_NOTES.md
+++ b/RELEASE_NOTES.md
@@ -32,6 +32,13 @@ The technology is effectively dead and the project no longer actively maintained
In prevent compilation errors inside the workspace, those components have been
removed from the project.
+### Changes to wbp-component.xml schema
+
+All special characters in the description need to be properly encoded.
+
+Example:
+<b>...</b>
+
## 1.14.0 (2023-12)
### Deprecation of SWTResourceManager
diff --git a/org.eclipse.wb.core.databinding.xsd/schema/wbp-component.xsd b/org.eclipse.wb.core.databinding.xsd/schema/wbp-component.xsd
index 1df2101be..6936ec3ba 100644
--- a/org.eclipse.wb.core.databinding.xsd/schema/wbp-component.xsd
+++ b/org.eclipse.wb.core.databinding.xsd/schema/wbp-component.xsd
@@ -48,7 +48,7 @@
-
+
diff --git a/org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/model/description/helpers/ComponentDescriptionHelper.java b/org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/model/description/helpers/ComponentDescriptionHelper.java
index afc22057a..438fda4ee 100644
--- a/org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/model/description/helpers/ComponentDescriptionHelper.java
+++ b/org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/model/description/helpers/ComponentDescriptionHelper.java
@@ -13,6 +13,9 @@
import org.eclipse.wb.core.databinding.xsd.component.Component;
import org.eclipse.wb.core.databinding.xsd.component.ContextFactory;
import org.eclipse.wb.core.databinding.xsd.component.Creation;
+import org.eclipse.wb.core.databinding.xsd.component.ExposingRuleType;
+import org.eclipse.wb.core.databinding.xsd.component.ExposingRulesType;
+import org.eclipse.wb.core.databinding.xsd.component.MethodsOrderType;
import org.eclipse.wb.core.databinding.xsd.component.MorphingType;
import org.eclipse.wb.core.databinding.xsd.component.TagType;
import org.eclipse.wb.core.databinding.xsd.component.TypeParameterType;
@@ -42,7 +45,6 @@
import org.eclipse.wb.internal.core.model.description.rules.MethodOrderDefaultRule;
import org.eclipse.wb.internal.core.model.description.rules.MethodOrderMethodRule;
import org.eclipse.wb.internal.core.model.description.rules.MethodOrderMethodsRule;
-import org.eclipse.wb.internal.core.model.description.rules.MethodOrderMethodsSignatureRule;
import org.eclipse.wb.internal.core.model.description.rules.MethodPropertyRule;
import org.eclipse.wb.internal.core.model.description.rules.MethodRule;
import org.eclipse.wb.internal.core.model.description.rules.MethodSinglePropertyRule;
@@ -71,7 +73,6 @@
import org.eclipse.wb.internal.core.model.description.rules.StandardBeanPropertiesRule;
import org.eclipse.wb.internal.core.model.description.rules.StandardBeanPropertyTagRule;
import org.eclipse.wb.internal.core.model.description.rules.ToolkitRule;
-import org.eclipse.wb.internal.core.utils.IOUtils2;
import org.eclipse.wb.internal.core.utils.ast.AstEditor;
import org.eclipse.wb.internal.core.utils.ast.AstNodeUtils;
import org.eclipse.wb.internal.core.utils.ast.AstParser;
@@ -111,6 +112,7 @@
import java.util.List;
import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBElement;
import jakarta.xml.bind.Unmarshaller;
/**
@@ -391,9 +393,7 @@ private static ComponentDescription getDescription0(AstEditor editor, ComponentD
process(componentDescription, component, editor);
}
// clear parts that can not be inherited
- if (descriptionInfo.clazz == componentClass) {
- setDescriptionWithInnerTags(componentDescription, resourceInfo);
- } else {
+ if (descriptionInfo.clazz != componentClass) {
componentDescription.clearCreations();
componentDescription.setDescription(null);
}
@@ -440,22 +440,6 @@ && shouldCacheDescriptions_inPackage(descriptionInfos.getLast(), componentClass)
}
}
- /**
- * Usually XML parsers don't allow to get content of element with all inner
- * tags, but we want these tags for description. So, we need special way to get
- * description. Right now it is not very accurate, but may be will enough for
- * practical purposes.
- */
- private static void setDescriptionWithInnerTags(ComponentDescription componentDescription,
- ResourceInfo resourceInfo) throws Exception {
- InputStream stream = resourceInfo.getURL().openStream();
- String string = IOUtils2.readString(stream);
- String description = StringUtils.substringBetween(string, "", "");
- if (description != null) {
- componentDescription.setDescription(description);
- }
- }
-
/**
* Configures default {@link CreationDescription} with valid source.
*/
@@ -644,6 +628,53 @@ private static void process(ComponentDescription componentDescription, Component
}
}
}
+ // description text
+ {
+ acceptSafe(componentDescription, component.getDescription(), ComponentDescription::setDescription);
+ }
+ // method order
+ {
+ MethodsOrderType methodsOrder = component.getMethodOrder();
+ if (methodsOrder != null) {
+ acceptSafe(componentDescription, methodsOrder.getDefault(), new MethodOrderDefaultRule());
+ for (MethodsOrderType.Method method : methodsOrder.getMethod()) {
+ acceptSafe(componentDescription, method, new MethodOrderMethodRule());
+ }
+ for (MethodsOrderType.Methods methods : methodsOrder.getMethods()) {
+ acceptSafe(componentDescription, methods, new MethodOrderMethodsRule());
+ }
+ }
+ }
+ // exposed children
+ {
+ if (component.getExposingRules() != null) {
+ ExposingRulesType exposingRules = component.getExposingRules();
+ for (JAXBElement exposingRule : exposingRules.getExcludeOrInclude()) {
+ acceptSafe(componentDescription, exposingRule, new ExposingRulesRule());
+ }
+ }
+ }
+ // methods-exclude, methods-include
+ {
+ Component.Methods methods = component.getMethods();
+ if (methods != null) {
+ for (Component.Methods.MethodsInclude methodsInclude : methods.getMethodsInclude()) {
+ acceptSafe(componentDescription, methodsInclude.getSignature(), new MethodsOperationRule(true));
+ }
+ for (Component.Methods.MethodsExclude methodsExclude : methods.getMethodsExclude()) {
+ acceptSafe(componentDescription, methodsExclude.getSignature(), new MethodsOperationRule(false));
+ }
+ }
+ }
+ // untyped parameters
+ {
+ Component.Parameters parameters = component.getParameters();
+ if (parameters != null) {
+ for (Component.Parameters.Parameter parameter : parameters.getParameter()) {
+ componentDescription.addParameter(parameter.getName(), parameter.getValue());
+ }
+ }
+ }
}
/**
@@ -671,12 +702,6 @@ private static void addRules(Digester digester, AstEditor editor, Class> compo
{
digester.addRule("component/public-field-properties", new PublicFieldPropertiesRule());
}
- // description text
- {
- String pattern = "component/description";
- digester.addCallMethod(pattern, "setDescription", 1);
- digester.addCallParam(pattern, 0);
- }
// constructors
{
String pattern = "component/constructors/constructor";
@@ -693,32 +718,6 @@ private static void addRules(Digester digester, AstEditor editor, Class> compo
digester.addRule(pattern + "/tag", new MethodTagRule());
addParametersRules(digester, pattern + "/parameter", state);
}
- // method order
- {
- String pattern = "component/method-order";
- digester.addRule(pattern + "/default", new MethodOrderDefaultRule());
- digester.addRule(pattern + "/method", new MethodOrderMethodRule());
- digester.addRule(pattern + "/methods", new MethodOrderMethodsRule());
- digester.addRule(pattern + "/methods/s", new MethodOrderMethodsSignatureRule());
- }
- // exposed children
- {
- String pattern = "component/exposing-rules";
- digester.addRule(pattern + "/include", new ExposingRulesRule());
- digester.addRule(pattern + "/exclude", new ExposingRulesRule());
- }
- // methods-exclude, methods-include
- {
- digester.addRule("component/methods/methods-include", new MethodsOperationRule(true));
- digester.addRule("component/methods/methods-exclude", new MethodsOperationRule(false));
- }
- // untyped parameters
- {
- String pattern = "component/parameters/parameter";
- digester.addCallMethod(pattern, "addParameter", 2);
- digester.addCallParam(pattern, 0, "name");
- digester.addCallParam(pattern, 1);
- }
addPropertiesRules(digester, state);
addConfigurablePropertiesRules(digester, state);
}
diff --git a/org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/model/description/rules/ExposingRulesRule.java b/org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/model/description/rules/ExposingRulesRule.java
index 5f9da435d..c9e81fa32 100644
--- a/org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/model/description/rules/ExposingRulesRule.java
+++ b/org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/model/description/rules/ExposingRulesRule.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011 Google, Inc.
+ * Copyright (c) 2011, 2024 Google, Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -10,33 +10,36 @@
*******************************************************************************/
package org.eclipse.wb.internal.core.model.description.rules;
+import org.eclipse.wb.core.databinding.xsd.component.ExposingRuleType;
import org.eclipse.wb.internal.core.model.description.ComponentDescription;
import org.eclipse.wb.internal.core.model.description.ExposingMethodRule;
import org.eclipse.wb.internal.core.model.description.ExposingPackageRule;
import org.eclipse.wb.internal.core.model.description.ExposingRule;
+import org.eclipse.wb.internal.core.model.description.helpers.ComponentDescriptionHelper.FailableBiConsumer;
-import org.apache.commons.digester3.Rule;
-import org.xml.sax.Attributes;
+import jakarta.xml.bind.JAXBElement;
/**
- * The {@link Rule} that adds include/exclude rules for exposed children.
+ * The {@link FailableBiConsumer} that adds include/exclude rules for exposed
+ * children.
*
* @author scheglov_ke
* @coverage core.model.description
*/
-public final class ExposingRulesRule extends AbstractDesignerRule {
+public final class ExposingRulesRule
+ implements FailableBiConsumer, Exception> {
////////////////////////////////////////////////////////////////////////////
//
// Rule
//
////////////////////////////////////////////////////////////////////////////
@Override
- public void begin(String namespace, String name, Attributes attributes) throws Exception {
- ComponentDescription componentDescription = (ComponentDescription) getDigester().peek();
+ public void accept(ComponentDescription componentDescription, JAXBElement jaxb) throws Exception {
// prepare attributes
- boolean include = "include".equals(name);
- String packageName = attributes.getValue("package");
- String methodName = attributes.getValue("method");
+ ExposingRuleType exposingRule = jaxb.getValue();
+ boolean include = "include".equals(jaxb.getName().getLocalPart());
+ String packageName = exposingRule.getPackage();
+ String methodName = exposingRule.getMethod();
// add expose rules
if (packageName != null) {
ExposingRule rule = new ExposingPackageRule(include, packageName);
diff --git a/org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/model/description/rules/MethodOrderDefaultRule.java b/org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/model/description/rules/MethodOrderDefaultRule.java
index 2c366b0ef..a4f9532d1 100644
--- a/org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/model/description/rules/MethodOrderDefaultRule.java
+++ b/org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/model/description/rules/MethodOrderDefaultRule.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011 Google, Inc.
+ * Copyright (c) 2011, 2024 Google, Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -10,28 +10,31 @@
*******************************************************************************/
package org.eclipse.wb.internal.core.model.description.rules;
+import org.eclipse.wb.core.databinding.xsd.component.DefaultMethodOrderType;
+import org.eclipse.wb.core.databinding.xsd.component.MethodsOrderType;
import org.eclipse.wb.internal.core.model.description.ComponentDescription;
+import org.eclipse.wb.internal.core.model.description.helpers.ComponentDescriptionHelper.FailableBiConsumer;
import org.eclipse.wb.internal.core.model.order.MethodOrder;
-import org.apache.commons.digester3.Rule;
-import org.xml.sax.Attributes;
-
/**
- * The {@link Rule} that sets {@link ComponentDescription#setDefaultMethodOrder(MethodOrder)}.
+ * The {@link FailableBiConsumer} that sets
+ * {@link ComponentDescription#setDefaultMethodOrder(MethodOrder)}.
*
* @author scheglov_ke
* @coverage core.model.description
*/
-public final class MethodOrderDefaultRule extends AbstractDesignerRule {
+public final class MethodOrderDefaultRule
+ implements FailableBiConsumer {
////////////////////////////////////////////////////////////////////////////
//
// Rule
//
////////////////////////////////////////////////////////////////////////////
@Override
- public void begin(String namespace, String name, Attributes attributes) throws Exception {
- ComponentDescription componentDescription = (ComponentDescription) getDigester().peek();
- String specification = getRequiredAttribute(name, attributes, "order");
+ public void accept(ComponentDescription componentDescription, MethodsOrderType.Default defaultMethod)
+ throws Exception {
+ DefaultMethodOrderType order = defaultMethod.getOrder();
+ String specification = order.value();
componentDescription.setDefaultMethodOrder(MethodOrder.parse(specification));
}
}
diff --git a/org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/model/description/rules/MethodOrderMethodRule.java b/org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/model/description/rules/MethodOrderMethodRule.java
index 3ccd42016..5d2d8a96c 100644
--- a/org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/model/description/rules/MethodOrderMethodRule.java
+++ b/org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/model/description/rules/MethodOrderMethodRule.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011 Google, Inc.
+ * Copyright (c) 2011, 2024 Google, Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -10,39 +10,39 @@
*******************************************************************************/
package org.eclipse.wb.internal.core.model.description.rules;
+import org.eclipse.wb.core.databinding.xsd.component.MethodsOrderType;
import org.eclipse.wb.internal.core.model.description.ComponentDescription;
import org.eclipse.wb.internal.core.model.description.MethodDescription;
+import org.eclipse.wb.internal.core.model.description.helpers.ComponentDescriptionHelper.FailableBiConsumer;
import org.eclipse.wb.internal.core.model.order.MethodOrder;
import org.eclipse.wb.internal.core.utils.check.Assert;
-import org.apache.commons.digester3.Rule;
-import org.xml.sax.Attributes;
-
/**
- * The {@link Rule} that {@link MethodOrder} for single {@link MethodDescription}.
+ * The {@link FailableBiConsumer} that {@link MethodOrder} for single
+ * {@link MethodDescription}.
*
* @author scheglov_ke
* @coverage core.model.description
*/
-public final class MethodOrderMethodRule extends AbstractDesignerRule {
+public final class MethodOrderMethodRule
+ implements FailableBiConsumer {
////////////////////////////////////////////////////////////////////////////
//
// Rule
//
////////////////////////////////////////////////////////////////////////////
@Override
- public void begin(String namespace, String name, Attributes attributes) throws Exception {
+ public void accept(ComponentDescription componentDescription, MethodsOrderType.Method method) throws Exception {
// prepare order
MethodOrder order;
{
- String specification = getRequiredAttribute(name, attributes, "order");
+ String specification = method.getOrder();
order = MethodOrder.parse(specification);
}
// prepare method
MethodDescription methodDescription;
{
- String signature = getRequiredAttribute(name, attributes, "signature");
- ComponentDescription componentDescription = (ComponentDescription) getDigester().peek();
+ String signature = method.getSignature();
methodDescription = componentDescription.getMethod(signature);
Assert.isNotNull(
methodDescription,
diff --git a/org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/model/description/rules/MethodOrderMethodsRule.java b/org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/model/description/rules/MethodOrderMethodsRule.java
index a729782a7..509d50784 100644
--- a/org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/model/description/rules/MethodOrderMethodsRule.java
+++ b/org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/model/description/rules/MethodOrderMethodsRule.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011 Google, Inc.
+ * Copyright (c) 2011, 2024 Google, Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -10,55 +10,38 @@
*******************************************************************************/
package org.eclipse.wb.internal.core.model.description.rules;
+import org.eclipse.wb.core.databinding.xsd.component.MethodsOrderType;
import org.eclipse.wb.internal.core.model.description.ComponentDescription;
import org.eclipse.wb.internal.core.model.description.MethodDescription;
+import org.eclipse.wb.internal.core.model.description.helpers.ComponentDescriptionHelper.FailableBiConsumer;
import org.eclipse.wb.internal.core.model.order.MethodOrder;
import org.eclipse.wb.internal.core.utils.check.Assert;
-import org.apache.commons.digester3.Rule;
-import org.xml.sax.Attributes;
-
-import java.util.ArrayList;
-import java.util.List;
-
/**
- * The {@link Rule} that {@link MethodOrder} for multiple {@link MethodDescription}s.
+ * The {@link FailableBiConsumer} that {@link MethodOrder} for multiple
+ * {@link MethodDescription}s.
*
* @author scheglov_ke
* @coverage core.model.description
*/
-public final class MethodOrderMethodsRule extends AbstractDesignerRule {
- private MethodOrder m_order;
- private List m_signatures;
-
+public final class MethodOrderMethodsRule
+ implements FailableBiConsumer {
////////////////////////////////////////////////////////////////////////////
//
// Rule
//
////////////////////////////////////////////////////////////////////////////
@Override
- public void begin(String namespace, String name, Attributes attributes) throws Exception {
+ public void accept(ComponentDescription componentDescription, MethodsOrderType.Methods methods) throws Exception {
// prepare order
- {
- String specification = getRequiredAttribute(name, attributes, "order");
- m_order = MethodOrder.parse(specification);
- }
- // push List for signatures
- {
- m_signatures = new ArrayList<>();
- getDigester().push(m_signatures);
- }
- }
-
- @Override
- public void end(String namespace, String name) throws Exception {
- getDigester().pop();
- ComponentDescription componentDescription = (ComponentDescription) getDigester().peek();
- for (String signature : m_signatures) {
+ String specification = methods.getOrder();
+ MethodOrder m_order = MethodOrder.parse(specification);
+ //
+ for (MethodsOrderType.Methods.S signature : methods.getS()) {
// prepare method
MethodDescription methodDescription;
{
- methodDescription = componentDescription.getMethod(signature);
+ methodDescription = componentDescription.getMethod(signature.getValue());
Assert.isNotNull(
methodDescription,
"Can not find method %s for %s.",
@@ -68,8 +51,5 @@ public void end(String namespace, String name) throws Exception {
// set order
methodDescription.setOrder(m_order);
}
- // clean up
- m_order = null;
- m_signatures = null;
}
}
diff --git a/org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/model/description/rules/MethodsOperationRule.java b/org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/model/description/rules/MethodsOperationRule.java
index d197f5cb9..7a6714c81 100644
--- a/org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/model/description/rules/MethodsOperationRule.java
+++ b/org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/model/description/rules/MethodsOperationRule.java
@@ -12,11 +12,11 @@
import org.eclipse.wb.internal.core.model.description.ComponentDescription;
import org.eclipse.wb.internal.core.model.description.MethodDescription;
+import org.eclipse.wb.internal.core.model.description.helpers.ComponentDescriptionHelper.FailableBiConsumer;
import org.eclipse.wb.internal.core.utils.reflect.ReflectionUtils;
import org.apache.commons.digester3.Rule;
import org.apache.commons.lang.StringUtils;
-import org.xml.sax.Attributes;
import java.lang.reflect.Method;
import java.util.Iterator;
@@ -30,7 +30,7 @@
* @author scheglov_ke
* @coverage core.model.description
*/
-public final class MethodsOperationRule extends AbstractDesignerRule {
+public final class MethodsOperationRule implements FailableBiConsumer {
private final boolean m_include;
////////////////////////////////////////////////////////////////////////////
@@ -47,12 +47,11 @@ public MethodsOperationRule(boolean include) {
// Rule
//
////////////////////////////////////////////////////////////////////////////
- private ComponentDescription componentDescription;
+ private ComponentDescription m_componentDescription;
@Override
- public void begin(String namespace, String name, Attributes attributes) throws Exception {
- componentDescription = (ComponentDescription) getDigester().peek();
- String signature = getRequiredAttribute(name, attributes, "signature");
+ public void accept(ComponentDescription componentDescription, String signature) throws Exception {
+ m_componentDescription = componentDescription;
if (isRegexpSignature(signature)) {
processRegexp(signature);
} else {
@@ -82,17 +81,17 @@ private void process(Predicate signaturePredicate) throws Exception {
}
private void processInclude(Predicate signaturePredicate) throws Exception {
- Method[] methods = componentDescription.getComponentClass().getMethods();
+ Method[] methods = m_componentDescription.getComponentClass().getMethods();
for (Method method : methods) {
String methodSignature = ReflectionUtils.getMethodSignature(method);
if (signaturePredicate.test(methodSignature)) {
- componentDescription.addMethod(method);
+ m_componentDescription.addMethod(method);
}
}
}
private void processExclude(Predicate signaturePredicate) {
- for (Iterator I = componentDescription.getMethods().iterator(); I.hasNext();) {
+ for (Iterator I = m_componentDescription.getMethods().iterator(); I.hasNext();) {
MethodDescription methodDescription = I.next();
String methodSignature = methodDescription.getSignature();
if (signaturePredicate.test(methodSignature)) {
diff --git a/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/core/model/creation/InvocationChainCreationSupportTest.java b/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/core/model/creation/InvocationChainCreationSupportTest.java
index f19d468fd..2e81fbe4d 100644
--- a/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/core/model/creation/InvocationChainCreationSupportTest.java
+++ b/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/core/model/creation/InvocationChainCreationSupportTest.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011 Google, Inc.
+ * Copyright (c) 2011, 2024 Google, Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -72,12 +72,8 @@ public void test_0() throws Exception {
"",
"",
" ",
- " ",
- " javax.swing.JButton",
- " ",
- " ",
- " javax.swing.JButton",
- " ",
+ " javax.swing.JButton",
+ " javax.swing.JButton",
" ",
" ",
""));
diff --git a/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/core/model/description/ComponentDescriptionHelperTest.java b/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/core/model/description/ComponentDescriptionHelperTest.java
index efdfab101..4581f5416 100644
--- a/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/core/model/description/ComponentDescriptionHelperTest.java
+++ b/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/core/model/description/ComponentDescriptionHelperTest.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011, 2023 Google, Inc.
+ * Copyright (c) 2011, 2024 Google, Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -415,7 +415,7 @@ public void test_textualDescription_HTML() throws Exception {
setFileContent("wbp-meta/test/MyPanel.wbp-component.xml",
getSource("",
"",
- " My cool description", ""));
+ " My <b>cool</b> description", ""));
waitForAutoBuild();
// parse
ContainerInfo panel = parseContainer("// filler filler filler", "public class Test extends MyPanel {",