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


Java TenantUtil.runAsTenant方法代码示例

本文整理汇总了Java中org.alfresco.repo.tenant.TenantUtil.runAsTenant方法的典型用法代码示例。如果您正苦于以下问题:Java TenantUtil.runAsTenant方法的具体用法?Java TenantUtil.runAsTenant怎么用?Java TenantUtil.runAsTenant使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.alfresco.repo.tenant.TenantUtil的用法示例。


在下文中一共展示了TenantUtil.runAsTenant方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: canRead

import org.alfresco.repo.tenant.TenantUtil; //导入方法依赖的package包/类
@Override
public boolean canRead(String sharedId)
{
    Pair<String, NodeRef> pair = getTenantNodeRefFromSharedId(sharedId);
    final String tenantDomain = pair.getFirst();
    final NodeRef nodeRef = pair.getSecond();
    
    return TenantUtil.runAsTenant(new TenantRunAsWork<Boolean>()
    {
        public Boolean doWork() throws Exception
        {
            try
            {
                checkQuickShareNode(nodeRef);
                return permissionService.hasPermission(nodeRef, PermissionService.READ) == AccessStatus.ALLOWED;
            }
            catch (AccessDeniedException ex)
            {
                return false;
            }
        }
    }, tenantDomain);
    
}
 
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:25,代码来源:QuickShareServiceImpl.java

示例2: personExists

import org.alfresco.repo.tenant.TenantUtil; //导入方法依赖的package包/类
public boolean personExists(final String user)
{
    boolean exists = false;
    String domain = tenantService.getPrimaryDomain(user); // get primary tenant 
    if (domain != null) 
    { 
        exists = TenantUtil.runAsTenant(new TenantRunAsWork<Boolean>()
        {
            public Boolean doWork() throws Exception
            {
                return personService.personExists(user);
            }
        }, domain);
    }
    else
    {
        exists = personService.personExists(user);
    }
    return exists;
}
 
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:21,代码来源:MailActionExecuter.java

示例3: getPerson

import org.alfresco.repo.tenant.TenantUtil; //导入方法依赖的package包/类
public NodeRef getPerson(final String user)
{
    NodeRef person = null;
    String domain = tenantService.getPrimaryDomain(user); // get primary tenant 
    if (domain != null) 
    { 
        person = TenantUtil.runAsTenant(new TenantRunAsWork<NodeRef>()
        {
            public NodeRef doWork() throws Exception
            {
                return personService.getPerson(user);
            }
        }, domain);
    }
    else
    {
        person = personService.getPerson(user);
    }
    return person;
}
 
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:21,代码来源:MailActionExecuter.java

示例4: getPersonEmail

import org.alfresco.repo.tenant.TenantUtil; //导入方法依赖的package包/类
public String getPersonEmail(final String user)
{
    final NodeRef person = getPerson(user);
    String email = null;
    String domain = tenantService.getPrimaryDomain(user); // get primary tenant 
    if (domain != null) 
    { 
        email = TenantUtil.runAsTenant(new TenantRunAsWork<String>()
        {
            public String doWork() throws Exception
            {
                return (String) nodeService.getProperty(person, ContentModel.PROP_EMAIL);
            }
        }, domain);
    }
    else
    {
        email = (String) nodeService.getProperty(person, ContentModel.PROP_EMAIL);
    }
    return email;
}
 
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:22,代码来源:MailActionExecuter.java

示例5: createDocuments

