Skip to content

Instantly share code, notes, and snippets.

View takawitter's full-sized avatar

Takao Nakaguchi takawitter

View GitHub Profile
@takawitter
takawitter / CpToUrls.java
Created May 22, 2013 02:27
classpathを":"で区切ってURL配列にする。CollectionUtilとかFunctionはservicegridのライブラリ(http://sourceforge.net/p/servicegrid/code/HEAD/tree/service-grid-server/trunk/jp.go.nict.langrid.commons/ )内のクラス。
URL[] paths = CollectionUtil.stream(Arrays.asList(cp.split(File.pathSeparator)))
.map(new Function<String, URL>() {
public URL apply(String value) {
try {
return new File(value).toURI().toURL();
} catch (MalformedURLException e) {
throw new RuntimeException(e);
}
}
})
@takawitter
takawitter / gist:5477296
Created April 28, 2013 15:49
libディレクトリの全jarファイルをクラスパスとして連結。
Arrays.stream(new File("lib").listFiles(f -> f.getName().endsWith(".jar")))
.map(f -> f.getAbsolutePath())
.reduce(".", (l, r) -> l + File.pathSeparator + r)
@takawitter
takawitter / MsgPackTest.java
Last active December 14, 2015 04:39
MessagePack JavaでListを使うテスト。
public class MsgPackTest {
public static void main(String[] args) throws Exception {
MessagePack msgpack = new MessagePack();
List<String> lines = Arrays.asList("hello", "world");
byte[] bytes = msgpack.write(lines);
msgpack.register(List.class, new ListTemplate(ValueTemplate.getInstance()));
for(Value v: (List<Value>)msgpack.read(bytes, List.class)){
System.out.println(new String(v.asRawValue().getByteArray(), "UTF-8"));
}
}
@takawitter
takawitter / Seimei.java
Last active December 12, 2015 12:09
姓名判断プログラム in Java8 lambda and stream interface
package seimei;
import jp.go.nict.langrid.commons.util.Pair;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
@takawitter
takawitter / LimitClassReferenceWhenDeserializingObject.java
Last active November 11, 2015 02:51
Limit class reference when deserializing object by using custom class loader.
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.ObjectStreamClass;
import java.net.URL;
import java.net.URLClassLoader;
import java.nio.file.Paths;
import java.util.HashMap;
@takawitter
takawitter / Sample.java
Created June 27, 2012 12:30
Trie4J sample code
import org.trie4j.doublearray.DoubleArray;
import org.trie4j.louds.LOUDSTrie;
import org.trie4j.patricia.simple.PatriciaTrie;
public class Sample {
public static void main(String[] args) throws Exception{
PatriciaTrie pat = new PatriciaTrie();
pat.insert("Hello");
pat.insert("World");
pat.insert("Wonder");
// workaround for http://jira.twitter4j.org/browse/TFJ-556
System.setProperty("http.keepAlive", "false");
TwitterStream s = new TwitterStreamFactory().getInstance();
s.setOAuthConsumer("CONSUMER", "SECRET");
s.setOAuthAccessToken(new AccessToken("ACCESSTOKEN", "SECRET"));
s.addListener(new StatusAdapter(){
public void onStatus(Status status) {
System.out.println(String.format("[%s] @%s: %s"
, status.getCreatedAt()
, status.getUser().getScreenName()
@takawitter
takawitter / gist:1033764
Created June 19, 2011 04:41
gaeasync twitter4j implementation sample
class GAEAsyncTwitterImpl extends TwitterBaseImpl
implements Twitter {
public QueryResult search(Query query) throws TwitterException {
try {
return LazyEntityFactory.newQueryResult(
get(conf.getSearchBaseURL() + "search.json", query.asHttpParameterArray())
, conf);
} catch (TwitterException te) {
if (404 == te.getStatusCode()) {
return new QueryResultJSONImpl(query);
public TwitterFuture getTrends() throws TwitterException {
final HttpResponse res = get(conf.getRestBaseURL() + "trends.json");
return new TwitterFuture(){
@Override
public void get(TwitterListener listener) throws TwitterException {
listener.gotTrends(new TrendsJSONImpl(res, conf));
}
};
}
import static java.util.Arrays.asList;
import static org.junit.Assert.assertEquals;
import org.json.JSONArray;
import org.json.JSONObject;
import org.junit.Test;
public class JSONObjectExample {
@Test
public void java_json_literal() throws Throwable{