80c77071c6700660c39046da32a0d7953620f608Mark de Reeper/**
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper *
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper * Copyright (c) 2006 Sun Microsystems Inc. All Rights Reserved
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper *
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper * The contents of this file are subject to the terms
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper * of the Common Development and Distribution License
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper * (the License). You may not use this file except in
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper * compliance with the License.
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper *
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper * You can obtain a copy of the License at
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper * https://opensso.dev.java.net/public/CDDLv1.0.html or
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper * opensso/legal/CDDLv1.0.txt
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper * See the License for the specific language governing
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper * permission and limitations under the License.
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper *
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper * When distributing Covered Code, include this CDDL
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper * Header Notice in each file and include the License file
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper * at opensso/legal/CDDLv1.0.txt.
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper * If applicable, add the following below the CDDL Header,
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper * with the fields enclosed by brackets [] replaced by
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper * your own identifying information:
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper * "Portions Copyrighted [year] [name of copyright owner]"
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper *
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper * $Id: ConfigFinder.java,v 1.3 2008/06/25 05:52:11 qcheng Exp $
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper *
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper */
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper
80c77071c6700660c39046da32a0d7953620f608Mark de Reeperpackage com.sun.identity.agents.install.appserver.v81;
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper
80c77071c6700660c39046da32a0d7953620f608Mark de Reeperimport com.sun.identity.install.tools.configurator.IStateAccess;
80c77071c6700660c39046da32a0d7953620f608Mark de Reeperimport com.sun.identity.install.tools.configurator.IDefaultValueFinder;
80c77071c6700660c39046da32a0d7953620f608Mark de Reeperimport com.sun.identity.install.tools.util.OSChecker;
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper/**
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper * The class used by the installer to find the configuration information of
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper * the Sun App Server
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper */
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper
80c77071c6700660c39046da32a0d7953620f608Mark de Reeperpublic class ConfigFinder implements IDefaultValueFinder {
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper public String getDefaultValue(String key, IStateAccess state, String value) {
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper String result = null;
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper if (value != null) {
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper result = value;
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper } else {
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper result = getDefaultConfigDirectoryPath();
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper }
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper return result;
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper }
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper private String getDefaultConfigDirectoryPath() {
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper String result = null;
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper if (OSChecker.isWindows()) {
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper result = STR_CONFIG_DIR_WINDOWS;
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper } else if (OSChecker.isSolaris()){
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper result = STR_CONFIG_DIR_SOLARIS;
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper } else if (OSChecker.isLinux()) {
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper result = STR_CONFIG_DIR_LINUX;
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper } else {
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper // better to keep it empty since
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper // any other platforms are not supported
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper }
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper return result;
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper }
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper public static final String STR_CONFIG_DIR_WINDOWS =
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper "C:\\Sun\\AppServer\\domains\\domain1\\config";
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper public static final String STR_CONFIG_DIR_SOLARIS =
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper "/opt/SUNWappserver/domains/domain1/config";
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper public static final String STR_CONFIG_DIR_LINUX =
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper "/opt/SUNWappserver/domains/domain1/config";
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper
80c77071c6700660c39046da32a0d7953620f608Mark de Reeper}