View Javadoc

1   package org.kuali.common.deploy;
2   
3   import java.util.Arrays;
4   import java.util.List;
5   
6   import org.kuali.common.util.FormatUtils;
7   import org.kuali.common.util.LoggerLevel;
8   import org.kuali.common.util.LoggerUtils;
9   import org.kuali.common.util.secure.Result;
10  import org.slf4j.Logger;
11  import org.slf4j.LoggerFactory;
12  
13  public class ServiceUtils {
14  
15  	private static final Logger logger = LoggerFactory.getLogger(ServiceUtils.class);
16  
17  	public static void logResult(Result result, Logger logger) {
18  		logger.info("[{}] - {}", result.getCommand(), FormatUtils.getTime(result.getElapsed()));
19  		LoggerUtils.logLines(result.getStdout(), logger, LoggerLevel.INFO);
20  		LoggerUtils.logLines(result.getStderr(), logger, LoggerLevel.WARN);
21  		if (result.getExitValue() != 0) {
22  			logger.warn("Exit value = {}", result.getExitValue());
23  		}
24  	}
25  
26  	public static void validateResult(Result result) {
27  		validateResult(result, Arrays.asList(0));
28  		logger.trace("Result is valid");
29  	}
30  
31  	public static void validateResult(Result result, List<Integer> exitValues) {
32  		for (Integer exitValue : exitValues) {
33  			if (exitValue.equals(result.getExitValue())) {
34  				return;
35  			}
36  		}
37  		throw new IllegalStateException("Exit value " + result.getExitValue() + " is not allowed");
38  	}
39  
40  }