/*
* 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.imports;
import java.util.Set;
import net.rim.ejde.internal.core.ContextManager;
import net.rim.ejde.internal.internalplugin.InternalFragmentReplaceable;
import net.rim.ejde.internal.model.BlackBerryPropertiesFactory;
import net.rim.ejde.internal.util.ImportUtils;
import net.rim.ejde.internal.util.StatusFactory;
import net.rim.ide.Project;
import org.apache.log4j.Logger;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.SubProgressMonitor;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.JavaModelException;
/**
* External
*/
@InternalFragmentReplaceable
public class LegacyImportHelper extends BasicLegacyImportHelper {
static private final Logger _log = Logger.getLogger( LegacyImportHelper.class );
public LegacyImportHelper( Set< Project > legacyProjects, int importType, IPath REPath ) {
super( legacyProjects, importType, REPath );
}
protected IJavaProject importProject( Project legacyProject, IProgressMonitor monitor ) throws CoreException {
IJavaProject eclipseJavaProject = null;
monitor.beginTask( "Importing project " + legacyProject.getDisplayName(), 10 );
// create a java project for the legacy project
eclipseJavaProject = ImportUtils.createJavaProject( legacyProject, _importType, _bbLibName, _REPath,
new SubProgressMonitor( monitor, 8 ) );
if( eclipseJavaProject == null ) {
return null;
}
// open the project if it is not
if( !eclipseJavaProject.isOpen() ) {
try {
eclipseJavaProject.open( new NullProgressMonitor() );
} catch( JavaModelException e ) {
_log.error( e.getMessage(), e );
monitor.done();
throw new CoreException( StatusFactory.createErrorStatus( e.getMessage() ) );
}
}
monitor.worked( 1 );
// add the BB properties to the map
ContextManager.PLUGIN.setBBProperties( legacyProject.getDisplayName(),
BlackBerryPropertiesFactory.createBlackBerryProperties( legacyProject, eclipseJavaProject ), true );
monitor.worked( 1 );
monitor.done();
return eclipseJavaProject;
}
}