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

Reply via email to