com.amazonaws.eclipse.elasticbeanstalk.OpenEnvironmentUrlAction.java Source code

Java tutorial

Introduction

Here is the source code for com.amazonaws.eclipse.elasticbeanstalk.OpenEnvironmentUrlAction.java

Source

/*
 * Copyright 2010-2011 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License").
 * You may not use this file except in compliance with the License.
 * A copy of the License is located at
 *
 *  http://aws.amazon.com/apache2.0
 *
 * or in the "license" file accompanying this file. This file is distributed
 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
 * express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */
package com.amazonaws.eclipse.elasticbeanstalk;

import org.eclipse.jface.action.IAction;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.ui.IObjectActionDelegate;
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.wst.server.core.IServer;

import com.amazonaws.eclipse.core.BrowserUtils;

public class OpenEnvironmentUrlAction implements IObjectActionDelegate {
    private String environmentUrl;

    public void run(IAction action) {
        if (environmentUrl != null)
            BrowserUtils.openExternalBrowser(environmentUrl);
    }

    public void selectionChanged(IAction action, ISelection selection) {
        StructuredSelection structuredSelection = (StructuredSelection) selection;
        IServer selectedServer = (IServer) structuredSelection.getFirstElement();

        if (selectedServer != null) {
            Environment environment = (Environment) selectedServer.loadAdapter(Environment.class, null);
            environmentUrl = environment.getEnvironmentUrl();
        }

        action.setEnabled(selectedServer != null && selectedServer.getServerState() == IServer.STATE_STARTED);
    }

    public void setActivePart(IAction action, IWorkbenchPart targetPart) {
    }
}