turtle2rdfparseerrorlistener.java

来自「Semantic Web Ontology Editor」· Java 代码 · 共 87 行

JAVA
87
字号
/*
 * Created on Dec 22, 2005
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package org.mindswap.swoop.utils.ui.turtle2RDF;

import java.awt.Color;
import java.awt.Component;
import java.io.BufferedReader;
import java.io.StringReader;

import javax.swing.JOptionPane;
import javax.swing.text.DefaultHighlighter;
import javax.swing.text.JTextComponent;
import javax.swing.text.DefaultHighlighter.DefaultHighlightPainter;

import org.openrdf.rio.ParseErrorListener;

/**
 * @author Dave Wang
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class Turtle2RDFParseErrorListener implements ParseErrorListener
{
	public static final DefaultHighlightPainter DEFAULT_HLPAINTER =
	 	new DefaultHighlighter.DefaultHighlightPainter( new Color(255, 255, 120) ) ;
	
	private Component myMessageDialogOwner;
	private JTextComponent myTextComponent;
	private String myTCode;
	
	public Turtle2RDFParseErrorListener( Component c, String turtleCode, JTextComponent t)
	{
		super();
		myMessageDialogOwner = c;
		myTextComponent      = t;
		myTCode              = turtleCode;
	}
	
	public void warning(String arg0, int arg1, int arg2) 
	{ }

	public void error(String arg0, int arg1, int arg2) 
	{ 
		String message = "Turtle Parsing Error: " + arg0 + " at line " + arg1 ; 
		System.err.println( message );
		Turtle2RDFConverter.showMessageDialog( myMessageDialogOwner, message, "Turtle Parse Error", JOptionPane.ERROR_MESSAGE );
	}

	public void fatalError(String arg0, int arg1, int arg2) 
	{ 
		BufferedReader reader = new BufferedReader( new StringReader( myTCode ) );
		String line = "";
		int l = 0;
		int count = 0;
		try
		{
			if ( myTextComponent != null )
			{
				while ( (line = reader.readLine() ) != null )
				{
					count++;
					if ( count == arg1 )
					{
						myTextComponent.getHighlighter().addHighlight( l + 1, l + line.length() + 1, DEFAULT_HLPAINTER);
						break;
					}
					else
						l = l + line.length();
				}
			}
		}
		catch ( Exception e )
		{
			e.printStackTrace();
		}
		
		
		String message = "Turtle Parsing Error (Fatal): " + arg0 + " at line " + arg1 ;
		System.err.println( message );
		Turtle2RDFConverter.showMessageDialog( myMessageDialogOwner, message, "Turtle Parse Error", JOptionPane.ERROR_MESSAGE );
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?