From 39db72786ec179e67e3c1c0c71a2e93672999ea5 Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Thu, 03 Dec 2009 18:04:49 +0000
Subject: [PATCH] Split SDK from server code and add build/packaging infrastructure.

---
 sdk/build-tools/org/opends/build/tools/MessagePropertyKey.java |  253 ++++++++++++++++++++------------------------------
 1 files changed, 102 insertions(+), 151 deletions(-)

diff --git a/sdk/build-tools/org/opends/build/tools/MessagePropertyKey.java b/sdk/build-tools/org/opends/build/tools/MessagePropertyKey.java
index 93ee9e5..e610e73 100644
--- a/sdk/build-tools/org/opends/build/tools/MessagePropertyKey.java
+++ b/sdk/build-tools/org/opends/build/tools/MessagePropertyKey.java
@@ -27,239 +27,190 @@
 
 package org.opends.build.tools;
 
-import org.opends.messages.Category;
-import org.opends.messages.Severity;
-
-import java.util.EnumSet;
-
 /**
- * OpenDS messages defined in properties files must be defined
- * with the ordinal and in most cases category and severity encoded
- * in the message key.  This class helps with generating and
- * parsing of these keys.
- *
- * Keys must be of the form
- *
- *   CATEGORY_SEVERITY_DESCRIPTION_ORDINAL
- *
+ * OpenDS messages defined in properties files must be defined with the
+ * ordinal and in most cases category and severity encoded in the
+ * message key. This class helps with generating and parsing of these
+ * keys. Keys must be of the form CATEGORY_SEVERITY_DESCRIPTION_ORDINAL
  * where:
  * <ul>
- * <li>
- * CATEGORY is the string representation of one of the
- * <code>Category</code> enums.
- * </li>
- * <li>
- * SEVERITY is the long or abbreviated form of one of
- * the <code>Severity</code> enums.
- * </li>
- * <li>
- * DESCRIPTION is an uppercase string containing characters
- * and the underscore character for describing the purpose
- * of the message.
- * </li>
- * <li>
- * ORDINAL is an integer that makes the message unique witin
- * the property file.
- * </li>
+ * <li>CATEGORY is the string representation of one of the
+ * <code>Category</code> enums.</li>
+ * <li>SEVERITY is the long or abbreviated form of one of the
+ * <code>Severity</code> enums.</li>
+ * <li>DESCRIPTION is an uppercase string containing characters and the
+ * underscore character for describing the purpose of the message.</li>
+ * <li>ORDINAL is an integer that makes the message unique witin the
+ * property file.</li>
  * </ul>
- *
  */
 // TODO: move this class to GenerateMessageFile when DirectoryServer
 // no longer needs to support dumpMessages()
