diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2012-12-22 00:31:00 +0100 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2012-12-22 00:32:28 +0100 |
commit | c8c863ce36f57954369a0b4a15e6c5e720f03f87 (patch) | |
tree | 2e49e11db5be949571642ceca947bb7b2178c777 /src/main/java/io/trygvis/esper/testing/core/jenkins | |
parent | 012b0864e95e120ea57433ab0e719cc6011c7647 (diff) | |
download | esper-testing-c8c863ce36f57954369a0b4a15e6c5e720f03f87.tar.gz esper-testing-c8c863ce36f57954369a0b4a15e6c5e720f03f87.tar.bz2 esper-testing-c8c863ce36f57954369a0b4a15e6c5e720f03f87.tar.xz esper-testing-c8c863ce36f57954369a0b4a15e6c5e720f03f87.zip |
o Moving stuff to utils package.
Diffstat (limited to 'src/main/java/io/trygvis/esper/testing/core/jenkins')
-rw-r--r-- | src/main/java/io/trygvis/esper/testing/core/jenkins/JenkinsBuildPoller.java | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/main/java/io/trygvis/esper/testing/core/jenkins/JenkinsBuildPoller.java b/src/main/java/io/trygvis/esper/testing/core/jenkins/JenkinsBuildPoller.java new file mode 100644 index 0000000..90a4ef4 --- /dev/null +++ b/src/main/java/io/trygvis/esper/testing/core/jenkins/JenkinsBuildPoller.java @@ -0,0 +1,55 @@ +package io.trygvis.esper.testing.core.jenkins; + +import com.jolbox.bonecp.*; +import io.trygvis.esper.testing.*; +import io.trygvis.esper.testing.core.*; +import io.trygvis.esper.testing.core.db.*; +import io.trygvis.esper.testing.jenkins.*; +import io.trygvis.esper.testing.util.sql.*; +import org.slf4j.*; + +import java.sql.*; +import java.util.*; + +import static fj.data.Option.some; +import static io.trygvis.esper.testing.Config.*; +import static io.trygvis.esper.testing.EntityRef.jenkinsRef; + +public class JenkinsBuildPoller implements TablePoller.NewRowCallback<JenkinsBuildDto> { + Logger logger = LoggerFactory.getLogger(getClass()); + + public static void main(String[] args) throws Exception { + String pollerName = "jenkins_build"; + String tableName = "jenkins_build"; + String columnNames = JenkinsDao.JENKINS_BUILD; + SqlF<ResultSet, JenkinsBuildDto> f = JenkinsDao.jenkinsBuild; + TablePoller.NewRowCallback<JenkinsBuildDto> callback = new JenkinsBuildPoller(); + + Config config = loadFromDisk(); + + BoneCPDataSource dataSource = config.createBoneCp(); + + new TablePoller<>(pollerName, tableName, columnNames, some("array_length(users, 1) > 0"), f, callback).work(dataSource); + } + + public void process(Connection c, JenkinsBuildDto jenkinsBuild) throws SQLException { + Daos daos = new Daos(c); + CoreDao coreDao = daos.coreDao; + + UUID uuid = coreDao.insertBuild(jenkinsBuild.timestamp, "SUCCESS".equals(jenkinsBuild.result), jenkinsRef(jenkinsBuild.uuid)); + logger.info("Created build uuid={}", uuid); + + for (UUID user : jenkinsBuild.users) { + SqlOption<PersonDto> personO = coreDao.selectPersonByJenkinsUuid(user); + + // This happens if no one has claimed the user id. + if(personO.isNone()) { + continue; + } + + UUID person = personO.get().uuid; + logger.info("Created build participant, person={}", person); + coreDao.insertBuildParticipant(uuid, person); + } + } +} |