Merged V3.2 to HEAD

15897: Merged V3.1 to V3.2
      14485: (RECORD ONLY) ETHREEOH-1937
      14915: (RECORD ONLY) Fix for ETHREEOH-2011: chaining-authentication-context.xml.sample
      14954: (RECORD ONLY) Fix merge error
      14966: (RECORD ONLY) Merged V2.2 to V3.1
         14131: *RECORD ONLY*
         14605: Merged HEAD to V2.2 (workaround for ETWOTWO-1137)
            14368: Fix for ETHREEOH-1936
         14607: Fixed NPE in TextMiningContentTransformer: Lead-up to fix for ETWOTWO-1174
      14992: (RECORD ONLY) Updated svn:mergeinfo for V2.1-A
      15080: Applied suggested fix for ETHREEOH-2252: Emailed content created in wrong space
      15131: Merged V2.1-A to V3.1 (ETHREEOH-2270)
         13465: Fix for ADB-161 ACT 7870 - added 'xsd' to mimetype map.
      15134: Merged V2.2 to V3.1
         14332: (RECORD-ONLY)
         14717: (RECORD-ONLY)
         14745: (RECORD-ONLY)
         14746: Fixed error relating to detection and clean-up of duplicate child associations
         14759: Missed check-in: Set transactionService for post-transaction duplicate child assoc cleanup
         14761: (RECORD-ONLY)
         14885: (RECORD-ONLY)
         14893: (RECORD-ONLY)
         14903: (RECORD-ONLY)
      15204: Fixed ETHREEOH-2303: FixNameCrcValuesPatch throws ConstraintViolationException during upgrade ...
      15214: Fixed ETHREEOH-1861: Offline synchronization updates file content without any changes
      15271: Applied patch fix: Imported users don't conform to case-sensitivity switch
      15352: ETHREEOH-2322
      15361: ETHREEOH-1112
      15369: ETHREEOH-2448
      15419: ETHREEOH-2479
      15431: ETHREEOH-2520 and ETHREEOH-2521
      15587: (RECORD ONLY) Moved Enterprise-only scripts to correct location
      15616: Fix ETHREEOH-2581 - WCM layered folder - can't submit deleted file
      15675: WCM fixes (ETHREEOH-2110 & ETHREEOH-2645)
      15836: Check for null username in ContentUsage service getUserUsage() method
      15840: (RECORD ONLY) Merged V3.2 to V3.1
         14760: Fix for ALFCOM-586 - trims and ignores leading/trailing whitespace before validation in JSF client forms.
      15841: Fixes for ETHREEOH-2702 and ETHREEOH-2687
      15860: (RECORD ONLY) Added Oracle and MS SQL Server config
      15891: Removed unused compiler directive
___________________________________________________________________
Modified: svn:mergeinfo
   Merged /alfresco/BRANCHES/DEV/BELARUS/ETHREEOH-2221:r14753
   Merged /alfresco/BRANCHES/V2.1-A: lots
   Merged /alfresco/BRANCHES/V2.2:r14131,14332,14605,14607,14717,14745-14746,14759,14761,14885,14893,14903
   Merged /alfresco/BRANCHES/V3.1:r14485,14915,14954,14966,14992,15080,15131,15134,15204,15214,15271,15352,15361,15369,15419,15431,15587,15616,15675,15818,15836,15840-15841,15860,15891
   Merged /alfresco/BRANCHES/V3.2:r15897


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16886 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2009-10-13 20:08:41 +00:00
parent 34b82892b5
commit 2dd348a281
20 changed files with 669 additions and 130 deletions

View File

