package org.orienteer.bpm.camunda.scripting;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import org.camunda.bpm.engine.impl.scripting.engine.Resolver;
import com.orientechnologies.orient.core.command.script.OScriptDocumentDatabaseWrapper;
import com.orientechnologies.orient.core.command.script.OScriptOrientWrapper;
import com.orientechnologies.orient.core.db.document.ODatabaseDocument;
import com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx;
import com.orientechnologies.orient.core.metadata.function.OFunctionUtilWrapper;
/**
* Resolver to bind OrientDB objects
*/
public class OResolver implements Resolver{
private Map<String, Object> variables = new HashMap<>();
public OResolver(ODatabaseDocumentTx db) {
variables.put("db", new OScriptDocumentDatabaseWrapper(db));
variables.put("orient", new OScriptOrientWrapper(db));
variables.put("util", new OFunctionUtilWrapper());
}
@Override
public boolean containsKey(Object key) {
return variables.containsKey(key);
}
@Override
public Object get(Object key) {
return variables.get(key);
}
@Override
public Set<String> keySet() {
return variables.keySet();
}
}