当前位置: 首页>>代码示例>>Java>>正文


Java TenantUtil.runAsUserTenant方法代码示例

本文整理汇总了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);
}
 
开发者ID:Alfresco,项目名称:alfresco-remote-api,代码行数:27,代码来源:WebDAVMethodTest.java

示例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;
}
 
开发者ID:Alfresco,项目名称:alfresco-remote-api,代码行数:21,代码来源:TestCMIS.java

示例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;
}
 
开发者ID:Alfresco,项目名称:alfresco-remote-api,代码行数:23,代码来源:EnterpriseWorkflowTestApi.java

示例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);
}
 
开发者ID:Alfresco,项目名称:alfresco-remote-api,代码行数:19,代码来源:TaskWorkflowApiTest.java

示例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;
}
 
开发者ID:Alfresco,项目名称:alfresco-remote-api,代码行数:21,代码来源:RepoService.java

示例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;
}
 
开发者ID:Alfresco,项目名称:alfresco-remote-api,代码行数:22,代码来源:RepoService.java

示例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;
}
 
开发者ID:Alfresco,项目名称:alfresco-remote-api,代码行数:24,代码来源:RepoService.java

示例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);
}
 
开发者ID:Alfresco,项目名称:alfresco-remote-api,代码行数:22,代码来源:RepoService.java

示例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");
  }
 
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:15,代码来源:DictionaryLoadDAOTest.java

示例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;
}
 
开发者ID:Alfresco,项目名称:alfresco-remote-api,代码行数:37,代码来源:SiteMembershipRequestsImpl.java

示例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());
	}
}
 
开发者ID:Alfresco,项目名称:alfresco-remote-api,代码行数:41,代码来源:TestNodeComments.java

示例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());
    }
}
 
开发者ID:Alfresco,项目名称:alfresco-remote-api,代码行数:36,代码来源:TestSites.java

示例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());
}
 
开发者ID:Alfresco,项目名称:alfresco-remote-api,代码行数:40,代码来源:EnterpriseWorkflowTestApi.java

示例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);
}
 
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:68,代码来源:AsynchronousActionExecutionQueueImpl.java

示例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());
    }
}
 
开发者ID:Alfresco,项目名称:alfresco-remote-api,代码行数:48,代码来源:ProcessWorkflowApiTest.java


注:本文中的org.alfresco.repo.tenant.TenantUtil.runAsUserTenant方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。