/* * Copyright (c) 2010-2012 Research In Motion Limited. All rights reserved. * * This program and the accompanying materials are made available * under the terms of the Eclipse Public License, Version 1.0, * which accompanies this distribution and is available at * * http://www.eclipse.org/legal/epl-v10.html * */ package net.rim.ejde.internal.ui.actions; import java.util.HashSet; import java.util.Set; import net.rim.ejde.internal.core.ContextManager; import net.rim.ejde.internal.model.BlackBerryProject; import net.rim.ejde.internal.model.BlackBerryProperties; import net.rim.ejde.internal.model.preferences.SignatureToolPreferences; import net.rim.ejde.internal.packaging.PackagingJob; import net.rim.ejde.internal.packaging.PackagingJobWrapper; import net.rim.ejde.internal.util.Messages; import net.rim.ejde.internal.util.ProjectUtils; import org.eclipse.jdt.core.IJavaProject; import org.eclipse.jface.action.IAction; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.ui.IActionDelegate; public class PackageProjectAction implements IActionDelegate { // static private final Logger _log = Logger.getLogger( PackageProjectAction.class ); IJavaProject[] javaProjects; public void run( IAction action ) { if( javaProjects == null || javaProjects.length == 0 ) { return; } if( javaProjects.length > 0 ) { Set< BlackBerryProject > projects = new HashSet< BlackBerryProject >(); for( IJavaProject javaProject : javaProjects ) { BlackBerryProperties properties = null; properties = ContextManager.PLUGIN.getBBProperties( javaProject.getProject().getName(), false ); if( properties == null ) { continue; } projects.add( new BlackBerryProject( javaProject, properties ) ); } PackagingJobWrapper job = new PackagingJobWrapper( Messages.PackagingJob_Name, projects, SignatureToolPreferences.getRunSignatureToolAutomatically() ? PackagingJob.SIGN_IF_NECESSARY : PackagingJob.SIGN_NO ); job.setUser( true ); job.schedule(); } } public void selectionChanged( IAction action, ISelection selection ) { if( selection == null || selection.isEmpty() ) { return; } if( selection instanceof StructuredSelection ) { javaProjects = ProjectUtils.getSelectProjects( (StructuredSelection) selection ); } } }