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 }