diff options
Diffstat (limited to 'src/main/java/io/trygvis/esper/testing/gitorious/GitoriousProjectDao.java')
-rw-r--r-- | src/main/java/io/trygvis/esper/testing/gitorious/GitoriousProjectDao.java | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/src/main/java/io/trygvis/esper/testing/gitorious/GitoriousProjectDao.java b/src/main/java/io/trygvis/esper/testing/gitorious/GitoriousProjectDao.java index f47b126..432d154 100644 --- a/src/main/java/io/trygvis/esper/testing/gitorious/GitoriousProjectDao.java +++ b/src/main/java/io/trygvis/esper/testing/gitorious/GitoriousProjectDao.java @@ -1,5 +1,8 @@ package io.trygvis.esper.testing.gitorious; +import fj.*; + +import java.net.*; import java.sql.*; import java.util.*; @@ -9,32 +12,49 @@ public class GitoriousProjectDao extends Dao { } private final PreparedStatement countProjects = prepareStatement("SELECT count(*) FROM gitorious_project WHERE slug=?"); + public int countProjects(String slug) throws SQLException { countProjects.setString(1, slug); - try(ResultSet rs = countProjects.executeQuery()) { + try (ResultSet rs = countProjects.executeQuery()) { rs.next(); return rs.getInt(1); } } - private final PreparedStatement insertProject = prepareStatement("INSERT INTO gitorious_project(slug) VALUES(?)"); + private final PreparedStatement insertProject = prepareStatement("INSERT INTO gitorious_project(slug, atom_feed) VALUES(?, ?)"); + public void insertProject(GitoriousProject project) throws SQLException { insertProject.setString(1, project.slug); + insertProject.setString(2, project.atomFeed.toASCIIString()); insertProject.executeUpdate(); } private final PreparedStatement selectAll = prepareStatement("SELECT slug FROM gitorious_project"); - public List<String> selectAll() throws SQLException { + + public List<String> selectSlugs() throws SQLException { try (ResultSet rs = selectAll.executeQuery()) { List<String> list = new ArrayList<>(); - while(rs.next()) { + while (rs.next()) { list.add(rs.getString(1)); } return list; } } + private final PreparedStatement selectFeeds = prepareStatement("SELECT slug, atom_feed FROM gitorious_project"); + + public List<P2<String, URI>> selectFeeds() throws SQLException { + try (ResultSet rs = selectFeeds.executeQuery()) { + List<P2<String, URI>> list = new ArrayList<>(); + while (rs.next()) { + list.add(P.p(rs.getString(1), URI.create(rs.getString(2)))); + } + return list; + } + } + private final PreparedStatement delete = prepareStatement("DELETE FROM gitorious_project WHERE slug=?"); + public void delete(String slug) throws SQLException { delete.setString(1, slug); delete.executeUpdate(); |