import org.alfresco.repo.tenant.TenantUtil; //导入方法依赖的package包/类
public List<Document> createDocuments(final String stringNodeRef, final FTSStatus ftsStatus,
        final boolean indexAllProperties, final boolean includeDirectoryDocuments, final boolean cascade,
        final Set<Pair<Boolean, Path>> pathsToRegenerate,
        final Map<NodeRef, List<ChildAssociationRef>> childAssociationsSinceFlush, final IndexReader deltaReader,
        final IndexReader mainReader)
{
    if (tenantService.isEnabled() && ((AuthenticationUtil.getRunAsUser() == null) || (AuthenticationUtil.isRunAsUserTheSystemUser())))
    {
        // ETHREEOH-2014 - dictionary access should be in context of tenant (eg. full reindex with MT dynamic
        // models)
        return TenantUtil.runAsSystemTenant(new TenantRunAsWork<List<Document>>()
        {
            public List<Document> doWork()
            {
                return createDocumentsImpl(stringNodeRef, ftsStatus, indexAllProperties, includeDirectoryDocuments,
                        cascade, pathsToRegenerate, childAssociationsSinceFlush, deltaReader, mainReader);
            }
        }, tenantService.getDomain(new NodeRef(stringNodeRef).getStoreRef().getIdentifier()));
    }
    else if (tenantService.isEnabled() && !tenantService.getDomain(new NodeRef(stringNodeRef).getStoreRef().getIdentifier()).equals(TenantService.DEFAULT_DOMAIN))
    {
        return TenantUtil.runAsTenant(new TenantRunAsWork<List<Document>>()
        {
            public List<Document> doWork()
            {
                return createDocumentsImpl(stringNodeRef, ftsStatus, indexAllProperties, includeDirectoryDocuments,
                        cascade, pathsToRegenerate, childAssociationsSinceFlush, deltaReader, mainReader);
            }
        }, tenantService.getDomain(new NodeRef(stringNodeRef).getStoreRef().getIdentifier()));
    }
    else
    {
        return createDocumentsImpl(stringNodeRef, ftsStatus, indexAllProperties, includeDirectoryDocuments,
                cascade, pathsToRegenerate, childAssociationsSinceFlush, deltaReader, mainReader);
    }
}
 
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:37,代码来源:ADMLuceneIndexerImpl.java

示例6: testSendEmailByExternalUser

import org.alfresco.repo.tenant.TenantUtil; //导入方法依赖的package包/类
/**
 * ACE-2564
 */
@Test
public void testSendEmailByExternalUser() throws IOException, MessagingException
{
    final Serializable recipients = (Serializable) Arrays.asList(BRITISH_USER.getUsername());
    final String subject = "";
    final String template = "alfresco/templates/mail/test.txt.ftl";
    AuthenticationUtil.pushAuthentication();
    AuthenticationUtil.setFullyAuthenticatedUser(EXTERNAL_USER.getUsername());
    MimeMessage message = null;


    try
    {

        // these persons should be without emails
        // testing for GROUP_EVERYONE
        
        final String tenantId = getUsersHomeTenant(BRITISH_USER.getUsername());

        // USER_6 not exist for USER_1, but he will be added to recipients
        message = TenantUtil.runAsTenant(new TenantRunAsWork<MimeMessage>()
        {
            @Override
            public MimeMessage doWork() throws Exception
            {
                return sendMessage(null, recipients, subject, template);
            }
        }, tenantId);

        Assert.assertNotNull(message);
        Assert.assertEquals("Hello 01-Jan-1970", (String) message.getContent());
    }
    finally
    {
        AuthenticationUtil.popAuthentication();
    }
}
 
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:41,代码来源:AbstractMailActionExecuterTest.java

示例7: getSiteNetwork

import org.alfresco.repo.tenant.TenantUtil; //导入方法依赖的package包/类
public String getSiteNetwork(final String siteShortName, String tenantDomain)
  {
return TenantUtil.runAsTenant(new TenantRunAsWork<String>()
{
	@Override
	public String doWork() throws Exception
	{
    	return tenantService.getName(siteShortName);
	}
}, tenantDomain);
  }
 
开发者ID:Alfresco,项目名称:alfresco-remote-api,代码行数:12,代码来源:RepoService.java

示例8: addUserDescription

import org.alfresco.repo.tenant.TenantUtil; //导入方法依赖的package包/类
public NodeRef addUserDescription(final String personId, final String personDescription)
{
	NodeRef personRef = TenantUtil.runAsTenant(new TenantRunAsWork<NodeRef>()
	{
		public NodeRef doWork() throws Exception
		{
			return RepoService.this.addUserDescription(personId, TestNetwork.this, personDescription);
		}
	}, getId());

	return personRef;
}
 
开发者ID:Alfresco,项目名称:alfresco-remote-api,代码行数:13,代码来源:RepoService.java

示例9: createUser

import org.alfresco.repo.tenant.TenantUtil; //导入方法依赖的package包/类
public TestPerson createUser(final PersonInfo personInfo)
{
	final String username = publicApiContext.createUserName(personInfo.getUsername(), getId());
	TestPerson testPerson = TenantUtil.runAsTenant(new TenantRunAsWork<TestPerson>()
          {
              public TestPerson doWork() throws Exception
              {
              	TestPerson person = RepoService.this.createUser(personInfo, username, TestNetwork.this);
                  
                  return person;
              }
          }, getId());
	addPerson(testPerson);
	return testPerson;
}
 
开发者ID:Alfresco,项目名称:alfresco-remote-api,代码行数:16,代码来源:RepoService.java

示例10: getSite

