package org.wikiwebserver.distribute.server;

import java.util.HashMap;
import java.util.Map;

import org.wikiwebserver.distribute.interfaces.WorkerNode;

public class WorkerNodeManager {

	public static final LocalWorkerNode EXAMPLE_NODE = new LocalWorkerNode("local", "Example");
	
	private static Map<String, RemoteWorkerNode> remoteNodes = new HashMap<String, RemoteWorkerNode>();

	public synchronized static WorkerNode getNode(String nodeId) {
		
		if (nodeId == null) return null;
		
		if (nodeId.equals(EXAMPLE_NODE.getNodeId())) {
			return EXAMPLE_NODE;
		}
		
		RemoteWorkerNode node = remoteNodes.get(nodeId);
		if (node == null) {
			node = new RemoteWorkerNode(nodeId);
			remoteNodes.put(nodeId, node);
		}

		return node;
	}	
}

