Class ClassPathProcessApplicationScanner

java.lang.Object
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 Details

    • ClassPathProcessApplicationScanner

      public ClassPathProcessApplicationScanner()
  • Method Details

    • 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)