-public class MessagePropertyKey
-        implements Comparable<MessagePropertyKey> {
-
-  private Category category;
-
-  private Severity severity;
+public class MessagePropertyKey implements
+    Comparable<MessagePropertyKey>
+{
 
   private String description;
 
   private Integer ordinal;
 
+
+
   /**
    * Creates a message property key from a string value.
-   * @param keyString from properties file
-   * @param includesCategory when true expects ordinals to be encoded
-   *        in the keystring; when false the mandate is relaxed
-   * @param includesSeverity when true expects ordinals to be encoded
-   *        in the keystring; when false the mandate is relaxed
-   * @param includesOrdinal when true expects ordinals to be encoded
-   *        in the keystring; when false the mandate is relaxed
+   *
+   * @param keyString
+   *          from properties file
+   * @param includesOrdinal
+   *          when true expects ordinals to be encoded in the keystring;
+   *          when false the mandate is relaxed
    * @return MessagePropertyKey created from string
    */
-  static public MessagePropertyKey parseString(
-          String keyString,
-          boolean includesCategory,
-          boolean includesSeverity,
-          boolean includesOrdinal) {
+  static public MessagePropertyKey parseString(String keyString,
+      boolean includesOrdinal)
+  {
 
-    Category category = null;
-    Severity severity = null;
     String description;
     Integer ordinal = null;
 
     String k = keyString;
-    for (Category c : EnumSet.allOf(Category.class)) {
-      String cName = c.name();
-      if (k.startsWith(cName)) {
-        category = c;
-        if ('_' != k.charAt(cName.length())) {
-          throw new IllegalArgumentException(
-                  "Error processing " + keyString + ".  Category must be " +
-                          "separated from the rest of the " +
-                          "key with an '_' character");
-        }
-        k = k.substring(cName.length() + 1);
-        break;
-      }
-    }
-    if (category == null && includesCategory) {
-      throw new IllegalArgumentException("Category not included in key " +
-              keyString);
-    }
 
-    for (Severity s : EnumSet.allOf(Severity.class)) {
-      String sName = s.propertyKeyFormName();
-      if (k.startsWith(sName)) {
-        severity = s;
-        if ('_' != k.charAt(sName.length())) {
-          throw new IllegalArgumentException(
-                  "Error processing " + keyString + ".  Severity must be " +
-                          "separated from the rest of the " +
-                          "key with an '_' character");
-        }
-        k = k.substring(sName.length() + 1);
-        break;
-      }
-    }
-    if (severity == null && includesSeverity) {
-      throw new IllegalArgumentException("Severity not included in key " +
-              keyString);
-    }
-
-    if (includesOrdinal) {
+    if (includesOrdinal)
+    {
       int li = k.lastIndexOf("_");
-      if (li != -1) {
+      if (li != -1)
+      {
         description = k.substring(0, li).toUpperCase();
-      } else {
-        throw new IllegalArgumentException(
-                "Incorrectly formatted key " + keyString);
+      }
+      else
+      {
+        throw new IllegalArgumentException("Incorrectly formatted key "
+            + keyString);
       }
 
-      try {
+      try
+      {
         String ordString = k.substring(li + 1);
         ordinal = Integer.parseInt(ordString);
-      } catch (Exception nfe) {
-        throw new IllegalArgumentException("Error parsing ordinal for key " +
-                keyString);
       }
-    } else {
+      catch (Exception nfe)
+      {
+        throw new IllegalArgumentException(
+            "Error parsing ordinal for key " + keyString);
+      }
+    }
+    else
+    {
       description = k;
     }
-    return new MessagePropertyKey(category, severity, description, ordinal);
+    return new MessagePropertyKey(description, ordinal);
   }
 
+
+
   /**
    * Creates a parameterized instance.
-   * @param category of this key
-   * @param severity of this key
-   * @param description of this key
-   * @param ordinal of this key
+   *
+   * @param description
+   *          of this key
+   * @param ordinal
+   *          of this key
    */
-  public MessagePropertyKey(Category category, Severity severity,
-                           String description, Integer ordinal) {
-    this.category = category;
-    this.severity = severity;
+  public MessagePropertyKey(String description, Integer ordinal)
+  {
     this.description = description;
     this.ordinal = ordinal;
   }
 
-  /**
-   * Gets the category of this key.
-   * @return Category of this key
-   */
-  public Category getCategory() {
-    return this.category;
-  }
 
-  /**
-   * Gets the severity of this key.
-   * @return Severity of this key
-   */
-  public Severity getSeverity() {
-    return this.severity;
-  }
 
   /**
    * Gets the description of this key.
+   *
    * @return description of this key
    */
-  public String getDescription() {
+  public String getDescription()
+  {
     return this.description;
   }
 
+
+
   /**
    * Gets the ordinal of this key.
+   *
    * @return ordinal of this key
    */
-  public Integer getOrdinal() {
+  public Integer getOrdinal()
+  {
     return this.ordinal;
   }
 
+
+
   /**
-   * Gets the name of the MessageDescriptor as it should appear
-   * in the messages file.
+   * Gets the name of the MessageDescriptor as it should appear in the
+   * messages file.
+   *
    * @return name of message descriptor
    */
-  public String getMessageDescriptorName() {
-    return new StringBuilder()
-            .append(this.severity.messageDesciptorName())
-            .append("_")
-            .append(this.description).toString();
+  public String getMessageDescriptorName()
+  {
+    String name = this.description;
+
+    name = name.replaceFirst("^MILD_WARN", "WARN");
+    name = name.replaceFirst("^SEVERE_WARN", "WARN");
+    name = name.replaceFirst("^MILD_ERR", "ERR");
+    name = name.replaceFirst("^SEVERE_ERR", "ERR");
+    name = name.replaceFirst("^FATAL_ERR", "ERR");
+
+    return name;
   }
 
+
+
   /**
    * {@inheritDoc}
    */
-  public String toString() {
-    return getPropertyKeyName(true, true, true);
+  public String toString()
+  {
+    return getPropertyKeyName(true);
   }
 
+
+
   /**
    * Gets the name of the key as it would appear in a properties file.
-   * @param includeCategory in the name
-   * @param includeSeverity in the name
-   * @param includeOrdinal in the name
+   *
+   * @param includeOrdinal
+   *          in the name
    * @return string representing the property key
    */
-  public String getPropertyKeyName(boolean includeCategory,
-                                   boolean includeSeverity,
-                                   boolean includeOrdinal) {
+  public String getPropertyKeyName(boolean includeOrdinal)
+  {
     StringBuilder sb = new StringBuilder();
-    if (category != null && includeCategory) {
-      sb.append(category.name());
-      sb.append("_");
-    }
-    if (severity != null && includeSeverity) {
-      sb.append(severity.propertyKeyFormName());
-      sb.append("_");
-    }
     sb.append(description);
-    if (ordinal != null && includeOrdinal) {
+    if (ordinal != null && includeOrdinal)
+    {
       sb.append("_");
       sb.append(ordinal);
     }
     return sb.toString();
   }
 
+
+
   /**
    * {@inheritDoc}
    */
-  public int compareTo(MessagePropertyKey k) {
-    if (ordinal == k.ordinal) {
+  public int compareTo(MessagePropertyKey k)
+  {
+    if (ordinal == k.ordinal)
+    {
       return description.compareTo(k.description);
-    } else {
+    }
+    else
+    {
       return ordinal.compareTo(k.ordinal);
     }
   }

--
Gitblit v1.10.0