mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Merged V3.1 to HEAD
- incl. taking Hibernate libs from 3.1 and adding missing file from earlier merge 13321: Fix ETHREEOH-1407: System error occur during "Undo Selected" action if no items are selected 13322: ETHREEOH-1206: Throwing Alfresco Exception on OnUpdateProperties behaviour resets Encoding field to Big (first entry) 13326: (RECORD ONLY) Removed 'dev' from version label. 13330: Fix ETHREEOH-1408: Incorrect button name at "Manage Task: Submitted" page 13337: Fix for ETHREEOH-1409 and further fix for ETHREEOH-1408 13338: Removed svn:mergeinfo 13346: Make startup bat script check JAVA can be found. 13351: ETHREEOH-1386 validate ASR and FSR hostname. 13359: ETHREEOH-1435: Share doesn't extract document metadata correctly 13360: Fix ETHREEOH-821: SDK dependencies 13369: Fixed distribute-sdk target for when it's run locally 13382: ETHREEOH-1437: Container creation induces an unexpected permission allocation in Share 13391: Shutdown backstop continues if logging throws errors. 13394: Fix ETHREEOH-1457 - MT coci issue with bootstrap (eg. data dictionary) content 13400: Activate JAWS-223: Adobe LC Hibernate Dialect Loading 13401: Support for JAWS-215, mysql and oracle 13413: Fix ETHREEOH-1458 - MT delete->archive ___________________________________________________________________ Modified: svn:mergeinfo Merged /alfresco/BRANCHES/V3.1:r 13321-13322,13326-13327,13330,13337-13339,13341-13347,13351,13354-13355,13358-13363, 13365,13367,13369,13382,13385-13392,13394,13400-13403,13405-13406,13413 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13617 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -51,6 +51,8 @@ import org.alfresco.repo.security.authentication.AuthenticationComponent;
|
||||
import org.alfresco.repo.security.authentication.AuthenticationUtil;
|
||||
import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork;
|
||||
import org.alfresco.repo.site.SiteAVMBootstrap;
|
||||
import org.alfresco.repo.usage.UserUsageBootstrapJob;
|
||||
import org.alfresco.repo.usage.UserUsageTrackingComponent;
|
||||
import org.alfresco.repo.workflow.WorkflowDeployer;
|
||||
import org.alfresco.service.cmr.admin.RepoAdminService;
|
||||
import org.alfresco.service.cmr.attributes.AttributeService;
|
||||
@@ -344,53 +346,56 @@ public class MultiTAdminServiceImpl implements TenantAdminService, ApplicationCo
|
||||
|
||||
initTenant(tenantDomain, rootContentStoreDir);
|
||||
|
||||
AuthenticationUtil.runAs(new RunAsWork<Object>()
|
||||
{
|
||||
public Object doWork()
|
||||
{
|
||||
dictionaryComponent.init();
|
||||
tenantFileContentStore.init();
|
||||
|
||||
// create tenant-specific stores
|
||||
ImporterBootstrap userImporterBootstrap = (ImporterBootstrap)ctx.getBean("userBootstrap");
|
||||
bootstrapUserTenantStore(userImporterBootstrap, tenantDomain, tenantAdminRawPassword);
|
||||
|
||||
ImporterBootstrap systemImporterBootstrap = (ImporterBootstrap)ctx.getBean("systemBootstrap");
|
||||
bootstrapSystemTenantStore(systemImporterBootstrap, tenantDomain);
|
||||
try
|
||||
{
|
||||
// note: runAs would cause auditable property "creator" to be "admin" instead of "System@xxx"
|
||||
AuthenticationUtil.pushAuthentication();
|
||||
AuthenticationUtil.setFullyAuthenticatedUser(getSystemUser(tenantDomain));
|
||||
|
||||
dictionaryComponent.init();
|
||||
tenantFileContentStore.init();
|
||||
|
||||
// create tenant-specific stores
|
||||
ImporterBootstrap userImporterBootstrap = (ImporterBootstrap)ctx.getBean("userBootstrap");
|
||||
bootstrapUserTenantStore(userImporterBootstrap, tenantDomain, tenantAdminRawPassword);
|
||||
|
||||
ImporterBootstrap systemImporterBootstrap = (ImporterBootstrap)ctx.getBean("systemBootstrap");
|
||||
bootstrapSystemTenantStore(systemImporterBootstrap, tenantDomain);
|
||||
|
||||
// deprecated
|
||||
ImporterBootstrap versionImporterBootstrap = (ImporterBootstrap)ctx.getBean("versionBootstrap");
|
||||
bootstrapVersionTenantStore(versionImporterBootstrap, tenantDomain);
|
||||
|
||||
ImporterBootstrap version2ImporterBootstrap = (ImporterBootstrap)ctx.getBean("version2Bootstrap");
|
||||
bootstrapVersionTenantStore(version2ImporterBootstrap, tenantDomain);
|
||||
// deprecated
|
||||
ImporterBootstrap versionImporterBootstrap = (ImporterBootstrap)ctx.getBean("versionBootstrap");
|
||||
bootstrapVersionTenantStore(versionImporterBootstrap, tenantDomain);
|
||||
|
||||
ImporterBootstrap version2ImporterBootstrap = (ImporterBootstrap)ctx.getBean("version2Bootstrap");
|
||||
bootstrapVersionTenantStore(version2ImporterBootstrap, tenantDomain);
|
||||
|
||||
ImporterBootstrap spacesArchiveImporterBootstrap = (ImporterBootstrap)ctx.getBean("spacesArchiveBootstrap");
|
||||
bootstrapSpacesArchiveTenantStore(spacesArchiveImporterBootstrap, tenantDomain);
|
||||
|
||||
ImporterBootstrap spacesImporterBootstrap = (ImporterBootstrap)ctx.getBean("spacesBootstrap");
|
||||
bootstrapSpacesTenantStore(spacesImporterBootstrap, tenantDomain);
|
||||
|
||||
siteAVMBootstrap.bootstrap();
|
||||
|
||||
// notify listeners that tenant has been created & hence enabled
|
||||
for (TenantDeployer tenantDeployer : tenantDeployers)
|
||||
{
|
||||
tenantDeployer.onEnableTenant();
|
||||
}
|
||||
|
||||
// bootstrap workflows
|
||||
for (WorkflowDeployer workflowDeployer : workflowDeployers)
|
||||
{
|
||||
workflowDeployer.init();
|
||||
}
|
||||
|
||||
// bootstrap modules (if any)
|
||||
moduleService.startModules();
|
||||
|
||||
return null;
|
||||
}
|
||||
}, getSystemUser(tenantDomain));
|
||||
ImporterBootstrap spacesArchiveImporterBootstrap = (ImporterBootstrap)ctx.getBean("spacesArchiveBootstrap");
|
||||
bootstrapSpacesArchiveTenantStore(spacesArchiveImporterBootstrap, tenantDomain);
|
||||
|
||||
ImporterBootstrap spacesImporterBootstrap = (ImporterBootstrap)ctx.getBean("spacesBootstrap");
|
||||
bootstrapSpacesTenantStore(spacesImporterBootstrap, tenantDomain);
|
||||
|
||||
siteAVMBootstrap.bootstrap();
|
||||
|
||||
// notify listeners that tenant has been created & hence enabled
|
||||
for (TenantDeployer tenantDeployer : tenantDeployers)
|
||||
{
|
||||
tenantDeployer.onEnableTenant();
|
||||
}
|
||||
|
||||
// bootstrap workflows
|
||||
for (WorkflowDeployer workflowDeployer : workflowDeployers)
|
||||
{
|
||||
workflowDeployer.init();
|
||||
}
|
||||
|
||||
// bootstrap modules (if any)
|
||||
moduleService.startModules();
|
||||
}
|
||||
finally
|
||||
{
|
||||
AuthenticationUtil.popAuthentication();
|
||||
}
|
||||
|
||||
logger.info("Tenant created: " + tenantDomain);
|
||||
}
|
||||
@@ -419,39 +424,42 @@ public class MultiTAdminServiceImpl implements TenantAdminService, ApplicationCo
|
||||
{
|
||||
initTenant(tenantDomain, rootContentStoreDir);
|
||||
|
||||
AuthenticationUtil.runAs(new RunAsWork<Object>()
|
||||
{
|
||||
public Object doWork()
|
||||
{
|
||||
dictionaryComponent.init();
|
||||
tenantFileContentStore.init();
|
||||
|
||||
// import tenant-specific stores
|
||||
importBootstrapUserTenantStore(tenantDomain, directorySource);
|
||||
importBootstrapSystemTenantStore(tenantDomain, directorySource);
|
||||
importBootstrapVersionTenantStore(tenantDomain, directorySource);
|
||||
importBootstrapSpacesArchiveTenantStore(tenantDomain, directorySource);
|
||||
importBootstrapSpacesModelsTenantStore(tenantDomain, directorySource);
|
||||
importBootstrapSpacesTenantStore(tenantDomain, directorySource);
|
||||
|
||||
// notify listeners that tenant has been created & hence enabled
|
||||
for (TenantDeployer tenantDeployer : tenantDeployers)
|
||||
{
|
||||
tenantDeployer.onEnableTenant();
|
||||
}
|
||||
|
||||
// bootstrap workflows
|
||||
for (WorkflowDeployer workflowDeployer : workflowDeployers)
|
||||
{
|
||||
workflowDeployer.init();
|
||||
}
|
||||
|
||||
// bootstrap modules (if any)
|
||||
moduleService.startModules();
|
||||
|
||||
return null;
|
||||
}
|
||||
}, getSystemUser(tenantDomain));
|
||||
try
|
||||
{
|
||||
// note: runAs would cause auditable property "creator" to be "admin" instead of "System@xxx"
|
||||
AuthenticationUtil.pushAuthentication();
|
||||
AuthenticationUtil.setFullyAuthenticatedUser(getSystemUser(tenantDomain));
|
||||
|
||||
dictionaryComponent.init();
|
||||
tenantFileContentStore.init();
|
||||
|
||||
// import tenant-specific stores
|
||||
importBootstrapUserTenantStore(tenantDomain, directorySource);
|
||||
importBootstrapSystemTenantStore(tenantDomain, directorySource);
|
||||
importBootstrapVersionTenantStore(tenantDomain, directorySource);
|
||||
importBootstrapSpacesArchiveTenantStore(tenantDomain, directorySource);
|
||||
importBootstrapSpacesModelsTenantStore(tenantDomain, directorySource);
|
||||
importBootstrapSpacesTenantStore(tenantDomain, directorySource);
|
||||
|
||||
// notify listeners that tenant has been created & hence enabled
|
||||
for (TenantDeployer tenantDeployer : tenantDeployers)
|
||||
{
|
||||
tenantDeployer.onEnableTenant();
|
||||
}
|
||||
|
||||
// bootstrap workflows
|
||||
for (WorkflowDeployer workflowDeployer : workflowDeployers)
|
||||
{
|
||||
workflowDeployer.init();
|
||||
}
|
||||
|
||||
// bootstrap modules (if any)
|
||||
moduleService.startModules();
|
||||
}
|
||||
finally
|
||||
{
|
||||
AuthenticationUtil.popAuthentication();
|
||||
}
|
||||
|
||||
logger.info("Tenant imported: " + tenantDomain);
|
||||
}
|
||||
@@ -919,11 +927,9 @@ public class MultiTAdminServiceImpl implements TenantAdminService, ApplicationCo
|
||||
|
||||
spacesImporterBootstrap.bootstrap();
|
||||
|
||||
/* TODO - pending fix for ETHREEOH-283
|
||||
// calculate any missing usages
|
||||
UserUsageTrackingComponent userUsageTrackingComponent = (UserUsageTrackingComponent)ctx.getBean(UserUsageBootstrapJob.KEY_COMPONENT);
|
||||
userUsageTrackingComponent.bootstrapInternal();
|
||||
*/
|
||||
|
||||
logger.debug("Bootstrapped store: " + tenantService.getBaseName(bootstrapStoreRef));
|
||||
}
|
||||
@@ -968,8 +974,7 @@ public class MultiTAdminServiceImpl implements TenantAdminService, ApplicationCo
|
||||
{
|
||||
try
|
||||
{
|
||||
// switch to admin in order to deploy within context of tenant domain
|
||||
// assumes each tenant has default "admin" user
|
||||
// deploy within context of tenant domain
|
||||
AuthenticationUtil.runAs(new RunAsWork<Object>()
|
||||
{
|
||||
public Object doWork()
|
||||
@@ -1036,8 +1041,7 @@ public class MultiTAdminServiceImpl implements TenantAdminService, ApplicationCo
|
||||
{
|
||||
try
|
||||
{
|
||||
// switch to admin in order to deploy within context of tenant domain
|
||||
// assumes each tenant has default "admin" user
|
||||
// undeploy within context of tenant domain
|
||||
AuthenticationUtil.runAs(new RunAsWork<Object>()
|
||||
{
|
||||
public Object doWork()
|
||||
|
Reference in New Issue
Block a user