package org.nuunframework.cli.samples;
import static org.assertj.core.api.Assertions.assertThat;
import org.apache.commons.collections.functors.TruePredicate;
import org.nuunframework.cli.NuunArgs;
import org.nuunframework.cli.NuunOption;
import org.nuunframework.cli.api.NuunCliHandler;
import org.nuunframework.kernel.plugins.logs.NuunLog;
import org.slf4j.Logger;
/**
*
*
* @author epo.jemba@kametic.com
*
*/
public class SampleCommandLineHandler implements NuunCliHandler {
@NuunLog
Logger logger;
@NuunOption(opt = "a" , arg=false)
private Boolean hasA;
@NuunOption(opt = "b" , arg=true, required=true )
private String b;
@NuunOption(opt = "P" , args=true ,valueSeparator='=')
private String P[];
@NuunArgs
private String[] arg;
@Override
public String name() {
return "Test Application Handler";
}
@Override
public Integer call() throws Exception {
logger.info("EXECUTING !!");
logger.info( "hasA = " + hasA );
logger.info( "b = " + b );
if (arg != null)
{
logger.info( "arg.length = " + arg.length );
logger.info( "arg = " + arg[0] );
}
assertThat(hasA).isNotNull();
assertThat(hasA).isTrue();
assertThat(b).isNotNull();
assertThat(b).isEqualTo("babar");
assertThat(arg).isNotNull();
assertThat(arg).containsExactly("zob");
assertThat(P).isNotNull();
assertThat(P).containsExactly("key1" , "value1" , "key2" , "value2");
return 0;
}
}