@@ -1389,7 +1389,7 @@ public class AVMServiceLocalTest extends TestCase
}
}
public void testLayeredFolder_DeleteFile_mimic_ETHREEOH_2297() throws Exception
public void testLayeredFolderDeleteFile1() throws Exception
{
try
{
@@ -1480,7 +1480,7 @@ public class AVMServiceLocalTest extends TestCase
recursiveList("mainA");
recursiveList("mainB");
// note: short-cut - removed directly from "staging" area (don't bother with sandbox mainA--layer for now)
// delete file - note: short-cut - removed directly from "staging" area (don't bother with sandbox mainA--layer for now)
fService.removeNode("mainA:/a/b", "foo");
fService.createSnapshot("mainA", null, null);
@@ -1521,6 +1521,138 @@ public class AVMServiceLocalTest extends TestCase
fService.purgeStore("mainB--layer");
}
}
public void testLayeredFolderDeleteFile2() throws Exception
{
try
{
fService.createStore("mainA");
fService.createStore("mainB");
fService.createDirectory("mainA:/", "a");
fService.createDirectory("mainA:/a", "b");
fService.createDirectory("mainB:/", "a");
fService.createStore("mainB--layer");
fService.createLayeredDirectory("mainB:/a", "mainB--layer:/", "a");
// note: short-cut - created directly in "staging" area (don't bother with sandbox mainA--layer for now)
fService.createFile("mainA:/a/b", "foo");
PrintStream out = new PrintStream(fService.getFileOutputStream("mainA:/a/b/foo"));
out.println("I am mainA:/a/b/foo");
out.close();
logger.debug("created file: mainA:/a/b/c/foo");
recursiveList("mainA");
recursiveList("mainB");
recursiveList("mainB--layer");
// create equivalent of WCM layered folder between web project staging sandboxes (mainB:/a/b pointing to ,mainA:/a/b)
fService.createLayeredDirectory("mainA:/a/b", "mainB:/a", "b");
fService.createSnapshot("mainA", null, null);
fService.createSnapshot("mainB", null, null);
logger.debug("created layered directory: mainB:/a/b -> mainA:/a/b");
recursiveList("mainB");
recursiveList("mainB--layer");
BufferedReader reader = new BufferedReader(new InputStreamReader(fService.getFileInputStream(-1, "mainB--layer:/a/b/foo")));
String line = reader.readLine();
reader.close();
assertEquals("I am mainA:/a/b/foo", line);
out = new PrintStream(fService.getFileOutputStream("mainB--layer:/a/b/foo"));
out.println("I am mainB--layer:/a/b/foo");
out.close();
fService.createSnapshot("mainB--layer", null, null);
logger.debug("updated file: mainB--layer:/a/b/foo");
recursiveList("mainB");
recursiveList("mainB--layer");
reader = new BufferedReader(new InputStreamReader(fService.getFileInputStream(-1, "mainA:/a/b/foo")));
line = reader.readLine();
reader.close();
assertEquals("I am mainA:/a/b/foo", line);
reader = new BufferedReader(new InputStreamReader(fService.getFileInputStream(-1, "mainB:/a/b/foo")));
line = reader.readLine();
reader.close();
assertEquals("I am mainA:/a/b/foo", line);
reader = new BufferedReader(new InputStreamReader(fService.getFileInputStream(-1, "mainB--layer:/a/b/foo")));
line = reader.readLine();
reader.close();
assertEquals("I am mainB--layer:/a/b/foo", line);
List<AVMDifference> diffs = fSyncService.compare(-1, "mainB--layer:/a", -1, "mainB:/a", null);
assertEquals(1, diffs.size());
assertEquals("[mainB--layer:/a/b/foo[-1] > mainB:/a/b/foo[-1]]", diffs.toString());
fSyncService.update(diffs, null, false, false, false, false, "one", "one");
fSyncService.flatten("mainB--layer:/a", "mainB:/a");
logger.debug("updated: created file: mainB:/a/b/foo");
recursiveList("mainB");
recursiveList("mainB--layer");
reader = new BufferedReader(new InputStreamReader(fService.getFileInputStream(-1, "mainB:/a/b/foo")));
line = reader.readLine();
reader.close();
assertEquals("I am mainB--layer:/a/b/foo", line);
recursiveList("mainA");
recursiveList("mainB");
// delete folder - note: short-cut - remove directly from "staging" area (don't bother with sandbox mainA--layer for now)
fService.removeNode("mainA:/a", "b");
fService.createSnapshot("mainA", null, null);
logger.debug("removed file: mainA:/a/b/foo");
recursiveList("mainA");
recursiveList("mainB");
recursiveList("mainB--layer");
fService.removeNode("mainB--layer:/a/b", "foo");
diffs = fSyncService.compare(-1, "mainB--layer:/a", -1, "mainB:/a", null);
assertEquals(1, diffs.size());
assertEquals("[mainB--layer:/a/b/foo[-1] > mainB:/a/b/foo[-1]]", diffs.toString());
fSyncService.update(diffs, null, false, false, false, false, "one", "one");
fSyncService.flatten("mainB--layer:/a", "mainB:/a");
fService.createSnapshot("mainB", null, null);
logger.debug("updated: removed file: mainB:/a/b/foo");
recursiveList("mainA");
recursiveList("mainB");
recursiveList("mainB--layer");
}
catch (Exception e)
{
e.printStackTrace(System.err);
throw e;
}
finally
{
fService.purgeStore("mainA");
fService.purgeStore("mainB");
fService.purgeStore("mainB--layer");
}
}
protected void recursiveContents(String path)
{