本文整理汇总了Java中org.alfresco.repo.tenant.TenantUtil.runAsUserTenant方法的典型用法代码示例。如果您正苦于以下问题:Java TenantUtil.runAsUserTenant方法的具体用法?Java TenantUtil.runAsUserTenant怎么用?Java TenantUtil.runAsUserTenant使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.alfresco.repo.tenant.TenantUtil
的用法示例。
在下文中一共展示了TenantUtil.runAsUserTenant方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: checkLockedNodeTenantTest
import org.alfresco.repo.tenant.TenantUtil; //导入方法依赖的package包/类
@Test
public void checkLockedNodeTenantTest()
{
setUpApplicationContext();
// Create a tenant domain
TenantUtil.runAsSystemTenant(new TenantUtil.TenantRunAsWork<Object>() {
public Object doWork() throws Exception {
if (!tenantAdminService.existsTenant(TEST_TENANT_DOMAIN))
{
tenantAdminService.createTenant(TEST_TENANT_DOMAIN, (DEFAULT_ADMIN_PW + " " + TEST_TENANT_DOMAIN).toCharArray(), null);
}
return null;
}
}, TenantService.DEFAULT_DOMAIN);
TenantUtil.runAsUserTenant(new TenantUtil.TenantRunAsWork<Object>()
{
@Override
public Object doWork() throws Exception
{
checkLockedNodeTestTenantWork();
return null;
}
}, AuthenticationUtil.getAdminUserName(), TEST_TENANT_DOMAIN);
}
示例2: getTestSite
import org.alfresco.repo.tenant.TenantUtil; //导入方法依赖的package包/类
private TestSite getTestSite() throws Exception
{
if (testSite == null)
{
getTestNetwork();
getTestPersonId();
String siteName = "site" + System.currentTimeMillis();
testSite = TenantUtil.runAsUserTenant(new TenantRunAsWork<TestSite>()
{
@Override
public TestSite doWork() throws Exception
{
SiteInformation siteInfo = new SiteInformation(siteName, siteName, siteName, SiteVisibility.PUBLIC);
return testNetwork.createSite(siteInfo);
}
}, testPersonId, testNetwork.getId());
}
return testSite;
}
示例3: createTestDocuments
import org.alfresco.repo.tenant.TenantUtil; //导入方法依赖的package包/类
protected NodeRef[] createTestDocuments(final RequestContext requestContext) {
NodeRef[] docNodeRefs = TenantUtil.runAsUserTenant(new TenantRunAsWork<NodeRef[]>()
{
@Override
public NodeRef[] doWork() throws Exception
{
String siteName = "site" + GUID.generate();
SiteInformation siteInfo = new SiteInformation(siteName, siteName, siteName, SiteVisibility.PUBLIC);
TestSite site = currentNetwork.createSite(siteInfo);
NodeRef nodeRefDoc1 = getTestFixture().getRepoService().createDocument(site.getContainerNodeRef("documentLibrary"), "Test Doc1", "Test Doc1 Title", "Test Doc1 Description", "Test Content");
NodeRef nodeRefDoc2 = getTestFixture().getRepoService().createDocument(site.getContainerNodeRef("documentLibrary"), "Test Doc2", "Test Doc2 Title", "Test Doc2 Description", "Test Content");
NodeRef[] result = new NodeRef[2];
result[0] = nodeRefDoc1;
result[1] = nodeRefDoc2;
return result;
}
}, requestContext.getRunAsUser(), requestContext.getNetworkId());
return docNodeRefs;
}
示例4: startAdhocProcess
import org.alfresco.repo.tenant.TenantUtil; //导入方法依赖的package包/类
protected ProcessInstance startAdhocProcess(final String user, final String networkId, final String businessKey)
{
return TenantUtil.runAsUserTenant(new TenantRunAsWork<ProcessInstance>()
{
@Override
public ProcessInstance doWork() throws Exception
{
String processDefinitionKey = "@" + networkId + "@activitiAdhoc";
// Set required variables for adhoc process and start
Map<String, Object> variables = new HashMap<String, Object>();
ActivitiScriptNode person = getPersonNodeRef(user);
variables.put("bpm_assignee", person);
variables.put("wf_notifyMe", Boolean.FALSE);
variables.put(WorkflowConstants.PROP_INITIATOR, person);
return activitiProcessEngine.getRuntimeService().startProcessInstanceByKey(processDefinitionKey, businessKey, variables);
}
}, user, networkId);
}
示例5: getSites
import org.alfresco.repo.tenant.TenantUtil; //导入方法依赖的package包/类
public List<TestSite> getSites(String personId)
{
List<TestSite> sites = TenantUtil.runAsUserTenant(new TenantRunAsWork<List<TestSite>>()
{
@Override
public List<TestSite> doWork() throws Exception
{
List<SiteInfo> results = siteService.listSites(null, null);
TreeMap<String, TestSite> ret = new TreeMap<String, TestSite>();
for(SiteInfo siteInfo : results)
{
TestSite site = new TestSite(TestNetwork.this, siteInfo/*, null*/);
ret.put(site.getSiteId(), site);
}
return new ArrayList<TestSite>(ret.values());
}
}, personId, getId());
return sites;
}
示例6: getSiteContainers
import org.alfresco.repo.tenant.TenantUtil; //导入方法依赖的package包/类
public List<SiteContainer> getSiteContainers(final String siteId, TestPerson runAs)
{
List<SiteContainer> siteContainers = TenantUtil.runAsUserTenant(new TenantRunAsWork<List<SiteContainer>>()
{
@Override
public List<SiteContainer> doWork() throws Exception
{
PagingResults<FileInfo> results = siteService.listContainers(siteId, new PagingRequest(0, Integer.MAX_VALUE));
List<SiteContainer> ret = new ArrayList<SiteContainer>(results.getPage().size());
for(FileInfo fileInfo : results.getPage())
{
SiteContainer siteContainer = new SiteContainer(siteId, fileInfo.getName(), fileInfo.getNodeRef().getId());
ret.add(siteContainer);
}
return ret;
}
}, runAs.getId(), getId());
return siteContainers;
}
示例7: getSitesForUser
import org.alfresco.repo.tenant.TenantUtil; //导入方法依赖的package包/类
public Map<String, TestSite> getSitesForUser(String username)
{
if(username == null)
{
username = AuthenticationUtil.getAdminUserName();
}
List<SiteInfo> sites = TenantUtil.runAsUserTenant(new TenantRunAsWork<List<SiteInfo>>()
{
@Override
public List<SiteInfo> doWork() throws Exception
{
List<SiteInfo> results = siteService.listSites(null, null);
return results;
}
}, username, getId());
TreeMap<String, TestSite> ret = new TreeMap<String, TestSite>();
for(SiteInfo siteInfo : sites)
{
TestSite site = new TestSite(TestNetwork.this, siteInfo/*, null*/);
ret.put(site.getSiteId(), site);
}
return ret;
}
示例8: getNetworkMemberships
import org.alfresco.repo.tenant.TenantUtil; //导入方法依赖的package包/类
public List<PersonNetwork> getNetworkMemberships()
{
String personId = getId();
String runAsNetworkId = Person.getNetworkId(personId);
return TenantUtil.runAsUserTenant(new TenantRunAsWork<List<PersonNetwork>>()
{
@Override
public List<PersonNetwork> doWork() throws Exception
{
List<PersonNetwork> members = new ArrayList<PersonNetwork>();
PagingResults<Network> networks = networksService.getNetworks(new PagingRequest(0, Integer.MAX_VALUE));
for(Network network : networks.getPage())
{
NetworkImpl restNetwork = new NetworkImpl(network);
PersonNetwork personNetwork = new PersonNetwork(network.getIsHomeNetwork(), restNetwork);
members.add(personNetwork);
}
return members;
}
}, personId, runAsNetworkId);
}
示例9: test1
import org.alfresco.repo.tenant.TenantUtil; //导入方法依赖的package包/类
@Test
public void test1()
{
TenantUtil.runAsUserTenant(new TenantRunAsWork<Void>()
{
@Override
public Void doWork() throws Exception
{
dictionaryDAO.init();
return null;
}
}, "user1", "tenant1");
}
示例10: inviteToPublicSite
import org.alfresco.repo.tenant.TenantUtil; //导入方法依赖的package包/类
private SiteMembershipRequest inviteToPublicSite(final SiteInfo siteInfo, final String message, final String inviteeId,
final String inviteeRole)
{
SiteMembershipRequest siteMembershipRequest = null;
final String siteId = siteInfo.getShortName();
NodeRef siteNodeRef = siteInfo.getNodeRef();
String siteCreator = (String)nodeService.getProperty(siteNodeRef, ContentModel.PROP_CREATOR);
final String siteNetwork = networksService.getUserDefaultNetwork(siteCreator);
if(StringUtils.isNotEmpty(siteNetwork))
{
// MT
siteMembershipRequest = TenantUtil.runAsUserTenant(new TenantRunAsWork<SiteMembershipRequest>()
{
@Override
public SiteMembershipRequest doWork() throws Exception
{
return inviteToSite(siteId, inviteeId, inviteeRole, message);
}
}, siteCreator, siteNetwork);
}
else
{
siteMembershipRequest = AuthenticationUtil.runAs(new RunAsWork<SiteMembershipRequest>()
{
@Override
public SiteMembershipRequest doWork() throws Exception
{
return inviteToSite(siteId, inviteeId, inviteeRole, message);
}
}, siteCreator);
}
return siteMembershipRequest;
}
示例11: testNodeCommentsAndLockingIncludingChildren
import org.alfresco.repo.tenant.TenantUtil; //导入方法依赖的package包/类
@Test
public void testNodeCommentsAndLockingIncludingChildren() throws Exception
{
Comments commentsProxy = publicApiClient.comments();
// TODO push-down to future CommentServiceImplTest (see ACE-5437) - since includeChildren is via LockService api only
try
{
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person11.getId()));
Comment comment = new Comment();
comment.setContent("my comment");
Comment createdComment = commentsProxy.createNodeComment(nodeRef5.getId(), comment);
// recursive lock (folderRef1, nodeRef5)
TenantUtil.runAsUserTenant(new TenantRunAsWork<Void>()
{
@Override
public Void doWork() throws Exception
{
repoService.lockNode(folderNodeRef1, LockType.WRITE_LOCK, 0, true);
return null;
}
}, person11.getId(), network1.getId());
}
finally
{
TenantUtil.runAsSystemTenant(new TenantRunAsWork<Void>()
{
@Override
public Void doWork() throws Exception
{
repoService.unlockNode(folderNodeRef1, true);
return null;
}
}, network1.getId());
}
}
示例12: initializeNetwork3WithSites
import org.alfresco.repo.tenant.TenantUtil; //导入方法依赖的package包/类
private void initializeNetwork3WithSites() throws Exception
{
String siteDescription = "description";
if (network3 == null)
{
network3 = getRepoService().createNetwork(this.getClass().getName().toLowerCase() + "-3-" + RUNID, true);
network3.create();
TenantUtil.runAsSystemTenant(new TenantRunAsWork<Void>()
{
@Override
public Void doWork() throws Exception
{
person4Id = network3.createUser().getId();
return null;
}
}, network3.getId());
TenantUtil.runAsUserTenant(new TenantRunAsWork<Void>()
{
@Override
public Void doWork() throws Exception
{
// Temporary solution for testing as for now creating a site
// with site preset is not allowed (please see REPO-194)
site7 = network3.createSite("a-" + GUID.generate(), "site A" + GUID.generate(), siteDescription, preset, SiteVisibility.PRIVATE);
site8 = network3.createSite("b-" + GUID.generate(), "site B" + GUID.generate(), siteDescription, preset, SiteVisibility.PUBLIC);
site9 = network3.createSite("c-" + GUID.generate(), "site C" + GUID.generate(), siteDescription, preset, SiteVisibility.PUBLIC);
site10 = network3.createSite("d-" + GUID.generate(), "site D" + GUID.generate(), siteDescription, "site-dashboard", SiteVisibility.MODERATED);
return null;
}
}, person4Id, network3.getId());
}
}
示例13: startReviewPooledProcess
import org.alfresco.repo.tenant.TenantUtil; //导入方法依赖的package包/类
/**
* Start a review pooled process through the public REST-API.
*/
@SuppressWarnings("unchecked")
protected ProcessInfo startReviewPooledProcess(final RequestContext requestContext) throws PublicApiException {
org.activiti.engine.repository.ProcessDefinition processDefinition = activitiProcessEngine
.getRepositoryService()
.createProcessDefinitionQuery()
.processDefinitionKey("@" + requestContext.getNetworkId() + "@activitiReviewPooled")
.singleResult();
ProcessesClient processesClient = publicApiClient.processesClient();
final JSONObject createProcessObject = new JSONObject();
createProcessObject.put("processDefinitionId", processDefinition.getId());
final JSONObject variablesObject = new JSONObject();
variablesObject.put("bpm_priority", 1);
variablesObject.put("bpm_workflowDueDate", ISO8601DateFormat.format(new Date()));
variablesObject.put("wf_notifyMe", Boolean.FALSE);
TenantUtil.runAsUserTenant(new TenantRunAsWork<Void>()
{
@Override
public Void doWork() throws Exception
{
List<MemberOfSite> memberships = getTestFixture().getNetwork(requestContext.getNetworkId()).getSiteMemberships(requestContext.getRunAsUser());
assertTrue(memberships.size() > 0);
MemberOfSite memberOfSite = memberships.get(0);
String group = "GROUP_site_" + memberOfSite.getSiteId() + "_" + memberOfSite.getRole().name();
variablesObject.put("bpm_groupAssignee", group);
return null;
}
}, requestContext.getRunAsUser(), requestContext.getNetworkId());
createProcessObject.put("variables", variablesObject);
return processesClient.createProcess(createProcessObject.toJSONString());
}
示例14: run
import org.alfresco.repo.tenant.TenantUtil; //导入方法依赖的package包/类
/**
* Executes the action via the action runtime service
*
* @see java.lang.Runnable#run()
*/
public void run()
{
try
{
// Get the run as user name
final String userName = ((ActionImpl)ActionExecutionWrapper.this.action).getRunAsUser();
if (userName == null)
{
throw new ActionServiceException("Cannot execute action asynchronously since run as user is 'null'");
}
// Get the tenant the action was submitted from
final String tenantId = ((ActionImpl)ActionExecutionWrapper.this.action).getTenantId();
// import the content
TenantRunAsWork<Object> actionRunAs = new TenantRunAsWork<Object>()
{
public Object doWork() throws Exception
{
RetryingTransactionCallback<Object> actionCallback = new RetryingTransactionCallback<Object>()
{
public Object execute()
{
// If we have rules, apply them
if (ActionExecutionWrapper.this.executedRules != null)
{
AlfrescoTransactionSupport.bindResource("RuleServiceImpl.ExecutedRules", ActionExecutionWrapper.this.executedRules);
}
// Allow other classes to know when this action completes
AlfrescoTransactionSupport.bindListener(new CallbackTransactionListener(
ActionExecutionWrapper.this.action,
ActionExecutionWrapper.this.actionedUponNodeRef
));
// Have the action run
ActionExecutionWrapper.this.actionService.executeActionImpl(
ActionExecutionWrapper.this.action,
ActionExecutionWrapper.this.actionedUponNodeRef,
ActionExecutionWrapper.this.checkConditions, true,
ActionExecutionWrapper.this.actionChain);
return null;
}
};
return transactionService.getRetryingTransactionHelper().doInTransaction(actionCallback);
}
};
TenantUtil.runAsUserTenant(actionRunAs, userName, tenantId);
}
catch (Throwable e)
{
Throwable rootCause = (e instanceof AlfrescoRuntimeException) ? ((AlfrescoRuntimeException)e).getRootCause() : null;
String message = (rootCause == null ? null : rootCause.getMessage());
message = "Failed to execute asynchronous action: " + action+ (message == null ? "" : ": "+message);
if(!ActionExecutionWrapper.this.actionService.onLogException(action, logger, rootCause, message))
{
//if not handled by the executor just show in the log
logger.error(message, e);
}
}
handleAsyncActionIsCompleted(actionedUponNodeRef, action);
}
示例15: testCreateProcessInstanceFromOtherNetwork
import org.alfresco.repo.tenant.TenantUtil; //导入方法依赖的package包/类
@Test
@SuppressWarnings("unchecked")
public void testCreateProcessInstanceFromOtherNetwork() throws Exception
{
final RequestContext requestContext = initApiClientWithTestUser();
org.activiti.engine.repository.ProcessDefinition processDefinition = activitiProcessEngine
.getRepositoryService()
.createProcessDefinitionQuery()
.processDefinitionKey("@" + requestContext.getNetworkId() + "@activitiAdhoc")
.singleResult();
TestNetwork anotherNetwork = getOtherNetwork(requestContext.getNetworkId());
String tenantAdmin = AuthenticationUtil.getAdminUserName() + "@" + anotherNetwork.getId();
RequestContext otherContext = new RequestContext(anotherNetwork.getId(), tenantAdmin);
publicApiClient.setRequestContext(otherContext);
ProcessesClient processesClient = publicApiClient.processesClient();
JSONObject createProcessObject = new JSONObject();
createProcessObject.put("processDefinitionId", processDefinition.getId());
final JSONObject variablesObject = new JSONObject();
variablesObject.put("bpm_dueDate", ISO8601DateFormat.format(new Date()));
variablesObject.put("bpm_priority", 1);
variablesObject.put("bpm_description", "test description");
TenantUtil.runAsUserTenant(new TenantRunAsWork<Void>()
{
@Override
public Void doWork() throws Exception
{
variablesObject.put("bpm_assignee", requestContext.getRunAsUser());
return null;
}
}, requestContext.getRunAsUser(), requestContext.getNetworkId());
createProcessObject.put("variables", variablesObject);
try
{
processesClient.createProcess(createProcessObject.toJSONString());
}
catch (PublicApiException e)
{
assertEquals(HttpStatus.BAD_REQUEST.value(), e.getHttpResponse().getStatusCode());
}
}