package io.fathom.cloud.compute.state; import io.fathom.cloud.protobuf.CloudModel.HostData; import io.fathom.cloud.protobuf.CloudModel.HostGroupData; import io.fathom.cloud.state.NumberedItemCollection; import io.fathom.cloud.state.RepositoryBase; import io.fathom.cloud.state.StateStore.StateNode; import javax.inject.Singleton; @Singleton public class HostStore extends RepositoryBase { // public NumberedItemCollection<HostInfo> getHosts() { // StateNode root = stateStore.getRoot("computehosts"); // // return new NumberedItemCollection<HostInfo>(root, HostInfo.newBuilder(), // HostInfo.getDescriptor() // .findFieldByNumber(HostInfo.ID_FIELD_NUMBER)); // } public NumberedItemCollection<HostGroupData> getHostGroups() { StateNode root = stateStore.getRoot("netmap"); StateNode groups = root.child("groups"); return new NumberedItemCollection<HostGroupData>(groups, HostGroupData.newBuilder(), HostGroupData .getDescriptor().findFieldByNumber(HostGroupData.ID_FIELD_NUMBER)); } public NumberedItemCollection<HostData> getHosts() { StateNode root = stateStore.getRoot("netmap"); StateNode hosts = root.child("hosts"); return new NumberedItemCollection<HostData>(hosts, HostData.newBuilder(), HostData.getDescriptor() .findFieldByNumber(HostData.ID_FIELD_NUMBER)); } }