/*
* Copyright 2000-2013 Enonic AS
* http://www.enonic.com/license
*/
package com.enonic.cms.web.webdav;
import java.io.File;
import java.util.regex.Pattern;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import com.enonic.cms.framework.util.MimeTypeResolver;
import com.enonic.cms.core.resource.access.ResourceAccessResolver;
import com.enonic.cms.core.security.SecurityService;
@Component
public final class DavConfigurationImpl
implements DavConfiguration
{
private File resourceRoot;
private SecurityService securityService;
private ResourceAccessResolver resourceAccessResolver;
private MimeTypeResolver mimeTypeResolver;
private Pattern excludePattern;
@Override
public File getResourceRoot()
{
return this.resourceRoot;
}
@Value("${cms.resource.path}")
public void setResourceRoot( final File value )
{
this.resourceRoot = value;
}
@Value("${cms.webdav.excludePattern}")
public void setExcludePattern( final String value )
{
this.excludePattern = Pattern.compile(value, Pattern.CASE_INSENSITIVE);
}
@Override
public SecurityService getSecurityService()
{
return this.securityService;
}
@Autowired
public void setSecurityService( final SecurityService value )
{
this.securityService = value;
}
@Override
public ResourceAccessResolver getResourceAccessResolver()
{
return resourceAccessResolver;
}
@Autowired
public void setResourceAccessResolver( final ResourceAccessResolver value )
{
this.resourceAccessResolver = value;
}
@Override
public MimeTypeResolver getMimeTypeResolver()
{
return mimeTypeResolver;
}
@Autowired
public void setMimeTypeResolver( final MimeTypeResolver value )
{
this.mimeTypeResolver = value;
}
@Override
public boolean isHidden( final String name )
{
return this.excludePattern.matcher(name).matches();
}
}