package water.api;
import water.Request2;
import water.fvec.Frame;
import water.fvec.Vec;
import water.util.Log;
public class ToEnum2 extends Request2 {
@Override public RequestServer.API_VERSION[] supportedVersions() { return SUPPORTS_ONLY_V2; }
@Override protected void registered(RequestServer.API_VERSION version) { super.registered(version); }
@API(help="An existing H2O Frame key.", required=true, filter=Default.class)
public Frame src_key;
@API(help="The column index to perform the factorization on.", required = true, filter=Default.class)
public int column_index;
@Override
protected Response serve() {
try {
if (column_index <= 0) throw new IllegalArgumentException("Column index is 1 based. Please supply a valid column index in the range [1,"+ src_key.numCols()+"]");
Log.info("Factorizing column " + column_index);
Vec nv = src_key.vecs()[column_index - 1].toEnum();
src_key.replace(column_index - 1, nv);
} catch( Throwable e ) {
return Response.error(e);
}
return Inspect2.redirect(this, src_key._key.toString());
}
}