import org.apache.log4j.Logger;
import org.eclipse.jface.wizard.Wizard;
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.description.Feature;
+import eu.etaxonomy.taxeditor.store.CdmStore;
/**
* @author n.hoffmann
public class FeatureWizard extends Wizard {
private static final Logger logger = Logger.getLogger(FeatureWizard.class);
- private Feature selectedFeature = null;
+ private Feature feature = null;
+
+ private boolean editMode = false;
/**
*
* @param selectedFeature
*/
public FeatureWizard(Feature selectedFeature){
- this.selectedFeature = selectedFeature;
+ this.feature = selectedFeature;
+ editMode = true;
}
/* (non-Javadoc)
public void addPages() {
super.addPages();
- addPage(selectedFeature == null ? new FeatureWizardNewPage() : new FeatureWizardEditPage(selectedFeature));
+ addPage(new FeatureWizardPage());
}
/* (non-Javadoc)
*/
@Override
public boolean performFinish() {
- // TODO Auto-generated method stub
- return false;
+
+ ConversationHolder conversation = CdmStore.NewTransactionalConversation();
+
+ if(editMode){
+ CdmStore.updateFeature(feature);
+ }else{
+ CdmStore.saveFeature(feature);
+ }
+
+ conversation.commit(true);
+
+ return true;
}
+ /**
+ * @param text
+ * @param text2
+ * @param text3
+ */
+ public void setFeature(String term, String label, String labelAbbreviation) {
+ feature = Feature.NewInstance(term, label, labelAbbreviation);
+ }
+ /**
+ * @return the feature
+ */
+ public Feature getFeature() {
+ return feature;
+ }
+ /**
+ * @return the editMode
+ */
+ public boolean isEditMode() {
+ return editMode;
+ }
}