Extend automation 6.0

From OpenKM Documentation
Revision as of 21:13, 1 November 2012 by Jllort (talk | contribs)

Jump to: navigation, search

Refer to Enable automation section to know how enable automation. By default automation is not enabled.

Refer to Automation section to configure automation rules in your OpenKM and get full explanation of available validators and actions.

Create a new validator

Any validator should implements interface Validation:

public interface Validation {
	public static final String METHOD = "isValid";
	
	boolean isValid(HashMap<String, Object> env, Object... params);
}
  • At HashMap<String, Object> env are stored element values map.
  • Values set at validator form are stored to String params[].

Nota clasica.png Refer to AutomationUtils class to get variables from , take a look at the latest doxygen class reference at Developer_Guide.

public class PathContains implements Validation {
	private static Logger log = LoggerFactory.getLogger(PathContains.class);
	
	@Override
	public boolean isValid(HashMap<String, Object> env, Object... params) {
		String path = AutomationUtils.getString(0, params);
		String parentPath = AutomationUtils.getParentPath(env);
		
		try {
			if (parentPath.startsWith(path)) {
				return true;
			} else {
			 return false;
			}
		} catch (Exception e) {
			log.error(e.getMessage(), e);
		}
		
		return false;
	}
}