changeset 421:fdac53a9101f dispose

could assign FIsh Object type. but occur ArrayIndexOutOfBoundsException in importer
author sugi
date Fri, 18 Jul 2014 23:47:49 +0900
parents 01c4240c2ff0
children 2c6f86320691
files src/main/java/alice/test/topology/aquarium/fx/AquariumConfig.java src/main/java/alice/test/topology/aquarium/fx/CreateObject.java src/main/java/alice/test/topology/aquarium/fx/FishType.java src/main/java/alice/test/topology/aquarium/fx/StartAquariumFX.java src/main/java/alice/topology/manager/keeparive/CatchDisconnectEvent.java
diffstat 5 files changed, 70 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/java/alice/test/topology/aquarium/fx/AquariumConfig.java	Fri Jul 18 23:47:49 2014 +0900
@@ -0,0 +1,18 @@
+package alice.test.topology.aquarium.fx;
+
+import alice.topology.node.TopologyNodeConfig;
+
+public class AquariumConfig extends TopologyNodeConfig {
+
+    public String type = "DEFAULT";
+    
+    public AquariumConfig(String[] args) {
+        super(args);
+        for (int i = 0; i< args.length; i++) {
+            if ("-type".equals(args[i])) {
+                type = args[++i];
+            }
+        }
+    }
+
+}
--- a/src/main/java/alice/test/topology/aquarium/fx/CreateObject.java	Fri Jul 18 19:47:04 2014 +0900
+++ b/src/main/java/alice/test/topology/aquarium/fx/CreateObject.java	Fri Jul 18 23:47:49 2014 +0900
@@ -18,10 +18,11 @@
 public class CreateObject extends CodeSegment{
 
     private Receiver info = ids.create(CommandType.TAKE);  // fishInfo 
-
+    private Receiver info1 = ids.create(CommandType.PEEK);  // fishInfo 
 
     public CreateObject(){
         info.setKey("fishData");
+        info1.setKey("type");
 
     }
 
@@ -61,10 +62,22 @@
 
     // for read *.dae file
     public void addColladaObject(Group obj){
+        String url = getResourceUrl();
         ColModelImporter colImporter = new ColModelImporter();
-        colImporter.read(getClass().getClassLoader().getResource("objects/seymourplane-150-im.dae"));
+        colImporter.read(getClass().getClassLoader().getResource(url));
         Node[] node = colImporter.getImport();
         obj.getChildren().add(node[0]);
     }
+    
+    public String getResourceUrl() {
+        String type = info1.asString();
+        System.out.println(type);
+        for (FishType f :FishType.values()){
+            if (type.equals(f.name())){
+                return f.getUrl();
+            }
+        }
+        return FishType.DEFAULT.getUrl();
+    }
 
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/java/alice/test/topology/aquarium/fx/FishType.java	Fri Jul 18 23:47:49 2014 +0900
@@ -0,0 +1,17 @@
+package alice.test.topology.aquarium.fx;
+
+public enum FishType {
+    
+    DEFAULT("objects/seymourplane-150-im.dae"),
+    TUNA("objects/TUNA.dae");
+    
+    private String url;
+    
+    FishType(String url){
+        this.url = url;
+    }
+    
+    public String getUrl() {
+        return url;
+    }
+}
--- a/src/main/java/alice/test/topology/aquarium/fx/StartAquariumFX.java	Fri Jul 18 19:47:04 2014 +0900
+++ b/src/main/java/alice/test/topology/aquarium/fx/StartAquariumFX.java	Fri Jul 18 23:47:49 2014 +0900
@@ -1,15 +1,15 @@
 package alice.test.topology.aquarium.fx;
 
 import alice.topology.node.TopologyNode;
-import alice.topology.node.TopologyNodeConfig;
 
 public class StartAquariumFX {
     public static void main(String args[]){
-        TopologyNodeConfig conf = new TopologyNodeConfig(args);
+        AquariumConfig conf = new AquariumConfig(args);
+        StartCodeSegment cs = new StartCodeSegment();
         if (conf.getManagerHostName() !=null){
-            new TopologyNode(conf, new StartCodeSegment());
+            cs.ods.put("type", conf.type);
+            new TopologyNode(conf, cs);
         } else {
-            StartCodeSegment cs = new StartCodeSegment();
             cs.ods.put("host", "local0");
             cs.execute();
         }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/java/alice/topology/manager/keeparive/CatchDisconnectEvent.java	Fri Jul 18 23:47:49 2014 +0900
@@ -0,0 +1,16 @@
+package alice.topology.manager.keeparive;
+
+import alice.daemon.ConnectionInfo;
+import alice.topology.manager.CloseEventCodeSegment;
+
+public class CatchDisconnectEvent extends CloseEventCodeSegment{
+
+    @Override
+    public void run() {
+        ConnectionInfo e = getConnectionInfo();
+        System.out.println("----------------------------");
+        System.out.println("disconnection IPAddr"+ e.addr);
+        System.out.println("disconnection port"+ e.port);
+        System.out.println("----------------------------");
+    }
+}