org.camunda.bpm.container.impl.deployment.scanning
Class ClassPathProcessApplicationScanner

java.lang.Object
  extended by org.camunda.bpm.container.impl.deployment.scanning.ClassPathProcessApplicationScanner
All Implemented Interfaces:
ProcessApplicationScanner

public class ClassPathProcessApplicationScanner
extends Object
implements ProcessApplicationScanner

Scans for bpmn20.xml files in the classpath of the given classloader.

Scans all branches of the classpath containing a META-INF/processes.xml file

Author:
Daniel Meyer, Falko Menge

Constructor Summary
ClassPathProcessApplicationScanner()
           
 
Method Summary
protected  void addResource(Object source, Map<String,byte[]> resourceMap, String resourceRootPath, String resourceName)
           
 Map<String,byte[]> findResources(ClassLoader classLoader, String paResourceRootPath, URL metaFileUrl)
           
 Map<String,byte[]> findResources(ClassLoader classLoader, String paResourceRootPath, URL metaFileUrl, String[] additionalResourceSuffixes)
           
protected  void handleArchive(File file, String paResourceRootPath, String[] additionalResourceSuffixes, Map<String,byte[]> resourceMap)
           
protected  void handleDirectory(File directory, String rootPath, String localPath, String paResourceRootPath, boolean isPaLocal, String[] additionalResourceSuffixes, Map<String,byte[]> resourceMap)
           
protected  boolean isBelowPath(String processFileName, String paResourceRootPath)
           
protected  Enumeration<URL> loadClasspathResourceRoots(ClassLoader classLoader, String strippedPaResourceRootPath)
           
 void scanPaResourceRootPath(ClassLoader classLoader, URL metaFileUrl, String paResourceRootPath, Map<String,byte[]> resourceMap)
           
 void scanPaResourceRootPath(ClassLoader classLoader, URL metaFileUrl, String paResourceRootPath, String[] additionalResourceSuffixes, Map<String,byte[]> resourceMap)
           
protected  void scanPath(String urlPath, String paResourceRootPath, boolean isPaLocal, String[] additionalResourceSuffixes, Map<String,byte[]> resourceMap)
           
protected  void scanUrl(URL url, String paResourceRootPath, boolean isPaLocal, String[] additionalResourceSuffixes, Map<String,byte[]> resourceMap)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClassPathProcessApplicationScanner

public ClassPathProcessApplicationScanner()
Method Detail

findResources

public Map<String,byte[]> findResources(ClassLoader classLoader,
                                        String paResourceRootPath,
                                        URL metaFileUrl)
Specified by:
findResources in interface ProcessApplicationScanner
Parameters:
classLoader - the classloader to scan
paResourceRootPath - see ProcessArchiveXml.PROP_RESOURCE_ROOT_PATH
metaFileUrl - the URL to the META-INF/processes.xml file
Returns:
a Map of process definitions

findResources

public Map<String,byte[]> findResources(ClassLoader classLoader,
                                        String paResourceRootPath,
                                        URL metaFileUrl,
                                        String[] additionalResourceSuffixes)
Specified by:
findResources in interface ProcessApplicationScanner
Parameters:
classLoader - the classloader to scan
paResourceRootPath - see ProcessArchiveXml.PROP_RESOURCE_ROOT_PATH
metaFileUrl - the URL to the META-INF/processes.xml file
additionalResourceSuffixes - a list of additional suffixes for resources
Returns:
a Map of process definitions

scanPaResourceRootPath

public void scanPaResourceRootPath(ClassLoader classLoader,
                                   URL metaFileUrl,
                                   String paResourceRootPath,
                                   Map<String,byte[]> resourceMap)

scanPaResourceRootPath

public void scanPaResourceRootPath(ClassLoader classLoader,
                                   URL metaFileUrl,
                                   String paResourceRootPath,
                                   String[] additionalResourceSuffixes,
                                   Map<String,byte[]> resourceMap)

scanUrl

protected void scanUrl(URL url,
                       String paResourceRootPath,
                       boolean isPaLocal,
                       String[] additionalResourceSuffixes,
                       Map<String,byte[]> resourceMap)

scanPath

protected void scanPath(String urlPath,
                        String paResourceRootPath,
                        boolean isPaLocal,
                        String[] additionalResourceSuffixes,
                        Map<String,byte[]> resourceMap)

handleArchive

protected void handleArchive(File file,
                             String paResourceRootPath,
                             String[] additionalResourceSuffixes,
                             Map<String,byte[]> resourceMap)

handleDirectory

protected void handleDirectory(File directory,
                               String rootPath,
                               String localPath,
                               String paResourceRootPath,
                               boolean isPaLocal,
                               String[] additionalResourceSuffixes,
                               Map<String,byte[]> resourceMap)

addResource

protected void addResource(Object source,
                           Map<String,byte[]> resourceMap,
                           String resourceRootPath,
                           String resourceName)

loadClasspathResourceRoots

protected Enumeration<URL> loadClasspathResourceRoots(ClassLoader classLoader,
                                                      String strippedPaResourceRootPath)

isBelowPath

protected boolean isBelowPath(String processFileName,
                              String paResourceRootPath)


Copyright © 2016 camunda services GmbH. All rights reserved.