1 package org.sim0mq.demo.mm1;
2
3 import java.util.concurrent.atomic.AtomicLong;
4
5 import org.djutils.serialization.SerializationException;
6 import org.sim0mq.Sim0MQException;
7
8
9
10
11
12
13
14
15
16
17
18 public final class MM1FederationManager
19 {
20
21 private MM1FederationManager()
22 {
23
24 }
25
26
27
28
29
30
31 public static void main(final String[] args) throws Sim0MQException, SerializationException
32 {
33 if (args.length < 5)
34 {
35 System.err.println("Use as FederationManager federationName federationManagerPortNumber "
36 + "federateStarterIPorName federateStarterPortNumber modelFolder");
37 System.exit(-1);
38 }
39 String federationName = args[0];
40
41 String fmsPort = args[1];
42 int fmPort = 0;
43 try
44 {
45 fmPort = Integer.parseInt(fmsPort);
46 }
47 catch (NumberFormatException nfe)
48 {
49 System.err.println("Use as FederationManager fedName fmPort fsIP fsPort modelFolder, where fmPort is a number");
50 System.exit(-1);
51 }
52 if (fmPort == 0 || fmPort > 65535)
53 {
54 System.err.println("fmPort should be between 1 and 65535");
55 System.exit(-1);
56 }
57
58 String fsServerNameOrIP = args[2];
59
60 String fsPortString = args[3];
61 int fsPort = 0;
62 try
63 {
64 fsPort = Integer.parseInt(fsPortString);
65 }
66 catch (NumberFormatException nfe)
67 {
68 System.err.println("Use as FederationManager fedName fmPort fsIP fsPort modelFolder, where fmPort is a number");
69 System.exit(-1);
70 }
71 if (fsPort == 0 || fsPort > 65535)
72 {
73 System.err.println("fsPort should be between 1 and 65535");
74 System.exit(-1);
75 }
76
77 String mm1ModelFolder = args[4];
78
79 AtomicLong messageCount = new AtomicLong(0L);
80 new MM1FederationManager20.StateMachine(messageCount, federationName, fsServerNameOrIP, fsPort, mm1ModelFolder, 1);
81 }
82
83 }