use of main.Analyze.AnalyzeSources in project Info-Evaluation by TechnionYP5777.
the class AnalyzeSourcesTest method testPrint.
@Test
public void testPrint() {
final AnalyzeSources as = new AnalyzeSources();
as.addSource(src1);
as.addSource(src2);
// as.getData().printList();
for (TableTuple tt : as.getData()) {
for (String ¢ : tt.getKeyWords()) System.out.println(¢);
System.out.println();
}
}
use of main.Analyze.AnalyzeSources in project Info-Evaluation by TechnionYP5777.
the class AnalyzeSourcesTest method checkMerge.
@Test
public void checkMerge() {
final AnalyzeSources as = new AnalyzeSources();
as.addSource(src1);
as.addSource(src2, "2015");
for (TableTuple ¢ : as.getData()) {
if ("Mark Salling".equals(¢.getName())) {
assert "12/29/2015".equals(¢.getDate());
assert "Tue Dec 29 00:00:00 IST 2015".equals((¢.getRegularDate() + ""));
}
if ("Dustin Diamond".equals(¢.getName()))
assert "12/26/2016".equals(¢.getDate());
}
}
use of main.Analyze.AnalyzeSources in project Info-Evaluation by TechnionYP5777.
the class AnalyzeSourcesTest method testKeyWords.
@Test
public void testKeyWords() {
final AnalyzeSources as = new AnalyzeSources();
as.addSource(text);
as.addSource(text2, "2015");
as.addSource(text3, "2013");
Map<String, Integer> wordsInSources = as.getWords();
assert wordsInSources.get("driving") == 2;
assert wordsInSources.get("possession") == 2;
assert wordsInSources.get("gun") == 1;
assert as.getData().getList().get(0).getKeyWords().contains("influence");
assert as.getData().getList().get(3).getKeyWords().contains("possession");
}
use of main.Analyze.AnalyzeSources in project Info-Evaluation by TechnionYP5777.
the class AnalyzeSourcesTest method testAddSourceFile.
@Test
public void testAddSourceFile() {
boolean check = false;
final AnalyzeSources as = new AnalyzeSources();
try {
as.addSourceFile((Resources.getResource("text3.txt") + "").replace("file:", ""));
} catch (Exception e) {
check = true;
}
assert check;
try {
as.addSourceFile((Resources.getResource("text1.txt") + "").replace("file:", ""), "2013");
ArrayList<TableTuple> details = as.getData().getList();
assert "Tito Ortiz".equals(details.get(0).getName());
assert "01/06/2013".equals(details.get(0).getDate());
assert "driving under influence".equals(details.get(0).getReason());
as.addSourceFile((Resources.getResource("text2.txt") + "").replace("file:", ""));
details = as.getData().getList();
assert "Mark Salling".equals(details.get(3).getName());
assert "12/29/2016".equals(details.get(3).getDate());
assert "possession of pornography".equals(details.get(3).getReason());
} catch (IOException e) {
fail();
}
}
use of main.Analyze.AnalyzeSources in project Info-Evaluation by TechnionYP5777.
the class MainFrame method initialize.
/**
* Initialize the contents of the frame.
*/
private void initialize() {
/*
* this flag to change the name of search button
*/
startFlag = false;
frame = new JFrame();
frame.setTitle("Info Evaluation");
frame.setResizable(false);
final Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
frame.setBounds(0, 0, screen.width, screen.height - 1);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
try {
connector = new MySQLConnector();
} catch (final Exception e) {
JOptionPane.showMessageDialog(null, "problem with sql connector", "Error", JOptionPane.INFORMATION_MESSAGE);
}
frame.addWindowListener(new java.awt.event.WindowAdapter() {
@Override
public void windowClosing(WindowEvent winEvt) {
try {
clearDB();
} catch (final SQLException e) {
JOptionPane.showMessageDialog(null, "problem with removing events from Database", "Error", JOptionPane.INFORMATION_MESSAGE);
}
closeConnection();
System.exit(0);
}
});
final AnalyzeSources events = new AnalyzeSources();
events.addSource(src1);
events.addSource(src2, "2015");
MySQLConnector.addEvents(events.getData());
try {
addAllKeywords(events.getData());
} catch (SQLException ¢) {
¢.printStackTrace();
}
final JMenuBar menuBar = new JMenuBar();
frame.setJMenuBar(menuBar);
mnHelp = new JMenu("Help");
menuBar.add(mnHelp);
mntmAbout = new JMenuItem("About");
mnHelp.add(mntmAbout);
popupMenu = new JPopupMenu();
mnfilter = new JMenuItem("Filter by");
mnprofile = new JMenuItem("View profile");
mnprofile.setVisible(false);
popupMenu.add(mnfilter);
popupMenu.add(mnprofile);
/*
*
* initializing the table
*
*/
// {
table = new JTable();
table.setComponentPopupMenu(popupMenu);
table.setShowVerticalLines(false);
table.setCellSelectionEnabled(true);
table.setColumnSelectionAllowed(true);
table.setBorder(new LineBorder(null));
for (int count = 1; count <= 10; ++count) table.setModel(new DefaultTableModel(new Object[][] { { "Name", "Date", "Reason" } }, new String[] { "Name", "Date", "Reason" }));
table.setBounds(30, 120, screen.width / 2 + 100, screen.height / 2);
table.setVisible(false);
js = new JScrollPane(table, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
js.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
js.setVisible(false);
js.setBounds(30, 120, screen.width / 2 + 100, screen.height / 2);
frame.getContentPane().add(js);
frame.getContentPane().add(js);
/*
* initializing the table
*
*/
inputList = new RefineTable();
inputList.addField("Date");
inputList.addField("Name");
inputList.addField("Reason");
inputList.addField("Year");
btnSearch = new JButton("Load analyze results");
searchTxt = new JTextField(10);
searchTxt.setText("Select checkBox to search");
searchTxt.setColumns(10);
searchTxt.setEditable(false);
ArrayList<String> keywords = new ArrayList<String>();
for (TableTuple t : events.getData()) {
String year = t.getDate().split("/")[2];
if (!keywords.contains(year))
keywords.add(year);
if (!keywords.contains(t.getName()))
keywords.add(t.getName());
for (String s : t.getKeyWords()) for (String key : s.split(" ")) {
if (keywords.contains(key))
continue;
keywords.add(key);
}
}
AutoComplete.setupAutoComplete(searchTxt, keywords);
chckbxName = new JCheckBox("Name");
chckbxName.setVisible(false);
chckbxDate = new JCheckBox("Date");
chckbxDate.setVisible(false);
chckbxReason = new JCheckBox("Reason");
chckbxReason.setVisible(false);
chckbxSortby = new JCheckBox("Sort by");
chckbxFilterBy = new JCheckBox("Filter by");
comboBox = new JComboBox<>();
comboBox.setVisible(false);
txtpnChooseOneFrom = new JTextPane();
txtpnChooseOneFrom.setText("Choose one from:");
txtpnChooseOneFrom.setBackground(new Color(0, 0, 0, 0));
txtpnChooseOneFrom.setVisible(false);
personalInfo = new InfoExtractor();
btnLoadAnalyzeResults = new JButton("Load analyze results");
btnLoadAnalyzeResults.setVisible(false);
/*
* add image
*/
BufferedImage myPicture;
try {
myPicture = ImageIO.read(this.getClass().getResource("images/search.png"));
lblImage = new JLabel(new ImageIcon(myPicture.getScaledInstance(220, 220, Image.SCALE_DEFAULT)));
} catch (IOException ¢) {
¢.printStackTrace();
}
chckbxSearch = new JCheckBox("");
btnAddEvents = new JButton("Add Events");
final GroupLayout groupLayout = new GroupLayout(frame.getContentPane());
groupLayout.setHorizontalGroup(groupLayout.createParallelGroup(Alignment.LEADING).addGroup(groupLayout.createSequentialGroup().addContainerGap(881, Short.MAX_VALUE).addComponent(lblImage, GroupLayout.PREFERRED_SIZE, 232, GroupLayout.PREFERRED_SIZE).addGap(247)).addGroup(groupLayout.createSequentialGroup().addGap(30).addGroup(groupLayout.createParallelGroup(Alignment.LEADING).addGroup(groupLayout.createSequentialGroup().addComponent(btnLoadAnalyzeResults).addGap(92).addComponent(btnAddEvents, GroupLayout.PREFERRED_SIZE, 145, GroupLayout.PREFERRED_SIZE)).addGroup(groupLayout.createSequentialGroup().addComponent(chckbxSearch, GroupLayout.PREFERRED_SIZE, 29, GroupLayout.PREFERRED_SIZE).addPreferredGap(ComponentPlacement.RELATED).addGroup(groupLayout.createParallelGroup(Alignment.LEADING, false).addComponent(searchTxt, GroupLayout.PREFERRED_SIZE, 744, GroupLayout.PREFERRED_SIZE).addGroup(groupLayout.createSequentialGroup().addGroup(groupLayout.createParallelGroup(Alignment.LEADING, false).addGroup(groupLayout.createSequentialGroup().addComponent(chckbxName).addGap(18).addComponent(chckbxDate, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)).addGroup(groupLayout.createSequentialGroup().addComponent(chckbxSortby).addPreferredGap(ComponentPlacement.UNRELATED).addComponent(chckbxFilterBy))).addPreferredGap(ComponentPlacement.RELATED).addComponent(chckbxReason).addPreferredGap(ComponentPlacement.RELATED, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE).addComponent(txtpnChooseOneFrom, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))).addGap(18).addGroup(groupLayout.createParallelGroup(Alignment.LEADING).addComponent(btnSearch, GroupLayout.PREFERRED_SIZE, 224, GroupLayout.PREFERRED_SIZE).addComponent(comboBox, GroupLayout.PREFERRED_SIZE, 219, GroupLayout.PREFERRED_SIZE)))).addContainerGap(313, Short.MAX_VALUE)));
groupLayout.setVerticalGroup(groupLayout.createParallelGroup(Alignment.TRAILING).addGroup(groupLayout.createSequentialGroup().addContainerGap().addGroup(groupLayout.createParallelGroup(Alignment.LEADING, false).addComponent(chckbxSearch).addGroup(groupLayout.createSequentialGroup().addGroup(groupLayout.createParallelGroup(Alignment.BASELINE).addComponent(searchTxt, GroupLayout.PREFERRED_SIZE, 31, GroupLayout.PREFERRED_SIZE).addComponent(btnSearch, GroupLayout.PREFERRED_SIZE, 28, GroupLayout.PREFERRED_SIZE)).addPreferredGap(ComponentPlacement.RELATED).addGroup(groupLayout.createParallelGroup(Alignment.BASELINE).addComponent(chckbxSortby).addComponent(chckbxFilterBy)).addPreferredGap(ComponentPlacement.RELATED).addGroup(groupLayout.createParallelGroup(Alignment.LEADING).addComponent(txtpnChooseOneFrom, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE).addGroup(groupLayout.createParallelGroup(Alignment.BASELINE).addComponent(chckbxName).addComponent(chckbxDate).addComponent(chckbxReason)).addComponent(comboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)))).addPreferredGap(ComponentPlacement.RELATED, 177, Short.MAX_VALUE).addComponent(lblImage, GroupLayout.PREFERRED_SIZE, 193, GroupLayout.PREFERRED_SIZE).addGap(76).addGroup(groupLayout.createParallelGroup(Alignment.BASELINE).addComponent(btnLoadAnalyzeResults, GroupLayout.PREFERRED_SIZE, 35, GroupLayout.PREFERRED_SIZE).addComponent(btnAddEvents, GroupLayout.DEFAULT_SIZE, 35, Short.MAX_VALUE)).addGap(171)));
frame.getContentPane().setLayout(groupLayout);
}
Aggregations