mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

boli
26.15.2006 d80b714726dcbc88f32cb282c7523c2441353934
opends/build-tools/src/org/opends/build/tools/PrepTestNG.java
@@ -24,6 +24,32 @@
 *
 *      Portions Copyright 2006 Sun Microsystems, Inc.
 */
/*
 * CDDL HEADER START
 *
 * The contents of this file are subject to the terms of the
 * Common Development and Distribution License, Version 1.0 only
 * (the "License").  You may not use this file except in compliance
 * with the License.
 *
 * You can obtain a copy of the license at
 * trunk/opends/resource/legal-notices/OpenDS.LICENSE
 * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
 * See the License for the specific language governing permissions
 * and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL HEADER in each
 * file and include the License file at
 * trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
 * add the following below this CDDL HEADER, with the fields enclosed
 * by brackets "[]" replaced with your own identifying * information:
 *      Portions Copyright [yyyy] [name of copyright owner]
 *
 * CDDL HEADER END
 *
 *
 *      Portions Copyright 2006 Sun Microsystems, Inc.
 */
package org.opends.build.tools;
@@ -40,6 +66,9 @@
  private String file;
  private String toFile;
  private String groupList;
  private String packageList;
  private String classList;
  private String methodList;
  public void setFile(String file)
  {
@@ -56,6 +85,21 @@
    this.groupList = groupList;
  }
  public void setPackageList(String packageList)
  {
    this.packageList = packageList;
  }
  public void setClassList(String classList)
  {
    this.classList = classList;
  }
  public void setMethodList(String methodList)
  {
    this.methodList = methodList;
  }
  public void execute() throws BuildException
  {
    if(file == null)
@@ -75,8 +119,18 @@
    PrintStream writer;
    String line;
    String[] groups;
    String[] packages;
    String[] classes;
    String[] methods;
    String[] groupLine;
    int replaced = 0;
    String[] methodLine;
    String methodClass;
    String methodName;
    int methodNameStartIdx;
    int groupCount = 0;
    int packageCount = 0;
    int classCount = 0;
    int methodCount = 0;
    try
    {
@@ -87,7 +141,8 @@
      line = reader.readLine();
      if(groupList != null && groupList.trim() != "")
      if(groupList != null && !groupList.trim().equals("") &&
          !groupList.startsWith("${"))
      {
        groups = groupList.split(",");
      }
@@ -96,25 +151,115 @@
        groups = new String[0];
      }
      if(packageList != null && !packageList.trim().equals("") &&
          !packageList.startsWith("${"))
      {
        packages = packageList.split(",");
      }
      else
      {
        packages = new String[0];
      }
      if(classList != null && !classList.trim().equals("") &&
          !classList.startsWith("${"))
      {
        classes = classList.split(",");
      }
      else
      {
        classes = new String[0];
      }
      if(methodList != null && !methodList.trim().equals("") &&
          !methodList.startsWith("${"))
      {
        methods = methodList.split(";");
      }
      else
      {
        methods = new String[0];
      }
      while(line != null)
      {
        if(line.indexOf("<!-- THIS WILL BE REPLACED WITH GROUP INFO BY " +
            "ANT -->") >= 0)
        if(line.indexOf("<!-- DO NOT REMOVE! - THIS LINE WILL BE " +
            "REPLACED WITH TAGS GENERATED BY ANT -->") >= 0)
        {
          if(groups.length > 0 && groupList.trim() != "")
          if(groups.length > 0 && groupList.trim().equals(""))
          {
            writer.println("<groups>\n<run>");
            writer.println("<groups>\n  <run>");
            for(String group : groups)
            {
              groupLine = group.split("=");
              if(groupLine.length == 2)
              {
                writer.println("<"+groupLine[0]+" " +
                               "name=\""+groupLine[1] + "\" />\n");
                replaced++;
                writer.println("    <"+groupLine[0].trim()+" " +
                               "name=\""+groupLine[1].trim() + "\" />");
                groupCount++;
              }
            }
            writer.println("</run>\n</groups>");
            writer.println("  </run>\n</groups>");
          }
          if(packages.length > 0)
          {
            writer.println("<packages>");
            for(String pkg : packages)
            {
              writer.println("  <package name=\"" + pkg.trim() + "\" />");
              packageCount++;
            }
            writer.println("</packages>");
          }
          if(classes.length > 0 || methods.length > 0)
          {
            writer.println("<classes>");
            if(classes.length > 0)
            {
              for(String cls : classes)
              {
                writer.println("  <class name=\"" + cls.trim() + "\" />");
                classCount++;
              }
            }
            if(methods.length > 0)
            {
              for(String mhd : methods)
              {
                methodLine = mhd.split(",");
                if(methodLine.length > 0)
                {
                  methodNameStartIdx = methodLine[0].lastIndexOf(".");
                  methodClass = methodLine[0].substring(0,
                                  methodNameStartIdx);
                  methodName = methodLine[0].substring(methodNameStartIdx + 1,
                                methodLine[0].length());
                  writer.println("  <class name=\"" +
                      methodClass.trim() + "\" >");
                  writer.println("  <methods>");
                  writer.println("    <include name=\"" +
                      methodName.trim() + "\" />");
                  methodCount++;
                  classCount++;
                  for(int i = 1; i < methodLine.length; i ++)
                  {
                    writer.println("    <include name=\"" +
                      methodLine[i].trim() + "\" />");
                    methodCount++;
                  }
                  writer.println("  </methods>");
                  writer.println("</class>");
                }
              }
            }
            writer.println("</classes>");
          }
        }
        else
@@ -125,7 +270,9 @@
        line = reader.readLine();
      }
      System.out.println("Adding " + replaced + " group tags to " + toFile);
      System.out.println("Adding " + groupCount + " group tags, " +
          packageCount + " package tags, " + classCount + " class tags, " +
          methodCount + " method tags to " + toFile);
    }
    catch(Exception e)
    {