/* * 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 ); } }