Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/KeyValuePairStructureCreator.java')
-rw-r--r--examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/KeyValuePairStructureCreator.java155
1 files changed, 0 insertions, 155 deletions
diff --git a/examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/KeyValuePairStructureCreator.java b/examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/KeyValuePairStructureCreator.java
deleted file mode 100644
index 71334437e..000000000
--- a/examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/KeyValuePairStructureCreator.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.structurecreator;
-
-import org.eclipse.swt.graphics.*;
-
-import org.eclipse.jface.text.*;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.compare.*;
-import org.eclipse.compare.structuremergeviewer.*;
-
-
-/**
- * This structure creator parses input containing key/value pairs
- * and returns the pairs as a tree of <code>IStructureComparator</code>s.
- * Each key/value pair must be on a separate line and keys are separated
- * from values by a '='.
- * <p>
- * Example:
- * <pre>
- * foo=bar
- * name=joe
- * </pre>
- */
-public class KeyValuePairStructureCreator implements IStructureCreator {
-
- static class KeyValueNode extends DocumentRangeNode implements ITypedElement {
-
- String fValue;
-
- public KeyValueNode(String id, String value, IDocument doc, int start, int length) {
- super(0, id, doc, start, length);
- fValue= value;
- }
-
- String getValue() {
- return fValue;
- }
-
- /**
- * @see ITypedElement#getName
- */
- public String getName() {
- return this.getId();
- }
-
- /**
- * Every key/value pair is of type "kvtxt". We register a TextMergeViewer for it.
- * @see ITypedElement#getType
- */
- public String getType() {
- return "kvtxt"; //$NON-NLS-1$
- }
-
- /**
- * @see ITypedElement#getImage
- */
- public Image getImage() {
- return CompareUI.getImage(getType());
- }
- }
-
-
- public KeyValuePairStructureCreator() {
- }
-
- /**
- * This title will be shown in the title bar of the structure compare pane.
- */
- public String getName() {
- return Util.getString("KeyValuePairStructureCreator.title"); //$NON-NLS-1$
- }
-
- /**
- * Returns a node.
- */
- public IStructureComparator getStructure(Object input) {
-
- if (!(input instanceof IStreamContentAccessor))
- return null;
-
- IStreamContentAccessor sca= (IStreamContentAccessor) input;
- try {
- String contents= Util.readString(sca);
- if (contents == null)
- contents= ""; //$NON-NLS-1$
- Document doc= new Document(contents);
-
- KeyValueNode root= new KeyValueNode("root", "", doc, 0, doc.getLength()); //$NON-NLS-1$ //$NON-NLS-2$
-
- for (int i= 0; i < doc.getNumberOfLines(); i++) {
-
- IRegion r= doc.getLineInformation(i);
- String s= doc.get(r.getOffset(), r.getLength());
- int start= r.getOffset();
-
- String key= ""; //$NON-NLS-1$
- String value= ""; //$NON-NLS-1$
- int pos= s.indexOf('=');
- if (pos >= 0) {
- key= s.substring(0, pos);
- value= s.substring(pos+1);
- } else {
- key= s;
- }
- if (key.length() > 0)
- root.addChild(new KeyValueNode(key, value, doc, start, s.length()));
- }
- return root;
- } catch (CoreException ex) {
- String message= Util.getString("KeyValuePairStructureCreator.CoreException.message"); //$NON-NLS-1$
- CompareUI.getPlugin().getLog().log(new Status(IStatus.ERROR, CompareUI.PLUGIN_ID, 0, message, ex));
- } catch (BadLocationException ex) {
- String message= Util.getString("KeyValuePairStructureCreator.BadLocationException.message"); //$NON-NLS-1$
- CompareUI.getPlugin().getLog().log(new Status(IStatus.ERROR, CompareUI.PLUGIN_ID, 0, message, ex));
- }
-
- return null;
- }
-
- public void save(IStructureComparator structure, Object input) {
- if (input instanceof IEditableContent && structure instanceof KeyValueNode) {
- IDocument doc= ((KeyValueNode)structure).getDocument();
- IEditableContent bca= (IEditableContent) input;
- String c= doc.get();
- bca.setContent(c.getBytes());
- }
- }
-
- public String getContents(Object node, boolean ignoreWhitespace) {
- if (node instanceof KeyValueNode) {
- String s= ((KeyValueNode)node).getValue();
- if (ignoreWhitespace)
- s= s.trim();
- return s;
- }
- return null;
- }
-
- public IStructureComparator locate(Object path, Object source) {
- return null;
- }
-}

Back to the top