You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by ni...@apache.org on 2004/02/26 01:02:18 UTC
cvs commit: avalon/meta/tools/src/java/org/apache/avalon/meta/info/builder/tags DependencyTag.java SecurityTag.java
niclas 2004/02/25 16:02:18
Modified: meta/tools/src/java/org/apache/avalon/meta/info/builder/tags
DependencyTag.java SecurityTag.java
Log:
Fixed that SecurityTag didn't check all methods, only the JavaClass.
Revision Changes Path
1.4 +3 -2 avalon/meta/tools/src/java/org/apache/avalon/meta/info/builder/tags/DependencyTag.java
Index: DependencyTag.java
===================================================================
RCS file: /home/cvs/avalon/meta/tools/src/java/org/apache/avalon/meta/info/builder/tags/DependencyTag.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- DependencyTag.java 21 Feb 2004 13:27:04 -0000 1.3
+++ DependencyTag.java 26 Feb 2004 00:02:18 -0000 1.4
@@ -90,7 +90,8 @@
{
JavaMethod method = m_methods[j];
boolean flag = method.isConstructor();
- if( flag ) n++;
+ if( flag )
+ n++;
final DocletTag[] tags =
method.getTagsByName( getNS()
1.2 +22 -5 avalon/meta/tools/src/java/org/apache/avalon/meta/info/builder/tags/SecurityTag.java
Index: SecurityTag.java
===================================================================
RCS file: /home/cvs/avalon/meta/tools/src/java/org/apache/avalon/meta/info/builder/tags/SecurityTag.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SecurityTag.java 24 Feb 2004 22:33:44 -0000 1.1
+++ SecurityTag.java 26 Feb 2004 00:02:18 -0000 1.2
@@ -28,6 +28,7 @@
import com.thoughtworks.qdox.model.DocletTag;
import com.thoughtworks.qdox.model.JavaClass;
+import com.thoughtworks.qdox.model.JavaMethod;
/**
* A doclet tag the declares a service definition.
@@ -87,14 +88,30 @@
final ArrayList permissions = new ArrayList();
final DocletTag[] tags =
getJavaClass().getTagsByName( getNS() + Tags.DELIMITER + PERMISSION_KEY );
- for( int i = 0; i < tags.length; i++ )
- {
- permissions.add( getPermission( tags[i] ) );
- }
+ processTags( tags, permissions );
+ JavaMethod[] methods = findTaggedMethods( getJavaClass(), getNS() + Tags.DELIMITER + PERMISSION_KEY );
+ processMethods( methods, permissions );
+
return (PermissionDescriptor[])permissions.toArray(
new PermissionDescriptor[ permissions.size() ] );
}
+ private void processTags( DocletTag[] tags, ArrayList permissions )
+ {
+ for( int i = 0; i < tags.length; i++ )
+ permissions.add( getPermission( tags[i] ) );
+ }
+
+ private void processMethods( JavaMethod[] methods, ArrayList permissions )
+ {
+ for( int i=0 ; i < methods.length ; i++ )
+ {
+ final DocletTag[] tags =
+ methods[i].getTagsByName( getNS() + Tags.DELIMITER + PERMISSION_KEY );
+ processTags( tags, permissions );
+ }
+ }
+
/**
* Return the value of the Avalon 'service' tag.
* @return the service descriptor or null if no service is declared
---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org