krysalis-version/src/java/org/krysalis/version/formatting/format GenericVersionFormat.java,1.1,1.2 KrysalisVersionFormat.java,1.10,1.11

[email protected]
Newsgroups gmane.comp.krysalis.sandbox
Message-ID <[email protected]>
Update of /cvsroot/metamorphosis/krysalis-version/src/java/org/krysalis/version/formatting/format
In directory sc8-pr-cvs1:/tmp/cvs-serv20296/src/java/org/krysalis/version/formatting/format

Modified Files:
	GenericVersionFormat.java KrysalisVersionFormat.java 
Log Message:
First stab at replacing Formats with Specifications for "non-Krysalis" formats.
Fixed some bugs via new tests.

Index: GenericVersionFormat.java
===================================================================
RCS file: /cvsroot/metamorphosis/krysalis-version/src/java/org/krysalis/version/formatting/format/GenericVersionFormat.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** GenericVersionFormat.java	7 Mar 2003 20:01:35 -0000	1.1
--- GenericVersionFormat.java	10 Mar 2003 20:44:09 -0000	1.2
***************
*** 57,61 ****
  
  import org.krysalis.version.internal.InternalVersionConstants;
- import org.krysalis.version.internal.data.VersionDataElementSet;
  
  /**
--- 57,60 ----
***************
*** 64,72 ****
  public class GenericVersionFormat extends KrysalisVersionFormat {
  
-     //:TODO: Make it sensetive to elements...
-     private VersionDataElementSet m_elements = null;
- 
      public GenericVersionFormat(int elementMask) {
!         m_elements = new VersionDataElementSet(elementMask);
      }
  
--- 63,68 ----
  public class GenericVersionFormat extends KrysalisVersionFormat {
  
      public GenericVersionFormat(int elementMask) {
!         super(elementMask);
      }
  

Index: KrysalisVersionFormat.java
===================================================================
RCS file: /cvsroot/metamorphosis/krysalis-version/src/java/org/krysalis/version/formatting/format/KrysalisVersionFormat.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** KrysalisVersionFormat.java	7 Mar 2003 20:01:36 -0000	1.10
--- KrysalisVersionFormat.java	10 Mar 2003 20:44:09 -0000	1.11
***************
*** 64,67 ****
--- 64,68 ----
  import org.krysalis.version.internal.data.VersionDataElement;
  import org.krysalis.version.internal.data.VersionDataElementSet;
+ import org.krysalis.version.util.logging.VersionLogger;
  
  /**
***************
*** 69,74 ****
--- 70,82 ----
   */
  public class KrysalisVersionFormat extends VersionFormatImpl {
+     //:TODO: Make it sensetive to elements...
+     private VersionDataElementSet m_elements = null;
  
      public KrysalisVersionFormat() {
+         m_elements = VersionDataElementSet.DEFAULT;
+     }
+ 
+     public KrysalisVersionFormat(int elementMask) {
+         m_elements = new VersionDataElementSet(elementMask);
      }
  
***************
*** 107,110 ****
--- 115,121 ----
          StringTokenizer tokens = new StringTokenizer(versionString, ". ");
  
+         //
+         //  Extract MAJOR (a mandatory element)
+         //
          elementMask |= VersionDataElement.ELEMENT_MAJOR;
          int major =
***************
*** 114,117 ****
--- 125,131 ----
                  tokens.nextToken());
  
+         //
+         // Extract Minor
+         //
          int minor = VersionDataElement.MIN_MINOR;
          String overflow = "";
