package junit.extensions.eclipse.quick.mock.internal.wizard; import junit.extensions.eclipse.quick.mock.internal.MockitoEntry; import org.eclipse.jdt.core.IClasspathContainer; import org.eclipse.jdt.core.IClasspathEntry; import org.eclipse.jdt.core.IJavaProject; import org.eclipse.jdt.core.JavaCore; import org.eclipse.jdt.core.JavaModelException; import org.eclipse.jdt.ui.wizards.IClasspathContainerPage; import org.eclipse.jdt.ui.wizards.IClasspathContainerPageExtension; import org.eclipse.jface.wizard.WizardPage; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; public class MockitoPage extends WizardPage implements IClasspathContainerPage,IClasspathContainerPageExtension { private MockitoEntry entry; private IJavaProject project; public MockitoPage() { super("mockitoPage"); //$NON-NLS-1$ setTitle("Mockito Library"); //$NON-NLS-1$ setDescription(Messages.MockitoPage_AddMockitoLibrary); entry = new MockitoEntry(); } public boolean finish() { try { IJavaProject[] javaProjects= new IJavaProject[] { project }; IClasspathContainer[] containers= { null }; JavaCore.setClasspathContainer(entry.getContainerPath(), javaProjects, containers, null); } catch (JavaModelException e) { return false; } return true; } public IClasspathEntry getSelection() { return entry.getContainer(); } public void setSelection(IClasspathEntry containerEntry) { } public void createControl(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); composite.setLayout(new GridLayout(1, false)); Label label = new Label(composite, SWT.NONE); label.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false)); label.setText(Messages.MockitoPage_AddedLabel); setControl(composite); } public void initialize(IJavaProject project, IClasspathEntry[] currentEntries) { this.project = project; } }