Update of /cvsroot/xdoclet/xdoclet2/src/main/java/org/xdoclet
In directory sc8-pr-cvs1:/tmp/cvs-serv31715/src/main/java/org/xdoclet
Modified Files:
ConfigurableDocletTagFactory.java QDoxMetadataProvider.java
Log Message:
Improved tag validation
Index: ConfigurableDocletTagFactory.java
===================================================================
RCS file:
/cvsroot/xdoclet/xdoclet2/src/main/java/org/xdoclet/ConfigurableDocletTagFactory.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** ConfigurableDocletTagFactory.java 27 Aug 2003 08:36:12 -0000 1.1
--- ConfigurableDocletTagFactory.java 20 Sep 2003 12:25:48 -0000 1.2
***************
*** 10,14 ****
/**
! * A paranoid tag factory thet will throw a runtime exception
* if it is asked to create a tag it doesn't know about. All the
* standard javadoc tags (as of JDK 1.4.2) are preregistered.
--- 10,14 ----
/**
! * A paranoid tag factory that will remember
* if it is asked to create a tag it doesn't know about. All the
* standard javadoc tags (as of JDK 1.4.2) are preregistered.
***************
*** 53,56 ****
--- 53,57 ----
Constructor newTag = tagClass.getConstructor(new Class[] {String.class,
String.class});
DocletTag result = (DocletTag) newTag.newInstance(new Object[]{tag,
text});
+
if (!isKnown) {
unknownTags.add(result);
***************
*** 70,82 ****
throw new RuntimeException();
} catch (InvocationTargetException e) {
! throw new RuntimeException();
}
}
- public List getUnknownTags() {
- return unknownTags;
- }
-
public void registerTag(String tagName, Class tagClass) {
registeredTags.put(tagName, tagClass != null ? tagClass :
DefaultDocletTag.class);
}
--- 71,80 ----
throw new RuntimeException();
} catch (InvocationTargetException e) {
! throw new RuntimeException(e.getTargetException());
}
}
public void registerTag(String tagName, Class tagClass) {
+ System.out.println("Registering tag " + tagName);
registeredTags.put(tagName, tagClass != null ? tagClass :
DefaultDocletTag.class);
}
***************
*** 87,90 ****
--- 85,99 ----
String tagName = (String) iterator.next();
registerTag(tagName, (Class) tags.get(tagName));
+ }
+ }
+
+ public List getUnknownTags() {
+ return unknownTags;
+ }
+
+ public void printUnknownTags(boolean fail) {
+ for (Iterator iterator = unknownTags.iterator(); iterator.hasNext();) {
+ DocletTag docletTag = (DocletTag) iterator.next();
+ System.out.println(docletTag);
}
}
Index: QDoxMetadataProvider.java
===================================================================
RCS file:
/cvsroot/xdoclet/xdoclet2/src/main/java/org/xdoclet/QDoxMetadataProvider.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** QDoxMetadataProvider.java 19 Sep 2003 22:44:55 -0000 1.3
--- QDoxMetadataProvider.java 20 Sep 2003 12:25:48 -0000 1.4
***************
*** 18,38 ****
*/
public class QDoxMetadataProvider implements MetadataProvider {
! private final JavaDocBuilder builder = new JavaDocBuilder();
! public QDoxMetadataProvider(JavaSourceProvider fileProvider) throws IOException {
! Collection files = fileProvider.getFiles();
! for (Iterator iterator = files.iterator(); iterator.hasNext();) {
! Object next = iterator.next();
! if(next instanceof File) {
! File file = (File) next;
! builder.addSource(file);
! } else if(next instanceof Reader) {
! Reader reader = (Reader) next;
! builder.addSource(reader);
! }
! }
}
! public QDoxMetadataProvider(final Reader reader) throws IOException {
this(new JavaSourceProvider() {
public Collection getFiles() throws IOException {
--- 18,29 ----
*/
public class QDoxMetadataProvider implements MetadataProvider {
! private final ConfigurableDocletTagFactory docletTagFactory = new
ConfigurableDocletTagFactory();
! private final JavaSourceProvider fileProvider;
! public QDoxMetadataProvider(JavaSourceProvider fileProvider) {
! this.fileProvider = fileProvider;
}
! public QDoxMetadataProvider(final Reader reader) {
this(new JavaSourceProvider() {
public Collection getFiles() throws IOException {
***************
*** 46,53 ****
}
/**
* @return a Collection of [EMAIL PROTECTED] JavaClass}.
*/
! public Collection getMetadata() {
return Arrays.asList(builder.getClasses());
}
--- 37,60 ----
}
+ public ConfigurableDocletTagFactory getDocletTagFactory() {
+ return docletTagFactory;
+ }
+
/**
* @return a Collection of [EMAIL PROTECTED] JavaClass}.
*/
! public Collection getMetadata() throws IOException {
! JavaDocBuilder builder = new JavaDocBuilder(docletTagFactory);
! Collection files = fileProvider.getFiles();
! for (Iterator iterator = files.iterator(); iterator.hasNext();) {
! Object next = iterator.next();
! if(next instanceof File) {
! File file = (File) next;
! builder.addSource(file);
! } else if(next instanceof Reader) {
! Reader reader = (Reader) next;
! builder.addSource(reader);
! }
! }
return Arrays.asList(builder.getClasses());
}
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
xdoclet-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel