/** * */ package org.nightlabs.jfire.issuetracking.admin.ui.overview.issueproperty; import org.nightlabs.base.ui.wizard.DynamicPathWizard; import org.nightlabs.jdo.NLJDOHelper; import org.nightlabs.jfire.issue.IssuePriority; import org.nightlabs.jfire.issue.dao.IssuePriorityDAO; import org.nightlabs.jfire.issuetracking.admin.ui.resource.Messages; import org.nightlabs.progress.NullProgressMonitor; /** * @author Chairat Kongarayawetchakun - chairat [AT] nightlabs [DOT] de * */ public class IssueTypePriorityEditWizard extends DynamicPathWizard { private IssuePriority issuePriority; private IssueTypePriorityGeneralWizardPage priorityCreatePage; private boolean storeOnServer; private String[] fetchGroups; /** * @param issuePriority IssuePriority - the issue priority for wizard. * @param storeOnserver boolean - send data to server if it's true. * @param fetchGroups */ public IssueTypePriorityEditWizard(IssuePriority issuePriority, boolean storeOnServer, String[] fetchGroups) { super(); this.issuePriority = issuePriority; this.storeOnServer = storeOnServer || issuePriority == null; this.fetchGroups = fetchGroups; setWindowTitle(Messages.getString("org.nightlabs.jfire.issuetracking.admin.ui.overview.issueproperty.IssueTypePriorityEditWizard.windowTitle.text")); //$NON-NLS-1$ } @Override public void addPages() { priorityCreatePage = new IssueTypePriorityGeneralWizardPage(issuePriority); addPage(priorityCreatePage); } /* (non-Javadoc) * @see org.eclipse.jface.wizard.Wizard#performFinish() */ @Override public boolean performFinish() { issuePriority = priorityCreatePage.getPriorityComposite().getIssuePriority(); if (storeOnServer) { issuePriority = IssuePriorityDAO.sharedInstance().storeIssuePriority(issuePriority, true, fetchGroups, NLJDOHelper.MAX_FETCH_DEPTH_NO_LIMIT, new NullProgressMonitor()); } return issuePriority != null; } public IssuePriority getIssuePriority() { return issuePriority; } }