示例#1
0
  @Override
  public void perform(String[] arguments) throws Exception {
    Options o = new Options("1.0.0");

    Option oregex = new Option("regex", "r", true, 1, "Regular expression");
    Option oregion = new Option("region", "r", false, 1, "Name of the region");
    Option odryrun = new Option("dry-run", "d", false, 0, "Dry run");

    o.setOption(oregex);
    o.setOption(oregion);
    o.setOption(odryrun);

    o.setDefaultOptions();

    o.parse(arguments);

    try {
      o.checkOptions();
    } catch (Exception e) {
      logger.severe("Incorrect option: " + e.getMessage());
      o.display();
      System.exit(1);
    }

    if (odryrun.isUsed()) {
      logger.info("Dry run");
    }

    Site site = new Site("My site");
    Region region = new Region(oregion.getString(), site);

    List<UCMView> views;

    if (oregion.isUsed()) {
      views = region.getViews();
    } else {
      views = UCMView.getViews();
    }

    for (UCMView view : views) {
      logger.finest("Checking " + view);
      if (view.getViewtag().matches(oregex.getString())) {
        try {
          logger.info("Removing " + view.getViewtag());
          if (!odryrun.isUsed()) {
            view.remove();
          }
        } catch (ClearCaseException e) {
          logger.warning("Failed to remove " + view.getViewtag());
        }
      } else {
        /* Did match criteria */
      }
    }
  }
示例#2
0
文件: SetTag.java 项目: Praqma/cool
  public static void run(String[] args)
      throws UnableToCreateEntityException, UnableToLoadEntityException, UCMEntityNotFoundException,
          UnknownEntityException, TagException, UnableToGetEntityException,
          UnableToInitializeEntityException {
    Options o = new Options();

    Option oentity = new Option("entity", "e", true, 1, "The UCM entity");
    Option otag = new Option("tag", "t", true, 1, "The tag. Given as: \"key1=val1&key2=val2\"");
    Option otagtype = new Option("tagtype", "y", true, 1, "The tag type");
    Option otagid = new Option("tagid", "i", true, 1, "The tag id");

    o.setOption(oentity);
    o.setOption(otag);
    o.setOption(otagtype);
    o.setOption(otagid);

    o.setDefaultOptions();

    o.setHeader("Set a tag for an UCM entity");
    o.setSyntax("SetTag -e <entity> -t <tag> -y <tag type> -i <tag id>");
    o.setDescription(
        "Examples:"
            + Options.linesep
            + "SetTag -e baseline:bls@\\somevob -T \"key1=val1&key2=val2\" -y myjob -i 10101"
            + Options.linesep
            + "SetTag -e baseline:bls@\\somevob -T \"key1=&key2=val2\" -y myjob -i 10101"
            + Options.linesep
            + "The last example will remove key1 from the tag");

    o.parse(args);

    try {
      o.checkOptions();
    } catch (Exception e) {
      logger.severe("Incorrect option: " + e.getMessage());
      o.display();
      System.exit(1);
    }

    UCMEntity e = null;

    e = UCMEntity.getEntity(oentity.getString()).load();

    Tag tag = e.getTag(otagtype.getString(), otagid.getString());

    /* Split key value structure */
    String[] tags = otag.getString().split("&");

    for (String t : tags) {

      String[] entry = t.split("=");

      try {
        logger.config("+(" + entry[0] + ", " + entry[1] + ") ");

        tag.setEntry(entry[0].trim(), entry[1].trim());
      } catch (ArrayIndexOutOfBoundsException ea) {
        logger.info("-(" + entry[0] + ") ");
        tag.removeEntry(entry[0]);
      }
    }

    try {
      tag.persist();
    } catch (TagException ex) {
      if (ex.getType().equals(Type.CREATION_FAILED)) {
        logger.severe("Could not persist the tag.");
        System.exit(1);
      }
    }

    if (tag.isCreated()) {
      logger.info("Tag created.");
    } else {
      logger.info("Tag updated.");
    }
  }
示例#3
0
文件: IARParse.java 项目: Praqma/vans
  public static void main(String[] args) {
    Options o = new Options(net.praqma.vans.Version.version);

    Option ofile = new Option("file", "f", true, 1, "The file to parse. *.ewp");
    Option orel =
        new Option("relative", "r", false, 0, "If set, only the relative path is provided");
    Option ocut = new Option("cutoff", "c", false, 1, "Cutoff a given string from the path");

    o.setOption(ofile);
    o.setOption(orel);
    o.setOption(ocut);

    o.setDefaultOptions();

    o.setSyntax("IARParse -f <file> [ -r ] [ -c <cutoff> ]");
    o.setHeader("Parse an IAR project file for files.");
    o.setDescription("Examples:" + Options.linesep + "IARParse -f test.ewp -c c:\\data");

    o.parse(args);

    try {
      o.checkOptions();
    } catch (Exception e) {
      System.err.println("Incorrect option: " + e.getMessage());
      o.display();
      System.exit(1);
    }

    File file = new File(ofile.getString());

    if (!file.exists()) {
      System.err.println("The file does not exist");
      System.exit(1);
    }

    if (o.verbose()) {
      o.print();
    }

    boolean relative = orel.used ? true : false;
    String cutoff = ocut.used ? ocut.getString().toLowerCase() : "";

    try {
      IARParser p = new IARParser(file);
      int length = p.getPath().length();

      for (File f : p.getFiles()) {
        String d = "";
        if (relative) {
          d = f.getAbsolutePath().substring(length);
        } else {
          d = f.getAbsolutePath();
        }

        if (cutoff.length() > 0) {
          if (d.toLowerCase().startsWith(cutoff)) {
            d = d.substring(cutoff.length());
          }
        }

        System.out.println(d);
      }
    } catch (IOException e) {
      System.err.println("The file was not an acceptable project file: " + e.getMessage());
      System.exit(1);
    }
  }