diff src/main/java/alice/topology/node/StartTopologyNode.java @ 345:8f71c3e6f11d

Change directory structure Maven standard
author sugi
date Wed, 16 Apr 2014 18:26:07 +0900
parents
children 5ceb1c4db167
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/java/alice/topology/node/StartTopologyNode.java	Wed Apr 16 18:26:07 2014 +0900
@@ -0,0 +1,69 @@
+package alice.topology.node;
+
+import java.net.InetAddress;
+import java.net.NetworkInterface;
+import java.net.SocketException;
+import java.net.UnknownHostException;
+import java.util.Enumeration;
+
+import alice.codesegment.CodeSegment;
+import alice.datasegment.DataSegment;
+import alice.topology.HostMessage;
+
+public class StartTopologyNode extends CodeSegment {
+
+	private TopologyNodeConfig conf;
+	private CodeSegment startCS;
+	
+	public StartTopologyNode(TopologyNodeConfig conf, CodeSegment startCS) {
+		this.conf = conf;
+		this.startCS = startCS;
+	}
+	
+	@Override
+	public void run() {
+		DataSegment.connect("manager", "", conf.managerHostName, conf.managerPort, false);
+		String localHostName = null;
+		try {
+			localHostName = InetAddress.getLocalHost().getHostName();
+		} catch (UnknownHostException e) {
+			e.printStackTrace();
+		}
+		
+		HostMessage host = new HostMessage(localHostName, conf.localPort);
+		ods.put("manager", "host", host);
+		
+		IncomingAbstractHostName cs = new IncomingAbstractHostName(host);
+		cs.absName.setKey("local", "host");
+		
+		IncomingReverseKey cs2 = new IncomingReverseKey();
+		cs2.reverseKey.setKey("local", "reverseKey");
+		cs2.reverseCount.setKey("local", "reverseCount");
+		
+		ods.put("local", "reverseCount", 0);
+		
+		ConfigurationFinish cs3 = new ConfigurationFinish(startCS);
+		cs3.reverseCount.setKey("local", "reverseCount");
+		cs3.configNodeNum.setKey("local", "configNodeNum");
+		
+	}
+
+	@SuppressWarnings("unused")
+	private String getIPAddress() throws SocketException {
+		Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
+
+		while(interfaces.hasMoreElements()){
+			NetworkInterface network = interfaces.nextElement();
+			Enumeration<InetAddress> addresses = network.getInetAddresses();
+
+			while(addresses.hasMoreElements()){
+				String address = addresses.nextElement().getHostAddress();
+				if(!"127.0.0.1".equals(address) && !"0.0.0.0".equals(address)){
+					return address;
+				}
+			}
+		}
+		return "127.0.0.1";
+	}
+
+}