Class ResourceNameUtil

java.lang.Object
org.flowable.cmmn.engine.impl.deployer.ResourceNameUtil

public class ResourceNameUtil extends Object
Static methods for working with CMMN and image resource names.
  • Field Details

    • CMMN_RESOURCE_SUFFIXES

      public static final String[] CMMN_RESOURCE_SUFFIXES
    • DIAGRAM_SUFFIXES

      public static final String[] DIAGRAM_SUFFIXES
  • Constructor Details

    • ResourceNameUtil

      public ResourceNameUtil()
  • Method Details

    • stripCmmnFileSuffix

      public static String stripCmmnFileSuffix(String cmmnFileResource)
    • getCaseDiagramResourceName

      public static String getCaseDiagramResourceName(String cmmnFileResource, String caseKey, String diagramSuffix)
    • getCaseDiagramResourceNameFromDeployment

      public static String getCaseDiagramResourceNameFromDeployment(CaseDefinitionEntity caseDefinition, Map<String,EngineResource> resources)
      Finds the name of a resource for the diagram for a case definition. Assumes that the case definition's key and (CMMN) resource name are already set.

      It will first look for an image resource which matches the case specifically, before resorting to an image resource which matches the CMMN 1.1 xml file resource.

      Example: if the deployment contains a CMMN 1.1 xml resource called 'abc.cmmn.xml' containing only one case with key 'myCase', then this method will look for an image resources called 'abc.myCase.png' (or .jpg, or .gif, etc.) or 'abc.png' if the previous one wasn't found.

      Example 2: if the deployment contains a CMMN 1.1 xml resource called 'abc.cmmn.xml' containing three cases (with keys a, b and c), then this method will first look for an image resource called 'abc.a.png' before looking for 'abc.png' (likewise for b and c). Note that if abc.a.png, abc.b.png and abc.c.png don't exist, all cases will have the same image: abc.png.

      Returns:
      name of an existing resource, or null if no matching image resource is found in the resources.