merge with branch issue-476

This commit is contained in:
Sebastian Sdorra
2013-12-11 08:07:56 +01:00
4 changed files with 41 additions and 52 deletions

View File

@@ -370,13 +370,13 @@ public final class IOUtil
}
/**
* Method description
* Method description
*
*
* @param file
* @param file
* @param silent
*
* @throws IOException
* @throws IOException
*/
public static void delete(File file, boolean silent) throws IOException
{
@@ -388,22 +388,35 @@ public final class IOUtil
{
for (File child : children)
{
delete(child);
delete(child, silent);
}
}
}
if (!file.delete())
for (int i = 20; !file.delete(); i--)
{
String message = "could not delete file ".concat(file.getPath());
if (i <= 20)
{
String message = "could not delete file ".concat(file.getPath());
if (silent)
{
logger.error(message);
if (silent)
{
logger.error(message);
}
else
{
throw new IOException(message);
}
}
else
try
{
throw new IOException(message);
logger.warn("sleep 250ms, because of delete for file {} failed", file);
Thread.sleep(250);
}
catch (InterruptedException ex)
{
logger.warn("sleep of delete method interrupted", ex);
}
}
}

View File

@@ -55,16 +55,13 @@ public final class ValidationUtil
"^[A-z0-9][\\w.-]*@[A-z0-9][\\w\\-\\.]+\\.[A-z0-9]{2,6}$";
/** Field description */
private static final String REGEX_NAME = "^[A-z0-9\\.\\-_]+$";
private static final String REGEX_NAME =
"^[A-z0-9\\.\\-_@]|[^ ]([A-z0-9\\.\\-_@ ]*[A-z0-9\\.\\-_@]|[^ ])?$";
/** Field description */
private static final String REGEX_REPOSITORYNAME =
"(?!^\\.\\.$)(?!^\\.$)(?!.*[\\\\\\[\\]])^[A-z0-9\\.][A-z0-9\\.\\-_/]*$";
/** Field description */
private static final String REGEX_USERNAME =
"^[A-z0-9\\.\\-_@]|[^ ]([A-z0-9\\.\\-_@ ]*[A-z0-9\\.\\-_@]|[^ ])?$";
//~--- constructors ---------------------------------------------------------
/**
@@ -185,10 +182,12 @@ public final class ValidationUtil
* @param username
*
* @return
* @deprecated use {@link #isNameValid(String)}
*/
@Deprecated
public static boolean isUsernameValid(String username)
{
return Util.isNotEmpty(username) && username.matches(REGEX_USERNAME);
return isNameValid(username);
}
/**

View File

@@ -102,14 +102,21 @@ public class ValidationUtilTest
assertTrue(ValidationUtil.isNameValid("test.git"));
assertTrue(ValidationUtil.isNameValid("Test123.git"));
assertTrue(ValidationUtil.isNameValid("Test123-git"));
assertTrue(ValidationUtil.isNameValid("Test_repository-123.git"));
assertTrue(ValidationUtil.isNameValid("Test_user-123.git"));
assertTrue(ValidationUtil.isNameValid("test@scm-manager.de"));
assertTrue(ValidationUtil.isNameValid("test 123"));
assertTrue(ValidationUtil.isNameValid("t"));
// false
assertFalse(ValidationUtil.isNameValid("test 123"));
assertFalse(ValidationUtil.isNameValid("test@123"));
assertFalse(ValidationUtil.isNameValid(" test 123"));
assertFalse(ValidationUtil.isNameValid(" test 123 "));
assertFalse(ValidationUtil.isNameValid("test 123 "));
assertFalse(ValidationUtil.isNameValid("test/123"));
assertFalse(ValidationUtil.isNameValid("test%123"));
assertFalse(ValidationUtil.isNameValid("test:123"));
assertFalse(ValidationUtil.isNameValid("t "));
assertFalse(ValidationUtil.isNameValid(" t"));
assertFalse(ValidationUtil.isNameValid(" t "));
}
/**
@@ -229,34 +236,4 @@ public class ValidationUtilTest
assertFalse(ValidationUtil.isRepositoryNameValid(path));
}
}
/**
* Method description
*
*/
@Test
public void testIsUsernameValid()
{
// true
assertTrue(ValidationUtil.isUsernameValid("test"));
assertTrue(ValidationUtil.isUsernameValid("test.git"));
assertTrue(ValidationUtil.isUsernameValid("Test123.git"));
assertTrue(ValidationUtil.isUsernameValid("Test123-git"));
assertTrue(ValidationUtil.isUsernameValid("Test_user-123.git"));
assertTrue(ValidationUtil.isUsernameValid("test@scm-manager.de"));
assertTrue(ValidationUtil.isUsernameValid("test 123"));
assertTrue(ValidationUtil.isUsernameValid("t"));
// false
assertFalse(ValidationUtil.isUsernameValid(" test 123"));
assertFalse(ValidationUtil.isUsernameValid(" test 123 "));
assertFalse(ValidationUtil.isUsernameValid("test 123 "));
assertFalse(ValidationUtil.isUsernameValid("test/123"));
assertFalse(ValidationUtil.isUsernameValid("test%123"));
assertFalse(ValidationUtil.isUsernameValid("test:123"));
assertFalse(ValidationUtil.isUsernameValid("t "));
assertFalse(ValidationUtil.isUsernameValid(" t"));
assertFalse(ValidationUtil.isUsernameValid(" t "));
}
}

View File

@@ -46,7 +46,7 @@ Ext.apply(Ext.form.VTypes, {
// name validator
name: function(val){
return /^[A-z0-9\.\-_]+$/.test(val);
return val.match(/^[^ ][A-z0-9\.\-_@ ]*[^ ]$/);
},
nameText: 'The name is invalid.',
@@ -75,7 +75,7 @@ Ext.apply(Ext.form.VTypes, {
// username validator
username: function(val){
return val.match(/^[^ ][A-z0-9\.\-_@ ]*[^ ]$/);
return name(val);
},
usernameText: 'The username is invalid.'