Project: aws-toolkit-for-eclipse
/*
 * Copyright 2009-2011 Amazon Technologies, Inc. 
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at: 
 *  
 *    http://aws.amazon.com/apache2.0 
 * 
 * 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.datatools.enablement.simpledb.internal.ui.menu; 
 
import java.net.URL; 
 
import org.eclipse.core.commands.AbstractHandler; 
import org.eclipse.core.commands.ExecutionEvent; 
import org.eclipse.core.commands.ExecutionException; 
import org.eclipse.ui.PlatformUI; 
import org.eclipse.ui.browser.IWebBrowser; 
import org.eclipse.ui.browser.IWorkbenchBrowserSupport; 
 
public abstract class OpenUrlHandler extends AbstractHandler { 
 
    private String url; 
 
    public OpenUrlHandler() { 
        this.url = urlToOpen(); 
    } 
 
    protected abstract String urlToOpen(); 
 
    public Object execute(final ExecutionEvent ee) throws ExecutionException { 
        try { 
 
            IWorkbenchBrowserSupport browserSupport = PlatformUI.getWorkbench().getBrowserSupport(); 
            IWebBrowser browser = browserSupport.createBrowser(IWorkbenchBrowserSupport.LOCATION_BAR 
                    | IWorkbenchBrowserSupport.NAVIGATION_BAR, nullnullnull); 
            browser.openURL(new URL(this.url)); 
        } catch (Exception e) { 
 
        } 
        return null
    } 
 
}