import org.alfresco.repo.tenant.TenantUtil; //导入方法依赖的package包/类
public TestSite getSite(final String siteShortName)
{
	TestSite site = TenantUtil.runAsTenant(new TenantRunAsWork<TestSite>()
	{
		@Override
		public TestSite doWork() throws Exception
		{
			SiteInfo siteInfo = siteService.getSite(siteShortName);
			return new TestSite(TestNetwork.this, siteInfo);
		}
	}, getId());
	return site;
}
 
开发者ID:Alfresco,项目名称:alfresco-remote-api,代码行数:14,代码来源:RepoService.java

示例11: getContent

import org.alfresco.repo.tenant.TenantUtil; //导入方法依赖的package包/类
@Override
public ContentData getContent(final ImportPackageHandler handler, final ContentData sourceContentData)
{
    ContentData cachedContentData = null;
    final String sourceContentUrl = sourceContentData.getContentUrl();

    contentUrlsLock.readLock().lock();
    
    try
    {
        cachedContentData = contentUrls.get(sourceContentUrl);
        if (cachedContentData == null)
        {
            contentUrlsLock.readLock().unlock();
            contentUrlsLock.writeLock().lock();
            
            try
            {
                cachedContentData = contentUrls.get(sourceContentUrl);
                if (cachedContentData == null)
                {
                    cachedContentData = TenantUtil.runAsTenant(new TenantRunAsWork<ContentData>()
                    {
                        @Override
                        public ContentData doWork() throws Exception
                        {
                            InputStream contentStream = handler.importStream(sourceContentUrl);
                            ContentWriter writer = contentService.getWriter(null, null, false);
                            writer.setEncoding(sourceContentData.getEncoding());
                            writer.setMimetype(sourceContentData.getMimetype());
                            writer.putContent(contentStream);
                            return writer.getContentData();
                        }
                    }, TenantService.DEFAULT_DOMAIN);
                    
                    contentUrls.put(sourceContentUrl, cachedContentData);
                }
            }
            finally
            {
                contentUrlsLock.readLock().lock();
                contentUrlsLock.writeLock().unlock();
            }
        }
    }
    finally
    {
        contentUrlsLock.readLock().unlock();
    }
    
    if (logger.isDebugEnabled())
        logger.debug("Mapped contentUrl " + sourceContentUrl + " to " + cachedContentData);
        
    return cachedContentData;
}
 
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:56,代码来源:DefaultImporterContentCache.java

示例12: executeScript

import org.alfresco.repo.tenant.TenantUtil; //导入方法依赖的package包/类
@Override
public void executeScript(final WebScriptRequest scriptReq, final WebScriptResponse scriptRes, final Authenticator auth)
    throws IOException
{
    String tenant = ((PublicApiTenantWebScriptServletRequest)scriptReq).getTenant();
    if (tenant != null)
    {
        // handle special tenant keys
        // -super-    => run as system tenant
        // -default-  => run as user's default tenant
        String user = null;
        if (tenant.equalsIgnoreCase(TenantUtil.DEFAULT_TENANT))
        {
            // switch from default to super tenant, if not authenticated
            user = AuthenticationUtil.getFullyAuthenticatedUser();
            if (user == null)
            {
                tenant = TenantUtil.SYSTEM_TENANT;
            }
        }
        
        // run as super tenant
        if (tenant.equalsIgnoreCase(TenantUtil.SYSTEM_TENANT))
        {
            if (logger.isDebugEnabled())
            {
                logger.debug("executeScript (-system-): ["+user+","+tenant+"] "+scriptReq.getServicePath());
            }

            TenantUtil.runAsTenant(new TenantRunAsWork<Object>()
            {
                public Object doWork() throws Exception
                {
                    PublicApiRepositoryContainer.super.executeScript(scriptReq, scriptRes, auth);
                    return null;
                    
                }
            }, TenantService.DEFAULT_DOMAIN);
        }
        else
        {
            if (tenant.equalsIgnoreCase(TenantUtil.DEFAULT_TENANT))
            {
                tenant = tenantAdminService.getUserDomain(user);
            }

            // run as explicit tenant
            TenantUtil.runAsTenant(new TenantRunAsWork<Object>()
            {
                public Object doWork() throws Exception
                {
                    PublicApiRepositoryContainer.super.executeScript(scriptReq, scriptRes, auth);
                    return null;
                }
            }, tenant);
        }
    }
}
 
开发者ID:Alfresco,项目名称:alfresco-remote-api,代码行数:59,代码来源:PublicApiRepositoryContainer.java


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