[xwiki-notifications] r236 - in xeclipse-gsoc/org.xwiki.xdomexplorer/src/main/java/org/xwiki/xdomexplorer: . editors utils
fmancinelli (SVN)
notifications at xwiki.org
Tue Jul 1 16:21:55 CEST 2008
Author: fmancinelli
Date: 2008-07-01 16:21:55 +0200 (Tue, 01 Jul 2008)
New Revision: 236
Added:
xeclipse-gsoc/org.xwiki.xdomexplorer/src/main/java/org/xwiki/xdomexplorer/utils/
xeclipse-gsoc/org.xwiki.xdomexplorer/src/main/java/org/xwiki/xdomexplorer/utils/SafeRunnableWithResult.java
Modified:
xeclipse-gsoc/org.xwiki.xdomexplorer/src/main/java/org/xwiki/xdomexplorer/editors/XDOMContentProvider.java
xeclipse-gsoc/org.xwiki.xdomexplorer/src/main/java/org/xwiki/xdomexplorer/editors/XDOMLabelProvider.java
xeclipse-gsoc/org.xwiki.xdomexplorer/src/main/java/org/xwiki/xdomexplorer/editors/XDOMOutlinePage.java
Log:
Added error handling.
Modified: xeclipse-gsoc/org.xwiki.xdomexplorer/src/main/java/org/xwiki/xdomexplorer/editors/XDOMContentProvider.java
===================================================================
--- xeclipse-gsoc/org.xwiki.xdomexplorer/src/main/java/org/xwiki/xdomexplorer/editors/XDOMContentProvider.java 2008-06-30 15:11:13 UTC (rev 235)
+++ xeclipse-gsoc/org.xwiki.xdomexplorer/src/main/java/org/xwiki/xdomexplorer/editors/XDOMContentProvider.java 2008-07-01 14:21:55 UTC (rev 236)
@@ -23,6 +23,7 @@
public Object[] getChildren(Object parentElement)
{
+ System.out.format("Children for %s\n", parentElement.getClass());
if (parentElement instanceof Block) {
Block block = (Block) parentElement;
Modified: xeclipse-gsoc/org.xwiki.xdomexplorer/src/main/java/org/xwiki/xdomexplorer/editors/XDOMLabelProvider.java
===================================================================
--- xeclipse-gsoc/org.xwiki.xdomexplorer/src/main/java/org/xwiki/xdomexplorer/editors/XDOMLabelProvider.java 2008-06-30 15:11:13 UTC (rev 235)
+++ xeclipse-gsoc/org.xwiki.xdomexplorer/src/main/java/org/xwiki/xdomexplorer/editors/XDOMLabelProvider.java 2008-07-01 14:21:55 UTC (rev 236)
@@ -1,13 +1,7 @@
package org.xwiki.xdomexplorer.editors;
import org.eclipse.jface.viewers.LabelProvider;
-import org.xwiki.rendering.block.Block;
-import org.xwiki.rendering.block.BoldBlock;
-import org.xwiki.rendering.block.ItalicBlock;
-import org.xwiki.rendering.block.NewLineBlock;
-import org.xwiki.rendering.block.ParagraphBlock;
-import org.xwiki.rendering.block.SectionBlock;
-import org.xwiki.rendering.block.SpaceBlock;
+import org.xwiki.rendering.block.MacroBlock;
import org.xwiki.rendering.block.WordBlock;
public class XDOMLabelProvider extends LabelProvider
@@ -24,43 +18,27 @@
@Override
public String getText(Object element)
{
- if (element instanceof SectionBlock) {
- SectionBlock sectionBlock = (SectionBlock) element;
- return String.format("Section %s", sectionBlock.getLevel());
- }
-
- if (element instanceof ParagraphBlock) {
- return String.format("Paragraph");
- }
-
if (element instanceof WordBlock) {
WordBlock wordBlock = (WordBlock) element;
- return String.format("Word [%s]", truncate(wordBlock.getWord(), 15));
+ return String.format("WordBlock [%s]", truncate(wordBlock.getWord(), 15));
}
-
- if (element instanceof SpaceBlock) {
-
- return String.format("Space");
+
+ if (element instanceof MacroBlock) {
+ MacroBlock macroBlock = (MacroBlock) element;
+ return String.format("MacroBlock [%s]", truncate(macroBlock.getContent(), 15));
}
- if (element instanceof BoldBlock) {
-
- return String.format("Bold");
+ String className = element.getClass().getName();
+
+ int index = className.lastIndexOf('.');
+ if(index == -1) {
+ index = 0;
}
-
- if (element instanceof ItalicBlock) {
- return String.format("Italic");
+ else {
+ index++;
}
-
- if (element instanceof NewLineBlock) {
- return String.format("NewLine");
- }
-
- if (element instanceof Block) {
- Block block = (Block) element;
- return block.toString();
- }
- return super.getText(element);
+
+ return className.substring(index, className.length());
}
}
Modified: xeclipse-gsoc/org.xwiki.xdomexplorer/src/main/java/org/xwiki/xdomexplorer/editors/XDOMOutlinePage.java
===================================================================
--- xeclipse-gsoc/org.xwiki.xdomexplorer/src/main/java/org/xwiki/xdomexplorer/editors/XDOMOutlinePage.java 2008-06-30 15:11:13 UTC (rev 235)
+++ xeclipse-gsoc/org.xwiki.xdomexplorer/src/main/java/org/xwiki/xdomexplorer/editors/XDOMOutlinePage.java 2008-07-01 14:21:55 UTC (rev 236)
@@ -1,16 +1,16 @@
package org.xwiki.xdomexplorer.editors;
-import java.io.InputStreamReader;
-import java.io.StringBufferInputStream;
+import java.io.StringReader;
+import org.eclipse.core.runtime.SafeRunner;
import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
import org.xwiki.rendering.block.XDOM;
-import org.xwiki.rendering.parser.ParseException;
import org.xwiki.rendering.parser.Parser;
import org.xwiki.rendering.wikimodel.parser.WikiModelXWikiParser;
+import org.xwiki.xdomexplorer.utils.SafeRunnableWithResult;
public class XDOMOutlinePage extends ContentOutlinePage
{
@@ -40,16 +40,22 @@
xdomTreeViewer.expandAll();
}
- private XDOM parse(IDocument document)
+ private XDOM parse(final IDocument document)
{
- Parser parser = new WikiModelXWikiParser();
- try {
- return parser.parse(new InputStreamReader(new StringBufferInputStream(document.get())));
- } catch (ParseException e) {
- e.printStackTrace();
- }
+ SafeRunnableWithResult<XDOM> runnable = new SafeRunnableWithResult<XDOM>()
+ {
- return null;
+ public void run() throws Exception
+ {
+ Parser parser = new WikiModelXWikiParser();
+ XDOM result = parser.parse(new StringReader(document.get()));
+
+ setResult(result);
+ }
+
+ };
+ SafeRunner.run(runnable);
+
+ return runnable.getResult();
}
-
}
Added: xeclipse-gsoc/org.xwiki.xdomexplorer/src/main/java/org/xwiki/xdomexplorer/utils/SafeRunnableWithResult.java
===================================================================
--- xeclipse-gsoc/org.xwiki.xdomexplorer/src/main/java/org/xwiki/xdomexplorer/utils/SafeRunnableWithResult.java (rev 0)
+++ xeclipse-gsoc/org.xwiki.xdomexplorer/src/main/java/org/xwiki/xdomexplorer/utils/SafeRunnableWithResult.java 2008-07-01 14:21:55 UTC (rev 236)
@@ -0,0 +1,18 @@
+package org.xwiki.xdomexplorer.utils;
+
+import org.eclipse.jface.util.SafeRunnable;
+
+public abstract class SafeRunnableWithResult<T> extends SafeRunnable
+{
+ private T result = null;
+
+ public T getResult()
+ {
+ return result;
+ }
+
+ public void setResult(T result)
+ {
+ this.result = result;
+ }
+}
More information about the notifications
mailing list