***************
*** 167,173 ****
                  if (remainder.length() > 0)
                      try {
!                         elementMask |= VersionDataElement.ELEMENT_RELEASE_LEVEL;
!                         releaseLevel =
!                             parseReleaseLevel(versionString, remainder);
  
                          if (tokens2.hasMoreTokens()) {
--- 181,238 ----
                  if (remainder.length() > 0)
                      try {
! 
!                         //
!                         // Extract Release Level (perhaps with Qualifier)
!                         //
!                         int digitPosn = -1;
! 
!                         for (int i = 0;
!                             (i < remainder.length()) && (-1 == digitPosn);
!                             ++i) {
! 
!                             char c = remainder.charAt(i);
! 
!                             if (Character.isDigit(c)) {
!                                 digitPosn = i;
!                             }
!                         }
! 
!                         if (0 >= digitPosn) {
! 
!                             //
!                             //                          Release Level
!                             //
!                             elementMask
!                                 |= VersionDataElement.ELEMENT_RELEASE_LEVEL;
! 
!                             releaseLevel =
!                                 parseReleaseLevel(versionString, remainder);
!                         }
!                         else {
!                             String possibleRL =
!                                 remainder.substring(0, digitPosn);
!                             String possibleRQ = remainder.substring(digitPosn);
! 
!                             //
!                             // Release Level
!                             //
!                             elementMask
!                                 |= VersionDataElement.ELEMENT_RELEASE_LEVEL;
! 
!                             releaseLevel =
!                                 parseReleaseLevel(versionString, possibleRL);
! 
!                             //
!                             // Rlease Qualifier
!                             //    elementMask
!                             elementMask
!                                 |= VersionDataElement.ELEMENT_RELEASE_QUALIFIER;
! 
!                             releaseQualifier =
!                                 parseInt(
!                                     versionString,
!                                     VersionDataElement.RELEASE_QUALIFIER,
!                                     possibleRQ);
!                         }
  
                          if (tokens2.hasMoreTokens()) {
***************
*** 182,185 ****
--- 247,251 ----
                      }
                      catch (VersionFormatException vfe) {
+                         VersionLogger.g_log.debug("Previous", vfe);
                          elementMask |= VersionDataElement.ELEMENT_BUILD_NUMBER;
                          buildNumber =
***************
*** 192,195 ****
--- 258,263 ----
          }
  
+         //:TODO: Trap remainder and fail if leftovers...
+ 
          return new VersionData(
              new VersionDataElementSet(elementMask),
***************
*** 206,240 ****
  
          output.append(Integer.toString(data.getMajor()));
!         output.append(".");
!         output.append(Integer.toString(data.getMinor()));
! 
!         int point = data.getPoint();
!         if (point > VersionDataElement.UNSET_POINT) {
              output.append(".");
!             output.append(Integer.toString(point));
          }
  
!         ReleaseLevel releaseLevel = data.getReleaseLevel();
! 
!         if (!ReleaseLevel.UNSET.equals(releaseLevel)) {
  
!             String releaseLevelStr = releaseLevel.getAsString();
!             if (releaseLevelStr.length() > 0) {
!                 output.append("-");
!                 output.append(releaseLevelStr);
  
!                 int releaseQualifier = data.getReleaseQualifier();
!                 if (1 < releaseQualifier) {
!                     output.append(Integer.toString(releaseQualifier));
                  }
              }
          }
  
!         if (VersionDataElement.UNSET_BUILD_NUMBER != data.getBuildNumber()) {
!             output.append("-");
!             output.append(data.getBuildNumber());
! 
          }
- 
          return output.toString();
      }
--- 274,315 ----
  
          output.append(Integer.toString(data.getMajor()));
!         if (m_elements.hasMinor()) {
              output.append(".");
!             output.append(Integer.toString(data.getMinor()));
!         }
!         if (m_elements.hasPoint()) {
!             int point = data.getPoint();
!             if (point > VersionDataElement.UNSET_POINT) {
!                 output.append(".");
!                 output.append(Integer.toString(point));
!             }
          }
  
!         if (m_elements.hasReleaseLevel()) {
!             ReleaseLevel releaseLevel = data.getReleaseLevel();
  
!             if (!ReleaseLevel.UNSET.equals(releaseLevel)) {
  
!                 String releaseLevelStr = releaseLevel.getAsString();
!                 if (releaseLevelStr.length() > 0) {
!                     output.append("-");
!                     output.append(releaseLevelStr);
!                     if (m_elements.hasReleaseQualifier()) {
!                         int releaseQualifier = data.getReleaseQualifier();
!                         if (1 < releaseQualifier) {
!                             output.append(Integer.toString(releaseQualifier));
!                         }
!                     }
                  }
              }
          }
+         if (m_elements.hasBuildNumber()) {
+             if (VersionDataElement.UNSET_BUILD_NUMBER
+                 != data.getBuildNumber()) {
+                 output.append("-");
+                 output.append(data.getBuildNumber());
  
!             }
          }
          return output.toString();
      }




-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.