| | |
| | |
|
| | | import java.awt.Color;
|
| | | import java.awt.Component;
|
| | | import java.awt.Desktop;
|
| | | import java.awt.Dimension;
|
| | | import java.awt.Font;
|
| | | import java.awt.Insets;
|
| | | import java.io.PrintWriter;
|
| | | import java.io.StringWriter;
|
| | | import java.net.URI;
|
| | | import java.text.MessageFormat;
|
| | | import java.util.Date;
|
| | |
|
| | | import javax.swing.JOptionPane;
|
| | | import javax.swing.JScrollPane;
|
| | | import javax.swing.JTable;
|
| | | import javax.swing.JTextArea;
|
| | | import javax.swing.table.DefaultTableColumnModel;
|
| | | import javax.swing.table.TableCellRenderer;
|
| | | import javax.swing.table.TableColumn;
|
| | |
| | |
|
| | | public class Utils {
|
| | |
|
| | | public static JTable newTable(TableModel model) {
|
| | | public final static int MARGIN = 5;
|
| | |
|
| | | public final static Insets INSETS = new Insets(MARGIN, MARGIN, MARGIN, MARGIN);
|
| | |
|
| | | public final static String TIMESTAMP_FORMAT = "yyyy-MM-dd HH:mm";
|
| | |
|
| | | public final static String DATE_FORMAT = "yyyy-MM-dd";
|
| | |
|
| | | public static JTable newTable(TableModel model, String datePattern) {
|
| | | JTable table = new JTable(model);
|
| | | table.setCellSelectionEnabled(false);
|
| | | table.setRowSelectionAllowed(true);
|
| | | table.getTableHeader().setReorderingAllowed(false);
|
| | | table.setGridColor(new Color(0xd9d9d9));
|
| | | table.setBackground(Color.white);
|
| | | table.setDefaultRenderer(Date.class, new DateCellRenderer(null, Color.orange.darker()));
|
| | | table.setDefaultRenderer(Date.class,
|
| | | new DateCellRenderer(datePattern, Color.orange.darker()));
|
| | | return table;
|
| | | }
|
| | |
|
| | | public static void explainNotAllowed(Component c, RpcRequest request) {
|
| | | String msg = MessageFormat.format("The Gitblit server does not allow the request \"{0}\".",
|
| | | request.name());
|
| | | JOptionPane.showMessageDialog(c, msg, "Not Allowed", JOptionPane.ERROR_MESSAGE);
|
| | | }
|
| | |
|
| | | public static void explainForbidden(Component c, RpcRequest request) {
|
| | | String msg = MessageFormat.format(
|
| | | "The request \"{0}\" has been forbidden by the Gitblit server.", request.name());
|
| | | "The request \"{0}\" has been forbidden for the account by the Gitblit server.",
|
| | | request.name());
|
| | | JOptionPane.showMessageDialog(c, msg, "Forbidden", JOptionPane.ERROR_MESSAGE);
|
| | | }
|
| | |
|
| | |
| | | JOptionPane.showMessageDialog(c, msg, "Unauthorized", JOptionPane.ERROR_MESSAGE);
|
| | | }
|
| | |
|
| | | public static void explainUnknown(Component c, RpcRequest request) {
|
| | | String msg = MessageFormat.format(
|
| | | "The request \"{0}\" is not recognized by the Gitblit server.", request.name());
|
| | | JOptionPane.showMessageDialog(c, msg, "Unknown Request", JOptionPane.ERROR_MESSAGE);
|
| | | }
|
| | |
|
| | | public static void showException(Component c, Throwable t) {
|
| | | // TODO show the unexpected exception
|
| | | t.printStackTrace();
|
| | | StringWriter writer = new StringWriter();
|
| | | t.printStackTrace(new PrintWriter(writer));
|
| | | String stacktrace = writer.toString();
|
| | | try {
|
| | | writer.close();
|
| | | } catch (Throwable x) {
|
| | | }
|
| | | JTextArea textArea = new JTextArea(stacktrace);
|
| | | textArea.setFont(new Font("monospaced", Font.PLAIN, 11));
|
| | | JScrollPane jsp = new JScrollPane(textArea);
|
| | | jsp.setPreferredSize(new Dimension(800, 400));
|
| | | JOptionPane.showMessageDialog(c, jsp, Translation.get("gb.error"),
|
| | | JOptionPane.ERROR_MESSAGE);
|
| | | }
|
| | |
|
| | | public static void packColumns(JTable table, int margin) {
|
| | |
| | | // Set the width
|
| | | col.setPreferredWidth(width);
|
| | | }
|
| | |
|
| | | public static void browse(String url) {
|
| | | try {
|
| | | Desktop.getDesktop().browse(new URI(url));
|
| | | } catch (Exception x) {
|
| | | showException(null, x);
|
| | | }
|
| | | }
|
| | |
|
| | | }
|