User: ko5tik  
  Date: 02/10/06 10:43:19

  Modified:    modules/xdoclet/src/xdoclet/modules/externalizer
                        ExternalizerSubTask.java
                        ExternalizerTagsHandler.java
  Added:       modules/xdoclet/src/xdoclet/modules/externalizer
                        ExternalizerSubtaskMessages.java
                        PropertiesTranslatorSubTask.java
  Log:
  revorked externalizer  , fixed templates
  added propertiestrasnlator subtask
  
  Revision  Changes    Path
  1.10      +19 -15    
xdoclet/modules/xdoclet/src/xdoclet/modules/externalizer/ExternalizerSubTask.java
  
  Index: ExternalizerSubTask.java
  ===================================================================
  RCS file: 
/cvsroot/xdoclet/xdoclet/modules/xdoclet/src/xdoclet/modules/externalizer/ExternalizerSubTask.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -w -r1.9 -r1.10
  --- ExternalizerSubTask.java  29 Jul 2002 10:39:51 -0000      1.9
  +++ ExternalizerSubTask.java  6 Oct 2002 17:43:19 -0000       1.10
  @@ -23,17 +23,16 @@
    * @author        Ara Abrahamian ([EMAIL PROTECTED])
    * @created       May 7, 2002
    * @ant.element   display-name="Externalizer" name="externalizer" 
parent="xdoclet.DocletTask"
  - * @version       $Revision: 1.9 $
  + * @version       $Revision: 1.10 $
    */
   public class ExternalizerSubTask extends TemplateSubTask
   {
  -    public final static String GENERATED_FILE_NAME = 
"{0}/resources/Messages{1}.properties";
  +    public final static String GENERATED_FILE_NAME = "{0}Messages{1}.properties";
   
       private static String DEFAULT_TEMPLATE_FILE = "resources/properties.xdt";
   
  -    private String  tagName;
  -    private String  keyParamName;
  -    private String  valueParamName;
  +    private String  tagName = "msg.message";
  +    private String  valueParamName = "msg";
       private Map     combinations;
       private Combination currentCombination;
   
  @@ -43,10 +42,6 @@
           setDestinationFile(GENERATED_FILE_NAME);
       }
   
  -    public String getKeyParamName()
  -    {
  -        return keyParamName;
  -    }
   
       public String getTagName()
       {
  @@ -63,11 +58,12 @@
           return currentCombination;
       }
   
  -    public void setKeyParamName(String keyParamName)
  +    public String getKeyParamName()
       {
  -        this.keyParamName = keyParamName;
  +        return "";
       }
   
  +
       public void setTagName(String tagName)
       {
           this.tagName = tagName;
  @@ -78,6 +74,10 @@
           this.valueParamName = valueParamName;
       }
   
  +    public void setKeyParamName(String p)
  +    {
  +    }
  +
       public void validateOptions() throws XDocletException
       {
           super.validateOptions();
  @@ -85,17 +85,21 @@
           if (getTagName() == null) {
               throw new XDocletException("tagName parameter is missing.");
           }
  -        if (getKeyParamName() == null) {
  -            throw new XDocletException("keyParamName parameter is missing.");
  -        }
           if (getValueParamName() == null) {
               throw new XDocletException("valueParamName parameter is missing.");
           }
       }
   
  +    protected String getBundleKey(XClass clazz)
  +    {
  +        String result = MessageFormat.format(getDestinationFile(), new 
Object[]{clazz.getQualifiedName().replace('.', '/'), ""});
  +
  +        return result.substring(0, result.lastIndexOf('.'));
  +    }
  +
       protected String getGeneratedFileName(XClass clazz) throws XDocletException
       {
  -        String result = MessageFormat.format(getDestinationFile(), new 
Object[]{clazz.getContainingPackage().getName().replace('.', '/'), 
currentCombination.getCombinationNameAsResourceBundleName()});
  +        String result = MessageFormat.format(getDestinationFile(), new 
Object[]{clazz.getQualifiedName().replace('.', '/'), 
currentCombination.getCombinationNameAsResourceBundleName()});
   
           return result;
       }
  
  
  
  1.4       +23 -2     
xdoclet/modules/xdoclet/src/xdoclet/modules/externalizer/ExternalizerTagsHandler.java
  
  Index: ExternalizerTagsHandler.java
  ===================================================================
  RCS file: 
