ModifySubConfiguration.java revision 31a66e0bb8b340406b1fb73b937e77088b44ced1
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose * Copyright (c) 2006 Sun Microsystems Inc. All Rights Reserved
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose * The contents of this file are subject to the terms
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose * of the Common Development and Distribution License
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose * (the License). You may not use this file except in
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose * compliance with the License.
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose * You can obtain a copy of the License at
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose * https://opensso.dev.java.net/public/CDDLv1.0.html or
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose * See the License for the specific language governing
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose * permission and limitations under the License.
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose * When distributing Covered Code, include this CDDL
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose * Header Notice in each file and include the License file
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose * If applicable, add the following below the CDDL Header,
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose * with the fields enclosed by brackets [] replaced by
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose * your own identifying information:
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose * "Portions Copyrighted [year] [name of copyright owner]"
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose * $Id: ModifySubConfiguration.java,v 1.4 2008/06/25 05:42:18 qcheng Exp $
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose * Portions Copyrighted 2013 ForgeRock AS
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose * Portions Copyrighted 2013 Nomura Research Institute, Ltd
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose * Modifies sub configuration.
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bosepublic class ModifySubConfiguration extends SchemaCommand {
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose static final String ARGUMENT_OPERATION = "operation";
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose * Services a Commandline Request.
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose * @param rc Request Context.
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose * @throws CLIException if the request cannot serviced.
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose String serviceName = getStringOptionValue(IArgument.SERVICE_NAME);
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose String realmName = getStringOptionValue(IArgument.REALM_NAME);
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose String operation = getStringOptionValue(ARGUMENT_OPERATION);
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose String datafile = getStringOptionValue(IArgument.DATA_FILE);
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose List attrValues = rc.getOption(IArgument.ATTRIBUTE_VALUES);
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose if ((datafile == null) && (attrValues == null)) {
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose ExitCodes.INCORRECT_OPTION, rc.getSubCommand().getName());
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose if ((realmName == null) || (realmName.length() == 0)) {
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose modifySubConfigRoot(serviceName, subConfigName, attributeValues,
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose modifySubConfigToRealm(realmName, serviceName, subConfigName,
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose String[] params = {realmName, subConfigName, serviceName};
35f3a213e0f0f2c60e9b5f095a05388e21092ae2Sumit Bose "ATTEMPT_MODIFY_SUB_CONFIGURATION_IN_REALM", params);
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose ServiceConfigManager scm = new ServiceConfigManager(
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose ServiceConfig sc = scm.getOrganizationConfig(realmName, null);
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose sc = scm.createOrganizationConfig(realmName, null);
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose modifySubConfig(sc, subConfigName, attrValues, operation);
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose "SUCCEED_MODIFY_SUB_CONFIGURATION_IN_REALM", params);
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose outputWriter.printlnMessage(MessageFormat.format(
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose getResourceString("modify-sub-configuration-to-realm-succeed"),
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose String[] args = {realmName, subConfigName, serviceName,
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose debugError("ModifySubConfiguration.modifySubConfigToRealm", e);
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose "FAILED_MODIFY_SUB_CONFIGURATIONT_IN_REALM", args);
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose throw new CLIException(e, ExitCodes.REQUEST_CANNOT_BE_PROCESSED);
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose String[] args = {realmName, subConfigName, serviceName,
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose debugError("ModifySubConfiguration.modifySubConfigToRealm", e);
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose "FAILED_MODIFY_SUB_CONFIGURATIONT_IN_REALM", args);
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose throw new CLIException(e, ExitCodes.REQUEST_CANNOT_BE_PROCESSED);
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose ServiceConfigManager scm = new ServiceConfigManager(
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose modifySubConfig(sc, subConfigName, attrValues, operation);
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose outputWriter.printlnMessage(MessageFormat.format(
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose getResourceString("modify-sub-configuration-succeed"),
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose String[] args = {subConfigName, serviceName, e.getMessage()};
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose debugError("ModifySubConfiguration.addSubConfigToRoot", e);
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose throw new CLIException(e, ExitCodes.REQUEST_CANNOT_BE_PROCESSED);
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose String[] args = {subConfigName, serviceName, e.getMessage()};
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose debugError("ModifySubConfiguration.addSubConfigToRoot", e);
bf6c3f07d653d474da9e43b2b7cced57fc4ea069Sumit Bose throw new CLIException(e, ExitCodes.REQUEST_CANNOT_BE_PROCESSED);
private void modifySubConfig(
params);
throw new CLIException(