1   /*
2    * Created on 2004-12-23
3    *
4    * TODO To change the template for this generated file go to
5    * Window - Preferences - Java - Code Style - Code Templates
6    */
7   package org.sourceforge.jvb3d;
8   
9   import java.awt.GraphicsConfiguration;
10  import java.io.BufferedReader;
11  import java.io.InputStreamReader;
12  
13  import javax.media.j3d.Canvas3D;
14  
15  import org.sourceforge.jvb3d.Model.IModelNetwork;
16  import org.sourceforge.jvb3d.Model.Model;
17  import org.sourceforge.jvb3d.Network.NetworkServerFacade;
18  import org.sourceforge.jvb3d.Network.NetworkServerFacadeHolder;
19  import org.sourceforge.jvb3d.Network.ServerFacade;
20  
21  import com.sun.j3d.utils.universe.SimpleUniverse;
22  
23  /***
24   * @author Develop
25   * 
26   * TODO To change the template for this generated type comment go to Window -
27   * Preferences - Java - Code Style - Code Templates
28   */
29  public class ConsoleServer {
30  	static NetworkServerFacade networkFacade;
31  
32  	static IModelNetwork modelInterface;
33  
34  	static boolean terminate = false;
35  	
36  	public static void main(String[] args) {
37  		GraphicsConfiguration config = SimpleUniverse
38  				.getPreferredConfiguration();
39  
40  		Canvas3D canvas3D = new Canvas3D(config);
41  		modelInterface = new Model(canvas3D,true);
42  		NetworkServerFacadeHolder.setNetworkFacade(new ServerFacade());
43  		networkFacade = NetworkServerFacadeHolder.getNetworkFacade();
44  		networkFacade.setModelInterface(modelInterface);
45  		
46  		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
47  		
48  		try {
49  			networkFacade.start(4000);
50  			while(!terminate) {
51  				String command = in.readLine();
52  				if(command.equalsIgnoreCase("quit")) terminate = true;
53  				else if(command.equalsIgnoreCase("updateall")) {
54  					System.out.println("sending all updates");
55  					networkFacade.sendAllUpdate();
56  				}
57  				else if(command.startsWith("update ")) {
58  					int pos = command.indexOf(" ");
59  					System.out.println("sending update for: "+command.substring(pos+1));
60  					networkFacade.sendUpdate(command.substring(pos+1));
61  				}
62  			}
63  		}
64  		catch (Exception e) {
65  			e.printStackTrace();
66  		}
67  	}
68  }