package com.cloudera.sa.node360.nodepuller.operations;
import com.cloudera.sa.node360.model.EventPojo;
import com.cloudera.sa.node360.nodepuller.listener.EventListener;
import com.cloudera.sa.node360.model.SamplePojo;
import java.io.IOException;
import java.util.ArrayList;
import java.util.concurrent.ExecutionException;
/**
* Created by ted.malaska on 6/3/15.
*/
public class DfOperation extends AbstractSshExecOperation{
@Override
public String getCommand() {
return "df";
}
@Override
public void processResults(String host, int port, String result, EventListener listener) throws ExecutionException, InterruptedException, IOException {
//TODO yes this can be faster
String lines[] = result.split("\\r?\\n");
int counter = 0;
ArrayList list = new ArrayList<SamplePojo>();
for (String line: lines) {
if (counter++ > 0) {
String cells[] = line.split("\\s+");
if (cells.length > 4)
list.add(new SamplePojo(cells[0], cells[2], cells[3]));
}
}
listener.publishEvent(new EventPojo(host, System.currentTimeMillis(), "drives", list));
}
}