From 3db9cac6dea2bd5b3549e9489ad12c5d53faf44d Mon Sep 17 00:00:00 2001 From: Marek Schmidt Date: Fri, 5 Aug 2011 14:36:49 +0200 Subject: [PATCH] Use WEB-INF/security.drl if security.drl not found on classpath --- .../seam/security/permission/SecurityRuleProducer.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/impl/src/main/java/org/jboss/seam/security/permission/SecurityRuleProducer.java b/impl/src/main/java/org/jboss/seam/security/permission/SecurityRuleProducer.java index 047309b..45f802c 100644 --- a/impl/src/main/java/org/jboss/seam/security/permission/SecurityRuleProducer.java +++ b/impl/src/main/java/org/jboss/seam/security/permission/SecurityRuleProducer.java @@ -32,6 +32,10 @@ public class SecurityRuleProducer { @Resource("security.drl") InputStream securityRules; + @Inject + @Resource("WEB-INF/security.drl") + InputStream webInfSecurityRules; + @Produces @ApplicationScoped @Security @@ -41,7 +45,9 @@ public KnowledgeBase createSecurityKnowledgeBase() { KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(config); - org.drools.io.Resource resource = ResourceFactory.newInputStreamResource(securityRules); + org.drools.io.Resource resource = ResourceFactory.newInputStreamResource( + securityRules != null ? securityRules : webInfSecurityRules); + kbuilder.add(resource, ResourceType.DRL); KnowledgeBuilderErrors kbuildererrors = kbuilder.getErrors();