REPO-1219: Allow file content URLs to be generated by a provider

- merged implementation from ACE-5093
   - marked the FileContentUrlProvider as public
   - added the default implementation bean, and injected it in the TenantRoutingFileContentStore 

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@132105 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Alexandra Leahu
2016-11-02 15:43:31 +00:00
parent 6451543233
commit 6c41a4f779
11 changed files with 439 additions and 33 deletions

View File

@@ -33,7 +33,8 @@ import java.util.Map;
import org.alfresco.repo.content.ContentLimitProvider;
import org.alfresco.repo.content.ContentLimitProvider.NoLimitProvider;
import org.alfresco.repo.content.ContentStore;
import org.alfresco.repo.content.filestore.FileContentStore;
import org.alfresco.repo.content.filestore.FileContentStore;
import org.alfresco.repo.content.filestore.FileContentUrlProvider;
import org.springframework.context.ApplicationContext;
/**
@@ -41,7 +42,8 @@ import org.springframework.context.ApplicationContext;
*/
public class TenantRoutingFileContentStore extends AbstractTenantRoutingContentStore
{
private ContentLimitProvider contentLimitProvider = new NoLimitProvider();
private ContentLimitProvider contentLimitProvider = new NoLimitProvider();
private FileContentUrlProvider fileContentUrlProvider;
/**
* Sets a new {@link ContentLimitProvider} which will provide a maximum filesize for content.
@@ -49,6 +51,14 @@ public class TenantRoutingFileContentStore extends AbstractTenantRoutingContentS
public void setContentLimitProvider(ContentLimitProvider contentLimitProvider)
{
this.contentLimitProvider = contentLimitProvider;
}
/**
* Sets a new {@link FileContentUrlProvider} which will build the content url.
*/
public void setFileContentUrlProvider(FileContentUrlProvider fileContentUrlProvider)
{
this.fileContentUrlProvider = fileContentUrlProvider;
}
protected ContentStore initContentStore(ApplicationContext ctx, String contentRoot)
@@ -66,7 +76,11 @@ public class TenantRoutingFileContentStore extends AbstractTenantRoutingContentS
{
fileContentStore.setContentLimitProvider(contentLimitProvider);
}
if(fileContentUrlProvider != null)
{
fileContentStore.setFileContentUrlProvider(fileContentUrlProvider);
}
return fileContentStore;
}
}