/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License 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 org.apache.hadoop.eclipse.actions;
import java.io.IOException;
import org.apache.hadoop.eclipse.Activator;
import org.apache.hadoop.eclipse.servers.DefineHadoopServerLocWizardPage;
import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.Path;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.jface.wizard.WizardDialog;
/**
* Action corresponding to creating a new MapReduce Server.
*/
public class NewServerAction extends Action {
public NewServerAction() {
setText("New Hadoop Server");
try {
// TODO decorate with + sign to indicate create
setImageDescriptor(ImageDescriptor.createFromURL((FileLocator
.toFileURL(FileLocator.find(Activator.getDefault().getBundle(),
new Path("resources/hadoop_small.gif"), null)))));
} catch (IOException e) {
/* Ignore if no image */
e.printStackTrace();
}
}
@Override
public void run() {
WizardDialog dialog = new WizardDialog(null, new Wizard() {
private DefineHadoopServerLocWizardPage page = new DefineHadoopServerLocWizardPage();
@Override
public void addPages() {
super.addPages();
setWindowTitle("New Hadoop Server Location");
addPage(page);
}
@Override
public boolean performFinish() {
return page.performFinish() != null;
}
});
dialog.create();
dialog.setBlockOnOpen(true);
dialog.open();
super.run();
}
}