package org.activiti.designer.util.editor;
import java.util.HashMap;
import java.util.Map;
import org.activiti.bpmn.model.BaseElement;
import org.eclipse.graphiti.features.impl.IIndependenceSolver;
/**
* @author Nikolai Raitsev
*
*/
public class POJOIndependenceSolver implements IIndependenceSolver {
private Map<String, Object> objectMap = new HashMap<String, Object>();
/* (non-Javadoc)
* @see org.eclipse.graphiti.features.impl.IIndependenceSolver#getKeyForBusinessObject(java.lang.Object)
*/
@Override
public String getKeyForBusinessObject(Object bo) {
String result = null;
if(bo != null && bo instanceof BaseElement ) {
result = String.valueOf(bo.hashCode());
if(!objectMap.containsKey(result))
objectMap.put(result, bo);
}
return result;
}
/* (non-Javadoc)
* @see org.eclipse.graphiti.features.impl.IIndependenceSolver#getBusinessObjectForKey(java.lang.String)
*/
@Override
public Object getBusinessObjectForKey(String key) {
return objectMap.get(key);
}
public Map<String, Object> getObjectMap() {
return objectMap;
}
public void setObjectMap(Map<String, Object> objectMap) {
this.objectMap = objectMap;
}
}