1 17 package org.alfresco.sample.loggerAction; 18 19 import java.util.List ; 20 21 import org.alfresco.repo.action.ParameterDefinitionImpl; 22 import org.alfresco.repo.action.executer.ActionExecuterAbstractBase; 23 import org.alfresco.service.cmr.action.Action; 24 import org.alfresco.service.cmr.action.ParameterDefinition; 25 import org.alfresco.service.cmr.dictionary.DataTypeDefinition; 26 import org.alfresco.service.cmr.repository.NodeRef; 27 import org.apache.commons.logging.Log; 28 import org.apache.commons.logging.LogFactory; 29 30 37 public class LoggerActionExecuter extends ActionExecuterAbstractBase 38 { 39 40 private static Log logger = LogFactory.getLog(LoggerActionExecuter.class); 41 42 43 public static final String NAME = "logger-action"; 44 45 46 public static final String PARAM_LOG_MESSAGE = "param_log_message"; 47 public static final String PARAM_LOG_LEVEL = "param_log-level"; 48 49 56 @Override 57 protected void executeImpl(Action action, NodeRef actionedUponNodeRef) 58 { 59 String logMessage = (String )action.getParameterValue(PARAM_LOG_MESSAGE); 61 if (logMessage != null && logMessage.length() != 0) 62 { 63 LogLevel logLevel = LogLevel.INFO; 65 String logLevelParam = (String ) action.getParameterValue(PARAM_LOG_LEVEL); 66 if (logLevelParam != null && logLevelParam.length() != 0) 67 { 68 logLevel = LogLevel.valueOf(logLevelParam); 69 } 70 71 switch (logLevel) 73 { 74 case DEBUG: 75 { 76 logger.debug(logMessage); 77 break; 78 } 79 case ERROR: 80 { 81 logger.error(logMessage); 82 break; 83 } 84 case FATAL: 85 { 86 logger.fatal(logMessage); 87 break; 88 } 89 case INFO: 90 { 91 logger.info(logMessage); 92 break; 93 } 94 case TRACE: 95 { 96 logger.trace(logMessage); 97 break; 98 } 99 case WARN: 100 { 101 logger.warn(logMessage); 102 break; 103 } 104 } 105 } 106 } 107 108 111 @Override 112 protected void addParameterDefintions(List <ParameterDefinition> paramList) 113 { 114 paramList.add(new ParameterDefinitionImpl(PARAM_LOG_MESSAGE, DataTypeDefinition.TEXT, true, getParamDisplayLabel(PARAM_LOG_MESSAGE))); 116 paramList.add(new ParameterDefinitionImpl(PARAM_LOG_LEVEL, DataTypeDefinition.TEXT, false, getParamDisplayLabel(PARAM_LOG_LEVEL))); 117 } 118 119 122 private enum LogLevel 123 { 124 DEBUG, ERROR, FATAL, INFO, WARN, TRACE 125 } 126 } 127 | Popular Tags |