package de.zalando.sprocwrapper.sharding; import java.util.List; public class VirtualShardMurmur2HashStrategy extends VirtualShardKeyStrategy { /** * @param objs Key Objects * * @return virtual shard id */ @Override public int getShardId(final Object[] objs) { if (objs == null || objs.length == 0) { return 0; } Object input = null; if (objs[0] == null) { return 0; } if (objs[0] instanceof List) { List<?> list = (List<?>) objs[0]; if (list.isEmpty()) { return 0; } input = list.get(0); } else { input = objs[0]; } /* * if (input instanceof Long) { * hasher.putLong((Long) input); * } else if (input instanceof Integer) { * hasher.putInt((Integer) input); * } else { * hasher.putString((String) input); * }*/ return Murmur2Hash.hash(((String) input).getBytes(), 0); } }