org.apache.archiva.webdav
Class ArchivaDavResourceFactory
java.lang.Object
org.apache.archiva.webdav.ArchivaDavResourceFactory
- All Implemented Interfaces:
- Auditable, org.apache.jackrabbit.webdav.DavResourceFactory
@Service(value="davResourceFactory#archiva")
public class ArchivaDavResourceFactory
- extends Object
- implements org.apache.jackrabbit.webdav.DavResourceFactory, Auditable
Method Summary |
void |
addAuditListener(AuditListener listener)
Add an AuditListener. |
protected File |
buildMergedIndexDirectory(List<String> repositories,
String activePrincipal,
org.apache.jackrabbit.webdav.DavServletRequest request,
RepositoryGroupConfiguration repositoryGroupConfiguration)
|
private ArchivaDavResourceLocator |
checkLocatorIsInstanceOfRepositoryLocator(org.apache.jackrabbit.webdav.DavResourceLocator locator)
|
void |
clearAuditListeners()
Remove all registered AuditListener objects. |
private void |
createChecksumFile(String path,
org.codehaus.plexus.digest.Digester digester)
|
org.apache.jackrabbit.webdav.DavResource |
createResource(org.apache.jackrabbit.webdav.DavResourceLocator locator,
org.apache.jackrabbit.webdav.DavServletRequest request,
org.apache.jackrabbit.webdav.DavServletResponse response)
|
org.apache.jackrabbit.webdav.DavResource |
createResource(org.apache.jackrabbit.webdav.DavResourceLocator locator,
org.apache.jackrabbit.webdav.DavSession davSession)
|
private boolean |
fetchContentFromProxies(ManagedRepositoryContent managedRepository,
org.apache.jackrabbit.webdav.DavServletRequest request,
ArchivaDavResourceFactory.LogicalResource resource)
|
protected String |
getActivePrincipal(org.apache.jackrabbit.webdav.DavServletRequest request)
|
RemoteRepositoryAdmin |
getRemoteRepositoryAdmin()
|
private org.apache.jackrabbit.webdav.DavResource |
getResourceFromGroup(org.apache.jackrabbit.webdav.DavServletRequest request,
List<String> repositories,
ArchivaDavResourceLocator locator,
RepositoryGroupConfiguration repositoryGroupConfiguration)
|
void |
initialize()
|
private boolean |
isAllowedToContinue(org.apache.jackrabbit.webdav.DavServletRequest request,
List<String> repositories,
String activePrincipal)
Check if the current user is authorized to access any of the repos |
protected boolean |
isAuthorized(org.apache.jackrabbit.webdav.DavServletRequest request,
String repositoryId)
|
private boolean |
isProjectReference(String requestedResource)
|
private org.apache.jackrabbit.webdav.DavResource |
processRepository(org.apache.jackrabbit.webdav.DavServletRequest request,
ArchivaDavResourceLocator archivaLocator,
String activePrincipal,
ManagedRepositoryContent managedRepository)
|
private org.apache.jackrabbit.webdav.DavResource |
processRepositoryGroup(org.apache.jackrabbit.webdav.DavServletRequest request,
ArchivaDavResourceLocator archivaLocator,
List<String> repositories,
String activePrincipal,
List<String> resourcesInAbsolutePath,
RepositoryGroupConfiguration repoGroupConfig)
|
void |
removeAuditListener(AuditListener listener)
Remove an AuditListener. |
void |
setArchivaConfiguration(ArchivaConfiguration archivaConfiguration)
|
void |
setConnectors(RepositoryProxyConnectors connectors)
|
private void |
setHeaders(org.apache.jackrabbit.webdav.DavServletResponse response,
org.apache.jackrabbit.webdav.DavResourceLocator locator,
org.apache.jackrabbit.webdav.DavResource resource)
|
void |
setHttpAuth(org.apache.archiva.redback.integration.filter.authentication.HttpAuthenticator httpAuth)
|
void |
setRemoteRepositoryAdmin(RemoteRepositoryAdmin remoteRepositoryAdmin)
|
void |
setRepositoryFactory(RepositoryContentFactory repositoryFactory)
|
void |
setRepositoryRequest(RepositoryRequest repositoryRequest)
|
void |
setScheduler(RepositoryArchivaTaskScheduler scheduler)
|
void |
setServletAuth(ServletAuthenticator servletAuth)
|
private void |
triggerAuditEvent(String remoteIP,
String repositoryId,
String resource,
String action,
String principal)
|
private File |
writeMergedMetadataToFile(ArchivaRepositoryMetadata mergedMetadata,
String outputFilename)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
PROXIED_SUFFIX
private static final String PROXIED_SUFFIX
- See Also:
- Constant Field Values
HTTP_PUT_METHOD
private static final String HTTP_PUT_METHOD
- See Also:
- Constant Field Values
log
private org.slf4j.Logger log
auditListeners
@Inject
private List<AuditListener> auditListeners
repositoryFactory
@Inject
private RepositoryContentFactory repositoryFactory
repositoryRequest
private RepositoryRequest repositoryRequest
connectors
@Inject
@Named(value="repositoryProxyConnectors#default")
private RepositoryProxyConnectors connectors
metadataTools
@Inject
private MetadataTools metadataTools
mimeTypes
@Inject
private MimeTypes mimeTypes
archivaConfiguration
private ArchivaConfiguration archivaConfiguration
servletAuth
@Inject
private ServletAuthenticator servletAuth
httpAuth
@Inject
@Named(value="httpAuthenticator#basic")
private org.apache.archiva.redback.integration.filter.authentication.HttpAuthenticator httpAuth
remoteRepositoryAdmin
@Inject
private RemoteRepositoryAdmin remoteRepositoryAdmin
indexMerger
@Inject
private IndexMerger indexMerger
repositorySearch
@Inject
private RepositorySearch repositorySearch
lockManager
private final org.apache.jackrabbit.webdav.lock.LockManager lockManager
- Lock Manager - use simple implementation from JackRabbit
checksum
private org.codehaus.plexus.digest.ChecksumFile checksum
digestSha1
private org.codehaus.plexus.digest.Digester digestSha1
digestMd5
private org.codehaus.plexus.digest.Digester digestMd5
scheduler
@Inject
@Named(value="archivaTaskScheduler#repository")
private RepositoryArchivaTaskScheduler scheduler
applicationContext
private org.springframework.context.ApplicationContext applicationContext
ArchivaDavResourceFactory
@Inject
public ArchivaDavResourceFactory(org.springframework.context.ApplicationContext applicationContext,
PlexusSisuBridge plexusSisuBridge,
ArchivaConfiguration archivaConfiguration)
throws PlexusSisuBridgeException
- Throws:
PlexusSisuBridgeException
initialize
@PostConstruct
public void initialize()
createResource
public org.apache.jackrabbit.webdav.DavResource createResource(org.apache.jackrabbit.webdav.DavResourceLocator locator,
org.apache.jackrabbit.webdav.DavServletRequest request,
org.apache.jackrabbit.webdav.DavServletResponse response)
throws org.apache.jackrabbit.webdav.DavException
- Specified by:
createResource
in interface org.apache.jackrabbit.webdav.DavResourceFactory
- Throws:
org.apache.jackrabbit.webdav.DavException
processRepositoryGroup
private org.apache.jackrabbit.webdav.DavResource processRepositoryGroup(org.apache.jackrabbit.webdav.DavServletRequest request,
ArchivaDavResourceLocator archivaLocator,
List<String> repositories,
String activePrincipal,
List<String> resourcesInAbsolutePath,
RepositoryGroupConfiguration repoGroupConfig)
throws org.apache.jackrabbit.webdav.DavException
- Throws:
org.apache.jackrabbit.webdav.DavException
processRepository
private org.apache.jackrabbit.webdav.DavResource processRepository(org.apache.jackrabbit.webdav.DavServletRequest request,
ArchivaDavResourceLocator archivaLocator,
String activePrincipal,
ManagedRepositoryContent managedRepository)
throws org.apache.jackrabbit.webdav.DavException
- Throws:
org.apache.jackrabbit.webdav.DavException
createResource
public org.apache.jackrabbit.webdav.DavResource createResource(org.apache.jackrabbit.webdav.DavResourceLocator locator,
org.apache.jackrabbit.webdav.DavSession davSession)
throws org.apache.jackrabbit.webdav.DavException
- Specified by:
createResource
in interface org.apache.jackrabbit.webdav.DavResourceFactory
- Throws:
org.apache.jackrabbit.webdav.DavException
fetchContentFromProxies
private boolean fetchContentFromProxies(ManagedRepositoryContent managedRepository,
org.apache.jackrabbit.webdav.DavServletRequest request,
ArchivaDavResourceFactory.LogicalResource resource)
throws org.apache.jackrabbit.webdav.DavException
- Throws:
org.apache.jackrabbit.webdav.DavException
triggerAuditEvent
private void triggerAuditEvent(String remoteIP,
String repositoryId,
String resource,
String action,
String principal)
addAuditListener
public void addAuditListener(AuditListener listener)
- Description copied from interface:
Auditable
- Add an AuditListener.
- Specified by:
addAuditListener
in interface Auditable
clearAuditListeners
public void clearAuditListeners()
- Description copied from interface:
Auditable
- Remove all registered
AuditListener
objects.
- Specified by:
clearAuditListeners
in interface Auditable
removeAuditListener
public void removeAuditListener(AuditListener listener)
- Description copied from interface:
Auditable
- Remove an AuditListener.
- Specified by:
removeAuditListener
in interface Auditable
setHeaders
private void setHeaders(org.apache.jackrabbit.webdav.DavServletResponse response,
org.apache.jackrabbit.webdav.DavResourceLocator locator,
org.apache.jackrabbit.webdav.DavResource resource)
checkLocatorIsInstanceOfRepositoryLocator
private ArchivaDavResourceLocator checkLocatorIsInstanceOfRepositoryLocator(org.apache.jackrabbit.webdav.DavResourceLocator locator)
throws org.apache.jackrabbit.webdav.DavException
- Throws:
org.apache.jackrabbit.webdav.DavException
isAuthorized
protected boolean isAuthorized(org.apache.jackrabbit.webdav.DavServletRequest request,
String repositoryId)
throws org.apache.jackrabbit.webdav.DavException
- Throws:
org.apache.jackrabbit.webdav.DavException
getResourceFromGroup
private org.apache.jackrabbit.webdav.DavResource getResourceFromGroup(org.apache.jackrabbit.webdav.DavServletRequest request,
List<String> repositories,
ArchivaDavResourceLocator locator,
RepositoryGroupConfiguration repositoryGroupConfiguration)
throws org.apache.jackrabbit.webdav.DavException
- Throws:
org.apache.jackrabbit.webdav.DavException
getActivePrincipal
protected String getActivePrincipal(org.apache.jackrabbit.webdav.DavServletRequest request)
isAllowedToContinue
private boolean isAllowedToContinue(org.apache.jackrabbit.webdav.DavServletRequest request,
List<String> repositories,
String activePrincipal)
- Check if the current user is authorized to access any of the repos
- Parameters:
request
- repositories
- activePrincipal
-
- Returns:
writeMergedMetadataToFile
private File writeMergedMetadataToFile(ArchivaRepositoryMetadata mergedMetadata,
String outputFilename)
throws RepositoryMetadataException,
org.codehaus.plexus.digest.DigesterException,
IOException
- Throws:
RepositoryMetadataException
org.codehaus.plexus.digest.DigesterException
IOException
createChecksumFile
private void createChecksumFile(String path,
org.codehaus.plexus.digest.Digester digester)
throws org.codehaus.plexus.digest.DigesterException,
IOException
- Throws:
org.codehaus.plexus.digest.DigesterException
IOException
isProjectReference
private boolean isProjectReference(String requestedResource)
buildMergedIndexDirectory
protected File buildMergedIndexDirectory(List<String> repositories,
String activePrincipal,
org.apache.jackrabbit.webdav.DavServletRequest request,
RepositoryGroupConfiguration repositoryGroupConfiguration)
throws org.apache.jackrabbit.webdav.DavException
- Throws:
org.apache.jackrabbit.webdav.DavException
setServletAuth
public void setServletAuth(ServletAuthenticator servletAuth)
setHttpAuth
public void setHttpAuth(org.apache.archiva.redback.integration.filter.authentication.HttpAuthenticator httpAuth)
setScheduler
public void setScheduler(RepositoryArchivaTaskScheduler scheduler)
setArchivaConfiguration
public void setArchivaConfiguration(ArchivaConfiguration archivaConfiguration)
setRepositoryFactory
public void setRepositoryFactory(RepositoryContentFactory repositoryFactory)
setRepositoryRequest
public void setRepositoryRequest(RepositoryRequest repositoryRequest)
setConnectors
public void setConnectors(RepositoryProxyConnectors connectors)
getRemoteRepositoryAdmin
public RemoteRepositoryAdmin getRemoteRepositoryAdmin()
setRemoteRepositoryAdmin
public void setRemoteRepositoryAdmin(RemoteRepositoryAdmin remoteRepositoryAdmin)
Copyright © 2006-2013 The Apache Software Foundation. All Rights Reserved.