Skip to content

Instantly share code, notes, and snippets.

@jcsirot
jcsirot / PGNParser.scala
Created January 11, 2011 10:09
Using parser combinator to read chess games
import scala.util.parsing.combinator._
object Termination extends Enumeration {
type Termination = Value
val white, black, draw = Value
}
import Termination._
case class Game(tags: List[Tag], moves:List[MoveElement], termination: Termination)
case class Tag(name: String, value: String)
@jcsirot
jcsirot / jira.groovy
Created May 12, 2011 08:12
JIRA with Groovy
import groovy.net.xmlrpc.XMLRPCServerProxy as Proxy
class JiraProxy extends Proxy {
protected final token
JiraProxy(url, login, password) {
super(url)
this.token = super.invokeMethod("jira1.login", [login, password])
}
@jcsirot
jcsirot / MavenPropertiesInjectorBuildWrapper.java
Created March 7, 2012 11:36
Jenkins injector for maven project version
package jenkinsci.plugins.mavenpropsinject;
import hudson.Extension;
import hudson.Launcher;
import hudson.maven.AbstractMavenProject;
import hudson.maven.MavenModule;
import hudson.maven.MavenModuleSet;
import hudson.model.AbstractBuild;
import hudson.model.AbstractProject;
import hudson.model.BuildListener;
@jcsirot
jcsirot / MockSMTPRule.java
Created August 3, 2012 11:15
SMTP server mock as a JUnit TestRule
package com.chelonix.selenium;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import com.dumbster.smtp.SimpleSmtpServer;
import com.dumbster.smtp.SmtpMessage;
import com.google.common.collect.Lists;
import org.junit.rules.ExternalResource;
@jcsirot
jcsirot / Coin.java
Last active December 11, 2015 23:38
Implementation de Scalaskel
public enum Coin
{
FOO(1),
BAR(7),
QIX(11),
BAZ(21);
private final int value;
Coin(int value)
@jcsirot
jcsirot / Evaluator.java
Created February 19, 2013 21:42
Calculatrice (Code Story 2013)
package com.chelonix.codestory.evaluator;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.Iterator;
import java.util.Stack;
/**
*
* @author sirot
package com.chelonix.codestory.jajascript;
import java.util.List;
/**
* ...
*
* @author sirot
*/
public interface Rental
package com.chelonix.codestory.elevator.serializer;
import java.io.IOException;
import com.chelonix.codestory.elevator.domain.Command;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
@jcsirot
jcsirot / script.groovy
Created August 23, 2015 22:07
Continuous delivery with Jenkins Workflow and Docker
node {
env.JAVA_HOME="${tool 'JDK8'}"
stage 'Build'
git url: 'https://github.com/jcsirot/atmosphere-calculator.git'
def mvnHome = tool "maven-3.2.2"
sh "${mvnHome}/bin/mvn clean package"
step([$class: 'JUnitResultArchiver', testResults: '**/target/surefire-reports/TEST-*.xml'])
stage 'Build Docker image'
import java.util.function.*;
public class Test {
private final String s;
public Test(String s) {
this.s = s;
}
public Consumer<String> c = (x) -> System.out.println(x + "/" + s);