Example #1
0
  /**
   * Disable the enabled version of the application if it exists. This method is used in versioning
   * context.
   *
   * @param appName application's name
   * @param target an option supply from admin command, it's retained for compatibility with other
   *     releases
   * @param report ActionReport, report object to send back to client.
   * @param subject the Subject on whose behalf to run
   */
  public void handleDisable(
      final String appName, final String target, final ActionReport report, final Subject subject)
      throws VersioningSyntaxException {

    Set<String> versionsToDisable = Collections.EMPTY_SET;

    if (DeploymentUtils.isDomainTarget(target)) {
      // retrieve the enabled versions on each target in the domain
      Map<String, Set<String>> enabledVersions = getEnabledVersionsInReferencedTargets(appName);

      if (!enabledVersions.isEmpty()) {
        versionsToDisable = enabledVersions.keySet();
      }
    } else {
      // retrieve the currently enabled version of the application
      String enabledVersion = getEnabledVersion(appName, target);

      if (enabledVersion != null && !enabledVersion.equals(appName)) {
        versionsToDisable = new HashSet<String>();
        versionsToDisable.add(enabledVersion);
      }
    }

    Iterator<String> it = versionsToDisable.iterator();
    while (it.hasNext()) {
      String currentVersion = it.next();
      // invoke disable if the currently enabled version is not itself
      if (currentVersion != null && !currentVersion.equals(appName)) {
        final ParameterMap parameters = new ParameterMap();
        parameters.add("DEFAULT", currentVersion);
        parameters.add("target", target);

        ActionReport subReport = report.addSubActionsReport();

        CommandRunner.CommandInvocation inv =
            commandRunner.getCommandInvocation("disable", subReport, subject);
        inv.parameters(parameters).execute();
      }
    }
  }
Example #2
0
 public void listOfCommands() {
   CommandRunner cr = habitat.getComponent(CommandRunner.class);
   RestActionReporter ar = new RestActionReporter();
   ParameterMap parameters = new ParameterMap();
   cr.getCommandInvocation("list-commands", ar).parameters(parameters).execute();
   List<ActionReport.MessagePart> children = ar.getTopMessagePart().getChildren();
   for (ActionReport.MessagePart part : children) {
     allCommands.add(part.getMessage());
   }
   ar = new RestActionReporter();
   parameters = new ParameterMap();
   parameters.add("DEFAULT", "_");
   cr.getCommandInvocation("list-commands", ar).parameters(parameters).execute();
   children = ar.getTopMessagePart().getChildren();
   for (ActionReport.MessagePart part : children) {
     allCommands.add(part.getMessage());
   }
 }