view src/main/java/alice/test/topology/share/CheckLocalIndex.java @ 419:aefbe41fcf12 dispose

change tab to space
author sugi
date Tue, 15 Jul 2014 16:00:22 +0900
parents 8f71c3e6f11d
children 15eeb439830c 767d93626b88
line wrap: on
line source

package alice.test.topology.share;

import java.util.List;

import alice.codesegment.CodeSegment;
import alice.datasegment.CommandType;
import alice.datasegment.Receiver;

public class CheckLocalIndex extends CodeSegment {

    private Receiver data = ids.create(CommandType.PEEK);
    private Receiver list = ids.create(CommandType.PEEK);
    private Receiver host = ids.create(CommandType.PEEK);


    public CheckLocalIndex(String key, int index) {
        this.host.setKey("host");
        this.list.setKey("_CLIST");
        this.data.setKey(key, index);
    }

    @Override
    public void run() {
        @SuppressWarnings("unchecked")
        List<String> r = list.asClass(List.class);
        int count = 0;
        boolean flag = false;
        for (String node : r) {
            if (node.equals("parent")) {
                flag = true;
            }
            if (!node.equals(this.data.from)) {
                ods.update(node, data.key, data.getVal());
                count++;
            }
        }
        if (count == 0 && flag) {
            ods.put("parent", "data", data.getVal());
        }
        new CheckLocalIndex(data.key, data.index);

    }

}