Search in sources :

Example 1 with AnalyzeSources

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();
    }
}
Also used : TableTuple(main.database.TableTuple) AnalyzeSources(main.Analyze.AnalyzeSources) Test(org.junit.Test)

Example 2 with AnalyzeSources

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());
    }
}
Also used : TableTuple(main.database.TableTuple) AnalyzeSources(main.Analyze.AnalyzeSources) Test(org.junit.Test)

Example 3 with AnalyzeSources

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");
}
Also used : AnalyzeSources(main.Analyze.AnalyzeSources) Test(org.junit.Test)

Example 4 with AnalyzeSources

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();
    }
}
Also used : TableTuple(main.database.TableTuple) AnalyzeSources(main.Analyze.AnalyzeSources) IOException(java.io.IOException) IOException(java.io.IOException) Test(org.junit.Test)

Example 5 with AnalyzeSources

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);
}
Also used : ImageIcon(javax.swing.ImageIcon) SQLException(java.sql.SQLException) LineBorder(javax.swing.border.LineBorder) DefaultTableModel(javax.swing.table.DefaultTableModel) JButton(javax.swing.JButton) ArrayList(java.util.ArrayList) JTextField(javax.swing.JTextField) BufferedImage(java.awt.image.BufferedImage) JTextPane(javax.swing.JTextPane) JFrame(javax.swing.JFrame) GroupLayout(javax.swing.GroupLayout) MySQLConnector(main.database.MySQLConnector) JMenuItem(javax.swing.JMenuItem) JScrollPane(javax.swing.JScrollPane) Color(java.awt.Color) JLabel(javax.swing.JLabel) Dimension(java.awt.Dimension) AnalyzeSources(main.Analyze.AnalyzeSources) IOException(java.io.IOException) SQLException(java.sql.SQLException) IOException(java.io.IOException) JPopupMenu(javax.swing.JPopupMenu) Point(java.awt.Point) JCheckBox(javax.swing.JCheckBox) TableTuple(main.database.TableTuple) WindowEvent(java.awt.event.WindowEvent) JTable(javax.swing.JTable) JMenuBar(javax.swing.JMenuBar) JMenu(javax.swing.JMenu)

Aggregations

AnalyzeSources (main.Analyze.AnalyzeSources)6 TableTuple (main.database.TableTuple)4 Test (org.junit.Test)4 IOException (java.io.IOException)2 GroupLayout (javax.swing.GroupLayout)2 JButton (javax.swing.JButton)2 JFrame (javax.swing.JFrame)2 JTable (javax.swing.JTable)2 JTextField (javax.swing.JTextField)2 LineBorder (javax.swing.border.LineBorder)2 DefaultTableModel (javax.swing.table.DefaultTableModel)2 Color (java.awt.Color)1 Dimension (java.awt.Dimension)1 Point (java.awt.Point)1 WindowEvent (java.awt.event.WindowEvent)1 BufferedImage (java.awt.image.BufferedImage)1 SQLException (java.sql.SQLException)1 ArrayList (java.util.ArrayList)1 ImageIcon (javax.swing.ImageIcon)1 JCheckBox (javax.swing.JCheckBox)1