/** * */ 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.IssueSeverityType; import org.nightlabs.jfire.issue.dao.IssueSeverityTypeDAO; import org.nightlabs.jfire.issuetracking.admin.ui.resource.Messages; import org.nightlabs.progress.NullProgressMonitor; /** * @author Chairat Kongarayawetchakun - chairat [AT] nightlabs [DOT] de * */ public class IssueTypeSeverityTypeEditWizard extends DynamicPathWizard { private IssueSeverityType issueSeverityType; private IssueTypeSeverityTypeGeneralWizardPage severityTypeCreatePage; private boolean storeOnServer; private String[] fetchGroups; /** * @param issueSeverityType IssuePriority - the issue priority for wizard. * @param storeOnserver boolean - send data to server if it's true. * @param fetchGroups */ public IssueTypeSeverityTypeEditWizard(IssueSeverityType issueSeverityType, boolean storeOnServer, String[] fetchGroups) { super(); this.issueSeverityType = issueSeverityType; this.storeOnServer = storeOnServer || issueSeverityType == null; this.fetchGroups = fetchGroups; setWindowTitle(Messages.getString("org.nightlabs.jfire.issuetracking.admin.ui.overview.issueproperty.IssueTypeSeverityTypeEditWizard.title")); //$NON-NLS-1$ } @Override public void addPages() { severityTypeCreatePage = new IssueTypeSeverityTypeGeneralWizardPage(issueSeverityType); addPage(severityTypeCreatePage); } /* (non-Javadoc) * @see org.eclipse.jface.wizard.Wizard#performFinish() */ @Override public boolean performFinish() { issueSeverityType = severityTypeCreatePage.getSeverityTypeComposite().getIssueSeverityType(); if (storeOnServer) { issueSeverityType = IssueSeverityTypeDAO.sharedInstance().storeIssueSeverityType(issueSeverityType, true, fetchGroups, NLJDOHelper.MAX_FETCH_DEPTH_NO_LIMIT, new NullProgressMonitor()); } return issueSeverityType != null; } public IssueSeverityType getIssueSeverityType() { return issueSeverityType; } }