package art.servers.gui.components;
|
|
import art.library.gui.flat.FlatButton;
|
import art.library.gui.flat.FlatDatePicker;
|
import art.library.gui.flat.FlatLabel;
|
import art.library.gui.flat.FlatPanel;
|
import art.library.gui.flat.FlatTextField;
|
import art.library.gui.flat.FlatWindow;
|
import art.library.model.transactions.traces.Trace;
|
import art.servers.Shared;
|
import static art.servers.gui.components.PanelTraces.color;
|
import java.awt.BorderLayout;
|
import java.awt.Dimension;
|
import java.awt.GridLayout;
|
import java.awt.Insets;
|
import java.awt.Point;
|
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionListener;
|
import java.text.SimpleDateFormat;
|
import java.util.Calendar;
|
import java.util.Date;
|
import java.util.List;
|
import javax.swing.SwingConstants;
|
|
|
public class PanelTracesHistorical extends PanelTraces
|
{
|
private FlatDatePicker datePicker1 = null;
|
private FlatDatePicker datePicker2 = null;
|
private FlatButton button1 = null;
|
private FlatTextField textfield1 = null;
|
private int totalTraces = 100;
|
|
|
public PanelTracesHistorical(FlatWindow window)
|
{
|
super(window, 0);
|
this.initialisePanelTracesHistorical();
|
}
|
|
|
|
protected void initialisePanelTracesHistorical()
|
{
|
Calendar calendar = Calendar.getInstance();
|
calendar.setTimeInMillis(System.currentTimeMillis());
|
calendar.set(Calendar.HOUR_OF_DAY, 0);
|
calendar.set(Calendar.MINUTE, 0);
|
calendar.set(Calendar.SECOND, 0);
|
calendar.set(Calendar.MILLISECOND, 0);
|
datePicker1 = new FlatDatePicker(FlatDatePicker.TYPE_PICKER_DAY, SwingConstants.LEFT, true, false);
|
datePicker1.setLocale(Shared.configuration.getLocale());
|
datePicker1.setTimestamp(calendar.getTimeInMillis());
|
|
calendar.add(Calendar.DATE, 1);
|
datePicker2 = new FlatDatePicker(FlatDatePicker.TYPE_PICKER_DAY, SwingConstants.LEFT, true, false);
|
datePicker2.setLocale(Shared.configuration.getLocale());
|
datePicker2.setTimestamp(calendar.getTimeInMillis());
|
|
FlatPanel panel1 = new FlatPanel();
|
{
|
FlatPanel panel1_1 = new FlatPanel();
|
{
|
FlatPanel panel1_1_1 = new FlatPanel();
|
{
|
panel1_1_1.setRaisedBorder(0, 0, 0, 1);
|
panel1_1_1.setLayout(new BorderLayout());
|
panel1_1_1.add(datePicker1, BorderLayout.CENTER);
|
}
|
|
FlatPanel panel1_1_2 = new FlatPanel();
|
{
|
panel1_1_2.setRaisedBorder(0, 1, 0, 1);
|
panel1_1_2.setLayout(new BorderLayout());
|
panel1_1_2.add(datePicker2, BorderLayout.CENTER);
|
}
|
|
FlatPanel panel1_1_3 = new FlatPanel();
|
{
|
|
FlatPanel panel1_1_3_1 = new FlatPanel();
|
{
|
FlatLabel label1 = new FlatLabel("Limit");
|
textfield1 = new FlatTextField();
|
textfield1.setText("" + totalTraces);
|
textfield1.setNumeric(true, 1, 1000);
|
panel1_1_3_1.setLayout(new GridLayout(1, 2));
|
panel1_1_3_1.add(label1);
|
panel1_1_3_1.add(textfield1);
|
}
|
|
panel1_1_3.setLayout(new BorderLayout());
|
panel1_1_3.setPanelMargins(new Insets(4, 4, 4, 4));
|
panel1_1_3.setRaisedBorder(0, 1, 0, 0);
|
panel1_1_3.add(panel1_1_3_1, BorderLayout.CENTER);
|
}
|
|
panel1_1.setLayout(new GridLayout(1, 3));
|
panel1_1.add(panel1_1_1);
|
panel1_1.add(panel1_1_2);
|
panel1_1.add(panel1_1_3);
|
panel1_1.setRaisedBorder(0,0,1,0);
|
}
|
|
FlatPanel panel1_2 = new FlatPanel();
|
{
|
button1 = new FlatButton(Shared.getMessage("Execute"));
|
button1.getLook().horizontalAlignment = SwingConstants.CENTER;
|
panel1_2.setPreferredSize(new Dimension(44,44));
|
panel1_2.setLayout(new BorderLayout());
|
panel1_2.add(button1, BorderLayout.CENTER);
|
panel1_2.setRaisedBorder(1,0,1,0);
|
panel1_2.setPanelMargins(new Insets(4, 4, 4, 4));
|
}
|
|
|
panel1.setPreferredSize(new Dimension(0,80));
|
panel1.setLayout(new BorderLayout());
|
panel1.add(panel1_1, BorderLayout.CENTER);
|
panel1.add(panel1_2, BorderLayout.SOUTH);
|
button1.addActionListener(new ActionListener()
|
{
|
public void actionPerformed(ActionEvent e)
|
{
|
listTraces();
|
}
|
});
|
}
|
|
|
this.add(panel1, BorderLayout.NORTH);
|
}
|
|
|
|
|
public void addTrace(Object object)
|
{
|
mutex.lockWrite();
|
{
|
traces.add(object);
|
}
|
mutex.releaseWrite();
|
}
|
|
|
|
public void reload()
|
{
|
}
|
|
|
|
public void view(boolean value)
|
{
|
scrollPane.setVisible(value);
|
}
|
|
|
|
|
private void listTraces()
|
{
|
clear();
|
|
SimpleDateFormat formato1 = new SimpleDateFormat(Shared.getMessage("dd/MM/yyyy HH:mm:ss.SSS"));
|
|
try
|
{
|
totalTraces = Integer.parseInt(textfield1.getText());
|
}
|
catch (Exception e)
|
{
|
totalTraces = 100;
|
textfield1.setText("" + totalTraces );
|
}
|
|
|
|
|
try
|
{
|
long from = datePicker1.getCalendar().getTimeInMillis();
|
long to = datePicker2.getCalendar().getTimeInMillis();
|
|
List<Trace> ltrace = Shared.model.getTraces(Shared.getLanguage(), from, to, Shared.getApplicationName(), totalTraces);
|
|
for (Trace trace : ltrace)
|
{
|
String result = "";
|
result = result + color(SCREEN_RESET, SCREEN_WHITE, SCREEN_BLACK);
|
result = result + formato1.format(trace.timestamp) + "\n";
|
|
switch (trace.type)
|
{
|
case Trace.TRACE_NONE: result = result = result + color(SCREEN_RESET, SCREEN_WHITE, SCREEN_BLACK); break;
|
case Trace.TRACE_INFORMATION: result = result = result + color(SCREEN_RESET, SCREEN_CYAN, SCREEN_BLACK); break;
|
case Trace.TRACE_WARNING: result = result + color(SCREEN_RESET, SCREEN_YELLOW, SCREEN_BLACK); break;
|
case Trace.TRACE_ERROR: result = result + color(SCREEN_RESET, SCREEN_RED, SCREEN_BLACK); break;
|
case Trace.TRACE_CORRECT: result = result + color(SCREEN_RESET, SCREEN_GREEN, SCREEN_BLACK); break;
|
}
|
result = result + "{\n";
|
if (trace.sourceComputer != null) result = result + " " + Shared.getMessage("Source") + " : " + trace.sourceComputer + "\n";
|
if (trace.username != null) result = result + " " + Shared.getMessage("Username") + " : " + trace.username + "\n";
|
if (trace.profile != null) result = result + " " + Shared.getMessage("Profile") + " : " + trace.profile + "\n";
|
if (trace.service != null) result = result + " " + Shared.getMessage("Service") + " : " + trace.service + "\n";
|
if (trace.action != null) result = result + " " + Shared.getMessage("Action") + " : " + trace.action + "\n";
|
if (trace.resource != null) result = result + " " + Shared.getMessage("Resource") + " : " + trace.resource + "\n";
|
if (trace.result != null) result = result + " " + Shared.getMessage("Result") + " : " + trace.result + "\n";
|
if (trace.stack != null) result = result + " " + Shared.getMessage("Stack") + " : " + trace.stack + "\n";
|
result = result + "}\n";
|
newLine(result);
|
addTrace(trace);
|
}
|
}
|
catch (Exception e)
|
{
|
}
|
|
scrollPane.getViewport().setViewPosition(new Point(0,0));
|
buttonView.setSelected(true);
|
scrollPane.setVisible(true);
|
|
|
}
|
|
|
|
|
|
}
|