org.springframework.ide.eclipse.boot.dash.cloudfoundry.CloudFoundryTargetProperties.java Source code

Java tutorial

Introduction

Here is the source code for org.springframework.ide.eclipse.boot.dash.cloudfoundry.CloudFoundryTargetProperties.java

Source

/*******************************************************************************
 * Copyright (c) 2015, 2016 Pivotal Software, Inc.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     Pivotal Software, Inc. - initial API and implementation
 *******************************************************************************/
package org.springframework.ide.eclipse.boot.dash.cloudfoundry;

import static org.springframework.ide.eclipse.boot.dash.cloudfoundry.CloudFoundryTargetProperties.ORG_GUID;
import static org.springframework.ide.eclipse.boot.dash.cloudfoundry.CloudFoundryTargetProperties.ORG_PROP;
import static org.springframework.ide.eclipse.boot.dash.cloudfoundry.CloudFoundryTargetProperties.SPACE_GUID;
import static org.springframework.ide.eclipse.boot.dash.cloudfoundry.CloudFoundryTargetProperties.SPACE_PROP;

import org.eclipse.equinox.security.storage.StorageException;
import org.springframework.ide.eclipse.boot.dash.cloudfoundry.client.CFClientParams;
import org.springframework.ide.eclipse.boot.dash.cloudfoundry.client.CFSpace;
import org.springframework.ide.eclipse.boot.dash.dialogs.StoreCredentialsMode;
import org.springframework.ide.eclipse.boot.dash.model.BootDashModelContext;
import org.springframework.ide.eclipse.boot.dash.model.runtargettypes.CannotAccessPropertyException;
import org.springframework.ide.eclipse.boot.dash.model.runtargettypes.RunTargetType;
import org.springframework.ide.eclipse.boot.dash.model.runtargettypes.TargetProperties;
import org.springframework.ide.eclipse.boot.util.Log;

public class CloudFoundryTargetProperties extends TargetProperties {

    public final static String ORG_PROP = "organization";
    public final static String SPACE_PROP = "space";
    public final static String SELF_SIGNED_PROP = "selfsigned";
    public final static String SKIP_SSL_VALIDATION_PROP = "skipSslValidation";

    public final static String ORG_GUID = "organization_guid";
    public final static String SPACE_GUID = "space_guid";

    public final static String DISCONNECTED = "disconnected";

    public CloudFoundryTargetProperties(RunTargetType runTargetType, BootDashModelContext context) {
        super(runTargetType, context);
    }

    public CloudFoundryTargetProperties(TargetProperties targetProperties, RunTargetType runTargetType) {
        super(targetProperties, runTargetType);
        if (get(RUN_TARGET_ID) == null) {
            put(RUN_TARGET_ID, getId(this));
        }
    }

    public String getSpaceName() {
        return map.get(SPACE_PROP);
    }

    public String getOrganizationName() {
        return map.get(ORG_PROP);
    }

    public String getSpaceGuid() {
        return map.get(SPACE_GUID);
    }

    public String getOrganizationGuid() {
        return map.get(ORG_GUID);
    }

    public boolean isSelfsigned() {
        return map.get(SELF_SIGNED_PROP) != null && Boolean.parseBoolean(map.get(SELF_SIGNED_PROP));
    }

    public boolean skipSslValidation() {
        return map.get(SKIP_SSL_VALIDATION_PROP) != null && Boolean.parseBoolean(map.get(SKIP_SSL_VALIDATION_PROP));
    }

    public static String getId(CloudFoundryTargetProperties cloudProps) {
        return getId(cloudProps.getUsername(), cloudProps.getUrl(), cloudProps.getOrganizationName(),
                cloudProps.getSpaceName());
    }

    public static String getName(CloudFoundryTargetProperties cloudProps) {
        return cloudProps.getOrganizationName() + " : " + cloudProps.getSpaceName() + " - [" + cloudProps.getUrl()
                + "]";
    }

    public static String getId(CFClientParams params) {
        return getId(params.getUsername(), params.getApiUrl(), params.getOrgName(), params.getSpaceName());
    }

    public static String getId(String userName, String url, String orgName, String spaceName) {
        return userName + " : " + url + " : " + orgName + " : " + spaceName;
    }

    public boolean isStoreCredentials() {
        return getStoreCredentials() != StoreCredentialsMode.STORE_NOTHING;
    }

    public void setSpace(CFSpace space) {
        if (space != null) {
            put(ORG_PROP, space.getOrganization().getName());
            put(ORG_GUID, space.getOrganization().getGuid().toString());
            put(SPACE_PROP, space.getName());
            put(SPACE_GUID, space.getGuid().toString());
        } else {
            put(ORG_PROP, null);
            put(ORG_GUID, null);
            put(SPACE_PROP, null);
            put(SPACE_GUID, null);
        }
    }

    public void setUrl(String value) {
        put(URL_PROP, value);
    }

    public void setSelfSigned(boolean value) {
        put(SELF_SIGNED_PROP, Boolean.toString(value));
    }

    public void setSkipSslValidation(boolean value) {
        put(SKIP_SSL_VALIDATION_PROP, Boolean.toString(value));
    }

    public void setUserName(String value) {
        put(USERNAME_PROP, value);
    }

}