Author: scabanovich
Date: 2012-05-25 20:30:46 -0400 (Fri, 25 May 2012)
New Revision: 41453
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.deltaspike.core/src/org/jboss/tools/cdi/deltaspike/core/DeltaspikeAuthorityMethod.java
trunk/cdi/plugins/org.jboss.tools.cdi.deltaspike.core/src/org/jboss/tools/cdi/deltaspike/core/DeltaspikeSecurityExtension.java
Log:
JBIDE-11552
https://issues.jboss.org/browse/JBIDE-11552
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.deltaspike.core/src/org/jboss/tools/cdi/deltaspike/core/DeltaspikeAuthorityMethod.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.deltaspike.core/src/org/jboss/tools/cdi/deltaspike/core/DeltaspikeAuthorityMethod.java 2012-05-25
23:21:41 UTC (rev 41452)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.deltaspike.core/src/org/jboss/tools/cdi/deltaspike/core/DeltaspikeAuthorityMethod.java 2012-05-26
00:30:46 UTC (rev 41453)
@@ -77,29 +77,22 @@
return false;
}
+ public String getKey() {
+ String separator = ":"; //$NON-NLS-1$
+ String result = declaringTypeName + separator + method.getMethod().getElementName();
+ try {
+ result += separator + method.getMethod().getSignature();
+ } catch (JavaModelException e) {
+ DeltaspikeCorePlugin.getDefault().logError(e);
+ }
+ return result;
+ }
+
public boolean equals(Object o) {
if(!(o instanceof DeltaspikeAuthorityMethod)) {
return false;
}
DeltaspikeAuthorityMethod other = (DeltaspikeAuthorityMethod)o;
- if(!other.declaringTypeName.equals(declaringTypeName)) {
- return false;
- }
- if(!other.path.equals(path)) {
- return false;
- }
- if(!method.getMethod().getElementName().equals(other.getMethod().getMethod().getElementName()))
{
- return false;
- }
- try {
- String kThis = method.getMethod().getSignature();
- String kThat = other.method.getMethod().getSignature();
- if(!kThis.equals(kThat)) {
- return false;
- }
- } catch (JavaModelException e) {
- DeltaspikeCorePlugin.getDefault().logError(e);
- }
- return true;
+ return getKey().equals(other.getKey());
}
}
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.deltaspike.core/src/org/jboss/tools/cdi/deltaspike/core/DeltaspikeSecurityExtension.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.deltaspike.core/src/org/jboss/tools/cdi/deltaspike/core/DeltaspikeSecurityExtension.java 2012-05-25
23:21:41 UTC (rev 41452)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.deltaspike.core/src/org/jboss/tools/cdi/deltaspike/core/DeltaspikeSecurityExtension.java 2012-05-26
00:30:46 UTC (rev 41453)
@@ -13,6 +13,7 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -248,6 +249,17 @@
}
Set<DeltaspikeAuthorityMethod> authorizers2 = collectAuthorizerMethods(parents,
c.getSecurityBindingTypeName());
authorizers2.addAll(c.getAuthorizerMembers());
+ Set<String> x = new HashSet<String>();
+ Iterator<DeltaspikeAuthorityMethod> it = authorizers2.iterator();
+ while(it.hasNext()) {
+ DeltaspikeAuthorityMethod a = it.next();
+ String key = a.getKey();
+ if(x.contains(key)) {
+ it.remove();
+ } else {
+ x.add(key);
+ }
+ }
Map<AbstractMemberDefinition, SecurityBindingDeclaration> bound =
c.getBoundMembers();
for (AbstractMemberDefinition d: bound.keySet()) {
String name = d instanceof MethodDefinition ?
((MethodDefinition)d).getMethod().getElementName()