772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper/**
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper *
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper * Copyright (c) 2008 Sun Microsystems Inc. All Rights Reserved
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper *
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper * The contents of this file are subject to the terms
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper * of the Common Development and Distribution License
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper * (the License). You may not use this file except in
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper * compliance with the License.
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper *
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper * You can obtain a copy of the License at
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper * https://opensso.dev.java.net/public/CDDLv1.0.html or
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper * opensso/legal/CDDLv1.0.txt
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper * See the License for the specific language governing
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper * permission and limitations under the License.
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper *
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper * When distributing Covered Code, include this CDDL
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper * Header Notice in each file and include the License file
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper * at opensso/legal/CDDLv1.0.txt.
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper * If applicable, add the following below the CDDL Header,
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper * with the fields enclosed by brackets [] replaced by
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper * your own identifying information:
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper * "Portions Copyrighted [year] [name of copyright owner]"
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper *
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper * $Id: ConfigFinder.java,v 1.1 2008/12/11 15:01:54 naghaon Exp $
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper *
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper */
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeperpackage com.sun.identity.agents.tools.jboss.v40;
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeperimport com.sun.identity.agents.tools.jboss.IConfigKeys;
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeperimport com.sun.identity.agents.tools.jboss.IConstants;
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeperimport com.sun.identity.install.tools.configurator.IStateAccess;
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeperimport com.sun.identity.install.tools.configurator.IDefaultValueFinder;
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeperimport com.sun.identity.install.tools.util.OSChecker;
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper/**
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper * Builds JBoss server instance's conf directory.
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper */
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeperpublic class ConfigFinder implements IDefaultValueFinder,
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper IConstants, IConfigKeys {
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper public String getDefaultValue(String key, IStateAccess state,
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper String value) {
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper String result = null;
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper if (value != null) {
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper result = value;
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper } else {
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper result = getDefaultConfigDirectoryPath(state);
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper }
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper return result;
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper }
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper /**
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper * Returns server instance's config directory.
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper */
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper private String getDefaultConfigDirectoryPath(IStateAccess state) {
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper String result = null;
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper if (OSChecker.isWindows()) {
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper result = STR_CONFIG_DIR_WINDOWS;
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper } else if (OSChecker.isSolaris()){
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper result = STR_CONFIG_DIR_SOLARIS;
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper } else if (OSChecker.isLinux()) {
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper result = STR_CONFIG_DIR_LINUX;
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper }
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper return result;
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper }
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper
772e6948bd1fe23ee7d309da6df96d9f99f04b46Mark de Reeper}