package org.megam.chef.shell;
import java.io.File;
import java.io.FileNotFoundException;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import org.megam.chef.exception.ShellException;
/**
* <p>DeleteCommand class.</p>
*
* @author rajthilak
* @version $Id: $Id
*/
public class DeleteCommand extends BaseCommand {
private String placeHolder = "";
private String appliedPlaceHolder = new String();
private final static Charset ENCODING = StandardCharsets.UTF_8;
/**
* <p>Constructor for DeleteCommand.</p>
*
* @param list a {@link java.util.List} object.
* @param req_id a {@link java.lang.String} object.
* @param node_name a {@link java.lang.String} object.
*/
public DeleteCommand(List<String> list, String req_id, String node_name) {
super(list, req_id, node_name);
}
/** {@inheritDoc} */
@Override
public boolean composable() {
return true;
}
/** {@inheritDoc} */
public void composePlaceHolder(String tmpPlaceHolder) {
placeHolder = tmpPlaceHolder;
}
/**
* <p>appliedPlaceHolder.</p>
*
* @return a {@link java.lang.String} object.
*/
public String appliedPlaceHolder() {
return appliedPlaceHolder;
}
/* (non-Javadoc)
* @see org.megam.chef.shell.CommandComposable#pipeto(java.lang.String[])
*/
/** {@inheritDoc} */
@Override
public List<String> pipeto(String pipeIt) throws ShellException, FileNotFoundException {
String flag = "1";
String exec_res = new String();
Scanner scanner = new Scanner(super.getRedirectOutputFile(), ENCODING.name());
while (scanner.hasNext()) {
String s = scanner.next();
if (s == "1") {
flag = "0";
break;
}
if (flag == "1")
this.appliedPlaceHolder = s;
else
this.appliedPlaceHolder = null;
}
return null;
//return new String[] { flag, placeHolder, appliedPlaceHolder }; //send back succes or failure, placeholdername,appliedplaceholder
}
}