Skip to content

Instantly share code, notes, and snippets.

@espeed
Created November 23, 2011 05:50
Show Gist options
  • Save espeed/1387969 to your computer and use it in GitHub Desktop.
Save espeed/1387969 to your computer and use it in GitHub Desktop.
Gremlin Overloaded Index Put Method to Accept Map and JSON
import java.util.Map.Entry;
import groovy.json.JsonSlurper;
com.tinkerpop.blueprints.pgm.impls.tg.TinkerIndex.metaClass.put = {
final Map<String, Object> properties, final Element element ->
for (final Entry<String, Object> entry: properties.entrySet()) {
put(entry.getKey(), entry.getValue(), element);
}
}
// JSON
com.tinkerpop.blueprints.pgm.impls.tg.TinkerIndex.metaClass.put = {
final String jsonProperties, final Element element ->
def slurper = new JsonSlurper();
def Map<String, Object> properties = slurper.parseText(jsonProperties);
for (final Entry<String, Object> entry: properties.entrySet()) {
put(entry.getKey(), entry.getValue(), element);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment