Fix backup deletion issue identified by RM-516

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@42788 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Gethin James
2012-10-18 09:35:15 +00:00
parent c22d28e6e1
commit aaa1357100
2 changed files with 17 additions and 7 deletions

View File

@@ -478,7 +478,7 @@ public class ModuleManagementTool implements LogOutput
TFile modified = new TFile(warFileLocation + update.getKey());
TFile backup = new TFile(warFileLocation + update.getValue());
backup.cp_rp(modified);
backup.deleteOnExit();
backup.rm();
}
outputVerboseMessage("Recovering file '" + update.getKey() + "' from backup '" + update.getValue() + "'", true);

View File

@@ -241,11 +241,20 @@ public class ModuleManagementToolTest extends TestCase
manager.setVerbose(true);
String warLocation = getFileLocation(".war", "module/test.war");
String ampLocation = getFileLocation(".amp", "module/test_v1.amp");
// Initial install of module
this.manager.installModule(ampLocation, warLocation, false, false, false);
this.manager.installModule(ampLocation, warLocation, false, true, false);
String ampLocation = getFileLocation(".amp", "module/test_v4.amp");
try
{
// Initial install of module
this.manager.installModule(ampLocation, warLocation, false, false, false); //not forced
fail("Failed to detect existing files in the amp");
}
catch (ModuleManagementToolException e)
{
assertTrue(e.getMessage().contains("The amp will overwrite an existing file"));
}
this.manager.installModule(ampLocation, warLocation, false, true, false); //install it again
this.manager.installModule(ampLocation, warLocation, false, true, false); //install it again, just to be sure
}
public void testInstallFromDir()
@@ -281,7 +290,7 @@ public class ModuleManagementToolTest extends TestCase
try
{
this.manager.installModule(ampLocation, warLocation, false, false, true);
this.manager.installModule(ampLocation, warLocation, false, false, true);
}
catch(ModuleManagementToolException exception)
{
@@ -291,6 +300,7 @@ public class ModuleManagementToolTest extends TestCase
this.manager.installModule(ampLocation, warLocation, false, true, true); //Now force it
checkContentsOfFile(warLocation + "/jsp/relogin.jsp", "VERSIONONE");
checkContentsOfFile(warLocation + "/css/main.css", "p{margin-bottom:1em;}");
this.manager.installModule(ampLocation, warLocation, false, true, false); //install it again
}