diff options
Diffstat (limited to 'src/test/java/io/trygvis/esper/testing/jenkins/CreateMissingMavenModuleJobsApp.java')
-rwxr-xr-x | src/test/java/io/trygvis/esper/testing/jenkins/CreateMissingMavenModuleJobsApp.java | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/src/test/java/io/trygvis/esper/testing/jenkins/CreateMissingMavenModuleJobsApp.java b/src/test/java/io/trygvis/esper/testing/jenkins/CreateMissingMavenModuleJobsApp.java new file mode 100755 index 0000000..9cc47ad --- /dev/null +++ b/src/test/java/io/trygvis/esper/testing/jenkins/CreateMissingMavenModuleJobsApp.java @@ -0,0 +1,73 @@ +package io.trygvis.esper.testing.jenkins; + +import java.net.URI; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.util.List; +import java.util.UUID; + +import org.apache.abdera.Abdera; +import org.codehaus.httpcache4j.cache.HTTPCache; + +import com.jolbox.bonecp.BoneCPDataSource; + +import fj.data.Option; +import io.trygvis.esper.testing.Config; +import io.trygvis.esper.testing.util.HttpClient; + +import static io.trygvis.esper.testing.jenkins.JenkinsClient.apiXml; + +public class CreateMissingMavenModuleJobsApp { + public static void main(String[] args) throws Exception { + final Config config = Config.loadFromDisk(); + final BoneCPDataSource boneCp = config.createBoneCp(); + HTTPCache httpCache = HttpClient.createHttpCache(config); + Abdera abdera = config.createAbdera(); + final JenkinsClient client = new JenkinsClient(httpCache, abdera); + + try (Connection c = boneCp.getConnection()) { + +// PreparedStatement s2 = c.prepareStatement("UPDATE jenkins_job SET job_type=? WHERE uuid=?"); + + PreparedStatement s = c.prepareStatement("SELECT " + JenkinsDao.JENKINS_JOB + " FROM jenkins_job WHERE job_type='MAVEN_MODULE'"); + ResultSet rs = s.executeQuery(); + + JenkinsDao dao = new JenkinsDao(c); + + List<JenkinsJobDto> jobs = dao.toJobList(rs); + + System.out.println("jobs.size() = " + jobs.size()); + + for (JenkinsJobDto jobDto : jobs) { + System.out.println("job = " + jobDto.url); + + String u = JenkinsServerActor.extrapolateMavenModuleFromMavenModuleSetUrl(jobDto.url.toASCIIString()); + + System.out.println("u = " + u); + + URI url = URI.create(u); + + Option<JenkinsJobXml> xmlOption = client.fetchJob(apiXml(url)); + + if(xmlOption.isNone()) { + System.out.println("None"); + continue; + } + + JenkinsJobXml jobXml = xmlOption.some(); + + if(dao.selectJobByUrl(jobXml.url).isSome()) { + System.out.println("Duplicate"); + continue; + } + + UUID uuid = dao.insertJob(jobDto.server, url, jobXml.type, jobXml.displayName); + + System.out.println("New job: " + uuid); + } + + c.commit(); + } + } +} |