mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Merged HEAD-BUG-FIX (4.3/Cloud) to HEAD (4.3/Cloud)
60596: Merged V4.2-BUG-FIX (4.2.2) to HEAD-BUG-FIX (Cloud/4.3) 60363: Merged DEV to V4.2-BUG-FIX (4.2.2) 58124: Added missing transaction(s) in SOLRTrackingComponentTest (MNT-9806) 58128: Added missing transaction(s) in MultiTDemoTest (MNT-9806) 58247: Added missing transaction(s) in TransferServiceToBeRefactoredTest. Fixed dozens of warnings as well. (MNT-9806) 58248: Added missing transaction(s) in WikiServiceImplTest. Fixed code warnings. (MNT-9806) 58249: Added missing transaction(s) in CalendarServiceImplTest. (MNT-9806) 58251: Added missing transaction(s) in NodeServiceTest. (MNT-9806) 58252: Added missing transaction(s) in LockDAOTest. (MNT-9806) 58253: Added missing transaction(s) in NodeDAOTest. (MNT-9806) 58257: Added missing transaction(s) in SOLRDAOTest. (MNT-9806) 58259: Added missing transaction(s) in ReplicationRestApiTest (MNT-9806) 58260: Added missing transaction(s) in RunningActionRestApiTest (MNT-9806) 58304: Added missing transaction(s) in UnlockMethodTest (MNT-9806) 58368: Added missing transaction(s) in UnlockMethodTest (MNT-9806) 58892: Added missing transaction(s) in NodeServiceTest (MNT-9806) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@62327 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -42,6 +42,7 @@ import org.alfresco.repo.policy.BehaviourFilter;
|
||||
import org.alfresco.repo.security.authentication.AuthenticationUtil;
|
||||
import org.alfresco.repo.site.SiteModel;
|
||||
import org.alfresco.repo.transaction.RetryingTransactionHelper;
|
||||
import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
|
||||
import org.alfresco.service.cmr.calendar.CalendarEntry;
|
||||
import org.alfresco.service.cmr.calendar.CalendarEntryDTO;
|
||||
import org.alfresco.service.cmr.calendar.CalendarService;
|
||||
@@ -80,8 +81,10 @@ public class CalendarServiceImplTest
|
||||
|
||||
// injected services
|
||||
private static MutableAuthenticationService AUTHENTICATION_SERVICE;
|
||||
@SuppressWarnings("unused")
|
||||
private static BehaviourFilter BEHAVIOUR_FILTER;
|
||||
private static CalendarService CALENDAR_SERVICE;
|
||||
@SuppressWarnings("unused")
|
||||
private static DictionaryService DICTIONARY_SERVICE;
|
||||
private static NodeService NODE_SERVICE;
|
||||
private static NodeService PUBLIC_NODE_SERVICE;
|
||||
@@ -122,6 +125,7 @@ public class CalendarServiceImplTest
|
||||
TAGGING_SERVICE = (TaggingService)testContext.getBean("TaggingService");
|
||||
|
||||
// Get the canned query registry, and from that the factory
|
||||
@SuppressWarnings("unchecked")
|
||||
NamedObjectRegistry<CannedQueryFactory<? extends Object>> calendarCannedQueryRegistry =
|
||||
(NamedObjectRegistry<CannedQueryFactory<? extends Object>>)testContext.getBean("calendarCannedQueryRegistry");
|
||||
CALENDAR_CQ_FACTORY = (GetCalendarEntriesCannedQueryFactory)
|
||||
@@ -182,8 +186,8 @@ public class CalendarServiceImplTest
|
||||
assertNotNull(entry.getNodeRef());
|
||||
assertNotNull(entry.getSystemName());
|
||||
|
||||
NodeRef container = NODE_SERVICE.getPrimaryParent(entry.getNodeRef()).getParentRef();
|
||||
NodeRef site = NODE_SERVICE.getPrimaryParent(container).getParentRef();
|
||||
NodeRef container = PUBLIC_NODE_SERVICE.getPrimaryParent(entry.getNodeRef()).getParentRef();
|
||||
NodeRef site = PUBLIC_NODE_SERVICE.getPrimaryParent(container).getParentRef();
|
||||
assertEquals(CALENDAR_SITE.getNodeRef(), site);
|
||||
|
||||
// Tell the test system about it, for tidying later
|
||||
@@ -864,19 +868,19 @@ public class CalendarServiceImplTest
|
||||
*/
|
||||
@Test public void testCannedQueryEntityResults() throws Exception
|
||||
{
|
||||
PagingRequest paging = new PagingRequest(10);
|
||||
NodeRef[] containers = new NodeRef[] {
|
||||
final PagingRequest paging = new PagingRequest(10);
|
||||
final NodeRef[] containers = new NodeRef[] {
|
||||
SITE_SERVICE.getContainer(CALENDAR_SITE.getShortName(), CalendarServiceImpl.CALENDAR_COMPONENT),
|
||||
SITE_SERVICE.getContainer(ALTERNATE_CALENDAR_SITE.getShortName(), CalendarServiceImpl.CALENDAR_COMPONENT),
|
||||
};
|
||||
Date from = new Date(1302431400);
|
||||
Date to = new Date(1302442200);
|
||||
final Date from1 = new Date(1302431400);
|
||||
final Date to1 = new Date(1302442200);
|
||||
|
||||
|
||||
// To capture the low level results
|
||||
final List<CalendarEntity> full = new ArrayList<CalendarEntity>();
|
||||
final List<CalendarEntity> filtered = new ArrayList<CalendarEntity>();
|
||||
GetCalendarEntriesCannedQueryTestHook hook = new GetCalendarEntriesCannedQueryTestHook()
|
||||
final GetCalendarEntriesCannedQueryTestHook hook = new GetCalendarEntriesCannedQueryTestHook()
|
||||
{
|
||||
@Override
|
||||
public void notifyComplete(List<CalendarEntity> fullList,
|
||||
@@ -889,13 +893,20 @@ public class CalendarServiceImplTest
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
// With no entries, won't find anything
|
||||
TRANSACTION_HELPER.doInTransaction(new RetryingTransactionCallback<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void execute() throws Throwable
|
||||
{
|
||||
GetCalendarEntriesCannedQuery cq = (GetCalendarEntriesCannedQuery) CALENDAR_CQ_FACTORY.getCannedQuery(
|
||||
containers, from, to, paging
|
||||
containers, from1, to1, paging
|
||||
);
|
||||
cq.setTestHook(hook);
|
||||
cq.execute();
|
||||
return null;
|
||||
}
|
||||
});
|
||||
|
||||
assertEquals(0, full.size());
|
||||
assertEquals(0, filtered.size());
|
||||
@@ -911,10 +922,19 @@ public class CalendarServiceImplTest
|
||||
|
||||
|
||||
// Do a fetch that'll include all of them
|
||||
cq = (GetCalendarEntriesCannedQuery)CALENDAR_CQ_FACTORY.getCannedQuery(
|
||||
containers, from, to, paging);
|
||||
TRANSACTION_HELPER.doInTransaction(new RetryingTransactionCallback<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void execute() throws Throwable
|
||||
{
|
||||
GetCalendarEntriesCannedQuery cq = (GetCalendarEntriesCannedQuery)CALENDAR_CQ_FACTORY.getCannedQuery(
|
||||
containers, from1, to1, paging
|
||||
);
|
||||
cq.setTestHook(hook);
|
||||
cq.execute();
|
||||
return null;
|
||||
}
|
||||
});
|
||||
|
||||
assertEquals(3, full.size());
|
||||
assertEquals(3, filtered.size());
|
||||
@@ -942,12 +962,21 @@ public class CalendarServiceImplTest
|
||||
|
||||
|
||||
// Now do one that'll only have some
|
||||
from = new Date(1302431400-10);
|
||||
to = new Date(1302431400+10);
|
||||
cq = (GetCalendarEntriesCannedQuery)CALENDAR_CQ_FACTORY.getCannedQuery(
|
||||
containers, from, to, paging);
|
||||
final Date from2 = new Date(1302431400-10);
|
||||
final Date to2 = new Date(1302431400+10);
|
||||
TRANSACTION_HELPER.doInTransaction(new RetryingTransactionCallback<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void execute() throws Throwable
|
||||
{
|
||||
GetCalendarEntriesCannedQuery cq = (GetCalendarEntriesCannedQuery)CALENDAR_CQ_FACTORY.getCannedQuery(
|
||||
containers, from2, to2, paging
|
||||
);
|
||||
cq.setTestHook(hook);
|
||||
cq.execute();
|
||||
return null;
|
||||
}
|
||||
});
|
||||
|
||||
assertEquals(3, full.size());
|
||||
assertEquals(2, filtered.size());
|
||||
@@ -962,10 +991,19 @@ public class CalendarServiceImplTest
|
||||
c3.setLastRecurrence(new Date(1303431400));
|
||||
CALENDAR_SERVICE.updateCalendarEntry(c3);
|
||||
|
||||
cq = (GetCalendarEntriesCannedQuery)CALENDAR_CQ_FACTORY.getCannedQuery(
|
||||
containers, from, to, paging);
|
||||
TRANSACTION_HELPER.doInTransaction(new RetryingTransactionCallback<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void execute() throws Throwable
|
||||
{
|
||||
GetCalendarEntriesCannedQuery cq = (GetCalendarEntriesCannedQuery)CALENDAR_CQ_FACTORY.getCannedQuery(
|
||||
containers, from2, to2, paging
|
||||
);
|
||||
cq.setTestHook(hook);
|
||||
cq.execute();
|
||||
return null;
|
||||
}
|
||||
});
|
||||
assertEquals(3, full.size());
|
||||
assertEquals(2, filtered.size());
|
||||
|
||||
@@ -985,10 +1023,10 @@ public class CalendarServiceImplTest
|
||||
|
||||
|
||||
// Do a recurring query
|
||||
Calendar c20110718mon = Calendar.getInstance();
|
||||
Calendar c20110719tue = Calendar.getInstance();
|
||||
Calendar c20110720wed = Calendar.getInstance();
|
||||
Calendar c20110722fri = Calendar.getInstance();
|
||||
final Calendar c20110718mon = Calendar.getInstance();
|
||||
final Calendar c20110719tue = Calendar.getInstance();
|
||||
final Calendar c20110720wed = Calendar.getInstance();
|
||||
final Calendar c20110722fri = Calendar.getInstance();
|
||||
c20110718mon.set(2011, 7-1, 18, 0, 0, 0);
|
||||
c20110719tue.set(2011, 7-1, 19, 0, 0, 0);
|
||||
c20110720wed.set(2011, 7-1, 20, 0, 0, 0);
|
||||
@@ -1001,28 +1039,52 @@ public class CalendarServiceImplTest
|
||||
|
||||
|
||||
// Monday-Tuesday will find it for itself
|
||||
cq = (GetCalendarEntriesCannedQuery)CALENDAR_CQ_FACTORY.getCannedQuery(
|
||||
TRANSACTION_HELPER.doInTransaction(new RetryingTransactionCallback<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void execute() throws Throwable
|
||||
{
|
||||
GetCalendarEntriesCannedQuery cq = (GetCalendarEntriesCannedQuery)CALENDAR_CQ_FACTORY.getCannedQuery(
|
||||
containers, c20110718mon.getTime(), c20110719tue.getTime(), paging);
|
||||
cq.setTestHook(hook);
|
||||
cq.execute();
|
||||
return null;
|
||||
}
|
||||
});
|
||||
assertEquals(3, full.size());
|
||||
assertEquals(1, filtered.size());
|
||||
assertEquals(c3.getSystemName(), filtered.get(0).getName());
|
||||
|
||||
// Monday-Wednesday will find it for itself
|
||||
cq = (GetCalendarEntriesCannedQuery)CALENDAR_CQ_FACTORY.getCannedQuery(
|
||||
TRANSACTION_HELPER.doInTransaction(new RetryingTransactionCallback<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void execute() throws Throwable
|
||||
{
|
||||
GetCalendarEntriesCannedQuery cq = (GetCalendarEntriesCannedQuery)CALENDAR_CQ_FACTORY.getCannedQuery(
|
||||
containers, c20110718mon.getTime(), c20110720wed.getTime(), paging);
|
||||
cq.setTestHook(hook);
|
||||
cq.execute();
|
||||
return null;
|
||||
}
|
||||
});
|
||||
assertEquals(3, full.size());
|
||||
assertEquals(1, filtered.size());
|
||||
assertEquals(c3.getSystemName(), filtered.get(0).getName());
|
||||
|
||||
// Wednesday-Friday will find it as a repeating event on the Thursday
|
||||
cq = (GetCalendarEntriesCannedQuery)CALENDAR_CQ_FACTORY.getCannedQuery(
|
||||
TRANSACTION_HELPER.doInTransaction(new RetryingTransactionCallback<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void execute() throws Throwable
|
||||
{
|
||||
GetCalendarEntriesCannedQuery cq = (GetCalendarEntriesCannedQuery)CALENDAR_CQ_FACTORY.getCannedQuery(
|
||||
containers, c20110720wed.getTime(), c20110722fri.getTime(), paging);
|
||||
cq.setTestHook(hook);
|
||||
cq.execute();
|
||||
return null;
|
||||
}
|
||||
});
|
||||
assertEquals(3, full.size());
|
||||
assertEquals(1, filtered.size());
|
||||
assertEquals(c3.getSystemName(), filtered.get(0).getName());
|
||||
@@ -1031,10 +1093,18 @@ public class CalendarServiceImplTest
|
||||
c3.setLastRecurrence(c20110720wed.getTime());
|
||||
CALENDAR_SERVICE.updateCalendarEntry(c3);
|
||||
|
||||
cq = (GetCalendarEntriesCannedQuery)CALENDAR_CQ_FACTORY.getCannedQuery(
|
||||
TRANSACTION_HELPER.doInTransaction(new RetryingTransactionCallback<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void execute() throws Throwable
|
||||
{
|
||||
GetCalendarEntriesCannedQuery cq = (GetCalendarEntriesCannedQuery)CALENDAR_CQ_FACTORY.getCannedQuery(
|
||||
containers, c20110720wed.getTime(), c20110722fri.getTime(), paging);
|
||||
cq.setTestHook(hook);
|
||||
cq.execute();
|
||||
return null;
|
||||
}
|
||||
});
|
||||
assertEquals(3, full.size());
|
||||
assertEquals(0, filtered.size());
|
||||
}
|
||||
|
@@ -242,12 +242,20 @@ public class LockDAOTest extends TestCase
|
||||
|
||||
public void testReleaseLockRepeated() throws Exception
|
||||
{
|
||||
String token = lock(lockAAA, 500000L, true);
|
||||
final String token = lock(lockAAA, 500000L, true);
|
||||
release(lockAAA, token, true);
|
||||
release(lockAAA, token, false);
|
||||
try
|
||||
{
|
||||
transactionService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void execute() throws Throwable
|
||||
{
|
||||
lockDAO.releaseLock(lockAAA, token, false);
|
||||
return null;
|
||||
}
|
||||
});
|
||||
fail("Pessimistic lock release should have failed.");
|
||||
}
|
||||
catch (LockAcquisitionException e)
|
||||
@@ -256,7 +264,14 @@ public class LockDAOTest extends TestCase
|
||||
}
|
||||
try
|
||||
{
|
||||
boolean released = lockDAO.releaseLock(lockAAA, token, true);
|
||||
boolean released = transactionService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback<Boolean>()
|
||||
{
|
||||
@Override
|
||||
public Boolean execute() throws Throwable
|
||||
{
|
||||
return lockDAO.releaseLock(lockAAA, token, true);
|
||||
}
|
||||
});
|
||||
// Expected
|
||||
assertFalse("Release should have been negative.", released);
|
||||
}
|
||||
|
@@ -100,7 +100,7 @@ public class NodeDAOTest extends TestCase
|
||||
|
||||
public void testGetNodesWithAspects() throws Throwable
|
||||
{
|
||||
NodeRefQueryCallback callback = new NodeRefQueryCallback()
|
||||
final NodeRefQueryCallback callback = new NodeRefQueryCallback()
|
||||
{
|
||||
public boolean handle(Pair<Long, NodeRef> nodePair)
|
||||
{
|
||||
@@ -108,10 +108,18 @@ public class NodeDAOTest extends TestCase
|
||||
return false;
|
||||
}
|
||||
};
|
||||
transactionService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void execute() throws Throwable
|
||||
{
|
||||
nodeDAO.getNodesWithAspects(
|
||||
Collections.singleton(ContentModel.ASPECT_AUDITABLE),
|
||||
1L, 1000L,
|
||||
callback);
|
||||
return null;
|
||||
}
|
||||
}, true);
|
||||
}
|
||||
|
||||
public void testGetPrimaryChildAcls() throws Throwable
|
||||
|
@@ -33,8 +33,9 @@ import org.alfresco.repo.solr.Acl;
|
||||
import org.alfresco.repo.solr.AclChangeSet;
|
||||
import org.alfresco.repo.solr.NodeParameters;
|
||||
import org.alfresco.repo.solr.Transaction;
|
||||
import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
|
||||
import org.alfresco.service.cmr.repository.StoreRef;
|
||||
import org.alfresco.test_category.OwnJVMTestsCategory;
|
||||
import org.alfresco.service.transaction.TransactionService;
|
||||
import org.alfresco.util.ApplicationContextHelper;
|
||||
import org.junit.experimental.categories.Category;
|
||||
import org.springframework.context.ConfigurableApplicationContext;
|
||||
@@ -49,6 +50,7 @@ public class SOLRDAOTest extends TestCase
|
||||
{
|
||||
private ConfigurableApplicationContext ctx = (ConfigurableApplicationContext) ApplicationContextHelper.getApplicationContext();
|
||||
|
||||
private TransactionService transactionService;
|
||||
private AuthenticationComponent authenticationComponent;
|
||||
private SOLRDAO solrDAO;
|
||||
|
||||
@@ -57,17 +59,72 @@ public class SOLRDAOTest extends TestCase
|
||||
{
|
||||
solrDAO = (SOLRDAO)ctx.getBean("solrDAO");
|
||||
authenticationComponent = (AuthenticationComponent)ctx.getBean("authenticationComponent");
|
||||
transactionService = (TransactionService) ctx.getBean("TransactionService");
|
||||
|
||||
authenticationComponent.setSystemUserAsCurrentUser();
|
||||
}
|
||||
|
||||
private List<Node> getNodes(final NodeParameters nodeParameters)
|
||||
{
|
||||
return transactionService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback<List<Node>>()
|
||||
{
|
||||
@Override
|
||||
public List<Node> execute() throws Throwable
|
||||
{
|
||||
return solrDAO.getNodes(nodeParameters);
|
||||
}
|
||||
}, true);
|
||||
}
|
||||
|
||||
private List<Acl> getAcls(final List<Long> aclChangeSetIds, final Long minAclId, final int maxResults)
|
||||
{
|
||||
return transactionService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback<List<Acl>>()
|
||||
{
|
||||
@Override
|
||||
public List<Acl> execute() throws Throwable
|
||||
{
|
||||
return solrDAO.getAcls(aclChangeSetIds, minAclId, maxResults);
|
||||
}
|
||||
}, true);
|
||||
}
|
||||
|
||||
private List<Transaction> getTransactions(
|
||||
final Long minTxnId, final Long fromCommitTime,
|
||||
final Long maxTxnId, final Long toCommitTime,
|
||||
final int maxResults)
|
||||
{
|
||||
return transactionService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback<List<Transaction>>()
|
||||
{
|
||||
@Override
|
||||
public List<Transaction> execute() throws Throwable
|
||||
{
|
||||
return solrDAO.getTransactions(minTxnId, fromCommitTime, maxTxnId, toCommitTime, maxResults);
|
||||
}
|
||||
}, true);
|
||||
}
|
||||
|
||||
private List<AclChangeSet> getAclChangeSets(
|
||||
final Long minAclChangeSetId, final Long fromCommitTime,
|
||||
final Long maxAclChangeSetId, final Long toCommitTime,
|
||||
final int maxResults)
|
||||
{
|
||||
return transactionService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback<List<AclChangeSet>>()
|
||||
{
|
||||
@Override
|
||||
public List<AclChangeSet> execute() throws Throwable
|
||||
{
|
||||
return solrDAO.getAclChangeSets(minAclChangeSetId, fromCommitTime, maxAclChangeSetId, toCommitTime, maxResults);
|
||||
}
|
||||
}, true);
|
||||
}
|
||||
|
||||
public void testQueryChangeSets_NoLimit()
|
||||
{
|
||||
long startTime = System.currentTimeMillis() - (5 * 60000L);
|
||||
|
||||
try
|
||||
{
|
||||
solrDAO.getAclChangeSets(null, startTime, null, null, 0);
|
||||
getAclChangeSets(null, startTime, null, null, 0);
|
||||
fail("Must have result limit");
|
||||
}
|
||||
catch (IllegalArgumentException e)
|
||||
@@ -79,13 +136,13 @@ public class SOLRDAOTest extends TestCase
|
||||
public void testQueryChangeSets_Time()
|
||||
{
|
||||
long startTime = System.currentTimeMillis() + (5 * 60000L); // The future
|
||||
List<AclChangeSet> results = solrDAO.getAclChangeSets(null, startTime, null, null, 50);
|
||||
List<AclChangeSet> results = getAclChangeSets(null, startTime, null, null, 50);
|
||||
assertTrue("ChangeSet count not limited", results.size() == 0);
|
||||
}
|
||||
|
||||
public void testQueryChangeSets_Limit()
|
||||
{
|
||||
List<AclChangeSet> results = solrDAO.getAclChangeSets(null, 0L, null, null, 50);
|
||||
List<AclChangeSet> results = getAclChangeSets(null, 0L, null, null, 50);
|
||||
assertTrue("Transaction count not limited", results.size() <= 50);
|
||||
}
|
||||
|
||||
@@ -97,7 +154,7 @@ public class SOLRDAOTest extends TestCase
|
||||
try
|
||||
{
|
||||
// No IDs
|
||||
solrDAO.getAcls(Collections.<Long>emptyList(), null, 50);
|
||||
getAcls(Collections.<Long>emptyList(), null, 50);
|
||||
fail("Expected IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException e)
|
||||
@@ -109,7 +166,7 @@ public class SOLRDAOTest extends TestCase
|
||||
public void testQueryAcls_All()
|
||||
{
|
||||
// Do a query for some changesets
|
||||
List<AclChangeSet> aclChangeSets = solrDAO.getAclChangeSets(null, 0L, null, null, 50);
|
||||
List<AclChangeSet> aclChangeSets = getAclChangeSets(null, 0L, null, null, 50);
|
||||
|
||||
// Choose some changesets with changes
|
||||
int aclTotal = 0;
|
||||
@@ -135,7 +192,7 @@ public class SOLRDAOTest extends TestCase
|
||||
List<Long> aclChangeSetIds = toIds(aclChangeSets);
|
||||
|
||||
// Now use those to query for details
|
||||
List<Acl> acls = solrDAO.getAcls(aclChangeSetIds, null, 1000);
|
||||
List<Acl> acls = getAcls(aclChangeSetIds, null, 1000);
|
||||
|
||||
// Check that the ACL ChangeSet IDs are correct
|
||||
Set<Long> aclChangeSetIdsSet = new HashSet<Long>(aclChangeSetIds);
|
||||
@@ -148,7 +205,7 @@ public class SOLRDAOTest extends TestCase
|
||||
|
||||
public void testQueryAcls_Single()
|
||||
{
|
||||
List<AclChangeSet> aclChangeSets = solrDAO.getAclChangeSets(null, 0L, null, null, 1000);
|
||||
List<AclChangeSet> aclChangeSets = getAclChangeSets(null, 0L, null, null, 1000);
|
||||
// Find one with multiple ALCs
|
||||
AclChangeSet aclChangeSet = null;
|
||||
for (AclChangeSet aclChangeSetLoop : aclChangeSets)
|
||||
@@ -173,7 +230,7 @@ public class SOLRDAOTest extends TestCase
|
||||
Long minAclId = null;
|
||||
while (true)
|
||||
{
|
||||
List<Acl> acls = solrDAO.getAcls(aclChangeSetIds, minAclId, 1);
|
||||
List<Acl> acls = getAcls(aclChangeSetIds, minAclId, 1);
|
||||
if (acls.size() == 0)
|
||||
{
|
||||
break;
|
||||
@@ -201,7 +258,7 @@ public class SOLRDAOTest extends TestCase
|
||||
|
||||
try
|
||||
{
|
||||
solrDAO.getTransactions(null, startTime, null, null, 0);
|
||||
getTransactions(null, startTime, null, null, 0);
|
||||
fail("Must have result limit");
|
||||
}
|
||||
catch (IllegalArgumentException e)
|
||||
@@ -213,13 +270,13 @@ public class SOLRDAOTest extends TestCase
|
||||
public void testQueryTransactions_Time()
|
||||
{
|
||||
long startTime = System.currentTimeMillis() + (5 * 60000L); // The future
|
||||
List<Transaction> results = solrDAO.getTransactions(null, startTime, null, null, 50);
|
||||
List<Transaction> results = getTransactions(null, startTime, null, null, 50);
|
||||
assertTrue("Transaction count not limited", results.size() == 0);
|
||||
}
|
||||
|
||||
public void testQueryTransactions_Limit()
|
||||
{
|
||||
List<Transaction> results = solrDAO.getTransactions(null, 0L, null, null, 50);
|
||||
List<Transaction> results = getTransactions(null, 0L, null, null, 50);
|
||||
assertTrue("Transaction count not limited", results.size() <= 50);
|
||||
}
|
||||
|
||||
@@ -227,7 +284,7 @@ public class SOLRDAOTest extends TestCase
|
||||
{
|
||||
long startTime = 0L;
|
||||
|
||||
List<Transaction> txns = solrDAO.getTransactions(null, startTime, null, null, 500);
|
||||
List<Transaction> txns = getTransactions(null, startTime, null, null, 500);
|
||||
|
||||
List<Long> txnIds = toTxnIds(txns);
|
||||
|
||||
@@ -236,26 +293,26 @@ public class SOLRDAOTest extends TestCase
|
||||
nodeParameters.setStoreProtocol(StoreRef.PROTOCOL_WORKSPACE);
|
||||
nodeParameters.setStoreIdentifier(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE.getIdentifier());
|
||||
|
||||
List<Node> nodes = solrDAO.getNodes(nodeParameters);
|
||||
List<Node> nodes = getNodes(nodeParameters);
|
||||
assertTrue("Expect 'some' nodes associated with txns", nodes.size() > 0);
|
||||
}
|
||||
|
||||
public void testGetNodesForStore()
|
||||
{
|
||||
List<Transaction> txns = solrDAO.getTransactions(null, null, null, null, 500);
|
||||
List<Transaction> txns = getTransactions(null, null, null, null, 500);
|
||||
|
||||
List<Long> txnIds = toTxnIds(txns);
|
||||
|
||||
NodeParameters nodeParameters = new NodeParameters();
|
||||
nodeParameters.setTransactionIds(txnIds);
|
||||
|
||||
List<Node> nodes = solrDAO.getNodes(nodeParameters);
|
||||
List<Node> nodes = getNodes(nodeParameters);
|
||||
assertTrue("Expect 'some' nodes associated with txns", nodes.size() > 0);
|
||||
}
|
||||
|
||||
public void testGetNodesForTxnRange()
|
||||
{
|
||||
List<Transaction> txns = solrDAO.getTransactions(null, null, null, null, 500);
|
||||
List<Transaction> txns = getTransactions(null, null, null, null, 500);
|
||||
|
||||
List<Long> txnIds = toTxnIds(txns);
|
||||
|
||||
@@ -270,7 +327,7 @@ public class SOLRDAOTest extends TestCase
|
||||
nodeParameters.setFromTxnId(txnIds.get(0));
|
||||
nodeParameters.setToTxnId(txnIds.get(1));
|
||||
|
||||
List<Node> nodes = solrDAO.getNodes(nodeParameters);
|
||||
List<Node> nodes = getNodes(nodeParameters);
|
||||
assertTrue("Expect 'some' nodes associated with txns", nodes.size() > 0);
|
||||
}
|
||||
|
||||
|
@@ -132,6 +132,8 @@ public class NodeServiceTest
|
||||
private static SimpleCache<Serializable, Serializable> propsCache;
|
||||
private static SimpleCache<Serializable, Serializable> aspectsCache;
|
||||
|
||||
private static Long deletedTypeQNameId;
|
||||
|
||||
/** populated during setup */
|
||||
private static NodeRef rootNodeRef;
|
||||
|
||||
@@ -172,6 +174,17 @@ public class NodeServiceTest
|
||||
}
|
||||
};
|
||||
rootNodeRef = txnService.getRetryingTransactionHelper().doInTransaction(createStoreWork);
|
||||
|
||||
final QNameDAO qnameDAO = (QNameDAO) APP_CONTEXT_INIT.getApplicationContext().getBean("qnameDAO");
|
||||
deletedTypeQNameId = txnService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback<Long>()
|
||||
{
|
||||
@Override
|
||||
public Long execute() throws Throwable
|
||||
{
|
||||
return qnameDAO.getOrCreateQName(ContentModel.TYPE_DELETED).getFirst();
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1199,8 +1212,6 @@ public class NodeServiceTest
|
||||
*/
|
||||
@Test public void testConcurrentLinkToDeletedNode() throws Throwable
|
||||
{
|
||||
QNameDAO qnameDAO = (QNameDAO) APP_CONTEXT_INIT.getApplicationContext().getBean("qnameDAO");
|
||||
Long deletedTypeQNameId = qnameDAO.getOrCreateQName(ContentModel.TYPE_DELETED).getFirst();
|
||||
// First find any broken links to start with
|
||||
final NodeEntity params = new NodeEntity();
|
||||
params.setId(0L);
|
||||
@@ -1371,8 +1382,6 @@ public class NodeServiceTest
|
||||
*/
|
||||
@Test public void testLinkToDeletedNodeRecovery() throws Throwable
|
||||
{
|
||||
QNameDAO qnameDAO = (QNameDAO) APP_CONTEXT_INIT.getApplicationContext().getBean("qnameDAO");
|
||||
Long deletedTypeQNameId = qnameDAO.getOrCreateQName(ContentModel.TYPE_DELETED).getFirst();
|
||||
// First find any broken links to start with
|
||||
final NodeEntity params = new NodeEntity();
|
||||
params.setId(0L);
|
||||
@@ -1504,18 +1513,35 @@ public class NodeServiceTest
|
||||
assertTrue("The following child nodes have no parent node: " + nodeIds, nodeIds.isEmpty());
|
||||
|
||||
// check lost_found ...
|
||||
List<NodeRef> lostAndFoundNodeRefs = getLostAndFoundNodes();
|
||||
final List<NodeRef> lostAndFoundNodeRefs = getLostAndFoundNodes();
|
||||
assertFalse(lostAndFoundNodeRefs.isEmpty());
|
||||
|
||||
List<Long> lostAndFoundNodeIds = new ArrayList<Long>(lostAndFoundNodeRefs.size());
|
||||
final List<Long> lostAndFoundNodeIds = new ArrayList<Long>(lostAndFoundNodeRefs.size());
|
||||
txnService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void execute() throws Throwable
|
||||
{
|
||||
for (NodeRef nodeRef : lostAndFoundNodeRefs)
|
||||
{
|
||||
lostAndFoundNodeIds.add(nodeDAO.getNodePair(nodeRef).getFirst());
|
||||
Long nodeId = nodeDAO.getNodePair(nodeRef).getFirst();
|
||||
lostAndFoundNodeIds.add(nodeId);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
});
|
||||
|
||||
for (Long childNodeId : childNodeIds)
|
||||
for (final Long childNodeId : childNodeIds)
|
||||
{
|
||||
assertTrue("Not found: "+childNodeId, lostAndFoundNodeIds.contains(childNodeId) || !nodeDAO.exists(childNodeId));
|
||||
Boolean exists = txnService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback<Boolean>()
|
||||
{
|
||||
@Override
|
||||
public Boolean execute() throws Throwable
|
||||
{
|
||||
return nodeDAO.exists(childNodeId);
|
||||
}
|
||||
});
|
||||
assertTrue("Not found: "+childNodeId, lostAndFoundNodeIds.contains(childNodeId) || !exists);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1524,8 +1550,6 @@ public class NodeServiceTest
|
||||
*/
|
||||
@Test public void testForceNonRootNodeWithNoParentNode() throws Throwable
|
||||
{
|
||||
QNameDAO qnameDAO = (QNameDAO) APP_CONTEXT_INIT.getApplicationContext().getBean("qnameDAO");
|
||||
Long deletedTypeQNameId = qnameDAO.getOrCreateQName(ContentModel.TYPE_DELETED).getFirst();
|
||||
// First find any broken links to start with
|
||||
final NodeEntity params = new NodeEntity();
|
||||
params.setId(0L);
|
||||
@@ -1695,8 +1719,6 @@ public class NodeServiceTest
|
||||
final NodeRef workspaceRootNodeRef = nodeService.getRootNode(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE);
|
||||
final NodeRef[] nodes = new NodeRef[6];
|
||||
buildNodeHierarchy(workspaceRootNodeRef, nodes);
|
||||
Pair<Long, NodeRef> parentNodePair = nodeDAO.getNodePair(nodes[0]);
|
||||
Pair<Long, ChildAssociationRef> parentAssocPair = nodeDAO.getPrimaryParentAssoc(parentNodePair.getFirst());
|
||||
// Hook up some associations
|
||||
nodeService.addAspect(nodes[1], ContentModel.ASPECT_COPIEDFROM, null);
|
||||
nodeService.createAssociation(nodes[1], nodes[0], ContentModel.ASSOC_ORIGINAL); // Peer n1-n0
|
||||
@@ -1707,8 +1729,19 @@ public class NodeServiceTest
|
||||
QName.createQName(NamespaceService.ALFRESCO_URI, "testNodeHierarchyWalker"));
|
||||
|
||||
// Walk the hierarchy
|
||||
NodeHierarchyWalker walker = txnService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback<NodeHierarchyWalker>()
|
||||
{
|
||||
@Override
|
||||
public NodeHierarchyWalker execute() throws Throwable
|
||||
{
|
||||
Pair<Long, NodeRef> parentNodePair = nodeDAO.getNodePair(nodes[0]);
|
||||
Pair<Long, ChildAssociationRef> parentAssocPair = nodeDAO.getPrimaryParentAssoc(parentNodePair.getFirst());
|
||||
|
||||
NodeHierarchyWalker walker = new NodeHierarchyWalker(nodeDAO);
|
||||
walker.walkHierarchy(parentNodePair, parentAssocPair);
|
||||
return walker;
|
||||
}
|
||||
}, true);
|
||||
|
||||
List<VisitedNode> nodesLeafFirst = walker.getNodes(true);
|
||||
assertEquals("Unexpected number of nodes visited", 6, nodesLeafFirst.size());
|
||||
|
@@ -122,25 +122,25 @@ public class SOLRTrackingComponentTest extends TestCase
|
||||
rootNodeRef = nodeService.getRootNode(storeRef);
|
||||
}
|
||||
|
||||
public void testAclChnageSetLimits()
|
||||
public void testAclChangeSetLimits()
|
||||
{
|
||||
List<AclChangeSet> aclChangeSets = solrTrackingComponent.getAclChangeSets(null, null, null, null, 50);
|
||||
List<AclChangeSet> aclChangeSets = getAclChangeSets(null, null, null, null, 50);
|
||||
|
||||
// First
|
||||
Long first = aclChangeSets.get(0).getId();
|
||||
Long firstTime = aclChangeSets.get(1).getId();
|
||||
List<AclChangeSet> testSets = solrTrackingComponent.getAclChangeSets(first, null, first, null, 50);
|
||||
List<AclChangeSet> testSets = getAclChangeSets(first, null, first, null, 50);
|
||||
assertEquals(0, testSets.size());
|
||||
testSets = solrTrackingComponent.getAclChangeSets(first, firstTime, first+1, firstTime, 50);
|
||||
testSets = getAclChangeSets(first, firstTime, first+1, firstTime, 50);
|
||||
assertEquals(0, testSets.size());
|
||||
testSets = solrTrackingComponent.getAclChangeSets(first, firstTime, first+1, firstTime+1, 50);
|
||||
testSets = getAclChangeSets(first, firstTime, first+1, firstTime+1, 50);
|
||||
assertEquals(0, testSets.size());
|
||||
|
||||
}
|
||||
|
||||
public void testGetAcls_Simple()
|
||||
{
|
||||
List<AclChangeSet> cs = solrTrackingComponent.getAclChangeSets(null, null, null, null, 50);
|
||||
List<AclChangeSet> cs = getAclChangeSets(null, null, null, null, 50);
|
||||
assertTrue("Expected results to be limited in number", cs.size() <= 50);
|
||||
int totalAcls = 0;
|
||||
for (AclChangeSet aclChangeSet : cs)
|
||||
@@ -151,7 +151,7 @@ public class SOLRTrackingComponentTest extends TestCase
|
||||
|
||||
for (AclChangeSet aclChangeSet : cs)
|
||||
{
|
||||
List<Acl> acls = solrTrackingComponent.getAcls(Arrays.asList(new Long[]{aclChangeSet.getId()}), null, 200);
|
||||
List<Acl> acls = getAcls(Arrays.asList(new Long[]{aclChangeSet.getId()}), null, 200);
|
||||
assertEquals(aclChangeSet.getAclCount(), acls.size());
|
||||
totalAclsCheck += acls.size();
|
||||
}
|
||||
@@ -167,7 +167,7 @@ public class SOLRTrackingComponentTest extends TestCase
|
||||
SOLRTest st = new SOLRTest3(txnHelper, fileFolderService, nodeDAO, qnameDAO, nodeService, dictionaryService, rootNodeRef, "testGetNodeMetaData", true, true);
|
||||
List<Long> createdTransactions = st.buildTransactions();
|
||||
|
||||
List<Transaction> txns = solrTrackingComponent.getTransactions(null, startTime-1000, null, null, 100);
|
||||
List<Transaction> txns = getTransactions(null, startTime-1000, null, null, 100);
|
||||
|
||||
int[] updates = new int[] {1, 1};
|
||||
int[] deletes = new int[] {0, 1};
|
||||
@@ -196,6 +196,82 @@ public class SOLRTrackingComponentTest extends TestCase
|
||||
return txIds;
|
||||
}
|
||||
|
||||
/**
|
||||
* Call {@link SOLRTrackingComponent#getTransactions(Long, Long, Long, Long, int)} in a transaction
|
||||
*/
|
||||
private List<Transaction> getTransactions(
|
||||
final Long minTxnId, final Long fromCommitTime,
|
||||
final Long maxTxnId, final Long toCommitTimeint,
|
||||
final int maxResults)
|
||||
{
|
||||
RetryingTransactionCallback<List<Transaction>> callback = new RetryingTransactionCallback<List<Transaction>>()
|
||||
{
|
||||
@Override
|
||||
public List<Transaction> execute() throws Throwable
|
||||
{
|
||||
return solrTrackingComponent.getTransactions(minTxnId, fromCommitTime, maxTxnId, toCommitTimeint, maxResults);
|
||||
}
|
||||
};
|
||||
return transactionService.getRetryingTransactionHelper().doInTransaction(callback, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Call {@link SOLRTrackingComponent#getNodes(NodeParameters, NodeQueryCallback)} in a transaction
|
||||
*/
|
||||
private void getNodes(final NodeParameters nodeParameters, final SOLRTest bt)
|
||||
{
|
||||
long startTime = System.currentTimeMillis();
|
||||
transactionService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void execute() throws Throwable
|
||||
{
|
||||
solrTrackingComponent.getNodes(nodeParameters, bt);
|
||||
return null;
|
||||
}
|
||||
}, true);
|
||||
long endTime = System.currentTimeMillis();
|
||||
|
||||
bt.runNodeChecks(nodeParameters.getMaxResults());
|
||||
|
||||
logger.debug("Got " + bt.getActualNodeCount() + " nodes in " + (endTime - startTime) + " ms");
|
||||
}
|
||||
|
||||
/**
|
||||
* Call {@link SOLRTrackingComponent#getAcls(List, Long, int)} in a transaction
|
||||
*/
|
||||
private List<Acl> getAcls(final List<Long> aclChangeSetIds, final Long minAclId, final int maxResults)
|
||||
{
|
||||
RetryingTransactionCallback<List<Acl>> callback = new RetryingTransactionCallback<List<Acl>>()
|
||||
{
|
||||
@Override
|
||||
public List<Acl> execute() throws Throwable
|
||||
{
|
||||
return solrTrackingComponent.getAcls(aclChangeSetIds, minAclId, maxResults);
|
||||
}
|
||||
};
|
||||
return transactionService.getRetryingTransactionHelper().doInTransaction(callback, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Call {@link SOLRTrackingComponent#getAclChangeSets(Long, Long, Long, Long, int)} in a transaction
|
||||
*/
|
||||
private List<AclChangeSet> getAclChangeSets(
|
||||
final Long minAclChangeSetId, final Long fromCommitTime,
|
||||
final Long maxAclChangeSetId, final Long toCommitTime,
|
||||
final int maxResults)
|
||||
{
|
||||
RetryingTransactionCallback<List<AclChangeSet>> callback = new RetryingTransactionCallback<List<AclChangeSet>>()
|
||||
{
|
||||
@Override
|
||||
public List<AclChangeSet> execute() throws Throwable
|
||||
{
|
||||
return solrTrackingComponent.getAclChangeSets(minAclChangeSetId, fromCommitTime, maxAclChangeSetId, toCommitTime, maxResults);
|
||||
}
|
||||
};
|
||||
return transactionService.getRetryingTransactionHelper().doInTransaction(callback, true);
|
||||
}
|
||||
|
||||
public void testGetTransactionLimits()
|
||||
{
|
||||
long startTime = System.currentTimeMillis();
|
||||
@@ -205,7 +281,7 @@ public class SOLRTrackingComponentTest extends TestCase
|
||||
|
||||
// All
|
||||
|
||||
List<Transaction> txns = solrTrackingComponent.getTransactions(null, startTime-1000, null, null, 100);
|
||||
List<Transaction> txns = getTransactions(null, startTime-1000, null, null, 100);
|
||||
|
||||
int[] updates = new int[] {1, 1};
|
||||
int[] deletes = new int[] {0, 1};
|
||||
@@ -218,28 +294,28 @@ public class SOLRTrackingComponentTest extends TestCase
|
||||
|
||||
// First
|
||||
|
||||
txns = solrTrackingComponent.getTransactions(first, null, first, null, 50);
|
||||
txns = getTransactions(first, null, first, null, 50);
|
||||
assertEquals(0, txns.size());
|
||||
|
||||
txns = solrTrackingComponent.getTransactions(first, null, first+1, null, 50);
|
||||
txns = getTransactions(first, null, first+1, null, 50);
|
||||
updates = new int[] {1};
|
||||
deletes = new int[] {0};
|
||||
List<Long> createdTransactionFirst = new ArrayList<Long>(1);
|
||||
createdTransactionFirst.add(createdTransactions.get(0));
|
||||
checkTransactions(txns, createdTransactionFirst, updates, deletes);
|
||||
|
||||
txns = solrTrackingComponent.getTransactions(first, firstTime, first+1, firstTime+1, 50);
|
||||
txns = getTransactions(first, firstTime, first+1, firstTime+1, 50);
|
||||
checkTransactions(txns, createdTransactionFirst, updates, deletes);
|
||||
|
||||
txns = solrTrackingComponent.getTransactions(first, firstTime-1, first+1, firstTime, 50);
|
||||
txns = getTransactions(first, firstTime-1, first+1, firstTime, 50);
|
||||
assertEquals(0, txns.size());
|
||||
|
||||
// Last
|
||||
|
||||
txns = solrTrackingComponent.getTransactions(last, null, last, null, 50);
|
||||
txns = getTransactions(last, null, last, null, 50);
|
||||
assertEquals(0, txns.size());
|
||||
|
||||
txns = solrTrackingComponent.getTransactions(last, null, last+1, null, 50);
|
||||
txns = getTransactions(last, null, last+1, null, 50);
|
||||
updates = new int[] {1};
|
||||
deletes = new int[] {1};
|
||||
List<Long> createdTransactionLast = new ArrayList<Long>(1);
|
||||
@@ -247,10 +323,10 @@ public class SOLRTrackingComponentTest extends TestCase
|
||||
checkTransactions(txns, createdTransactionLast, updates, deletes);
|
||||
|
||||
|
||||
txns = solrTrackingComponent.getTransactions(last, lastTime, last+1, lastTime+1, 50);
|
||||
txns = getTransactions(last, lastTime, last+1, lastTime+1, 50);
|
||||
checkTransactions(txns, createdTransactionLast, updates, deletes);
|
||||
|
||||
txns = solrTrackingComponent.getTransactions(last, lastTime-1, last+1, lastTime, 50);
|
||||
txns = getTransactions(last, lastTime-1, last+1, lastTime, 50);
|
||||
assertEquals(0, txns.size());
|
||||
}
|
||||
|
||||
@@ -261,7 +337,7 @@ public class SOLRTrackingComponentTest extends TestCase
|
||||
SOLRTest st = new SOLRTestResidualProperties(txnHelper, fileFolderService, nodeDAO, qnameDAO, nodeService, dictionaryService, rootNodeRef, "testNodeMetaDataNullPropertyValue", true, true);
|
||||
List<Long> createdTransactions = st.buildTransactions();
|
||||
|
||||
List<Transaction> txns = solrTrackingComponent.getTransactions(null, startTime-1000, null, null, 100);
|
||||
List<Transaction> txns = getTransactions(null, startTime-1000, null, null, 100);
|
||||
|
||||
int[] updates = new int[] {2};
|
||||
int[] deletes = new int[] {0};
|
||||
@@ -285,7 +361,7 @@ public class SOLRTrackingComponentTest extends TestCase
|
||||
SOLRTest st = new SOLRTest100Nodes(txnHelper, fileFolderService, nodeDAO, qnameDAO, nodeService, dictionaryService, rootNodeRef, "testGetNodeMetaData", true, true);
|
||||
List<Long> createdTransactions = st.buildTransactions();
|
||||
|
||||
List<Transaction> txns = solrTrackingComponent.getTransactions(null, startTime-1000, null, null, 100);
|
||||
List<Transaction> txns = getTransactions(null, startTime-1000, null, null, 100);
|
||||
|
||||
int[] updates = new int[] {100};
|
||||
int[] deletes = new int[] {0};
|
||||
@@ -314,7 +390,7 @@ public class SOLRTrackingComponentTest extends TestCase
|
||||
SOLRTest st = new SOLRTest4(txnHelper, fileFolderService, nodeDAO, qnameDAO, nodeService, dictionaryService, rootNodeRef, "testNodeMetaDataManyNodes", true, false);
|
||||
List<Long> createdTransactions = st.buildTransactions();
|
||||
|
||||
List<Transaction> txns = solrTrackingComponent.getTransactions(null, fromCommitTime-1000, null, null, 100);
|
||||
List<Transaction> txns = getTransactions(null, fromCommitTime-1000, null, null, 100);
|
||||
|
||||
int[] updates = new int[] {2001};
|
||||
int[] deletes = new int[] {0};
|
||||
@@ -371,7 +447,7 @@ public class SOLRTrackingComponentTest extends TestCase
|
||||
SOLRTest st = new SOLRTest4(txnHelper, fileFolderService, nodeDAO, qnameDAO, nodeService, dictionaryService, rootNodeRef, "testNodeMetaDataManyNodes", true, false);
|
||||
List<Long> createdTransactions = st.buildTransactions();
|
||||
|
||||
List<Transaction> txns = solrTrackingComponent.getTransactions(null, fromCommitTime-1000, null, null, 100);
|
||||
List<Transaction> txns = getTransactions(null, fromCommitTime-1000, null, null, 100);
|
||||
|
||||
int[] updates = new int[] {2001};
|
||||
int[] deletes = new int[] {0};
|
||||
@@ -401,7 +477,7 @@ public class SOLRTrackingComponentTest extends TestCase
|
||||
SOLRTest st = new SOLRTest5(txnHelper, fileFolderService, nodeDAO, qnameDAO, nodeService, dictionaryService, rootNodeRef, "testNodeMetaDataNullPropertyValue", true, true);
|
||||
List<Long> createdTransactions = st.buildTransactions();
|
||||
|
||||
List<Transaction> txns = solrTrackingComponent.getTransactions(null, fromCommitTime-1000, null, null, 100);
|
||||
List<Transaction> txns = getTransactions(null, fromCommitTime-1000, null, null, 100);
|
||||
|
||||
int[] updates = new int[] {11};
|
||||
int[] deletes = new int[] {0};
|
||||
@@ -423,7 +499,7 @@ public class SOLRTrackingComponentTest extends TestCase
|
||||
SOLRTest st = new SOLRTest1(txnHelper, fileFolderService, nodeDAO, qnameDAO, nodeService, dictionaryService, rootNodeRef, "testFilters", true, true);
|
||||
List<Long> createdTransactions = st.buildTransactions();
|
||||
|
||||
List<Transaction> txns = solrTrackingComponent.getTransactions(null, startTime-1000, null, null, 100);
|
||||
List<Transaction> txns = getTransactions(null, startTime-1000, null, null, 100);
|
||||
|
||||
int[] updates = new int[] {1, 1};
|
||||
int[] deletes = new int[] {0, 1};
|
||||
@@ -672,17 +748,6 @@ public class SOLRTrackingComponentTest extends TestCase
|
||||
return matchedTransactions;
|
||||
}
|
||||
|
||||
private void getNodes(NodeParameters nodeParameters, SOLRTest bt)
|
||||
{
|
||||
long startTime = System.currentTimeMillis();
|
||||
solrTrackingComponent.getNodes(nodeParameters, bt);
|
||||
long endTime = System.currentTimeMillis();
|
||||
|
||||
bt.runNodeChecks(nodeParameters.getMaxResults());
|
||||
|
||||
logger.debug("Got " + bt.getActualNodeCount() + " nodes in " + (endTime - startTime) + " ms");
|
||||
}
|
||||
|
||||
private void getNodeMetaData(final NodeMetaDataParameters params, final MetaDataResultsFilter filter, final SOLRTest bt)
|
||||
{
|
||||
bt.clearNodesMetaData();
|
||||
|
@@ -960,10 +960,18 @@ public class MultiTDemoTest extends TestCase
|
||||
AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); // authenticate as super-admin
|
||||
|
||||
// find person
|
||||
NodeRef personNodeRef = personService.getPerson(userName);
|
||||
final NodeRef personNodeRef = personService.getPerson(userName);
|
||||
// clear user usage
|
||||
nodeService.setProperty(personNodeRef, ContentModel.PROP_SIZE_CURRENT, null);
|
||||
transactionService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void execute() throws Throwable
|
||||
{
|
||||
usageService.deleteDeltas(personNodeRef);
|
||||
return null;
|
||||
}
|
||||
}, false);
|
||||
}
|
||||
|
||||
|
||||
|
@@ -579,28 +579,6 @@ public class TransferServiceToBeRefactoredTest extends BaseAlfrescoSpringTest
|
||||
}
|
||||
}
|
||||
|
||||
private UnitTestTransferManifestNodeFactory unitTestKludgeToTransferGuestHomeToCompanyHome()
|
||||
{
|
||||
/**
|
||||
* For unit test
|
||||
* - replace the HTTP transport with the in-process transport
|
||||
* - replace the node factory with one that will map node refs, paths etc.
|
||||
*/
|
||||
TransferTransmitter transmitter = new UnitTestInProcessTransmitterImpl(this.receiver, this.contentService, transactionService);
|
||||
transferServiceImpl.setTransmitter(transmitter);
|
||||
UnitTestTransferManifestNodeFactory testNodeFactory = new UnitTestTransferManifestNodeFactory(this.transferManifestNodeFactory);
|
||||
transferServiceImpl.setTransferManifestNodeFactory(testNodeFactory);
|
||||
List<Pair<Path, Path>> pathMap = testNodeFactory.getPathMap();
|
||||
// Map company_home/guest_home to company_home so tranferred nodes and moved "up" one level.
|
||||
pathMap.add(new Pair<Path, Path>(PathHelper.stringToPath(GUEST_HOME_XPATH_QUERY), PathHelper.stringToPath(COMPANY_HOME_XPATH_QUERY)));
|
||||
|
||||
DescriptorService mockedDescriptorService = getMockDescriptorService(REPO_ID_A);
|
||||
transferServiceImpl.setDescriptorService(mockedDescriptorService);
|
||||
|
||||
return testNodeFactory;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Test the transfer method behaviour with respect to sync folders - sending a complete set
|
||||
* of nodes and implying delete from the absence of an association.
|
||||
@@ -644,7 +622,6 @@ public class TransferServiceToBeRefactoredTest extends BaseAlfrescoSpringTest
|
||||
setDefaultRollback(false);
|
||||
|
||||
final String CONTENT_TITLE = "ContentTitle";
|
||||
final String CONTENT_TITLE_UPDATED = "ContentTitleUpdated";
|
||||
final Locale CONTENT_LOCALE = Locale.GERMAN;
|
||||
final String CONTENT_STRING = "Hello";
|
||||
|
||||
@@ -657,9 +634,17 @@ public class TransferServiceToBeRefactoredTest extends BaseAlfrescoSpringTest
|
||||
transferServiceImpl.setTransmitter(transmitter);
|
||||
final UnitTestTransferManifestNodeFactory testNodeFactory = new UnitTestTransferManifestNodeFactory(this.transferManifestNodeFactory);
|
||||
transferServiceImpl.setTransferManifestNodeFactory(testNodeFactory);
|
||||
List<Pair<Path, Path>> pathMap = testNodeFactory.getPathMap();
|
||||
final List<Pair<Path, Path>> pathMap = testNodeFactory.getPathMap();
|
||||
transactionService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void execute() throws Throwable
|
||||
{
|
||||
// Map company_home/guest_home to company_home so tranferred nodes and moved "up" one level.
|
||||
pathMap.add(new Pair<Path, Path>(PathHelper.stringToPath(GUEST_HOME_XPATH_QUERY), PathHelper.stringToPath(COMPANY_HOME_XPATH_QUERY)));
|
||||
return null;
|
||||
}
|
||||
});
|
||||
|
||||
DescriptorService mockedDescriptorService = getMockDescriptorService(REPO_ID_A);
|
||||
transferServiceImpl.setDescriptorService(mockedDescriptorService);
|
||||
@@ -1354,7 +1339,6 @@ public class TransferServiceToBeRefactoredTest extends BaseAlfrescoSpringTest
|
||||
setDefaultRollback(false);
|
||||
|
||||
final String CONTENT_TITLE = "ContentTitle";
|
||||
final String CONTENT_TITLE_UPDATED = "ContentTitleUpdated";
|
||||
final Locale CONTENT_LOCALE = Locale.JAPAN;
|
||||
final String CONTENT_STRING = "Hello";
|
||||
|
||||
@@ -1593,6 +1577,7 @@ public class TransferServiceToBeRefactoredTest extends BaseAlfrescoSpringTest
|
||||
assertTrue("node B9 is not alien", (Boolean) nodeService.hasAspect(testData.B9NodeRef, TransferModel.ASPECT_ALIEN));
|
||||
|
||||
// Temp code
|
||||
@SuppressWarnings("unchecked")
|
||||
List<String> invaders = (List<String>) nodeService.getProperty(A1destNodeRef, TransferModel.PROP_INVADED_BY);
|
||||
assertTrue("invaders contains local repository Id", invaders.contains(localRepositoryId));
|
||||
assertFalse("invaders contains REPO_ID_A", invaders.contains(REPO_ID_A));
|
||||
@@ -1619,6 +1604,7 @@ public class TransferServiceToBeRefactoredTest extends BaseAlfrescoSpringTest
|
||||
{
|
||||
NodeRef A1destNodeRef = testNodeFactory.getMappedNodeRef(testData.A1NodeRef);
|
||||
NodeRef A3destNodeRef = testNodeFactory.getMappedNodeRef(testData.A3NodeRef);
|
||||
@SuppressWarnings({ "unused", "unchecked" })
|
||||
List<String> invaders = (List<String>) nodeService.getProperty(A1destNodeRef, TransferModel.PROP_INVADED_BY);
|
||||
assertTrue("dest node ref does not exist", nodeService.exists(A1destNodeRef));
|
||||
assertFalse("node A1 is still alien", (Boolean) nodeService.hasAspect(A1destNodeRef, TransferModel.ASPECT_ALIEN));
|
||||
@@ -2043,9 +2029,6 @@ public class TransferServiceToBeRefactoredTest extends BaseAlfrescoSpringTest
|
||||
setDefaultRollback(false);
|
||||
|
||||
final String CONTENT_TITLE = "ContentTitle";
|
||||
final String CONTENT_TITLE_UPDATED = "ContentTitleUpdated";
|
||||
final Locale CONTENT_LOCALE = Locale.JAPAN;
|
||||
final String CONTENT_STRING = "Hello";
|
||||
|
||||
/**
|
||||
* Now go ahead and create our first transfer target
|
||||
@@ -2054,6 +2037,7 @@ public class TransferServiceToBeRefactoredTest extends BaseAlfrescoSpringTest
|
||||
|
||||
class TestData
|
||||
{
|
||||
@SuppressWarnings("unused")
|
||||
TransferTarget transferMe;
|
||||
NodeRef S0NodeRef;
|
||||
NodeRef A0NodeRef;
|
||||
@@ -2134,8 +2118,16 @@ public class TransferServiceToBeRefactoredTest extends BaseAlfrescoSpringTest
|
||||
transferServiceImpl.setTransmitter(transmitter);
|
||||
final UnitTestTransferManifestNodeFactory testNodeFactory = new UnitTestTransferManifestNodeFactory(this.transferManifestNodeFactory);
|
||||
transferServiceImpl.setTransferManifestNodeFactory(testNodeFactory);
|
||||
List<Pair<Path, Path>> pathMap = testNodeFactory.getPathMap();
|
||||
pathMap.add(new Pair(nodeService.getPath(testData.A0NodeRef), nodeService.getPath(testData.B1NodeRef)));
|
||||
final List<Pair<Path, Path>> pathMap = testNodeFactory.getPathMap();
|
||||
transactionService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void execute() throws Throwable
|
||||
{
|
||||
pathMap.add(new Pair<Path, Path>(nodeService.getPath(testData.A0NodeRef), nodeService.getPath(testData.B1NodeRef)));
|
||||
return null;
|
||||
}
|
||||
});
|
||||
DescriptorService mockedDescriptorService = getMockDescriptorService(REPO_ID_A);
|
||||
transferServiceImpl.setDescriptorService(mockedDescriptorService);
|
||||
|
||||
@@ -2227,6 +2219,7 @@ public class TransferServiceToBeRefactoredTest extends BaseAlfrescoSpringTest
|
||||
public Void execute() throws Throwable
|
||||
{
|
||||
NodeRef A1destNodeRef = testNodeFactory.getMappedNodeRef(testData.A1NodeRef);
|
||||
@SuppressWarnings({ "unchecked", "unused" })
|
||||
List<String> invaders = (List<String>) nodeService.getProperty(A1destNodeRef, TransferModel.PROP_INVADED_BY);
|
||||
assertTrue("dest node ref does not exist", nodeService.exists(A1destNodeRef));
|
||||
assertFalse("node A1 is still alien", (Boolean) nodeService.hasAspect(A1destNodeRef, TransferModel.ASPECT_ALIEN));
|
||||
@@ -2305,6 +2298,7 @@ public class TransferServiceToBeRefactoredTest extends BaseAlfrescoSpringTest
|
||||
public Void execute() throws Throwable
|
||||
{
|
||||
NodeRef A1destNodeRef = testNodeFactory.getMappedNodeRef(testData.A1NodeRef);
|
||||
@SuppressWarnings({ "unused", "unchecked" })
|
||||
List<String> invaders = (List<String>) nodeService.getProperty(A1destNodeRef, TransferModel.PROP_INVADED_BY);
|
||||
assertTrue("dest node ref does not exist", nodeService.exists(A1destNodeRef));
|
||||
assertFalse("node A1 is still alien", (Boolean) nodeService.hasAspect(A1destNodeRef, TransferModel.ASPECT_ALIEN));
|
||||
@@ -2371,7 +2365,6 @@ public class TransferServiceToBeRefactoredTest extends BaseAlfrescoSpringTest
|
||||
setDefaultRollback(false);
|
||||
|
||||
final String CONTENT_TITLE = "ContentTitle";
|
||||
final String CONTENT_TITLE_UPDATED = "ContentTitleUpdated";
|
||||
final Locale CONTENT_LOCALE = Locale.GERMAN;
|
||||
final String CONTENT_STRING = "Hello";
|
||||
|
||||
@@ -2714,8 +2707,6 @@ public class TransferServiceToBeRefactoredTest extends BaseAlfrescoSpringTest
|
||||
setDefaultRollback(false);
|
||||
|
||||
final String CONTENT_TITLE = "ContentTitle";
|
||||
final String CONTENT_TITLE_UPDATED = "ContentTitleUpdated";
|
||||
final String CONTENT_NAME = "Demo Node 1";
|
||||
final Locale CONTENT_LOCALE = Locale.GERMAN;
|
||||
final String CONTENT_STRING = "The quick brown fox";
|
||||
final Set<NodeRef> nodes = new HashSet<NodeRef>();
|
||||
@@ -2733,6 +2724,7 @@ public class TransferServiceToBeRefactoredTest extends BaseAlfrescoSpringTest
|
||||
|
||||
ChildAssociationRef child;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
TransferTarget transferMe;
|
||||
}
|
||||
final TestData testData = new TestData();
|
||||
@@ -3125,7 +3117,6 @@ public class TransferServiceToBeRefactoredTest extends BaseAlfrescoSpringTest
|
||||
setDefaultRollback(false);
|
||||
|
||||
final String CONTENT_TITLE = "ContentTitle";
|
||||
final String CONTENT_TITLE_UPDATED = "ContentTitleUpdated";
|
||||
final Locale CONTENT_LOCALE = Locale.GERMAN;
|
||||
final String CONTENT_STRING = "Hello";
|
||||
|
||||
@@ -3153,6 +3144,7 @@ public class TransferServiceToBeRefactoredTest extends BaseAlfrescoSpringTest
|
||||
final String targetName = "testTransferSyncNodes";
|
||||
class TestData
|
||||
{
|
||||
@SuppressWarnings("unused")
|
||||
TransferTarget transferMe;
|
||||
NodeRef A1NodeRef;
|
||||
NodeRef A2NodeRef;
|
||||
@@ -3444,14 +3436,12 @@ public class TransferServiceToBeRefactoredTest extends BaseAlfrescoSpringTest
|
||||
setDefaultRollback(false);
|
||||
|
||||
final String CONTENT_TITLE = "ContentTitle";
|
||||
final String CONTENT_TITLE_UPDATED = "ContentTitleUpdated";
|
||||
final Locale CONTENT_LOCALE = Locale.GERMAN;
|
||||
final String CONTENT_STRING = "Hello";
|
||||
|
||||
final String targetName = "testMultiRepoTransfer";
|
||||
|
||||
class TestData
|
||||
{
|
||||
@SuppressWarnings("unused")
|
||||
TransferTarget transferMe;
|
||||
NodeRef S0NodeRef;
|
||||
NodeRef A1NodeRef;
|
||||
@@ -3584,12 +3574,20 @@ public class TransferServiceToBeRefactoredTest extends BaseAlfrescoSpringTest
|
||||
transferServiceImpl.setTransmitter(transmitter);
|
||||
final UnitTestTransferManifestNodeFactory testNodeFactory = new UnitTestTransferManifestNodeFactory(this.transferManifestNodeFactory);
|
||||
transferServiceImpl.setTransferManifestNodeFactory(testNodeFactory);
|
||||
List<Pair<Path, Path>> pathMap = testNodeFactory.getPathMap();
|
||||
final List<Pair<Path, Path>> pathMap = testNodeFactory.getPathMap();
|
||||
// Map Project A/images to Project B/images
|
||||
// Map Project C/images to Project A/images
|
||||
transactionService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void execute() throws Throwable
|
||||
{
|
||||
nodeService.getPath(testData.A2NodeRef);
|
||||
pathMap.add(new Pair(nodeService.getPath(testData.A1NodeRef), nodeService.getPath(testData.B1NodeRef)));
|
||||
pathMap.add(new Pair(nodeService.getPath(testData.C1NodeRef), nodeService.getPath(testData.B1NodeRef)));
|
||||
pathMap.add(new Pair<Path, Path>(nodeService.getPath(testData.A1NodeRef), nodeService.getPath(testData.B1NodeRef)));
|
||||
pathMap.add(new Pair<Path, Path>(nodeService.getPath(testData.C1NodeRef), nodeService.getPath(testData.B1NodeRef)));
|
||||
return null;
|
||||
}
|
||||
}, true);
|
||||
{
|
||||
DescriptorService mockedDescriptorService = getMockDescriptorService(REPO_ID_A);
|
||||
transferServiceImpl.setDescriptorService(mockedDescriptorService);
|
||||
@@ -3873,13 +3871,11 @@ public class TransferServiceToBeRefactoredTest extends BaseAlfrescoSpringTest
|
||||
final String localRepositoryId = descriptorService.getCurrentRepositoryDescriptor().getId();
|
||||
|
||||
final String CONTENT_TITLE = "ContentTitle";
|
||||
final String CONTENT_TITLE_UPDATED = "ContentTitleUpdated";
|
||||
final Locale CONTENT_LOCALE = Locale.GERMAN;
|
||||
final String CONTENT_STRING = "Hello";
|
||||
|
||||
final String targetName = "testMultiRepoTransferMove";
|
||||
class TestData
|
||||
{
|
||||
@SuppressWarnings("unused")
|
||||
TransferTarget transferMe;
|
||||
NodeRef S0NodeRef;
|
||||
NodeRef A1NodeRef;
|
||||
@@ -4015,11 +4011,19 @@ public class TransferServiceToBeRefactoredTest extends BaseAlfrescoSpringTest
|
||||
transferServiceImpl.setTransmitter(transmitter);
|
||||
final UnitTestTransferManifestNodeFactory testNodeFactory = new UnitTestTransferManifestNodeFactory(this.transferManifestNodeFactory);
|
||||
transferServiceImpl.setTransferManifestNodeFactory(testNodeFactory);
|
||||
List<Pair<Path, Path>> pathMap = testNodeFactory.getPathMap();
|
||||
final List<Pair<Path, Path>> pathMap = testNodeFactory.getPathMap();
|
||||
// Map Project A to Project B
|
||||
// Map Project C to Project B
|
||||
pathMap.add(new Pair(nodeService.getPath(testData.A1NodeRef), nodeService.getPath(testData.B1NodeRef)));
|
||||
pathMap.add(new Pair(nodeService.getPath(testData.C1NodeRef), nodeService.getPath(testData.B1NodeRef)));
|
||||
transactionService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void execute() throws Throwable
|
||||
{
|
||||
pathMap.add(new Pair<Path, Path>(nodeService.getPath(testData.A1NodeRef), nodeService.getPath(testData.B1NodeRef)));
|
||||
pathMap.add(new Pair<Path, Path>(nodeService.getPath(testData.C1NodeRef), nodeService.getPath(testData.B1NodeRef)));
|
||||
return null;
|
||||
}
|
||||
}, true);
|
||||
|
||||
DescriptorService mockedDescriptorService = getMockDescriptorService(REPO_ID_C);
|
||||
transferServiceImpl.setDescriptorService(mockedDescriptorService);
|
||||
@@ -4200,6 +4204,7 @@ public class TransferServiceToBeRefactoredTest extends BaseAlfrescoSpringTest
|
||||
assertTrue("A5 dest is not invaded", nodeService.hasAspect(testNodeFactory.getMappedNodeRef(testData.A5NodeRef), TransferModel.ASPECT_ALIEN));
|
||||
assertTrue("C2 dest is not invaded", nodeService.hasAspect(testNodeFactory.getMappedNodeRef(testData.C2NodeRef), TransferModel.ASPECT_ALIEN));
|
||||
assertFalse("C3 dest is still invaded", nodeService.hasAspect(testNodeFactory.getMappedNodeRef(testData.C3NodeRef), TransferModel.ASPECT_ALIEN));
|
||||
@SuppressWarnings("unchecked")
|
||||
List<String> invaders = (List<String>) nodeService.getProperty(testNodeFactory.getMappedNodeRef(testData.C2NodeRef), TransferModel.PROP_INVADED_BY);
|
||||
assertTrue("invaders is too small", invaders.size() > 1);
|
||||
assertTrue("invaders does not contain REPO A", invaders.contains(REPO_ID_A));
|
||||
@@ -4251,6 +4256,7 @@ public class TransferServiceToBeRefactoredTest extends BaseAlfrescoSpringTest
|
||||
assertFalse("C2 dest is still invaded", nodeService.hasAspect(testNodeFactory.getMappedNodeRef(testData.C2NodeRef), TransferModel.ASPECT_ALIEN));
|
||||
assertFalse("C3 dest is still invaded", nodeService.hasAspect(testNodeFactory.getMappedNodeRef(testData.C3NodeRef), TransferModel.ASPECT_ALIEN));
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
List<String> invaders = (List<String>) nodeService.getProperty(testNodeFactory.getMappedNodeRef(testData.A4NodeRef), TransferModel.PROP_INVADED_BY);
|
||||
assertTrue("invaders is too big", invaders.size() < 2);
|
||||
assertFalse("invaders contains REPO A", invaders.contains(REPO_ID_A));
|
||||
@@ -4283,6 +4289,7 @@ public class TransferServiceToBeRefactoredTest extends BaseAlfrescoSpringTest
|
||||
final String targetName = "testCopyTransferredNode";
|
||||
class TestData
|
||||
{
|
||||
@SuppressWarnings("unused")
|
||||
TransferTarget transferMe;
|
||||
NodeRef S0NodeRef;
|
||||
NodeRef A1NodeRef;
|
||||
@@ -4377,10 +4384,18 @@ public class TransferServiceToBeRefactoredTest extends BaseAlfrescoSpringTest
|
||||
transferServiceImpl.setTransmitter(transmitter);
|
||||
final UnitTestTransferManifestNodeFactory testNodeFactory = new UnitTestTransferManifestNodeFactory(this.transferManifestNodeFactory);
|
||||
transferServiceImpl.setTransferManifestNodeFactory(testNodeFactory);
|
||||
List<Pair<Path, Path>> pathMap = testNodeFactory.getPathMap();
|
||||
final List<Pair<Path, Path>> pathMap = testNodeFactory.getPathMap();
|
||||
|
||||
transactionService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void execute() throws Throwable
|
||||
{
|
||||
// Map Project A to Project B
|
||||
pathMap.add(new Pair(nodeService.getPath(testData.A1NodeRef), nodeService.getPath(testData.B1NodeRef)));
|
||||
pathMap.add(new Pair<Path, Path>(nodeService.getPath(testData.A1NodeRef), nodeService.getPath(testData.B1NodeRef)));
|
||||
return null;
|
||||
}
|
||||
});
|
||||
|
||||
DescriptorService mockedDescriptorService = getMockDescriptorService(REPO_ID_A);
|
||||
transferServiceImpl.setDescriptorService(mockedDescriptorService);
|
||||
@@ -4428,6 +4443,7 @@ public class TransferServiceToBeRefactoredTest extends BaseAlfrescoSpringTest
|
||||
assertFalse("copied node still has transferred aspect", nodeService.hasAspect(copiedNode, TransferModel.ASPECT_TRANSFERRED));
|
||||
assertNull("copied node still has from repository id", nodeService.getProperty(copiedNode, TransferModel.PROP_FROM_REPOSITORY_ID));
|
||||
assertNull("copied node still has original repository id", nodeService.getProperty(copiedNode, TransferModel.PROP_REPOSITORY_ID));
|
||||
@SuppressWarnings("unused")
|
||||
Set<QName> aspects = nodeService.getAspects(copiedNode);
|
||||
|
||||
/**
|
||||
@@ -4503,13 +4519,11 @@ public class TransferServiceToBeRefactoredTest extends BaseAlfrescoSpringTest
|
||||
setDefaultRollback(false);
|
||||
|
||||
final String CONTENT_TITLE = "ContentTitle";
|
||||
final String CONTENT_TITLE_UPDATED = "ContentTitleUpdated";
|
||||
final Locale CONTENT_LOCALE = Locale.GERMAN;
|
||||
final String CONTENT_STRING = "Hello";
|
||||
|
||||
final String targetName = "testCopyAlien";
|
||||
class TestData
|
||||
{
|
||||
@SuppressWarnings("unused")
|
||||
TransferTarget transferMe;
|
||||
NodeRef S0NodeRef;
|
||||
NodeRef A1NodeRef;
|
||||
@@ -4648,11 +4662,19 @@ public class TransferServiceToBeRefactoredTest extends BaseAlfrescoSpringTest
|
||||
transferServiceImpl.setTransmitter(transmitter);
|
||||
final UnitTestTransferManifestNodeFactory testNodeFactory = new UnitTestTransferManifestNodeFactory(this.transferManifestNodeFactory);
|
||||
transferServiceImpl.setTransferManifestNodeFactory(testNodeFactory);
|
||||
List<Pair<Path, Path>> pathMap = testNodeFactory.getPathMap();
|
||||
final List<Pair<Path, Path>> pathMap = testNodeFactory.getPathMap();
|
||||
transactionService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void execute() throws Throwable
|
||||
{
|
||||
// Map Project A to Project B
|
||||
// Map Project C to Project B
|
||||
pathMap.add(new Pair(nodeService.getPath(testData.A1NodeRef), nodeService.getPath(testData.B1NodeRef)));
|
||||
pathMap.add(new Pair(nodeService.getPath(testData.C1NodeRef), nodeService.getPath(testData.B1NodeRef)));
|
||||
pathMap.add(new Pair<Path, Path>(nodeService.getPath(testData.A1NodeRef), nodeService.getPath(testData.B1NodeRef)));
|
||||
pathMap.add(new Pair<Path, Path>(nodeService.getPath(testData.C1NodeRef), nodeService.getPath(testData.B1NodeRef)));
|
||||
return null;
|
||||
}
|
||||
});
|
||||
|
||||
DescriptorService mockedDescriptorService = getMockDescriptorService(REPO_ID_C);
|
||||
transferServiceImpl.setDescriptorService(mockedDescriptorService);
|
||||
@@ -4754,7 +4776,9 @@ public class TransferServiceToBeRefactoredTest extends BaseAlfrescoSpringTest
|
||||
assertTrue("C3 dest is not invaded", nodeService.hasAspect(testNodeFactory.getMappedNodeRef(testData.C3NodeRef), TransferModel.ASPECT_ALIEN));
|
||||
assertTrue("C2 dest is not invaded", nodeService.hasAspect(testNodeFactory.getMappedNodeRef(testData.C2NodeRef), TransferModel.ASPECT_ALIEN));
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
List<String> C2invaders = (List<String>) nodeService.getProperty(testNodeFactory.getMappedNodeRef(testData.C2NodeRef), TransferModel.PROP_INVADED_BY);
|
||||
@SuppressWarnings("unchecked")
|
||||
List<String> C3invaders = (List<String>) nodeService.getProperty(testNodeFactory.getMappedNodeRef(testData.C3NodeRef), TransferModel.PROP_INVADED_BY);
|
||||
assertTrue("C3 invaders contains local repository Id", C3invaders.contains(localRepositoryId));
|
||||
assertFalse("C3 invaders contains REPO_ID_A", C3invaders.contains(REPO_ID_A));
|
||||
@@ -4784,7 +4808,9 @@ public class TransferServiceToBeRefactoredTest extends BaseAlfrescoSpringTest
|
||||
assertTrue("A4 dest is not invaded", nodeService.hasAspect(testNodeFactory.getMappedNodeRef(testData.A4NodeRef), TransferModel.ASPECT_ALIEN));
|
||||
assertTrue("C2 dest is not invaded", nodeService.hasAspect(testNodeFactory.getMappedNodeRef(testData.C2NodeRef), TransferModel.ASPECT_ALIEN));
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
List<String> C2invaders = (List<String>) nodeService.getProperty(testNodeFactory.getMappedNodeRef(testData.C2NodeRef), TransferModel.PROP_INVADED_BY);
|
||||
@SuppressWarnings("unchecked")
|
||||
List<String> A4invaders = (List<String>) nodeService.getProperty(testNodeFactory.getMappedNodeRef(testData.A4NodeRef), TransferModel.PROP_INVADED_BY);
|
||||
assertTrue("A4 invaders contains local repository Id", A4invaders.contains(localRepositoryId));
|
||||
|
||||
|
@@ -78,11 +78,13 @@ public class WikiServiceImplTest
|
||||
private static BehaviourFilter BEHAVIOUR_FILTER;
|
||||
private static WikiService WIKI_SERVICE;
|
||||
private static ContentService CONTENT_SERVICE;
|
||||
@SuppressWarnings("unused")
|
||||
private static DictionaryService DICTIONARY_SERVICE;
|
||||
private static NodeService NODE_SERVICE;
|
||||
private static NodeService PUBLIC_NODE_SERVICE;
|
||||
private static PersonService PERSON_SERVICE;
|
||||
private static RetryingTransactionHelper TRANSACTION_HELPER;
|
||||
@SuppressWarnings("unused")
|
||||
private static TransactionService TRANSACTION_SERVICE;
|
||||
private static PermissionService PERMISSION_SERVICE;
|
||||
private static SiteService SITE_SERVICE;
|
||||
@@ -154,8 +156,8 @@ public class WikiServiceImplTest
|
||||
assertNotNull(page.getNodeRef());
|
||||
assertNotNull(page.getSystemName());
|
||||
|
||||
NodeRef container = NODE_SERVICE.getPrimaryParent(page.getNodeRef()).getParentRef();
|
||||
NodeRef site = NODE_SERVICE.getPrimaryParent(container).getParentRef();
|
||||
NodeRef container = PUBLIC_NODE_SERVICE.getPrimaryParent(page.getNodeRef()).getParentRef();
|
||||
NodeRef site = PUBLIC_NODE_SERVICE.getPrimaryParent(container).getParentRef();
|
||||
assertEquals(WIKI_SITE.getNodeRef(), site);
|
||||
|
||||
// Ensure the content was correctly set up
|
||||
|
Reference in New Issue
Block a user