/** Adds the pages of this wizard. */ public void addPages() { Plugin.startLongRunning(); final String emptystr = StringConstants.EMPTY; m_newProject = NodeMaker.createProjectPO(emptystr, IVersion.JB_CLIENT_METADATA_VERSION); m_autMain = PoMaker.createAUTMainPO(emptystr); m_newProject.addAUTMain(m_autMain); m_autConfig = PoMaker.createAUTConfigPO(); m_autMain.addAutConfigToSet(m_autConfig); IValidator autIdValidator = new AutIdValidator(m_newProject, null, m_autConfig); m_projectSettingWizardPage = new ProjectSettingWizardPage(PROJECT_SETTING_WP, m_newProject); m_projectSettingWizardPage.setTitle(Messages.ProjectWizardProjectSettings); m_projectSettingWizardPage.setDescription(Messages.ProjectWizardNewProject); addPage(m_projectSettingWizardPage); m_autSettingWizardPage = new AUTSettingWizardPage(AUT_SETTING_WP, m_newProject, m_autMain); m_autSettingWizardPage.setTitle(Messages.ProjectWizardAutSettings); m_autSettingWizardPage.setDescription(Messages.ProjectWizardNewAUT); m_autSettingWizardPage.setPageComplete(true); addPage(m_autSettingWizardPage); m_autConfigSettingWizardPage = new AutConfigSettingWizardPage(AUT_CONFIG_SETTING_WP, m_autConfig, autIdValidator); m_autConfigSettingWizardPage.setTitle(Messages.ProjectWizardAutSettings); m_autConfigSettingWizardPage.setDescription(Messages.ProjectWizardAUTData); m_autConfigSettingWizardPage.setPageComplete(true); addPage(m_autConfigSettingWizardPage); Plugin.stopLongRunning(); }
/** * Adds appropriate testcase libraries to the given project's reused projects set. * * @param newProject The project that will reuse the testcase libraries. */ private void addUnboundModules(IProjectPO newProject) { // Use toolkit-specific module, and modules for all required toolkits ToolkitDescriptor desc = ComponentBuilder.getInstance() .getCompSystem() .getToolkitDescriptor(newProject.getToolkit()); while (desc != null) { try { String moduleName = LIBRARY_PREFIX + desc.getName(); IProjectPO ubmProject = ProjectPM.loadLatestVersionOfProjectByName(moduleName); if (ubmProject != null) { newProject.addUsedProject(PoMaker.createReusedProjectPO(ubmProject)); } else { if (log.isInfoEnabled()) { log.info( Messages.Project + StringConstants.SPACE + StringConstants.APOSTROPHE + moduleName + StringConstants.APOSTROPHE + Messages.DoesNotExist + StringConstants.DOT); } } } catch (JBException e) { log.error(e + StringConstants.COLON + StringConstants.SPACE + e.getMessage()); } desc = ComponentBuilder.getInstance().getCompSystem().getToolkitDescriptor(desc.getIncludes()); } }
/** {@inheritDoc} */ public boolean performOk() { try { if (!m_oldProjectName.equals(m_newProjectName)) { if (ProjectPM.doesProjectNameExist(m_newProjectName)) { ErrorHandlingUtil.createMessageDialog( MessageIDs.E_PROJECTNAME_ALREADY_EXISTS, new Object[] {m_newProjectName}, null); return false; } } if (m_isReusableCheckbox != null) { getProject().setIsReusable(m_isReusableCheckbox.getSelection()); } if (m_isProtectedCheckbox != null) { getProject().setIsProtected(m_isProtectedCheckbox.getSelection()); } storeAutoTestResultCleanup(); if (!m_oldProjectName.equals(m_newProjectName)) { ProjectNameBP.getInstance() .setName(getEditSupport().getSession(), getProject().getGuid(), m_newProjectName); } fireOkPressed(); Set<IReusedProjectPO> origReused = ((IProjectPropertiesPO) getEditSupport().getOriginal()).getUsedProjects(); Set<IReusedProjectPO> newReused = new HashSet<IReusedProjectPO>( ((IProjectPropertiesPO) getEditSupport().getWorkVersion()).getUsedProjects()); newReused.removeAll(origReused); getEditSupport().saveWorkVersion(); refreshAutMainList(); DataEventDispatcher.getInstance().fireProjectStateChanged(ProjectState.prop_modified); for (IReusedProjectPO reused : newReused) { try { IProjectPO reusedProject = ProjectPM.loadReusedProject(reused); if (reusedProject != null) { // incomplete database, see https://bxapps.bredex.de/bugzilla/show_bug.cgi?id=854 ComponentNamesBP.getInstance().refreshNames(reusedProject.getId()); } } catch (JBException e) { // Could not refresh Component Name information for // reused project. Log the exception. log.error(Messages.ErrorWhileRetrievingReusedProjectInformation, e); } } // FIXME zeb This updates the Test Case Browser. Once we have separate // EditSupports for each property page, then we can use // "real" ReusedProjectPOs instead of a placeholder. DataEventDispatcher.getInstance() .fireDataChangedListener( PoMaker.createReusedProjectPO("1", 1, 1), // $NON-NLS-1$ DataState.ReuseChanged, UpdateState.notInEditor); DataEventDispatcher.getInstance() .fireDataChangedListener( GeneralStorage.getInstance().getProject(), DataState.Renamed, UpdateState.notInEditor); CompletenessBP.getInstance().completeProjectCheck(); } catch (PMException e) { ErrorHandlingUtil.createMessageDialog(e, null, null); } catch (ProjectDeletedException e) { PMExceptionHandler.handleProjectDeletedException(); } catch (IncompatibleTypeException ite) { ErrorHandlingUtil.createMessageDialog(ite, ite.getErrorMessageParams(), null); } return true; }