/cvsroot/xdoclet/xdoclet/modules/xdoclet/src/xdoclet/modules/externalizer/ExternalizerTagsHandler.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -w -r1.3 -r1.4
  --- ExternalizerTagsHandler.java      28 Jul 2002 23:54:18 -0000      1.3
  +++ ExternalizerTagsHandler.java      6 Oct 2002 17:43:19 -0000       1.4
  @@ -4,15 +4,18 @@
    */
   package xdoclet.modules.externalizer;
   
  +import java.util.*;
  +import xdoclet.DocletContext;
  +import xdoclet.DocletTask;
   import xdoclet.XDocletException;
  -
   import xdoclet.XDocletTagSupport;
  +import xdoclet.util.Translator;
   
   /**
    * @author               Ara Abrahamian ([EMAIL PROTECTED])
    * @created              May 30, 2002
    * @xdoclet.taghandler   namespace="Externalizer"
  - * @version              $Revision: 1.3 $
  + * @version              $Revision: 1.4 $
    */
   public class ExternalizerTagsHandler extends XDocletTagSupport
   {
  @@ -39,6 +42,24 @@
   
           currentKey = null;
           currentValue = null;
  +    }
  +
  +    /**
  +     * current resource bundle name, will be called by TranslatorSubTask
  +     *
  +     * @return
  +     * @exception XDocletException
  +     * @doc.tag                     type="content"
  +     */
  +    public String bundleKey() throws XDocletException
  +    {
  +        if 
(DocletContext.getInstance().isSubTaskDefined(DocletTask.getSubTaskName(ExternalizerSubTask.class)))
 {
  +            return ((ExternalizerSubTask) 
DocletContext.getInstance().getSubTaskBy(DocletTask.getSubTaskName(ExternalizerSubTask.class))).getBundleKey(getCurrentClass());
  +        }
  +        else {
  +            throw new 
XDocletException(Translator.getString("xdoclet.modules.externalizer.ExternalizerSubtaskMessages",
  +                ExternalizerSubtaskMessages.TRANSLATOR_DEPENDS_ON_EXTERNALIZER));
  +        }
       }
   
       /**
  
  
  
  1.1                  
xdoclet/modules/xdoclet/src/xdoclet/modules/externalizer/ExternalizerSubtaskMessages.java
  
  Index: ExternalizerSubtaskMessages.java
  ===================================================================
  /*
   * Copyright (c) 2001, 2002 The XDoclet team
   * All rights reserved.
   */
  package xdoclet.modules.externalizer;
  
  /**
   * @created   October 6, 2002
   */
  public final class ExternalizerSubtaskMessages
  {
  
      /**
       * @msg.bundle   msg="Trasnlator subtask depends on externalizer subtask."
       */
      public final static String TRANSLATOR_DEPENDS_ON_EXTERNALIZER = 
"TRANSLATOR_DEPENDS_ON_EXTERNALIZER";
  }
  
  
  
  1.1                  
xdoclet/modules/xdoclet/src/xdoclet/modules/externalizer/PropertiesTranslatorSubTask.java
  
  Index: PropertiesTranslatorSubTask.java
  ===================================================================
  /*
   * Copyright (c) 2001, 2002 The XDoclet team
   * All rights reserved.
   */
  package xdoclet.modules.externalizer;
  
  import java.io.File;
  import java.net.URL;
  import java.text.MessageFormat;
  import java.util.*;
  import org.apache.commons.logging.Log;
  
  import xjavadoc.*;
  
  import xdoclet.TemplateSubTask;
  import xdoclet.XDocletException;
  import xdoclet.XDocletMessages;
  import xdoclet.template.TemplateException;
  import xdoclet.util.LogUtil;
  import xdoclet.util.Translator;
  /**
   * Creates message bundles and translator classes for easy access to them
   *
   * @author        Konstantin Pribluda([EMAIL PROTECTED])
   * @created       October 5, 2002
   * @ant.element   display-name="Properties Translator" name="propertiestranslator" 
parent="xdoclet.DocletTask"
   * @version       $Revision: 1.1 $
   */
  public class PropertiesTranslatorSubTask extends TemplateSubTask
  {
      public final static String GENERATED_FILE_NAME = "{0}Translator.java";
      private static String DEFAULT_TEMPLATE_FILE = "resources/translator.xdt";
  
  
      /**
       * constructor for properties generator subtask
       */
      public PropertiesTranslatorSubTask()
      {
          // accept only files with message bundle attribute set
          setHavingClassTag("msg.bundle");
          setTemplateURL(getClass().getResource(DEFAULT_TEMPLATE_FILE));
          setDestinationFile(GENERATED_FILE_NAME);
  
      }
  
  
      /**
       * compute file name for generated translator class bundle
       *
       * @param clazz
       * @return
       * @exception XDocletException
       */
      protected String getGeneratedFileFileName(XClass clazz) throws XDocletException
      {
          String result = MessageFormat.format(getDestinationFile(), new 
Object[]{clazz.getQualifiedName().replace('.', '/')});
  
          return result;
      }
  
  }
  
  
  


-------------------------------------------------------
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