StartupScriptValidator.java revision de47fb992b4c3414ac5b445d5cab364b0b8b8b43
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg * Copyright (c) 2007 Sun Microsystems Inc. All Rights Reserved
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg * The contents of this file are subject to the terms
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg * of the Common Development and Distribution License
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg * (the License). You may not use this file except in
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg * compliance with the License.
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg * You can obtain a copy of the License at
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg * https://opensso.dev.java.net/public/CDDLv1.0.html or
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg * See the License for the specific language governing
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg * permission and limitations under the License.
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg * When distributing Covered Code, include this CDDL
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg * Header Notice in each file and include the License file
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg * If applicable, add the following below the CDDL Header,
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg * with the fields enclosed by brackets [] replaced by
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg * your own identifying information:
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg * "Portions Copyrighted [year] [name of copyright owner]"
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg * $Id: StartupScriptValidator.java,v 1.2 2008/06/25 05:52:21 qcheng Exp $
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankgimport com.sun.identity.install.tools.configurator.IStateAccess;
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankgimport com.sun.identity.install.tools.configurator.InstallException;
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankgimport com.sun.identity.install.tools.configurator.ValidationResult;
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankgimport com.sun.identity.install.tools.configurator.ValidationResultStatus;
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankgimport com.sun.identity.install.tools.configurator.ValidatorBase;
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankgimport com.sun.identity.install.tools.util.LocalizedMessage;
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg * This task validates Weblogic's startup script.
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankgpublic class StartupScriptValidator extends ValidatorBase
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg public StartupScriptValidator() throws InstallException {
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg * Method isStartupScriptValid
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg * @param dir
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg * @param props
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg * @param IStateAccess
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg * @return ValidationResult
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg public ValidationResult isStartupScriptValid(String startupScr, Map props,
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg ValidationResultStatus validRes = ValidationResultStatus.STATUS_FAILED;
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg if ((startupScr != null) && (startupScr.trim().length() >= 0)) {
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg // Store the script location in install state
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg // Update state information
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg LocalizedMessage.get(LOC_VA_WRN_WL_IN_VAL_STARTUP_SCRIPT,
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg Debug.log("startupScriptValidator : Is Startup script " +
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg return new ValidationResult(validRes,null,returnMessage);
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg public void initializeValidatorMap() throws InstallException {
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg Class[] paramObjs = {String.class,Map.class,IStateAccess.class};
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg this.getClass().getMethod("isStartupScriptValid",paramObjs));
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg Debug.log("StartupScriptValidator: NoSuchMethodException " +
0662ed52e814f8f08ef0e09956413a792584eddffuankg Debug.log("StartupScriptValidator: SecurityException thrown "
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg Debug.log("StartupScriptValidator: Exception thrown while " +
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg private void setStartupScriptDir(IStateAccess state, String startupScr) {
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg String wlHomeDir = (new File(startupScr)).getParent();
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg String configXML = ((String) state.get(STR_KEY_STARTUP_SCRIPT_DIR)) +
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg /** Hashmap of Validator names and integers */
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg * Localized constants
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg public static String LOC_VA_MSG_WL_VAL_STARTUP_SCRIPT =
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg "VA_MSG_WL_VAL_STARTUP_SCRIPT";
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg public static String LOC_VA_WRN_WL_IN_VAL_STARTUP_SCRIPT =
ff7e89a077d93c243bd8261cf3c72b13732ab5b4fuankg "VA_WRN_WL_IN_VAL_STARTUP_SCRIPT";