#!/bin/sh  +x
#
# Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License v. 2.0, which is available at
# http://www.eclipse.org/legal/epl-2.0.
#
# This Source Code may also be made available under the following Secondary
# Licenses when the conditions for such availability set forth in the
# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
# version 2 with the GNU Classpath Exception, which is available at
# https://www.gnu.org/software/classpath/license.html.
#
# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
#

AS_ADMIN_USER=`sed '/^admin.user\=*/!d; s///;q' ee-config.properties`
AS_ADMIN_PORT=`sed '/^admin.port\=*/!d; s///;q' ee-config.properties`
AS_ADMIN_PASSWORD=`sed '/^admin.password\=*/!d; s///;q' ee-config.properties`
AS_ADMIN_DOMAIN=`sed '/^admin.domain\=*/!d; s///;q' ee-config.properties`
AS_ADMIN_NODEAGENT=`sed '/^nodeagent.name\=*/!d; s///;q' ee-config.properties`
AS_ADMIN_SERVER=`sed '/^appserver.instance.name\=*/!d; s///;q' ee-config.properties`
