/************************************************************************** * ERA - Eclipse Requirements Analysis * ============================================== * Copyright (C) 2009-2013 by Georg Blaschke, Christoph P. Neumann * and Bernd Haberstumpf (http://era.origo.ethz.ch) ************************************************************************** * Licensed under the Eclipse Public License - v 1.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.eclipse.org/org/documents/epl-v10.html * 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 era.foss.erf.exporter; import java.io.IOException; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.eclipse.core.resources.IFile; import org.eclipse.core.runtime.CoreException; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.wizard.Wizard; import org.eclipse.ui.IExportWizard; import org.eclipse.ui.IWorkbench; /** * The Class RifExportWizard. */ public class RifExportWizard extends Wizard implements IExportWizard { // List of files to process /** The main page. */ private RifExportWizardMainPage mainPage; /** The selection. */ private IStructuredSelection selection; /* (non-Javadoc) * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench, org.eclipse.jface.viewers.IStructuredSelection) */ @Override public void init( IWorkbench workbench, IStructuredSelection selection ) { this.selection = selection; } /** * Gets the white checked input resources. * * @param selection the selection * @return the white checked input resources */ private List<IFile> getWhiteCheckedInputResources( IStructuredSelection selection ) { List<IFile> erfFileList = new ArrayList<IFile>(); Iterator<?> fileIter = selection.iterator(); while (fileIter.hasNext()) { // check if selected element is a file Object file = fileIter.next(); if( file instanceof IFile ) { try { if( ((IFile)file).getContentDescription() .getContentType() .getId() .equals( "era.foss.erf.ErfContentType" ) ) { erfFileList.add( (IFile)file ); } } catch( CoreException e ) { } } } return erfFileList; } /* * (non-Javadoc) Method declared on IWizard. */ public void addPages() { super.addPages(); mainPage = new RifExportWizardMainPage( "Rif", getWhiteCheckedInputResources( selection ) ); addPage( mainPage ); } /* (non-Javadoc) * @see org.eclipse.jface.wizard.Wizard#performFinish() */ @Override public boolean performFinish() { try { // delegate to main page return mainPage.finish(); } catch( IOException e ) { e.printStackTrace(); return false; } } }