Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCurtis D'Entremont2007-02-02 18:38:06 +0000
committerCurtis D'Entremont2007-02-02 18:38:06 +0000
commit262ce44cff2f1357a481691bb0c69c490eafe700 (patch)
tree1f9622ee7beeb19524d87240e629a4c4e7939fde /org.eclipse.ui.cheatsheets
parentcc04d1747e8e01ee5fb59fd52275c5237716c364 (diff)
downloadeclipse.platform.ua-262ce44cff2f1357a481691bb0c69c490eafe700.tar.gz
eclipse.platform.ua-262ce44cff2f1357a481691bb0c69c490eafe700.tar.xz
eclipse.platform.ua-262ce44cff2f1357a481691bb0c69c490eafe700.zip
rework providers API to be less DOM-centric
Diffstat (limited to 'org.eclipse.ui.cheatsheets')
-rw-r--r--org.eclipse.ui.cheatsheets/src/org/eclipse/ui/internal/cheatsheets/data/CheatSheetParser.java32
1 files changed, 15 insertions, 17 deletions
diff --git a/org.eclipse.ui.cheatsheets/src/org/eclipse/ui/internal/cheatsheets/data/CheatSheetParser.java b/org.eclipse.ui.cheatsheets/src/org/eclipse/ui/internal/cheatsheets/data/CheatSheetParser.java
index 434835e6a..a577d508a 100644
--- a/org.eclipse.ui.cheatsheets/src/org/eclipse/ui/internal/cheatsheets/data/CheatSheetParser.java
+++ b/org.eclipse.ui.cheatsheets/src/org/eclipse/ui/internal/cheatsheets/data/CheatSheetParser.java
@@ -22,13 +22,14 @@ import org.eclipse.core.runtime.Assert;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.Status;
-import org.eclipse.help.internal.dynamic.DocumentNode;
+import org.eclipse.help.internal.UAElement;
+import org.eclipse.help.internal.UAElementFactory;
+import org.eclipse.help.internal.dynamic.DocumentProcessor;
+import org.eclipse.help.internal.dynamic.DocumentReader;
import org.eclipse.help.internal.dynamic.ExtensionHandler;
import org.eclipse.help.internal.dynamic.FilterHandler;
import org.eclipse.help.internal.dynamic.IncludeHandler;
-import org.eclipse.help.internal.dynamic.NodeHandler;
-import org.eclipse.help.internal.dynamic.NodeProcessor;
-import org.eclipse.help.internal.dynamic.NodeReader;
+import org.eclipse.help.internal.dynamic.ProcessorHandler;
import org.eclipse.osgi.util.NLS;
import org.eclipse.ui.cheatsheets.AbstractItemExtensionElement;
import org.eclipse.ui.internal.cheatsheets.CheatSheetEvaluationContext;
@@ -65,7 +66,7 @@ public class CheatSheetParser implements IStatusContainer {
private static final String TRUE_STRING = "true"; //$NON-NLS-1$
private DocumentBuilder documentBuilder;
- private NodeProcessor processor;
+ private DocumentProcessor processor;
private ArrayList itemExtensionContainerList;
// Cheatsheet kinds that can be parsed
@@ -930,8 +931,8 @@ public class CheatSheetParser implements IStatusContainer {
// process dynamic content, normalize paths
if (processor == null) {
- NodeReader reader = new NodeReader();
- processor = new NodeProcessor(new NodeHandler[] {
+ DocumentReader reader = new DocumentReader();
+ processor = new DocumentProcessor(new ProcessorHandler[] {
new FilterHandler(CheatSheetEvaluationContext.getContext()),
new NormalizeHandler(),
new IncludeHandler(reader, Platform.getNL()),
@@ -942,7 +943,7 @@ public class CheatSheetParser implements IStatusContainer {
if (input.getPluginId() != null) {
documentPath = '/' + input.getPluginId() + input.getUrl().getPath();
}
- processor.process(new DocumentNode(document), documentPath);
+ processor.process(UAElementFactory.newElement(document.getDocumentElement()), documentPath);
if ( cheatSheetKind == COMPOSITE_ONLY || (cheatSheetKind == ANY && isComposite(document))) {
CompositeCheatSheetParser compositeParser = new CompositeCheatSheetParser();
@@ -1042,24 +1043,21 @@ public class CheatSheetParser implements IStatusContainer {
* plug-ins and those tasks have relative paths. It also only applies for cheat sheets
* located in running plug-ins.
*/
- private class NormalizeHandler extends NodeHandler {
+ private class NormalizeHandler extends ProcessorHandler {
private static final String ELEMENT_PARAM = "param"; //$NON-NLS-1$
private static final String ATTRIBUTE_NAME = "name"; //$NON-NLS-1$
private static final String ATTRIBUTE_VALUE = "value"; //$NON-NLS-1$
private static final String NAME_PATH = "path"; //$NON-NLS-1$
- /* (non-Javadoc)
- * @see org.eclipse.help.internal.dynamic.NodeHandler#handle(org.eclipse.help.Node, java.lang.String)
- */
- public short handle(org.eclipse.help.Node node, String id) {
- if (id != null && ELEMENT_PARAM.equals(node.getNodeName())) {
- String name = node.getAttribute(ATTRIBUTE_NAME);
+ public short handle(UAElement element, String id) {
+ if (id != null && ELEMENT_PARAM.equals(element.getElementName())) {
+ String name = element.getAttribute(ATTRIBUTE_NAME);
if (NAME_PATH.equals(name)) {
- String value = node.getAttribute(ATTRIBUTE_VALUE);
+ String value = element.getAttribute(ATTRIBUTE_VALUE);
if (value != null) {
int index = id.lastIndexOf('/');
- node.setAttribute(ATTRIBUTE_VALUE, id.substring(0, index + 1) + value);
+ element.setAttribute(ATTRIBUTE_VALUE, id.substring(0, index + 1) + value);
}
}
return HANDLED_CONTINUE;

Back to the top