package com.pugh.sockso.gui.action;
import com.pugh.sockso.db.Database;
import com.pugh.sockso.resources.Locale;
import java.awt.event.ActionEvent;
import java.sql.SQLException;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import org.apache.log4j.Logger;
public class RequestLogClear extends RequestLogAction {
private static final Logger log = Logger.getLogger( RequestLogClear.class );
private final JFrame parent;
private final Database db;
private final Locale locale;
public RequestLogClear( final JFrame parent, final Database db, final Locale locale ) {
this.parent = parent;
this.db = db;
this.locale = locale;
}
public void actionPerformed( ActionEvent evt ) {
if ( confirmClearLog() ) {
try {
clearRequestLog();
JOptionPane.showMessageDialog(
parent,
locale.getString("gui.message.requestLogCleared"),
"Sockso",
JOptionPane.INFORMATION_MESSAGE
);
}
catch ( SQLException e ) {
JOptionPane.showMessageDialog(
parent,
e.getMessage(),
"Sockso",
JOptionPane.ERROR_MESSAGE
);
log.error( e );
}
}
}
protected void clearRequestLog() throws SQLException {
final String sql = " delete from request_log ";
db.update( sql );
fireRequestLogChanged();
}
protected boolean confirmClearLog() {
final int result = JOptionPane.showConfirmDialog(
parent,
locale.getString("gui.message.confirmClearRequestLog"),
"Sockso",
JOptionPane.YES_NO_OPTION
);
return ( result == JOptionPane.OK_OPTION );
}
}