diff options
author | Curtis D'Entremont | 2007-02-02 18:38:06 +0000 |
---|---|---|
committer | Curtis D'Entremont | 2007-02-02 18:38:06 +0000 |
commit | 262ce44cff2f1357a481691bb0c69c490eafe700 (patch) | |
tree | 1f9622ee7beeb19524d87240e629a4c4e7939fde /org.eclipse.ui.cheatsheets | |
parent | cc04d1747e8e01ee5fb59fd52275c5237716c364 (diff) | |
download | eclipse.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.java | 32 |
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; |