package org.psjava.judgesubmit;
import org.psjava.ds.map.KeysInMap;
import org.psjava.ds.map.MutableMap;
import org.psjava.ds.set.Set;
import org.psjava.ds.set.SetFromIterable;
import org.psjava.goods.GoodMutableMapFactory;
import org.puredevteam.httpclient.SocketConnectionData;
public class SPOJ implements JudgeSite {
public static final SocketConnectionData CONNECTION_DATA = new SocketConnectionData(false, "www.spoj.com", 80);
public static final String ENCODING = "ISO8859_1";
@Override
public CompileErrorMessageReceiver getCompileErrorMessageReceiver() {
return new SPOJCompileErrorMessageReceiver();
}
@Override
public Set<Language> getSupportedLanguageSet() {
return SetFromIterable.create(KeysInMap.get(getLanguageCodeMap()));
}
@Override
public String getName() {
return "Sphere Online Judge";
}
@Override
public SubmitStatusReceiver getSubmitStatusReceiver() {
return new SPOJSubmitStatusReceiver();
}
@Override
public Submitter getSubmitter() {
return new SPOJSubmitter();
}
@Override
public SocketConnectionData getSocketConnectionData() {
return CONNECTION_DATA;
}
public static MutableMap<Language, Integer> getLanguageCodeMap() {
MutableMap<Language, Integer> r = GoodMutableMapFactory.getInstance().create();
r.put(Language.JAVA, 10);
r.put(Language.CPP, 1);
r.put(Language.C, 11);
r.put(Language.CPP, 1);
return r;
}
}