package water.api;
import water.H2O;
import water.api.schemas3.NodePersistentStorageV3;
import water.init.NodePersistentStorage;
import water.init.NodePersistentStorage.NodePersistentStorageEntry;
import java.util.UUID;
public class NodePersistentStorageHandler extends Handler {
@SuppressWarnings("unused") // called through reflection by RequestServer
public NodePersistentStorageV3 configured(int version, NodePersistentStorageV3 s) {
NodePersistentStorage nps = H2O.getNPS();
s.configured = nps.configured();
return s;
}
@SuppressWarnings("unused") // called through reflection by RequestServer
public NodePersistentStorageV3 exists(int version, NodePersistentStorageV3 s) {
NodePersistentStorage nps = H2O.getNPS();
if (s.name != null) {
s.exists = nps.exists(s.category, s.name);
}
else {
s.exists = nps.exists(s.category);
}
return s;
}
@SuppressWarnings("unused") // called through reflection by RequestServer
public NodePersistentStorageV3 put(int version, NodePersistentStorageV3 s) {
NodePersistentStorage nps = H2O.getNPS();
UUID uuid = java.util.UUID.randomUUID();
s.name = uuid.toString();
nps.put(s.category, s.name, s.value);
return s;
}
@SuppressWarnings("unused") // called through reflection by RequestServer
public NodePersistentStorageV3 put_with_name(int version, NodePersistentStorageV3 s) {
NodePersistentStorage nps = H2O.getNPS();
nps.put(s.category, s.name, s.value);
return s;
}
@SuppressWarnings("unused") // called through reflection by RequestServer
public NodePersistentStorageV3 get_as_string(int version, NodePersistentStorageV3 s) {
NodePersistentStorage nps = H2O.getNPS();
s.value = nps.get_as_string(s.category, s.name);
return s;
}
@SuppressWarnings("unused") // called through reflection by RequestServer
public NodePersistentStorageV3 list(int version, NodePersistentStorageV3 s) {
NodePersistentStorage nps = H2O.getNPS();
NodePersistentStorageEntry[] entries = nps.list(s.category);
s.entries = new NodePersistentStorageV3.NodePersistentStorageEntryV3[entries.length];
int i = 0;
for (NodePersistentStorageEntry entry : entries) {
NodePersistentStorageV3.NodePersistentStorageEntryV3 e = new NodePersistentStorageV3.NodePersistentStorageEntryV3();
e.category = entry._category;
e.name = entry._name;
e.size = entry._size;
e.timestamp_millis = entry._timestamp_millis;
s.entries[i] = e;
i++;
}
return s;
}
@SuppressWarnings("unused") // called through reflection by RequestServer
public NodePersistentStorageV3 delete(int version, NodePersistentStorageV3 s) {
NodePersistentStorage nps = H2O.getNPS();
nps.delete(s.category, s.name);
return s;
}
}