view src/main/java/jp/ac/u_ryukyu/alicevnc/ReceiveMeasurement.java @ 54:4c0b06abd840

Fix spell miss
author Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
date Mon, 16 Nov 2015 15:41:01 +0900
parents 57ca704f86a3
children fe627049e289 8f60ba0d29ae
line wrap: on
line source

package jp.ac.u_ryukyu.alicevnc;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;

import alice.codesegment.CodeSegment;
import alice.daemon.AliceDaemon;
import alice.datasegment.CommandType;
import alice.datasegment.ReceiveData;
import alice.datasegment.Receiver;

public class ReceiveMeasurement extends CodeSegment {

    private Receiver info = ids.create(CommandType.TAKE);
    private Receiver info1 = ids.create(CommandType.PEEK);
    private Receiver info2 = ids.create(CommandType.PEEK);

    public ReceiveMeasurement() {
        info.setKey("measurement");
        info1.setKey("_CLIST");
        info2.setKey("AliceVNCConfig");
    }

    @SuppressWarnings("unchecked")
    @Override
    public void run() {
        long time = System.currentTimeMillis();
        ArrayList<String> clist = info1.asClass(ArrayList.class);
        boolean route = true;
        for (String node : clist){
            if ("parent".equals(node)) {
                route = false;
                break;
            }
        }

        try {
            if (route) {
                AliceVNCConfig conf = info2.asClass(AliceVNCConfig.class);
                if (conf.getFilePath()!=null) {
                    File file = new File(conf.getFilePath());
                    if (!file.exists()) {
                        file.createNewFile();
                    }
                    FileWriter filewriter = new FileWriter(file, true);
                    BufferedWriter bw = new BufferedWriter(filewriter);
                    PrintWriter pw = new PrintWriter(bw);

                    ReceiveData r = info.getReceiveData();
                    pw.println(r.depth/2+" "+(time - r.time)/2+" "+((byte[])info.getObj()).length);
                    pw.close();
                }
            } else {
                ods.put("parent", info.key, info.getReceiveData());
            }

        } catch (IOException e) {

        }
        this.recycle();
    }

}