ConfigureServerXMLTask.java revision de47fb992b4c3414ac5b445d5cab364b0b8b8b43
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper * Copyright (c) 2008 Sun Microsystems Inc. All Rights Reserved
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper * The contents of this file are subject to the terms
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper * of the Common Development and Distribution License
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper * (the License). You may not use this file except in
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper * compliance with the License.
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper * You can obtain a copy of the License at
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper * https://opensso.dev.java.net/public/CDDLv1.0.html or
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper * See the License for the specific language governing
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper * permission and limitations under the License.
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper * When distributing Covered Code, include this CDDL
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper * Header Notice in each file and include the License file
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper * If applicable, add the following below the CDDL Header,
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper * with the fields enclosed by brackets [] replaced by
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper * your own identifying information:
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper * "Portions Copyrighted [year] [name of copyright owner]"
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper * $Id: ConfigureServerXMLTask.java,v 1.1 2008/11/21 22:21:55 leiming Exp $
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeperpackage com.sun.identity.agents.tools.websphere.v61;
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeperimport com.sun.identity.install.tools.configurator.IStateAccess;
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeperimport com.sun.identity.install.tools.configurator.ITask;
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeperimport com.sun.identity.install.tools.configurator.InstallException;
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeperimport com.sun.identity.install.tools.util.Debug;
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeperimport com.sun.identity.install.tools.util.LocalizedMessage;
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeperimport com.sun.identity.install.tools.util.xml.XMLDocument;
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeperimport com.sun.identity.install.tools.util.xml.XMLElement;
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeperimport com.sun.identity.agents.tools.websphere.ServerXMLBase;
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper * Configure server.xml file for WAS.
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeperpublic class ConfigureServerXMLTask extends ServerXMLBase
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper public boolean execute(String name, IStateAccess stateAccess,
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper boolean status = true;
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper String serverXmlFile = (String)stateAccess.get(
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper STR_KEY_SERVER_INSTANCE_DIR) + STR_FILE_SEP +
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper String serverInstName = (String)stateAccess.get(
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper if ((serverXmlFile != null) && (serverXmlFile.length() > 0)) {
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper XMLElement jvmEntries = findClassPathElement(serverXMLDoc,
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper Debug.log("ConfigureServerXMLTask.execute - jvmEntries = " +
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper // add IBM encryption JVM options
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper status = configureJVMOptions(serverXMLDoc, jvmEntries,
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper // We have three cases to handle.
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper // 1. classpath as attr
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper // 2. classpath as element
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper // 3. classpath not present
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper status = configureClasspath(serverXMLDoc,jvmEntries,
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper "ConfigureServerXMLTask.execute - failed to find " +
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper "jvmEntries element");
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper "ConfigureServerXMLTask.execute - Invalid server.xml file "
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper Debug.log("ConfigureServerXMLTask.execute - Exception thrown "
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper + "while configuring server.xml file : ",ex);
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper public boolean rollBack(String name, IStateAccess stateAccess,
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper boolean status = true;
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper String serverXmlFile = (String)stateAccess.get(
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper String serverInstName = (String)stateAccess.get(
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper if ((serverXmlFile != null) && (serverXmlFile.length() > 0)) {
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper XMLElement jvmEntries = findClassPathElement(
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper "ConfigureServerXMLTask.rollback - jvmEntries = " +
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper // remove IBM encryption JVM options
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper // We have two cases to handle.
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper // 1. classpath as attr
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper // 2. classpath as element
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper status = unConfigureClasspath(serverXMLDoc,jvmEntries,
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper "ConfigureServerXMLTask.rollback - failed to find "
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper + "jvmEntries element");
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper "ConfigureServerXMLTask.rollback() - " +
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper "Invalid server.xml file specified = " +
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper "ConfigureServerXMLTask.rollback() - Exception thrown "
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper + "while un-sconfiguring server.xml file",ex);
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper public LocalizedMessage getExecutionMessage(IStateAccess stateAccess,
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper String serverXmlFile = (String)stateAccess.get(
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper LOC_TSK_MSG_CONFIGURE_SERVER_XML_FILE_EXECUTE,
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper public LocalizedMessage getRollBackMessage(IStateAccess stateAccess,
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper String serverXmlFile = (String)stateAccess.get(
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper LOC_TSK_MSG_CONFIGURE_SERVER_XML_FILE_ROLLBACK,
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper public static final String LOC_TSK_MSG_CONFIGURE_SERVER_XML_FILE_EXECUTE =
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper "TSK_MSG_CONFIGURE_SERVER_XML_FILE_EXECUTE";
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper public static final String LOC_TSK_MSG_CONFIGURE_SERVER_XML_FILE_ROLLBACK =
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper "TSK_MSG_CONFIGURE_SERVER_XML_FILE_ROLLBACK";
de47fb992b4c3414ac5b445d5cab364b0b8b8b43Mark de Reeper public static final String STR_PROC_DEF = "processDefinitions";