package org.ovirt.engine.core.searchbackend; import org.ovirt.engine.core.common.config.Config; import org.ovirt.engine.core.common.config.ConfigValues; public class SyntaxCheckerFactory { private static String ConfigAuthenticationMethod; private static final ISyntaxChecker uiSyntaxChecker = new SyntaxChecker(100); private static ISyntaxChecker backendSyntaxChecker = null; private static final ISyntaxChecker adSyntaxChecker = new ADSyntaxChecker(); // This method is for used in client side by uicommon, which cannot access // server side config, so needs to get the auth method as a parameter. public static ISyntaxChecker createUISyntaxChecker(String AuthenticationMethod) { ConfigAuthenticationMethod = AuthenticationMethod; return uiSyntaxChecker; } public static ISyntaxChecker createBackendSyntaxChecker(String AuthenticationMethod) { ConfigAuthenticationMethod = AuthenticationMethod; if(backendSyntaxChecker == null) { backendSyntaxChecker = new SyntaxChecker(Config.<Integer> getValue(ConfigValues.SearchResultsLimit)); } return backendSyntaxChecker; } public static ISyntaxChecker createADSyntaxChecker(String AuthenticationMethod) { ConfigAuthenticationMethod = AuthenticationMethod; return adSyntaxChecker; } public static String getConfigAuthenticationMethod() { return ConfigAuthenticationMethod; } }