Author: rwesten
Date: Thu Oct 17 11:58:37 2013
New Revision: 1533055
URL: http://svn.apache.org/r1533055
Log:
STANBOL-1177: Attribues are now loaded within a doPrivileged() block
Modified:
stanbol/trunk/enhancement-engines/lucenefstlinking/src/main/java/org/apache/stanbol/enhancer/engines/lucenefstlinking/LinkableTokenFilter.java
Modified:
stanbol/trunk/enhancement-engines/lucenefstlinking/src/main/java/org/apache/stanbol/enhancer/engines/lucenefstlinking/LinkableTokenFilter.java
URL:
http://svn.apache.org/viewvc/stanbol/trunk/enhancement-engines/lucenefstlinking/src/main/java/org/apache/stanbol/enhancer/engines/lucenefstlinking/LinkableTokenFilter.java?rev=1533055&r1=1533054&r2=1533055&view=diff
==============================================================================
---
stanbol/trunk/enhancement-engines/lucenefstlinking/src/main/java/org/apache/stanbol/enhancer/engines/lucenefstlinking/LinkableTokenFilter.java
(original)
+++
stanbol/trunk/enhancement-engines/lucenefstlinking/src/main/java/org/apache/stanbol/enhancer/engines/lucenefstlinking/LinkableTokenFilter.java
Thu Oct 17 11:58:37 2013
@@ -19,6 +19,8 @@ package org.apache.stanbol.enhancer.engi
import static
org.apache.stanbol.enhancer.engines.entitylinking.config.TextProcessingConfig.UNICASE_SCRIPT_LANUAGES;
import java.io.IOException;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
import java.util.Collections;
import java.util.EnumSet;
import java.util.Iterator;
@@ -143,9 +145,9 @@ public final class LinkableTokenFilter e
private int lookupCount = 0;
private int incrementCount = 0;
- private final CharTermAttribute termAtt =
addAttribute(CharTermAttribute.class);
- private final OffsetAttribute offset = addAttribute(OffsetAttribute.class);
- private final TaggingAttribute taggable =
addAttribute(TaggingAttribute.class);
+ protected final CharTermAttribute termAtt;
+ protected final OffsetAttribute offset;
+ protected final TaggingAttribute taggable;
/**
* List with {@link TokenData#isLinkable linkable} {@link Token}s used by
* the {@link #reduce(TagLL[])} method to check if {@link TagLL tags}
@@ -156,6 +158,20 @@ public final class LinkableTokenFilter e
protected LinkableTokenFilter(TokenStream input, AnalysedText at,
String lang, LanguageProcessingConfig lpc) {
super(input);
+ //STANBOL-1177: add attributes in doPrivileged to avoid
+ //AccessControlException: access denied ("java.lang.RuntimePermission"
"getClassLoader")
+ termAtt = AccessController.doPrivileged(new
PrivilegedAction<CharTermAttribute>() {
+ @Override public CharTermAttribute run() {
+ return addAttribute(CharTermAttribute.class);
+ }});
+ offset = AccessController.doPrivileged(new
PrivilegedAction<OffsetAttribute>() {
+ @Override public OffsetAttribute run() {
+ return addAttribute(OffsetAttribute.class);
+ }});
+ taggable = AccessController.doPrivileged(new
PrivilegedAction<TaggingAttribute>() {
+ @Override public TaggingAttribute run() {
+ return addAttribute(TaggingAttribute.class);
+ }});
this.at = at;
//this.lang = lang;
this.lpc = lpc;