{"action":"created","issue":{"url":"https://api.github.com/repos/camunda/camunda-bpm-spring-boot-starter/issues/101","repository_url":"https://api.github.com/repos/camunda/camunda-bpm-spring-boot-starter","labels_url":"https://api.github.com/repos/camunda/camunda-bpm-spring-boot-starter/issues/101/labels{/name}","comments_url":"https://api.github.com/repos/camunda/camunda-bpm-spring-boot-starter/issues/101/comments","events_url":"https://api.github.com/repos/camunda/camunda-bpm-spring-boot-starter/issues/101/events","html_url":"https://github.com/camunda/camunda-bpm-spring-boot-starter/issues/101","id":162400492,"number":101,"title":"switching to 1.2.0 causes NullPointerException on startup","user":{"login":"mufasa1976","id":9546347,"avatar_url":"https://avatars.githubusercontent.com/u/9546347?v=3","gravatar_id":"","url":"https://api.github.com/users/mufasa1976","html_url":"https://github.com/mufasa1976","followers_url":"https://api.github.com/users/mufasa1976/followers","following_url":"https://api.github.com/users/mufasa1976/following{/other_user}","gists_url":"https://api.github.com/users/mufasa1976/gists{/gist_id}","starred_url":"https://api.github.com/users/mufasa1976/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mufasa1976/subscriptions","organizations_url":"https://api.github.com/users/mufasa1976/orgs","repos_url":"https://api.github.com/users/mufasa1976/repos","events_url":"https://api.github.com/users/mufasa1976/events{/privacy}","received_events_url":"https://api.github.com/users/mufasa1976/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2016-06-27T08:40:24Z","updated_at":"2016-06-27T09:23:19Z","closed_at":null,"body":"After switching to Version 1.2.0 of the camunda-bpm-spring-boot-starter there comes the following Exception on startup:\r\n```\r\njava.lang.IllegalStateException: Error processing condition on org.springframework.boot.devtools.autoconfigure.DevToolsDataSourceAutoConfiguration\r\n\tat org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:64) ~[spring-boot-autoconfigure-1.3.5.RELEASE.jar:1.3.5.RELEASE]\r\n\tat org.springframework.context.annotation.ConditionEvaluator.shouldSkip(ConditionEvaluator.java:102) ~[spring-context-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$TrackedConditionEvaluator.shouldSkip(ConfigurationClassBeanDefinitionReader.java:436) ~[spring-context-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$TrackedConditionEvaluator.shouldSkip(ConfigurationClassBeanDefinitionReader.java:425) ~[spring-context-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:127) ~[spring-context-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:116) ~[spring-context-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:333) ~[spring-context-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:243) ~[spring-context-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:273) ~[spring-context-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:98) ~[spring-context-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:678) ~[spring-context-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:520) ~[spring-context-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118) ~[spring-boot-1.3.5.RELEASE.jar:1.3.5.RELEASE]\r\n\tat org.springframework.boot.SpringApplication.refresh(SpringApplication.java:766) ~[spring-boot-1.3.5.RELEASE.jar:1.3.5.RELEASE]\r\n\tat org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:361) ~[spring-boot-1.3.5.RELEASE.jar:1.3.5.RELEASE]\r\n\tat org.springframework.boot.SpringApplication.run(SpringApplication.java:307) ~[spring-boot-1.3.5.RELEASE.jar:1.3.5.RELEASE]\r\n\tat org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:134) [spring-boot-1.3.5.RELEASE.jar:1.3.5.RELEASE]\r\n\tat at.acme.ui.Application.main(Application.java:28) [classes/:na]\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_92]\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_92]\r\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_92]\r\n\tat java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_92]\r\n\tat org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) [spring-boot-devtools-1.3.5.RELEASE.jar:1.3.5.RELEASE]\r\nCaused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'processEngineFactoryBean' defined in class path resource [org/camunda/bpm/spring/boot/starter/CamundaBpmAutoConfiguration.class]: Unsatisfied dependency expressed through constructor argument with index 0 of type [org.camunda.bpm.engine.impl.cfg.ProcessEngineConfigurationImpl]: Error creating bean with name 'processEngineConfigurationImpl' defined in class path resource [org/camunda/bpm/spring/boot/starter/CamundaBpmConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.camunda.bpm.engine.impl.cfg.ProcessEngineConfigurationImpl]: Factory method 'processEngineConfigurationImpl' threw exception; nested exception is java.lang.NullPointerException; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'processEngineConfigurationImpl' defined in class path resource [org/camunda/bpm/spring/boot/starter/CamundaBpmConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.camunda.bpm.engine.impl.cfg.ProcessEngineConfigurationImpl]: Factory method 'processEngineConfigurationImpl' threw exception; nested exception is java.lang.NullPointerException\r\n\tat org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:749) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:464) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1123) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1018) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getSingletonFactoryBeanForTypeCheck(AbstractAutowireCapableBeanFactory.java:865) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryBean(AbstractAutowireCapableBeanFactory.java:796) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.beans.factory.support.AbstractBeanFactory.isTypeMatch(AbstractBeanFactory.java:544) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:447) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:415) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:409) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.boot.devtools.autoconfigure.DevToolsDataSourceAutoConfiguration$DevToolsDataSourceCondition.getMatchOutcome(DevToolsDataSourceAutoConfiguration.java:130) ~[spring-boot-devtools-1.3.5.RELEASE.jar:1.3.5.RELEASE]\r\n\tat org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:47) ~[spring-boot-autoconfigure-1.3.5.RELEASE.jar:1.3.5.RELEASE]\r\n\t... 22 common frames omitted\r\nCaused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'processEngineConfigurationImpl' defined in class path resource [org/camunda/bpm/spring/boot/starter/CamundaBpmConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.camunda.bpm.engine.impl.cfg.ProcessEngineConfigurationImpl]: Factory method 'processEngineConfigurationImpl' threw exception; nested exception is java.lang.NullPointerException\r\n\tat org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:599) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1123) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1018) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1192) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1116) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1014) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:813) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:741) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\t... 33 common frames omitted\r\nCaused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.camunda.bpm.engine.impl.cfg.ProcessEngineConfigurationImpl]: Factory method 'processEngineConfigurationImpl' threw exception; nested exception is java.lang.NullPointerException\r\n\tat org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\tat org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\t... 46 common frames omitted\r\nCaused by: java.lang.NullPointerException: null\r\n\tat org.camunda.bpm.spring.boot.starter.CamundaBpmConfiguration.processEngineConfigurationImpl(CamundaBpmConfiguration.java:52) ~[camunda-bpm-spring-boot-starter-1.2.0.jar:1.2.0]\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_92]\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_92]\r\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_92]\r\n\tat java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_92]\r\n\tat org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]\r\n\t... 47 common frames omitted\r\n```\r\nWith Version 1.1.0 there were no Problems."},"comment":{"url":"https://api.github.com/repos/camunda/camunda-bpm-spring-boot-starter/issues/comments/228695220","html_url":"https://github.com/camunda/camunda-bpm-spring-boot-starter/issues/101#issuecomment-228695220","issue_url":"https://api.github.com/repos/camunda/camunda-bpm-spring-boot-starter/issues/101","id":228695220,"user":{"login":"mufasa1976","id":9546347,"avatar_url":"https://avatars.githubusercontent.com/u/9546347?v=3","gravatar_id":"","url":"https://api.github.com/users/mufasa1976","html_url":"https://github.com/mufasa1976","followers_url":"https://api.github.com/users/mufasa1976/followers","following_url":"https://api.github.com/users/mufasa1976/following{/other_user}","gists_url":"https://api.github.com/users/mufasa1976/gists{/gist_id}","starred_url":"https://api.github.com/users/mufasa1976/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mufasa1976/subscriptions","organizations_url":"https://api.github.com/users/mufasa1976/orgs","repos_url":"https://api.github.com/users/mufasa1976/repos","events_url":"https://api.github.com/users/mufasa1976/events{/privacy}","received_events_url":"https://api.github.com/users/mufasa1976/received_events","type":"User","site_admin":false},"created_at":"2016-06-27T09:23:19Z","updated_at":"2016-06-27T09:23:19Z","body":"application.yml:\r\n```\r\n...\r\nacme:\r\n  camunda:\r\n    spin:\r\n      default-serialization-format: application/json\r\n    plugin:\r\n      administrator:\r\n        enabled: true\r\n\t\tusers: someUser\r\n      ldap:\r\n        enabled: true\r\n        server-url: ldap://localhost:389\r\n\t\tmanager-dn: dc=manager,dn=People,dc=acme,dc=at\r\n\t\tmanager-password: somePassword\r\n        base-dn: dc=acme,dc=at\r\n        user-search-base: ou=People\r\n        user-search-filter: (objectclass=person)\r\n        user-id-attribute: sAMAccountName\r\n        user-firstname-attribute: givenName\r\n        user-lastname-attribute: sn\r\n        user-email-attribute: mail\r\n        user-password-attribute: userPassword\r\n        group-search-base: ou=Group\r\n        group-search-filter: (objectCategory=group)\r\n        group-id-attribute: cn\r\n        group-name-attribute: name\r\n        group-member-attribute: member\r\n...\r\ncamunda:\r\n  bpm:\r\n    deployment-resource-pattern:\r\n      - classpath:/bpmn/**/*.bpmn\r\n...\r\n```\r\n\r\nCamundaProcessEngineConfiguration.java:\r\n```\r\npackage at.acme.camunda.configuration;\r\n\r\nimport org.apache.commons.lang.StringUtils;\r\nimport org.camunda.bpm.engine.spring.SpringProcessEngineConfiguration;\r\n\r\nimport lombok.extern.slf4j.Slf4j;\r\n\r\n@Slf4j\r\npublic class CamundaProcessEngineConfiguration implements org.camunda.bpm.spring.boot.starter.configuration.CamundaProcessEngineConfiguration {\r\n\t\r\n\tprivate CamundaConfiguration.Properties properties;\r\n\t\r\n\tpublic CamundaProcessEngineConfiguration(CamundaConfiguration.Properties properties) {\r\n\t\tthis.properties = properties;\r\n\t}\r\n\t\r\n\t@Override\r\n\tpublic void accept(SpringProcessEngineConfiguration configuration) {\r\n\t\tif (StringUtils.isNotBlank(properties.getSpin().getDefaultSerializationFormat())) {\r\n\t\t\tlog.info(\"Set Camunda Default Serialization-Format to {}\", properties.getSpin().getDefaultSerializationFormat());\r\n\t\t\tconfiguration.setDefaultSerializationFormat(properties.getSpin().getDefaultSerializationFormat());\r\n\t\t}\r\n\t}\r\n\r\n}\r\n```\r\n\r\nCamundaConfiguration.java:\r\n```\r\npackage at.acme.camunda.configuration;\r\n\r\nimport java.util.HashMap;\r\nimport java.util.Map;\r\n\r\nimport org.camunda.bpm.application.impl.event.ProcessApplicationEventListenerPlugin;\r\nimport org.camunda.bpm.engine.impl.cfg.ProcessEngineConfigurationImpl;\r\nimport org.camunda.bpm.engine.impl.cfg.ProcessEnginePlugin;\r\nimport org.camunda.bpm.engine.impl.plugin.AdministratorAuthorizationPlugin;\r\nimport org.camunda.bpm.identity.impl.ldap.plugin.LdapIdentityProviderPlugin;\r\nimport org.camunda.spin.DataFormats;\r\nimport org.camunda.spin.plugin.impl.SpinProcessEnginePlugin;\r\nimport org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;\r\nimport org.springframework.boot.context.properties.ConfigurationProperties;\r\nimport org.springframework.boot.context.properties.EnableConfigurationProperties;\r\nimport org.springframework.context.annotation.Bean;\r\nimport org.springframework.context.annotation.Configuration;\r\nimport org.springframework.core.annotation.Order;\r\n\r\nimport at.acme.camunda.configuration.CamundaConfiguration.Properties.PluginProperties.AdministratorProperties;\r\nimport at.acme.camunda.configuration.CamundaConfiguration.Properties.PluginProperties.LdapProperties;\r\nimport lombok.Data;\r\n\r\n@Configuration\r\n@EnableConfigurationProperties(CamundaConfiguration.Properties.class)\r\npublic class CamundaConfiguration {\r\n\r\n\t@Data\r\n\t@ConfigurationProperties(prefix=\"acme.camunda\")\r\n\tpublic static class Properties {\r\n\t\t\r\n\t\t@Data\r\n\t\tpublic static class SpinProperties {\r\n\t\t\tprivate String defaultSerializationFormat;\r\n\t\t}\r\n\t\t\r\n\t\t@Data\r\n\t\tpublic static class PluginProperties {\r\n\r\n\t\t\t@Data\r\n\t\t\tpublic static class AdministratorProperties {\r\n\t\t\t\tprivate boolean enabled = false;\r\n\t\t\t\tprivate String groups;\r\n\t\t\t\tprivate String users;\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\t@Data\r\n\t\t\tpublic static class LdapProperties {\r\n\t\t\t\tprivate boolean enabled = false;\r\n\t\t\t\tprivate boolean acceptUntrustedCertificates = false;\r\n\t\t\t\tprivate String initialContextFactory = \"com.sun.jndi.ldap.LdapCtxFactory\";\r\n\t\t\t\tprivate String securityAuthentication = \"simple\";\r\n\t\t\t\tprivate Map<String, String> contextProperties = new HashMap<String, String>();\r\n\t\t\t\tprivate String serverUrl;\r\n\t\t\t\tprivate String managerDn = \"\";\r\n\t\t\t\tprivate String managerPassword = \"\";\r\n\t\t\t\tprivate String baseDn = \"\";\r\n\t\t\t\tprivate String userDnPattern = \"\";\r\n\t\t\t\tprivate String userSearchBase = \"\";\r\n\t\t\t\tprivate String userSearchFilter = \"(objectclass=person)\";\r\n\t\t\t\tprivate String groupSearchBase = \"\";\r\n\t\t\t\tprivate String groupSearchFilter = \"(objectclass=groupOfNames)\";\r\n\t\t\t\tprivate String userIdAttribute = \"uid\";\r\n\t\t\t\tprivate String userFirstnameAttribute = \"cn\";\r\n\t\t\t\tprivate String userLastnameAttribute = \"sn\";\r\n\t\t\t\tprivate String userEmailAttribute = \"email\";\r\n\t\t\t\tprivate String userPasswordAttribute = \"userpassword\";\r\n\t\t\t\tprivate String groupIdAttribute = \"ou\";\r\n\t\t\t\tprivate String groupNameAttribute = \"cn\";\r\n\t\t\t\tprivate String groupTypeAttribute = \"\";\r\n\t\t\t\tprivate String groupMemberAttribute = \"memberOf\";\r\n\t\t\t\tprivate boolean sortControlSupported = false;\r\n\t\t\t\tprivate boolean useSsl = false;\r\n\t\t\t\tprivate boolean usePosixGroups = false;\r\n\t\t\t\tprivate boolean allowAnonymousLogin = false;\r\n\t\t\t\tprivate boolean authorizationCheckEnabled = true;\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tprivate AdministratorProperties administrator;\r\n\t\t\tprivate LdapProperties ldap;\r\n\t\t}\r\n\t\t\r\n\t\tprivate SpinProperties spin;\r\n\t\tprivate PluginProperties plugin;\r\n\t}\r\n\t\r\n\t@Bean\r\n\t@Order(org.camunda.bpm.spring.boot.starter.configuration.CamundaConfiguration.DEFAULT_ORDER + 1)\r\n\tpublic CamundaProcessEngineConfiguration camundaProcessEngineConfiguration(Properties properties) {\r\n\t\treturn new CamundaProcessEngineConfiguration(properties);\r\n\t}\r\n\t\r\n\t@Bean\r\n\tpublic ProcessEnginePlugin spinProcessEnginePlugin() {\r\n\t\treturn new SpinProcessEnginePlugin() {\r\n\t\t\t@Override\r\n\t\t\tpublic void preInit(ProcessEngineConfigurationImpl processEngineConfiguration) {\r\n\t\t\t    DataFormats.loadDataFormats(CamundaConfiguration.this.getClass().getClassLoader());\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n\t\r\n\t@Bean\r\n\tpublic ProcessEnginePlugin processApplicationEventListenerPlugin() {\r\n\t\treturn new ProcessApplicationEventListenerPlugin();\r\n\t}\r\n\t\r\n\t@Bean\r\n\t@ConditionalOnProperty(prefix = \"acme.camunda.plugin.administrator\", name = \"enabled\", havingValue=\"true\")\r\n\tpublic ProcessEnginePlugin administratorAuthorizationPlugin(Properties properties) {\r\n\t\tAdministratorProperties administratorProperties = properties.getPlugin().getAdministrator();\r\n\t\tAdministratorAuthorizationPlugin plugin = new AdministratorAuthorizationPlugin();\r\n\t\tplugin.setAdministratorGroupName(administratorProperties.getGroups());\r\n\t\tplugin.setAdministratorUserName(administratorProperties.getUsers());\r\n\t\treturn plugin;\r\n\t}\r\n\t\r\n\t@Bean\r\n\t@ConditionalOnProperty(prefix = \"acme.camunda.plugin.ldap\", name = \"enabled\", havingValue=\"true\")\r\n\tpublic ProcessEnginePlugin ldapIdentityProviderPlugin(Properties properties) {\r\n\t\tLdapProperties ldapProperties = properties.getPlugin().getLdap();\r\n\t\tLdapIdentityProviderPlugin plugin = new LdapIdentityProviderPlugin();\r\n\t\tplugin.setAcceptUntrustedCertificates(ldapProperties.isAcceptUntrustedCertificates());\r\n\t\tplugin.setAllowAnonymousLogin(ldapProperties.isAllowAnonymousLogin());\r\n\t\tplugin.setAuthorizationCheckEnabled(ldapProperties.isAuthorizationCheckEnabled());\r\n\t\tplugin.setBaseDn(ldapProperties.getBaseDn());\r\n\t\tplugin.setContextProperties(ldapProperties.getContextProperties());\r\n\t\tplugin.setGroupIdAttribute(ldapProperties.getGroupIdAttribute());\r\n\t\tplugin.setGroupMemberAttribute(ldapProperties.getGroupMemberAttribute());\r\n\t\tplugin.setGroupNameAttribute(ldapProperties.getGroupNameAttribute());\r\n\t\tplugin.setGroupSearchBase(ldapProperties.getGroupSearchBase());\r\n\t\tplugin.setGroupSearchFilter(ldapProperties.getGroupSearchFilter());\r\n\t\tplugin.setGroupTypeAttribute(ldapProperties.getGroupTypeAttribute());\r\n\t\tplugin.setInitialContextFactory(ldapProperties.getInitialContextFactory());\r\n\t\tplugin.setManagerDn(ldapProperties.getManagerDn());\r\n\t\tplugin.setManagerPassword(ldapProperties.getManagerPassword());\r\n\t\tplugin.setSecurityAuthentication(ldapProperties.getSecurityAuthentication());\r\n\t\tplugin.setServerUrl(ldapProperties.getServerUrl());\r\n\t\tplugin.setSortControlSupported(ldapProperties.isSortControlSupported());\r\n\t\tplugin.setUsePosixGroups(ldapProperties.isUsePosixGroups());\r\n\t\tplugin.setUserDnPattern(ldapProperties.getUserDnPattern());\r\n\t\tplugin.setUserEmailAttribute(ldapProperties.getUserEmailAttribute());\r\n\t\tplugin.setUserFirstnameAttribute(ldapProperties.getUserFirstnameAttribute());\r\n\t\tplugin.setUserIdAttribute(ldapProperties.getUserIdAttribute());\r\n\t\tplugin.setUserLastnameAttribute(ldapProperties.getUserLastnameAttribute());\r\n\t\tplugin.setUserPasswordAttribute(ldapProperties.getUserPasswordAttribute());\r\n\t\tplugin.setUserSearchBase(ldapProperties.getUserSearchBase());\r\n\t\tplugin.setUserSearchFilter(ldapProperties.getUserSearchFilter());\r\n\t\tplugin.setUseSsl(ldapProperties.isUseSsl());\r\n\t\treturn plugin;\r\n\t}\r\n\r\n}\r\n```\r\n\r\nJacksonDataFormatConfigurer.java:\r\n```\r\npackage at.acme.camunda.configuration;\r\n\r\nimport java.lang.reflect.Field;\r\nimport java.text.DateFormat;\r\nimport java.text.SimpleDateFormat;\r\nimport java.util.Locale;\r\nimport java.util.Map;\r\nimport java.util.Map.Entry;\r\nimport java.util.TimeZone;\r\n\r\nimport org.camunda.spin.impl.json.jackson.format.JacksonJsonDataFormat;\r\nimport org.camunda.spin.spi.DataFormatConfigurator;\r\nimport org.springframework.beans.BeanUtils;\r\nimport org.springframework.beans.PropertyValues;\r\nimport org.springframework.boot.autoconfigure.jackson.JacksonProperties;\r\nimport org.springframework.boot.bind.PropertySourcesPropertyValues;\r\nimport org.springframework.boot.bind.RelaxedDataBinder;\r\nimport org.springframework.boot.context.event.ApplicationEnvironmentPreparedEvent;\r\nimport org.springframework.context.ApplicationListener;\r\nimport org.springframework.core.env.ConfigurableEnvironment;\r\nimport org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;\r\nimport org.springframework.util.Assert;\r\nimport org.springframework.util.ClassUtils;\r\nimport org.springframework.util.ReflectionUtils;\r\n\r\nimport com.fasterxml.jackson.databind.ObjectMapper;\r\nimport com.fasterxml.jackson.databind.PropertyNamingStrategy;\r\n\r\nimport lombok.extern.slf4j.Slf4j;\r\n\r\n@Slf4j\r\npublic class JacksonDataFormatConfigurer implements DataFormatConfigurator<JacksonJsonDataFormat>, ApplicationListener<ApplicationEnvironmentPreparedEvent> {\r\n\t\r\n\t// wichtig: sollte sich diese Klasse vom Package oder vom Namen ändern\r\n\t// dann muss das auch in der Datei META-INF/services/org.camunda.spin.spi.DataFormatConfigurator\r\n\t// nachgetragen werden\r\n\t\r\n\t// hier gilt Trick 25c: diese Klasse wird durch den Spring-Classloader\r\n\t// als Application-Listener nach dem Fertigstellen des Environments geladen.\r\n\t// daraufhin stellt der Listener die PropertyValues in einer statischen Variable\r\n\t// zur Verfügung.\r\n\t// Die Spin-Process-Engine wiederum wird durch denselben Classloader geladen und\r\n\t// ruft dann die Methode configure() auf, die dann auf die bereits zur Verfügung\r\n\t// gestellten PropertyValues (statisch) zugreifen kann.\r\n\t// Damit können die ObjectMapper Einstellungen von Spring Boot auch für\r\n\t// diesen Camunda Spin DataFormatConfigurer verwendet werden.\r\n\r\n\tprivate static PropertyValues propertyValues;\r\n\r\n\t@Override\r\n\tpublic void onApplicationEvent(ApplicationEnvironmentPreparedEvent event) {\r\n\t\tlog.debug(\"Hole die Einstellungen aus den Properties für Jackson JSON ObjectMapper\");\r\n\t\tConfigurableEnvironment environment = event.getEnvironment();\r\n\t\tJacksonDataFormatConfigurer.propertyValues = new PropertySourcesPropertyValues(environment.getPropertySources());\r\n\t}\r\n\r\n\t@Override\r\n\tpublic Class<JacksonJsonDataFormat> getDataFormatClass() {\r\n\t\treturn JacksonJsonDataFormat.class;\r\n\t}\r\n\r\n\t@Override\r\n\tpublic void configure(JacksonJsonDataFormat dataFormat) {\r\n\t\tlog.debug(\"Configure the Spin JSON DataFormat\");\r\n\t\tObjectMapper objectMapper = dataFormat.getObjectMapper();\r\n\t\t\r\n\t\tJacksonProperties jacksonProperties = new JacksonProperties();\r\n\t\tRelaxedDataBinder jacksonPropertiesDataBinder = new RelaxedDataBinder(jacksonProperties, \"spring.jackson\");\r\n\t\tjacksonPropertiesDataBinder.bind(propertyValues);\r\n\t\t\r\n\t\tJackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder();\r\n\t\tif (jacksonProperties.getSerializationInclusion() != null) {\r\n\t\t\tbuilder.serializationInclusion(jacksonProperties.getSerializationInclusion());\r\n\t\t}\r\n\t\tif (jacksonProperties.getTimeZone() != null) {\r\n\t\t\tbuilder.timeZone(jacksonProperties.getTimeZone());\r\n\t\t}\r\n\t\tconfigureFeatures(builder, jacksonProperties.getDeserialization());\r\n\t\tconfigureFeatures(builder, jacksonProperties.getSerialization());\r\n\t\tconfigureFeatures(builder, jacksonProperties.getMapper());\r\n\t\tconfigureFeatures(builder, jacksonProperties.getParser());\r\n\t\tconfigureFeatures(builder, jacksonProperties.getGenerator());\r\n\t\tconfigureDateFormat(builder, jacksonProperties);\r\n\t\tconfigurePropertyNamingStrategy(builder, jacksonProperties);\r\n\t\t// configureModules(builder);\r\n\t\tconfigureLocale(builder, jacksonProperties);\r\n\t\tbuilder.configure(objectMapper);\r\n\t}\r\n\r\n\tprivate void configureFeatures(Jackson2ObjectMapperBuilder builder, Map<?, Boolean> features) {\r\n\t\tfor (Entry<?, Boolean> entry : features.entrySet()) {\r\n\t\t\tif (entry.getValue() != null && entry.getValue()) {\r\n\t\t\t\tbuilder.featuresToEnable(entry.getKey());\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tbuilder.featuresToDisable(entry.getKey());\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprivate void configureDateFormat(Jackson2ObjectMapperBuilder builder, JacksonProperties jacksonProperties) {\r\n\t\t// We support a fully qualified class name extending DateFormat or a date\r\n\t\t// pattern string value\r\n\t\tString dateFormat = jacksonProperties.getDateFormat();\r\n\t\tif (dateFormat != null) {\r\n\t\t\ttry {\r\n\t\t\t\tClass<?> dateFormatClass = ClassUtils.forName(dateFormat, null);\r\n\t\t\t\tbuilder.dateFormat(\r\n\t\t\t\t\t\t(DateFormat) BeanUtils.instantiateClass(dateFormatClass));\r\n\t\t\t}\r\n\t\t\tcatch (ClassNotFoundException ex) {\r\n\t\t\t\tSimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormat);\r\n\t\t\t\t// Since Jackson 2.6.3 we always need to set a TimeZone (see gh-4170)\r\n\t\t\t\t// If none in our properties fallback to the Jackson's default\r\n\t\t\t\tTimeZone timeZone = jacksonProperties.getTimeZone();\r\n\t\t\t\tif (timeZone == null) {\r\n\t\t\t\t\ttimeZone = new ObjectMapper().getSerializationConfig()\r\n\t\t\t\t\t\t\t.getTimeZone();\r\n\t\t\t\t}\r\n\t\t\t\tsimpleDateFormat.setTimeZone(timeZone);\r\n\t\t\t\tbuilder.dateFormat(simpleDateFormat);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprivate void configurePropertyNamingStrategy(Jackson2ObjectMapperBuilder builder, JacksonProperties jacksonProperties) {\r\n\t\t// We support a fully qualified class name extending Jackson's\r\n\t\t// PropertyNamingStrategy or a string value corresponding to the constant\r\n\t\t// names in PropertyNamingStrategy which hold default provided implementations\r\n\t\tString strategy = jacksonProperties.getPropertyNamingStrategy();\r\n\t\tif (strategy != null) {\r\n\t\t\ttry {\r\n\t\t\t\tconfigurePropertyNamingStrategyClass(builder,\r\n\t\t\t\t\t\tClassUtils.forName(strategy, null));\r\n\t\t\t}\r\n\t\t\tcatch (ClassNotFoundException ex) {\r\n\t\t\t\tconfigurePropertyNamingStrategyField(builder, strategy);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprivate void configurePropertyNamingStrategyClass(Jackson2ObjectMapperBuilder builder, Class<?> propertyNamingStrategyClass) {\r\n\t\tbuilder.propertyNamingStrategy((PropertyNamingStrategy) BeanUtils\r\n\t\t\t\t.instantiateClass(propertyNamingStrategyClass));\r\n\t}\r\n\r\n\tprivate void configurePropertyNamingStrategyField(Jackson2ObjectMapperBuilder builder, String fieldName) {\r\n\t\t// Find the field (this way we automatically support new constants\r\n\t\t// that may be added by Jackson in the future)\r\n\t\tField field = ReflectionUtils.findField(PropertyNamingStrategy.class,\r\n\t\t\t\tfieldName, PropertyNamingStrategy.class);\r\n\t\tAssert.notNull(field, \"Constant named '\" + fieldName + \"' not found on \"\r\n\t\t\t\t+ PropertyNamingStrategy.class.getName());\r\n\t\ttry {\r\n\t\t\tbuilder.propertyNamingStrategy((PropertyNamingStrategy) field.get(null));\r\n\t\t}\r\n\t\tcatch (Exception ex) {\r\n\t\t\tthrow new IllegalStateException(ex);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate void configureLocale(Jackson2ObjectMapperBuilder builder, JacksonProperties jacksonProperties) {\r\n\t\tLocale locale = jacksonProperties.getLocale();\r\n\t\tif (locale != null) {\r\n\t\t\tbuilder.locale(locale);\r\n\t\t}\r\n\t}\r\n\r\n}\r\n```\r\n\r\nApplication.java:\r\n```\r\npackage at.acme.camunda;\r\n\r\nimport org.camunda.bpm.spring.boot.starter.SpringBootProcessApplication;\r\nimport org.springframework.boot.autoconfigure.SpringBootApplication;\r\nimport org.springframework.boot.builder.SpringApplicationBuilder;\r\nimport org.springframework.context.annotation.PropertySource;\r\n\r\nimport at.acme.camunda.configuration.JacksonDataFormatConfigurer;\r\n\r\n@SpringBootApplication\r\n@PropertySource(\"acme.warfile.properties\")\r\npublic class Application extends SpringBootProcessApplication {\t\r\n\r\n\tpublic static void main(String[] args) {\r\n\t\tnew SpringApplicationBuilder(Application.class)\r\n\t\t\t.listeners(new JacksonDataFormatConfigurer())\r\n\t\t\t.run(args);\r\n\t}\r\n\r\n}\r\n```\r\n\r\npom.xml\r\n```\r\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd\">\r\n  <modelVersion>4.0.0</modelVersion>\r\n\r\n  <parent>\r\n    <groupId>at.acme</groupId>\r\n    <artifactId>parent</artifactId>\r\n    <version>1.0.0</version>\r\n  </parent>\r\n\r\n  <groupId>at.acme</groupId>\r\n  <artifactId>camunda</artifactId>\r\n  <version>1.0.0-SNAPSHOT</version>\r\n\r\n  <name>Specially provided for this Test-Case</name>\r\n\r\n  <properties>\r\n    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>\r\n    <maven.compiler.source>1.8</maven.compiler.source>\r\n    <maven.compiler.target>1.8</maven.compiler.target>\r\n\r\n    <spring-boot.version>1.3.5.RELEASE</spring-boot.version>\r\n    <lombok.version>1.16.8</lombok.version>\r\n    <camunda.version>7.5.0</camunda.version>\r\n    <camunda-spring-starter.version>1.2.0</camunda-spring-starter.version>\r\n  </properties>\r\n\r\n  <dependencyManagement>\r\n    <dependencies>\r\n      <dependency>\r\n        <groupId>org.springframework.boot</groupId>\r\n        <artifactId>spring-boot-dependencies</artifactId>\r\n        <version>${spring-boot.version}</version>\r\n        <type>pom</type>\r\n        <scope>import</scope>\r\n      </dependency>\r\n      <dependency>\r\n        <groupId>org.camunda.bpm</groupId>\r\n        <artifactId>camunda-bom</artifactId>\r\n        <version>${camunda.version}</version>\r\n        <type>pom</type>\r\n        <scope>import</scope>\r\n      </dependency>\r\n      <dependency>\r\n        <groupId>org.camunda.bpm.webapp</groupId>\r\n        <artifactId>camunda-webapp-webjar</artifactId>\r\n        <version>${camunda.version}</version>\r\n      </dependency>\r\n      <dependency>\r\n        <groupId>org.camunda.bpm.extension</groupId>\r\n        <artifactId>camunda-bpm-spring-boot-starter</artifactId>\r\n        <version>${camunda-spring-starter.version}</version>\r\n      </dependency>\r\n      <dependency>\r\n        <groupId>org.camunda.bpm.extension</groupId>\r\n        <artifactId>camunda-bpm-assert</artifactId>\r\n        <version>1.2</version>\r\n      </dependency>\r\n      <dependency>\r\n        <groupId>org.camunda.bpm.extension</groupId>\r\n        <artifactId>camunda-bpm-mockito</artifactId>\r\n        <version>2.2</version>\r\n      </dependency>\r\n      <dependency>\r\n        <groupId>org.projectlombok</groupId>\r\n        <artifactId>lombok</artifactId>\r\n        <version>${lombok.version}</version>\r\n        <scope>provided</scope>\r\n      </dependency>\r\n    </dependencies>\r\n  </dependencyManagement>\r\n\r\n  <dependencies>\r\n    <!-- Spring Boot -->\r\n    <dependency>\r\n      <groupId>org.springframework.boot</groupId>\r\n      <artifactId>spring-boot-starter-web</artifactId>\r\n    </dependency>\r\n    <dependency>\r\n      <groupId>org.springframework.boot</groupId>\r\n      <artifactId>spring-boot-starter-security</artifactId>\r\n    </dependency>\r\n    <dependency>\r\n      <groupId>org.springframework.boot</groupId>\r\n      <artifactId>spring-boot-starter-thymeleaf</artifactId>\r\n    </dependency>\r\n    <dependency>\r\n      <groupId>org.springframework.boot</groupId>\r\n      <artifactId>spring-boot-starter-actuator</artifactId>\r\n    </dependency>\r\n    <dependency>\r\n      <groupId>org.springframework.boot</groupId>\r\n      <artifactId>spring-boot-devtools</artifactId>\r\n      <optional>true</optional>\r\n    </dependency>\r\n    <dependency>\r\n      <groupId>org.springframework.boot</groupId>\r\n      <artifactId>spring-boot-configuration-processor</artifactId>\r\n      <optional>true</optional>\r\n    </dependency>\r\n    <dependency>\r\n      <groupId>org.springframework.boot</groupId>\r\n      <artifactId>spring-boot-starter-test</artifactId>\r\n      <scope>test</scope>\r\n    </dependency>\r\n\r\n    <!-- Spring -->\r\n    <dependency>\r\n      <groupId>org.springframework</groupId>\r\n      <artifactId>spring-tx</artifactId>\r\n    </dependency>\r\n    <dependency>\r\n      <groupId>org.springframework.security</groupId>\r\n      <artifactId>spring-security-ldap</artifactId>\r\n    </dependency>\r\n    <dependency>\r\n      <groupId>org.springframework</groupId>\r\n      <artifactId>spring-jms</artifactId>\r\n    </dependency>\r\n    <dependency>\r\n      <groupId>org.springframework</groupId>\r\n      <artifactId>spring-aspects</artifactId>\r\n      <scope>runtime</scope>\r\n    </dependency>\r\n    <dependency>\r\n      <groupId>org.springframework.security</groupId>\r\n      <artifactId>spring-security-test</artifactId>\r\n      <scope>test</scope>\r\n    </dependency>\r\n\r\n    <!-- Thymeleaf -->\r\n    <dependency>\r\n      <groupId>org.thymeleaf.extras</groupId>\r\n      <artifactId>thymeleaf-extras-springsecurity4</artifactId>\r\n    </dependency>\r\n\r\n    <!-- Camunda -->\r\n    <dependency>\r\n      <groupId>org.camunda.bpm.extension</groupId>\r\n      <artifactId>camunda-bpm-spring-boot-starter</artifactId>\r\n    </dependency>\r\n    <dependency>\r\n      <groupId>org.camunda.bpm.webapp</groupId>\r\n      <artifactId>camunda-webapp-webjar</artifactId>\r\n    </dependency>\r\n    <dependency>\r\n      <groupId>org.camunda.bpm.identity</groupId>\r\n      <artifactId>camunda-identity-ldap</artifactId>\r\n    </dependency>\r\n\r\n    <!-- Camunda Spin -->\r\n    <dependency>\r\n      <groupId>org.camunda.spin</groupId>\r\n      <artifactId>camunda-spin-core</artifactId>\r\n    </dependency>\r\n    <dependency>\r\n      <groupId>org.camunda.spin</groupId>\r\n      <artifactId>camunda-spin-dataformat-json-jackson</artifactId>\r\n    </dependency>\r\n    <dependency>\r\n      <groupId>org.camunda.spin</groupId>\r\n      <artifactId>camunda-spin-dataformat-xml-dom</artifactId>\r\n    </dependency>\r\n    <dependency>\r\n      <groupId>org.camunda.bpm</groupId>\r\n      <artifactId>camunda-engine-plugin-spin</artifactId>\r\n    </dependency>\r\n\r\n    <!-- Jackson Databind -->\r\n    <dependency>\r\n      <groupId>com.fasterxml.jackson.core</groupId>\r\n      <artifactId>jackson-databind</artifactId>\r\n    </dependency>\r\n    <dependency>\r\n      <groupId>com.jayway.jsonpath</groupId>\r\n      <artifactId>json-path</artifactId>\r\n      <version>0.9.1</version>\r\n      <scope>runtime</scope>\r\n    </dependency>\r\n\r\n    <!-- Apache CXF -->\r\n    <dependency>\r\n      <groupId>org.apache.cxf</groupId>\r\n      <artifactId>cxf-rt-frontend-jaxrs</artifactId>\r\n    </dependency>\r\n    <dependency>\r\n      <groupId>org.apache.cxf</groupId>\r\n      <artifactId>cxf-rt-frontend-jaxws</artifactId>\r\n    </dependency>\r\n    <dependency>\r\n      <groupId>org.apache.cxf</groupId>\r\n      <artifactId>cxf-rt-transports-http</artifactId>\r\n    </dependency>\r\n\r\n    <!-- Apache Active MQ -->\r\n    <dependency>\r\n      <groupId>org.apache.activemq</groupId>\r\n      <artifactId>activemq-broker</artifactId>\r\n    </dependency>\r\n    <dependency>\r\n      <groupId>org.apache.activemq</groupId>\r\n      <artifactId>activemq-pool</artifactId>\r\n    </dependency>\r\n    <dependency>\r\n      <groupId>org.apache.activemq.tooling</groupId>\r\n      <artifactId>activemq-junit</artifactId>\r\n      <scope>test</scope>\r\n    </dependency>\r\n\r\n    <!-- Lombok -->\r\n    <dependency>\r\n      <groupId>org.projectlombok</groupId>\r\n      <artifactId>lombok</artifactId>\r\n      <scope>provided</scope>\r\n    </dependency>\r\n\r\n    <!-- Google Guava -->\r\n    <dependency>\r\n      <groupId>com.google.guava</groupId>\r\n      <artifactId>guava</artifactId>\r\n      <version>19.0</version>\r\n    </dependency>\r\n\r\n    <!-- Apache Commons -->\r\n    <dependency>\r\n      <groupId>commons-lang</groupId>\r\n      <artifactId>commons-lang</artifactId>\r\n    </dependency>\r\n\r\n    <!-- Webjars -->\r\n    <dependency>\r\n      <groupId>org.webjars</groupId>\r\n      <artifactId>bootstrap</artifactId>\r\n      <version>3.3.6</version>\r\n      <scope>runtime</scope>\r\n    </dependency>\r\n    <dependency>\r\n      <groupId>org.webjars</groupId>\r\n      <artifactId>jquery</artifactId>\r\n      <version>2.2.3</version>\r\n      <scope>runtime</scope>\r\n    </dependency>\r\n    <dependency>\r\n      <groupId>org.webjars</groupId>\r\n      <artifactId>ionicons</artifactId>\r\n      <version>2.0.1</version>\r\n      <scope>runtime</scope>\r\n    </dependency>\r\n    <dependency>\r\n      <groupId>org.webjars</groupId>\r\n      <artifactId>font-awesome</artifactId>\r\n      <version>4.6.1</version>\r\n      <scope>runtime</scope>\r\n    </dependency>\r\n    <dependency>\r\n      <groupId>org.webjars</groupId>\r\n      <artifactId>jquery-ui</artifactId>\r\n      <version>1.11.4</version>\r\n      <scope>runtime</scope>\r\n    </dependency>\r\n    <dependency>\r\n      <groupId>org.webjars</groupId>\r\n      <artifactId>datatables</artifactId>\r\n      <version>1.10.11</version>\r\n      <scope>runtime</scope>\r\n    </dependency>\r\n    <dependency>\r\n      <groupId>org.webjars</groupId>\r\n      <artifactId>datatables-plugins</artifactId>\r\n      <version>1.10.11-1</version>\r\n      <scope>runtime</scope>\r\n    </dependency>\r\n    <dependency>\r\n      <groupId>org.webjars.bower</groupId>\r\n      <artifactId>iCheck</artifactId>\r\n      <version>1.0.2</version>\r\n      <scope>runtime</scope>\r\n    </dependency>\r\n\r\n    <!-- H2 Datenbank -->\r\n    <dependency>\r\n      <groupId>com.h2database</groupId>\r\n      <artifactId>h2</artifactId>\r\n      <scope>runtime</scope>\r\n    </dependency>\r\n\r\n    <!-- MySQL Datenbank -->\r\n    <dependency>\r\n      <groupId>mysql</groupId>\r\n      <artifactId>mysql-connector-java</artifactId>\r\n      <scope>runtime</scope>\r\n    </dependency>\r\n\r\n    <!-- Logback -->\r\n    <dependency>\r\n      <groupId>ch.qos.logback</groupId>\r\n      <artifactId>logback-classic</artifactId>\r\n    </dependency>\r\n\r\n    <!-- Camunda BPM Mockito -->\r\n    <dependency>\r\n      <groupId>org.camunda.bpm.extension</groupId>\r\n      <artifactId>camunda-bpm-mockito</artifactId>\r\n      <scope>test</scope>\r\n    </dependency>\r\n\r\n    <!-- Camunda BPM Asserts -->\r\n    <dependency>\r\n      <groupId>org.camunda.bpm.extension</groupId>\r\n      <artifactId>camunda-bpm-assert</artifactId>\r\n      <scope>test</scope>\r\n    </dependency>\r\n    <dependency>\r\n      <groupId>org.springframework.boot</groupId>\r\n      <artifactId>spring-boot-starter-jersey</artifactId>\r\n    </dependency>\r\n\r\n    <!-- Dummy Creator -->\r\n    <dependency>\r\n      <groupId>de.dev-eth0.dummycreator</groupId>\r\n      <artifactId>dummy-creator</artifactId>\r\n      <version>1.3</version>\r\n    </dependency>\r\n\r\n    <!-- Groovy -->\r\n    <dependency>\r\n      <groupId>org.codehaus.groovy</groupId>\r\n      <artifactId>groovy-all</artifactId>\r\n    </dependency>\r\n  </dependencies>\r\n  \r\n  <repositories>\r\n    <repository>\r\n      <id>camunda</id>\r\n      <name>Camunda BPM Release Repository</name>\r\n      <url>https://app.camunda.com/nexus/content/repositories/camunda-bpm/</url>\r\n      <releases>\r\n        <enabled>true</enabled>\r\n      </releases>\r\n      <snapshots>\r\n        <enabled>false</enabled>\r\n      </snapshots>\r\n    </repository>\r\n    <repository>\r\n      <id>camunda-extensions</id>\r\n      <name>Camunda BPM Release Repository - Community Extensions</name>\r\n      <url>https://app.camunda.com/nexus/content/repositories/camunda-bpm-community-extensions/</url>\r\n      <releases>\r\n        <enabled>true</enabled>\r\n      </releases>\r\n      <snapshots>\r\n        <enabled>false</enabled>\r\n      </snapshots>\r\n    </repository>\r\n  </repositories>\r\n\r\n  <build>\r\n    <finalName>acme-camunda</finalName>\r\n\r\n    <resources>\r\n      <resource>\r\n        <directory>src/main/resources</directory>\r\n        <filtering>true</filtering>\r\n      </resource>\r\n    </resources>\r\n\r\n    <testResources>\r\n      <testResource>\r\n        <directory>src/test/resources</directory>\r\n        <filtering>true</filtering>\r\n      </testResource>\r\n    </testResources>\r\n\r\n    <pluginManagement>\r\n      <plugins>\r\n        <plugin>\r\n          <artifactId>maven-resources-plugin</artifactId>\r\n          <version>3.0.0</version>\r\n        </plugin>\r\n      </plugins>\r\n    </pluginManagement>\r\n\r\n    <plugins>\r\n      <plugin>\r\n        <artifactId>maven-resources-plugin</artifactId>\r\n        <configuration>\r\n          <delimiters>\r\n            <delimiter>@</delimiter>\r\n          </delimiters>\r\n          <useDefaultDelimiters>false</useDefaultDelimiters>\r\n        </configuration>\r\n      </plugin>\r\n\r\n      <plugin>\r\n        <groupId>org.springframework.boot</groupId>\r\n        <artifactId>spring-boot-maven-plugin</artifactId>\r\n        <version>${spring-boot.version}</version>\r\n        <configuration>\r\n          <executable>true</executable>\r\n        </configuration>\r\n        <executions>\r\n          <execution>\r\n            <goals>\r\n              <goal>repackage</goal>\r\n            </goals>\r\n          </execution>\r\n        </executions>\r\n      </plugin>\r\n\r\n      <plugin>\r\n        <artifactId>maven-surefire-plugin</artifactId>\r\n        <executions>\r\n          <execution>\r\n            <id>default-test</id>\r\n            <phase>test</phase>\r\n            <goals>\r\n              <goal>test</goal>\r\n            </goals>\r\n            <configuration>\r\n              <excludedGroups>at.acme.camunda.IntegrationTestCategory</excludedGroups>\r\n            </configuration>\r\n          </execution>\r\n          <execution>\r\n            <id>default</id>\r\n            <phase>integration-test</phase>\r\n            <goals>\r\n              <goal>test</goal>\r\n            </goals>\r\n            <configuration>\r\n              <excludedGroups>at.acme.camunda.UnitTestCategory</excludedGroups>\r\n            </configuration>\r\n          </execution>\r\n        </executions>\r\n      </plugin>\r\n    </plugins>\r\n  </build>\r\n</project>\r\n```"}}
{"actor":{"display_login":"mufasa1976"}}