public Component getRoot(final Project project) { dataModel = new IssueTableModel(); statusFilter.setModel(new DefaultComboBoxModel(StatusFilter.values())); userFilter.setModel(new DefaultComboBoxModel(UserFilter.values())); table1.setModel(dataModel); update.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { IssueViewer.this.updateIssues(project); } }); table1.addMouseListener( new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { Point p = e.getPoint(); int row = table1.rowAtPoint(p); if (e.getClickCount() == 2 && issues != null && 0 <= row && row < issues.size()) { Issue issue = issues.get(row); String resource_uri = issue.getResource_uri(); // replace使うのはまずいけど面倒なので今はこれで対応 String substring = resource_uri .substring("/1.0/repositories/".length(), resource_uri.length()) .replace("issues", "issue"); try { Desktop.getDesktop().browse(new URL("https://bitbucket.org/" + substring).toURI()); } catch (IOException e1) { e1.printStackTrace(); } catch (URISyntaxException e1) { e1.printStackTrace(); } } } }); return panel1; }
@Override public void onSuccess(VerificationResult verificationResult) { String email = verificationResult.getEmail(); Person person = dao.getPersonByEmail(email); UserFilter.setPersonForSession(httpRequest, person); }