mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Merged V3.1 to HEAD
13484: ETHREEOH-1547: Do not set requiresNew flag and propagate exceptions in BaseDialogBean 13383: ETHREEOH-1220: Update LDAP-authentication-context to include allowGetEnabled entry to support Share 13381: ETHREEOH-1181: NTLM authentication periodically fails over CIFS - "Read-Write transaction started within read-only transaction" 13376: ETHREEOH-279: Friendly error message when cm:filename regular expression constraint is violated 13364: ETHREEOH-814: Correct character encoding issues in LDAP synchronization 13353: ETHREEOH-1444: Ability to run Alfresco from unexploded .war file with embedded license 13328: ETHREEOH-1400: Prevent TLD warnings on Weblogic startup 13183: Follow up to 13177: Fixes for Weblogic compatibility 13177: Fixes for Weblogic compatibility 13109: Build/test fix (to avoid unintentional import via application-context.xml) 13100: Checkpoint for new DM index check (enterprise-only) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13525 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -29,6 +29,7 @@ import java.util.Map;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import org.alfresco.i18n.I18NUtil;
|
||||
import org.alfresco.service.cmr.dictionary.ConstraintException;
|
||||
import org.alfresco.service.cmr.repository.datatype.DefaultTypeConverter;
|
||||
|
||||
@@ -51,6 +52,7 @@ public class RegexConstraint extends AbstractConstraint
|
||||
{
|
||||
public static final String CONSTRAINT_REGEX_NO_MATCH = "d_dictionary.constraint.regex.no_match";
|
||||
public static final String CONSTRAINT_REGEX_MATCH = "d_dictionary.constraint.regex.match";
|
||||
public static final String CONSTRAINT_REGEX_MSG_PREFIX = "d_dictionary.constraint.regex.error.";
|
||||
|
||||
private String expression;
|
||||
private Pattern patternMatcher;
|
||||
@@ -127,7 +129,14 @@ public class RegexConstraint extends AbstractConstraint
|
||||
boolean matches = matcher.matches();
|
||||
if (matches != requiresMatch)
|
||||
{
|
||||
if (requiresMatch)
|
||||
// Look for a message corresponding to this constraint name
|
||||
String messageId = CONSTRAINT_REGEX_MSG_PREFIX + getShortName();
|
||||
if (I18NUtil.getMessage(messageId, value) != null)
|
||||
{
|
||||
throw new ConstraintException(messageId, value);
|
||||
}
|
||||
// Otherwise, fall back to a generic (but unfriendly) message
|
||||
else if (requiresMatch)
|
||||
{
|
||||
throw new ConstraintException(RegexConstraint.CONSTRAINT_REGEX_NO_MATCH, value, expression);
|
||||
}
|
||||
|
Reference in New Issue
Block a user