mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Merged V3.2 to HEAD
17332: ETHREEOH-2020: Original tag disappears after a new one has been added to a wiki page 17711: Fix ETHREEOH-3720 - blocker (upgrade from 2.x) 17712: Build/test fix (FeedCleanerTest.testConcurrentAccessAndRemoval) 17726: DownloadContentServlet wraps call in read-only RetryingTransactionHelper 17736: Fix ETHREEOH-2821 - deployment of layered file (fix for 3.2 deployment) 17745: Fixed broken PostgreSQL (AVM, audit, etc) and Oracle (audit) 17746: Merged V3.1 to V3.2 17290: Merged V2.2 to V3.1 17282: (record-only) Fix for ETWOTWO-1387: Node deletions transactions not properly detected ... 17381: (record-only) Putting explicit version name on PDFRenderer.jar 17413: (record-only) Removed dev from label 17749: Type handler fixes for PostgreSQL: Use LONGVARBINARY 17750: Fixed propval mappings for DB2 17754: Fixed "invalid character" in Oracle port of propval 17757: Re-added fix for ETHREEOH-2789 that got lost in a merge. 17762: Fix FeedCleanerTest (for Oracle 10g) + exposed feed cleaner issue (maxSize) 17765: Assorted minor build fixes for Oracle 17767: Empty String property values are persisted as '.empty' 17768: Merged DEV/BELARUS/V3.2-2009_11_24 to V3.2 17758: ETHREEOH-3757: Oracle upgrade issue: failed "inviteEmailTemplate" patch 17772: Fix build (JBPMEngineUnitTest) - fallout from r17765 17774: Fix JSONtoFmModelTest 17781: Build/test fix (AVMCrawlTestP) 17791: Fix for ETHREEOH-3793: Oracle unit test failure for JobLockServiceTest - Missing unique indexes for all DB ports 17795: ETHREEOH-3696: Attempt to navigate into any existent web-project or create new one after upgrade from Enterprise 2.1.7 ... 17799: ETHREEOH-3796: org.alfresco.repo.importer.ImporterComponentTest fails 17807: Fix ETHREEOH-3723 - MT blocker (can't restart) 17816: Merged DEV/BELARUS/V3.2-2009_12_15 to V3.2 17814: ETHREEOH-3808: Upgrade fails if content cm:name contains curly brackets ('{}') 17822: Fix for ETHREEOH-3828: Mistake porting AlfrescoPostCreate-3.2-PropertyValueTables.sql script to mssql dialect 17823: Fix for ETHREEOH-3829: SQLServer index limit reached for 'idx_alf_props_str' 17831: Fix ETHREEOH-3818 - upgrade from Community 3.2r2 to Enterprise 3.2 17862: Merged V3.1 to V3.2 17722: Fix ETHREEOH-3643 - WCM layered folders (flatten) - also add unit test 17835: ETHREEOH-3763 - fix for WCM layered folders - also add unit test 17871: Merged V3.1 to V3.2 17855: ACT 12915 - create web project performance (-> setPermission -> buildIndirections) 17863: ETHREEOH-3852 - perf tweak (WCM layered files) ------------------------------------- Modified: svn:mergeinfo Merged /alfresco/BRANCHES/DEV/BELARUS/V3.2-2009_11_24:r17758 Merged /alfresco/BRANCHES/DEV/BELARUS/V3.2-2009_12_15:r17814 Merged /alfresco/BRANCHES/V2.2:r17282 Merged /alfresco/BRANCHES/V3.1:r17290,17381,17413,17722,17835,17855,17863 Merged /alfresco/BRANCHES/V3.2:r17332,17711-17712,17726,17736,17745-17746,17749-17750,17754,17757,17762,17765,17767-17768,17772,17774,17781,17791,17795,17799,17807,17816,17822-17823,17831,17862,17871 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@18169 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -69,6 +69,7 @@ import org.alfresco.service.cmr.avmsync.AVMDifference;
|
||||
import org.alfresco.service.cmr.dictionary.DataTypeDefinition;
|
||||
import org.alfresco.service.cmr.model.FileFolderService;
|
||||
import org.alfresco.service.cmr.remote.RepoRemote;
|
||||
import org.alfresco.service.cmr.repository.ContentData;
|
||||
import org.alfresco.service.cmr.repository.ContentWriter;
|
||||
import org.alfresco.service.cmr.repository.CrossRepositoryCopyService;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
@@ -3985,6 +3986,84 @@ public class AVMServiceTest extends AVMServiceTestBase
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
public void testLayeredFile4() throws Exception
|
||||
{
|
||||
try
|
||||
{
|
||||
fService.createStore("mainA");
|
||||
fService.createStore("mainB");
|
||||
fService.createStore("mainB--layer");
|
||||
|
||||
fService.createDirectory("mainA:/", "a");
|
||||
fService.createDirectory("mainB:/", "a");
|
||||
|
||||
fService.createLayeredDirectory("mainB:/a", "mainB--layer:/", "a");
|
||||
|
||||
// note: unlike WCM, edit staging directly (ie. don't bother with mainA--layer for now)
|
||||
fService.createFile("mainA:/a", "foo");
|
||||
|
||||
PrintStream out = new PrintStream(fService.getFileOutputStream("mainA:/a/foo"));
|
||||
out.println("I am mainA:/a/foo");
|
||||
out.close();
|
||||
|
||||
fService.createSnapshot("mainA", null, null);
|
||||
|
||||
// note: WCM does not expose layered file (between web project staging sandboxes)
|
||||
fService.createLayeredFile("mainA:/a/foo", "mainB:/a", "foo");
|
||||
|
||||
|
||||
AVMNodeDescriptor foo = fService.lookup(-1, "mainB--layer:/a/foo");
|
||||
assertEquals(1, foo.getVersionID());
|
||||
assertTrue(foo.isLayeredFile());
|
||||
|
||||
ContentData cData = fService.getContentDataForRead(foo);
|
||||
assertNotNull(cData);
|
||||
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(fService.getFileInputStream(-1, "mainB--layer:/a/foo")));
|
||||
String line = reader.readLine();
|
||||
reader.close();
|
||||
assertEquals("I am mainA:/a/foo", line);
|
||||
|
||||
|
||||
foo = fService.lookup(-1, "mainB:/a/foo");
|
||||
assertEquals(1, foo.getVersionID());
|
||||
assertTrue(foo.isLayeredFile());
|
||||
|
||||
cData = fService.getContentDataForRead(foo);
|
||||
assertNotNull(cData);
|
||||
|
||||
reader = new BufferedReader(new InputStreamReader(fService.getFileInputStream(-1, "mainB:/a/foo")));
|
||||
line = reader.readLine();
|
||||
reader.close();
|
||||
assertEquals("I am mainA:/a/foo", line);
|
||||
|
||||
|
||||
foo = fService.lookup(-1, "mainA:/a/foo");
|
||||
assertEquals(1, foo.getVersionID());
|
||||
assertTrue(foo.isPlainFile());
|
||||
|
||||
cData = fService.getContentDataForRead(foo);
|
||||
assertNotNull(cData);
|
||||
|
||||
reader = new BufferedReader(new InputStreamReader(fService.getFileInputStream(-1, "mainA:/a/foo")));
|
||||
line = reader.readLine();
|
||||
reader.close();
|
||||
assertEquals("I am mainA:/a/foo", line);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
e.printStackTrace(System.err);
|
||||
throw e;
|
||||
}
|
||||
finally
|
||||
{
|
||||
fService.purgeStore("mainA");
|
||||
fService.purgeStore("mainB");
|
||||
fService.purgeStore("mainB--layer");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Test rename.
|
||||
@@ -5084,6 +5163,152 @@ public class AVMServiceTest extends AVMServiceTestBase
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
public void testVersionedRead2() throws Exception
|
||||
{
|
||||
try
|
||||
{
|
||||
assertNull(fService.lookup(-1, "main:/foo"));
|
||||
assertNull(fService.lookup(-1, "main:/afoo"));
|
||||
|
||||
try
|
||||
{
|
||||
fService.getFileInputStream(-1, "main:/afoo");
|
||||
fail();
|
||||
}
|
||||
catch (AVMNotFoundException nfe)
|
||||
{
|
||||
// expected
|
||||
}
|
||||
|
||||
PrintStream out = new PrintStream(fService.createFile("main:/", "foo"));
|
||||
out.print("version1");
|
||||
out.close();
|
||||
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(fService.getFileInputStream(-1, "main:/foo")));
|
||||
assertEquals("version1", reader.readLine());
|
||||
reader.close();
|
||||
|
||||
fService.createLayeredFile("main:/foo", "main:/", "afoo");
|
||||
|
||||
reader = new BufferedReader(new InputStreamReader(fService.getFileInputStream(-1, "main:/afoo")));
|
||||
assertEquals("version1", reader.readLine());
|
||||
reader.close();
|
||||
|
||||
fService.createSnapshot("main", null, null);
|
||||
|
||||
reader = new BufferedReader(new InputStreamReader(fService.getFileInputStream(1, "main:/foo")));
|
||||
assertEquals("version1", reader.readLine());
|
||||
reader.close();
|
||||
|
||||
reader = new BufferedReader(new InputStreamReader(fService.getFileInputStream(1, "main:/afoo")));
|
||||
assertEquals("version1", reader.readLine());
|
||||
reader.close();
|
||||
|
||||
assertEquals(8, fService.lookup(-1, "main:/foo").getLength());
|
||||
|
||||
out = new PrintStream(fService.getFileOutputStream("main:/foo"));
|
||||
out.print("version2");
|
||||
out.close();
|
||||
|
||||
fService.createSnapshot("main", null, null);
|
||||
|
||||
fService.createSnapshot("main", null, null);
|
||||
|
||||
fService.removeNode("main:/foo");
|
||||
|
||||
fService.createSnapshot("main", null, null);
|
||||
|
||||
// check versions of the plain file (main:/foo)
|
||||
|
||||
try
|
||||
{
|
||||
fService.getFileInputStream(0, "main:/foo");
|
||||
fail();
|
||||
}
|
||||
catch (AVMNotFoundException nfe)
|
||||
{
|
||||
// expected
|
||||
}
|
||||
|
||||
reader = new BufferedReader(new InputStreamReader(fService.getFileInputStream(1, "main:/foo")));
|
||||
assertEquals("version1", reader.readLine());
|
||||
reader.close();
|
||||
reader = new BufferedReader(new InputStreamReader(fService.getFileInputStream(2, "main:/foo")));
|
||||
assertEquals("version2", reader.readLine());
|
||||
reader.close();
|
||||
reader = new BufferedReader(new InputStreamReader(fService.getFileInputStream(3, "main:/foo")));
|
||||
assertEquals("version2", reader.readLine());
|
||||
reader.close();
|
||||
|
||||
try
|
||||
{
|
||||
fService.getFileInputStream(4, "main:/foo");
|
||||
fail();
|
||||
}
|
||||
catch (AVMNotFoundException nfe)
|
||||
{
|
||||
// expected
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
fService.getFileInputStream(-1, "main:/foo");
|
||||
fail();
|
||||
}
|
||||
catch (AVMNotFoundException nfe)
|
||||
{
|
||||
// expected
|
||||
}
|
||||
|
||||
// check versions of the layered file (main:/afoo)
|
||||
|
||||
try
|
||||
{
|
||||
fService.getFileInputStream(0, "main:/afoo");
|
||||
fail();
|
||||
}
|
||||
catch (AVMNotFoundException nfe)
|
||||
{
|
||||
// expected
|
||||
}
|
||||
|
||||
reader = new BufferedReader(new InputStreamReader(fService.getFileInputStream(1, "main:/afoo")));
|
||||
assertEquals("version1", reader.readLine());
|
||||
reader.close();
|
||||
reader = new BufferedReader(new InputStreamReader(fService.getFileInputStream(2, "main:/afoo")));
|
||||
assertEquals("version2", reader.readLine());
|
||||
reader.close();
|
||||
reader = new BufferedReader(new InputStreamReader(fService.getFileInputStream(3, "main:/afoo")));
|
||||
assertEquals("version2", reader.readLine());
|
||||
reader.close();
|
||||
|
||||
try
|
||||
{
|
||||
fService.getFileInputStream(4, "main:/afoo");
|
||||
fail();
|
||||
}
|
||||
catch (AVMNotFoundException nfe)
|
||||
{
|
||||
// expected
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
fService.getFileInputStream(-1, "main:/afoo");
|
||||
fail();
|
||||
}
|
||||
catch (AVMNotFoundException nfe)
|
||||
{
|
||||
// expected
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
e.printStackTrace(System.err);
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Test rename of an overlayed directory contained in an overlayed directory.
|
||||
@@ -6011,6 +6236,7 @@ public class AVMServiceTest extends AVMServiceTestBase
|
||||
fService.createStore("third");
|
||||
fService.setStoreProperty("third", QName.createQName("", ".dns.someUPPERcase"), new PropertyValue(null, "someUPPERcase-space"));
|
||||
matches = fService.queryStoresPropertyKeys(QName.createQName("", ".dns.someuppercase%"));
|
||||
assertNotNull(matches.get("third"));
|
||||
assertEquals(1, matches.get("third").size());
|
||||
assertEquals("someUPPERcase-space", matches.get("third").get(QName.createQName(null, ".dns.someUPPERcase")).getStringValue());
|
||||
}
|
||||
|
Reference in New Issue
Block a user