package org.cytoscape.rest.internal; import java.util.HashMap; import java.util.Map; import org.cytoscape.task.NetworkCollectionTaskFactory; import org.cytoscape.task.NetworkTaskFactory; import org.cytoscape.work.ServiceProperties; import org.cytoscape.work.TaskFactory; @SuppressWarnings("rawtypes") public class TaskFactoryManagerImpl implements TaskFactoryManager { private Map<String, Object> tfMap = new HashMap<String, Object>(); public void addTaskFactory(TaskFactory tf, Map props) { if (tf == null) return; Object tfID = props.get(ServiceProperties.ID); if (tfID != null) { tfMap.put(tfID.toString(), tf); // System.out.println("## got TF: " + tfID); } else { // generate ID from class Name String tfName = tf.toString(); // System.out.println("tfName = " + tfName); tfMap.put(tfName, tf); } } public void addNetworkTaskFactory(NetworkTaskFactory tf, Map props) { if (tf == null) return; Object tfID = props.get(ServiceProperties.ID); if (tfID != null) { tfMap.put(tfID.toString(), tf); // System.out.println("## got TF: " + tfID); } else { // generate ID from class Name String tfName = tf.toString(); // System.out.println("tfName = " + tfName); tfMap.put(tfName, tf); } } public void addNetworkCollectionTaskFactory(NetworkCollectionTaskFactory tf, Map props) { if (tf == null) return; Object tfID = props.get(ServiceProperties.ID); if (tfID != null) { tfMap.put(tfID.toString(), tf); // System.out.println("## got NC TF: " + tfID); } else { // generate ID from class Name String tfName = tf.getClass().getSimpleName(); // System.out.println("NC = " + tfName); tfMap.put(tfName, tf); } } public void removeTaskFactory(TaskFactory command, Map props) { } public void removeNetworkTaskFactory(NetworkTaskFactory command, Map props) { } public void removeNetworkCollectionTaskFactory(NetworkCollectionTaskFactory command, Map props) { } public TaskFactory getTaskFactory(final String id) { Object tf = tfMap.get(id); if (tf instanceof TaskFactory) return (TaskFactory) tf; else return null; } public NetworkTaskFactory getNetworkTaskFactory(final String id) { Object tf = tfMap.get(id); if (tf instanceof NetworkTaskFactory) return (NetworkTaskFactory) tf; else return null; } public NetworkCollectionTaskFactory getNetworkCollectionTaskFactory(final String id) { Object tf = tfMap.get(id); if (tf instanceof NetworkCollectionTaskFactory) return (NetworkCollectionTaskFactory) tf; else return null; } }