taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/AnnotatedLineEditorReconcilingStrategy.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/AnnotatedLineEditorSourceViewerConfiguration.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditor.java -text
-taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditorInput.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditorLineDisplay.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditorPersistenceService.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditorSearchComposite.java -text
+taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditorSortMenuProvider.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/IBulkEditorConstants.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/IBulkEditorQuery.java -text
+taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/IBulkEditorSortMenuProvider.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/IEntityContainer.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/IEntityCreator.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/IEntityPersistenceService.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/ILineDisplayStrategy.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/ILineSelectionSource.java -text
+taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/IdentifiableEntityComparator.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/LineAnnotation.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/LineAnnotationModel.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/LineSelection.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/LineSelectionSource.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/LineSelectionViewer.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/ReferenceCreator.java -text
-taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/ReferenceEditorInput.java -text
+taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/BulkEditorInputTypeValues.java -text
+taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/NewObjectContributionItem.java -text
+taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/OpenBulkEditorContributionItem.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/MergeGroupHandler.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/NewObjectHandler.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/OpenBulkEditorHandler.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/SetMergeTargetHandler.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/ShowReferencingObjectsHandler.java -text
+taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/BulkEditorInput.java -text
+taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/NameEditorInput.java -text
+taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/ReferenceEditorInput.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/internal/TaxeditorBulkeditorPlugin.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/referencingobjects/IReferencingObjectsService.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/referencingobjects/ReferencingObjectsContentProvider.java -text
</menuContribution>\r
<menuContribution\r
locationURI="menu:bulkeditor.menus.openmenu">\r
- <command\r
+ <!--command\r
commandId="bulkeditor.commands.openbulkeditor"\r
label="Reference"\r
style="push">\r
name="taxeditor-bulkeditor.commandParameter.inputType"\r
value="referenceInputType">\r
</parameter>\r
- </command>\r
- </menuContribution >\r
+ </command-->\r
+ <dynamic\r
+ class="eu.etaxonomy.taxeditor.bulkeditor.command.OpenBulkEditorContributionItem"\r
+ id="taxeditor-bulkeditor.dynamicopenmenu">\r
+ </dynamic>\r
+ </menuContribution>\r
<menuContribution\r
locationURI="popup:#BulkEditorContext">\r
+ <dynamic\r
+ class="eu.etaxonomy.taxeditor.bulkeditor.command.NewObjectContributionItem"\r
+ id="taxeditor-bulkeditor.dynamicnewobjectcommand">\r
+ </dynamic>\r
<!--menuContribution\r
locationURI="popup:org.eclipse.ui.popup.any"--> \r
<command\r
</extension>\r
<extension\r
point="org.eclipse.ui.commands">\r
- <command\r
+ <!--command\r
defaultHandler="eu.etaxonomy.taxeditor.bulkeditor.handler.OpenBulkEditorHandler"\r
id="bulkeditor.commands.openbulkeditor"\r
name="Open Bulk Editor">\r
id="taxeditor-bulkeditor.commandParameter.inputType"\r
name="Bulk Editor Class">\r
</commandParameter>\r
- </command>\r
+ </command-->\r
<command\r
defaultHandler="eu.etaxonomy.taxeditor.bulkeditor.handler.MergeGroupHandler"\r
id="bulkeditor.commands.mergegroup"\r
id="bulkeditor.commands.referencingobjects"\r
name="Show Referencing Objects">\r
</command>\r
+ <command\r
+ defaultHandler="eu.etaxonomy.taxeditor.bulkeditor.handler.OpenBulkEditorHandler"\r
+ id="taxeditor-bulkeditor.dynamicopenmenu"\r
+ name="Dynamic Open Bulk Editor">\r
+ <commandParameter\r
+ id="taxeditor-bulkeditor.commandParameter.inputType"\r
+ name="Bulk Editor Class"\r
+ values="eu.etaxonomy.taxeditor.bulkeditor.command.BulkEditorInputTypeValues">\r
+ </commandParameter>\r
+ </command>\r
+ <commandParameterType\r
+ id="taxeditor-bulkeditor.commandParameterType1">\r
+ </commandParameterType>\r
+ <command\r
+ defaultHandler="eu.etaxonomy.taxeditor.bulkeditor.handler.NewObjectHandler"\r
+ id="taxeditor-bulkeditor.dynamicnewobjectcommand"\r
+ name="Dynamic New Object">\r
+ </command>\r
</extension>\r
<extension\r
point="org.eclipse.ui.editors.markerAnnotationSpecification">\r
visible="false">\r
</view>\r
</perspectiveExtension>\r
- </extension>\r
+ </extension>
</plugin>\r
package eu.etaxonomy.taxeditor.bulkeditor;\r
\r
import org.apache.log4j.Logger;\r
+import org.eclipse.jface.text.BadLocationException;\r
+import org.eclipse.jface.text.Document;\r
import org.eclipse.jface.text.source.ISourceViewer;\r
import org.eclipse.jface.text.source.IVerticalRuler;\r
import org.eclipse.swt.SWT;\r
+import org.eclipse.swt.custom.StyleRange;\r
import org.eclipse.swt.widgets.Composite;\r
import org.eclipse.ui.IEditorInput;\r
import org.eclipse.ui.IEditorSite;\r
\r
return viewer;\r
}\r
+\r
+ /**\r
+ * @param newInstance\r
+ */\r
+ public void createAnnotatedLine() {\r
+ Document document = (Document) getDocumentProvider().getDocument(getEditorInput());\r
+ try {\r
+ int length = document.getLength();\r
+ \r
+ // Check whether last character is line delimiter\r
+ String text = "new guy";\r
+ int styleLength = text.length();\r
+ String lastChar = document.get(length - 2, 2);\r
+ String delimiter = document.getDefaultLineDelimiter();\r
+ if (delimiter.equals(lastChar)) {\r
+ // do nothing\r
+ } else {\r
+ text = document.getDefaultLineDelimiter() + text; \r
+ }\r
+ document.replace(length, 0, text);\r
+ \r
+ StyleRange styleRange = new StyleRange();\r
+ styleRange.start = length;\r
+ styleRange.length = styleLength;\r
+ styleRange.fontStyle = SWT.ITALIC;\r
+ getSourceViewer().getTextWidget().setStyleRange(styleRange);\r
+ } catch (BadLocationException e) {\r
+ // TODO Auto-generated catch block\r
+ e.printStackTrace();\r
+ }\r
+ }\r
}
\ No newline at end of file
import org.eclipse.swt.widgets.Composite;\r
import org.eclipse.swt.widgets.Control;\r
import org.eclipse.ui.IEditorInput;\r
-import org.eclipse.ui.IEditorPart;\r
import org.eclipse.ui.IEditorSite;\r
import org.eclipse.ui.PartInitException;\r
\r
+import eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInput;\r
+\r
/**\r
* @author p.ciardelli\r
* @created 07.07.2009\r
@Override\r
public void createPartControl(Composite parent) {\r
\r
- GridLayout rowLayout = new GridLayout();\r
- parent.setLayout(rowLayout);\r
+ GridLayout gridLayout = new GridLayout();\r
+ parent.setLayout(gridLayout);\r
\r
BulkEditorSearchComposite searchBar = new BulkEditorSearchComposite(this, parent, SWT.NONE);\r
searchBar.getParent().setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));\r
\r
super.createPartControl(parent);\r
\r
- // \r
+ // Set viewer composite to fill grid\r
for (Control control : parent.getChildren()) {\r
if (control instanceof Composite && !(control instanceof BulkEditorSearchComposite)) {\r
control.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));\r
import org.eclipse.swt.widgets.Display;\r
import org.eclipse.ui.IEditorPart;\r
\r
+import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;\r
+import eu.etaxonomy.cdm.model.common.TimePeriod;\r
+import eu.etaxonomy.cdm.model.name.NonViralName;\r
+import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
import eu.etaxonomy.cdm.model.reference.ReferenceBase;\r
+import eu.etaxonomy.cdm.model.reference.StrictReferenceBase;\r
+import eu.etaxonomy.taxeditor.propertysheet.name.NonViralNamePropertySource;\r
import eu.etaxonomy.taxeditor.propertysheet.reference.ReferencePropertySource;\r
\r
/**\r
if (entity instanceof ReferenceBase) {\r
return new ReferencePropertySource((ReferenceBase) entity); \r
}\r
+ if (entity instanceof NonViralName) {\r
+ return new NonViralNamePropertySource((NonViralName) entity);\r
+ }\r
+ \r
return null;\r
}\r
\r
*/\r
public String getText(Object entity) { \r
if (entity instanceof ReferenceBase) {\r
- return ((ReferenceBase) entity).getTitleCache();\r
+ ReferenceBase reference = (ReferenceBase) HibernateProxyHelper.deproxy(entity);\r
+ String text = reference.getTitleCache();\r
+ TimePeriod datePublished = ((StrictReferenceBase) reference).getDatePublished();\r
+ \r
+ String date = datePublished == null ? null : datePublished.toString();\r
+ if (date != null) {\r
+ text += " [" + date + "]";\r
+ }\r
+ return text;\r
+ }\r
+ if (entity instanceof TaxonNameBase) {\r
+ return ((TaxonNameBase) entity).getTitleCache();\r
}\r
return null;\r
}\r
\r
package eu.etaxonomy.taxeditor.bulkeditor;\r
\r
+import java.util.ArrayList;\r
+import java.util.Collections;\r
+import java.util.Comparator;\r
import java.util.List;\r
\r
import org.apache.log4j.Logger;\r
\r
+import eu.etaxonomy.cdm.model.common.TimePeriod;\r
+import eu.etaxonomy.cdm.model.reference.ReferenceBase;\r
+import eu.etaxonomy.cdm.model.reference.StrictReferenceBase;\r
+import eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInput;\r
import eu.etaxonomy.taxeditor.store.CdmStore;\r
\r
/**\r
private static final Logger logger = Logger\r
.getLogger(BulkEditorPersistenceService.class);\r
\r
+ \r
+ public ReferenceBase makeTestReference(String titleCache, int year) {\r
+ StrictReferenceBase ref = (StrictReferenceBase) creator.createEntity(titleCache);\r
+ if (year > 0)\r
+ ref.setDatePublished(TimePeriod.NewInstance(year));\r
+ return ref;\r
+ }\r
+\r
+ ReferenceCreator creator = new ReferenceCreator();\r
+ \r
/* (non-Javadoc)\r
* @see eu.etaxonomy.taxeditor.bulkeditor.IEntityPersistenceService#getEntityList(java.lang.Object)\r
*/\r
public List<?> getEntityList(Object element) {\r
-// List entityList = new ArrayList();\r
-// \r
-// ReferenceCreator creator = new ReferenceCreator();\r
-// \r
-// entityList.add(creator.createEntity("Acta universitatis carolinae. Biologica Prague"));\r
-// entityList.add(creator.createEntity("Acta universitatis asiae mediae. Botanica"));\r
-// entityList.add(creator.createEntity("Acta phytogeographica suecica Uppsala"));\r
-// entityList.add(creator.createEntity("Acta botanica neerlandica Amsterdam"));\r
-// entityList.add(creator.createEntity("Acta geobotanica hungarica Debrecen, Hungary"));\r
-// return entityList;\r
+ List entityList = new ArrayList();\r
\r
if (element instanceof BulkEditorInput) {\r
IBulkEditorQuery query = ((BulkEditorInput) element).getQuery();\r
- String queryString = "S*";\r
- if (query != null) {\r
- queryString = query.getSearchString();\r
- }\r
- return CdmStore.getReferencesByTitle(queryString);\r
+ \r
+// Comparator queryComparator = null;\r
+// if (query != null) {\r
+// String queryString = query.getSearchString();\r
+// queryComparator = query.getComparator();\r
+// if (element instanceof ReferenceEditorInput) {\r
+// entityList = CdmStore.getReferencesByTitle(queryString);\r
+// }\r
+// if (element instanceof NameEditorInput) {\r
+// entityList = CdmStore.searchNameString(queryString);\r
+// }\r
+// if (queryComparator != null) {\r
+// Collections.sort(entityList, queryComparator); \r
+// } else {\r
+// Collections.sort(entityList, new IdentifiableEntityComparator());\r
+// }\r
+// ((BulkEditorInput) element).setQuery(null);\r
+// }\r
+ entityList.add(makeTestReference("Acta universitatis carolinae. Biologica Prague",1932));\r
+ entityList.add(makeTestReference("Acta universitatis asiae mediae. Botanica",1753));\r
+ entityList.add(makeTestReference("Acta phytogeographica suecica Uppsala",1900));\r
+ entityList.add(makeTestReference("Acta botanica neerlandica Amsterdam",1864));\r
+ entityList.add(makeTestReference("Acta geobotanica hungarica Debrecen, Hungary",0));\r
}\r
- \r
- return null;\r
+ return entityList;\r
}\r
\r
/* (non-Javadoc)\r
import org.eclipse.swt.events.KeyEvent;\r
import org.eclipse.swt.events.SelectionAdapter;\r
import org.eclipse.swt.events.SelectionEvent;\r
+import org.eclipse.swt.events.SelectionListener;\r
import org.eclipse.swt.graphics.Point;\r
import org.eclipse.swt.graphics.Rectangle;\r
import org.eclipse.swt.layout.GridData;\r
import org.eclipse.swt.widgets.ToolItem;\r
import org.eclipse.ui.IEditorInput;\r
import org.eclipse.ui.IEditorPart;\r
-import org.eclipse.ui.part.EditorPart;\r
\r
-import eu.etaxonomy.cdm.api.service.config.ITaxonServiceConfigurator;\r
-import eu.etaxonomy.cdm.model.common.IdentifiableEntity;\r
+import eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInput;\r
import eu.etaxonomy.taxeditor.model.Resources;\r
-import eu.etaxonomy.taxeditor.preference.PreferencesUtil;\r
\r
/**\r
* @author p.ciardelli\r
* @created 17.08.2009\r
* @version 1.0\r
*/\r
-public class BulkEditorSearchComposite extends Composite implements IBulkEditorQuery {\r
+public class BulkEditorSearchComposite extends Composite {\r
+ private static final Logger logger = Logger.getLogger(BulkEditorSearchComposite.class);\r
\r
private IEditorPart editor;\r
+ \r
+ private IBulkEditorSortMenuProvider menuProvider;\r
+\r
+ private Menu sortMenu;\r
\r
+ private Text text;\r
+ \r
+ private String defaultText = "Use \"*\" for wildcard searching";\r
+ \r
+ public Object ORDER_BY = new Object();\r
+ \r
/**\r
* @param parent\r
* @param style\r
\r
this.editor = editor;\r
\r
+ this.menuProvider = new BulkEditorSortMenuProvider();\r
+ \r
createControl();\r
}\r
\r
- private static final Logger logger = Logger.getLogger(BulkEditorSearchComposite.class);\r
- private Text text;\r
- \r
- private String defaultText = "Use \"*\" for wildcard searching";\r
- \r
- final private ConfigurationSelectionListener configurationListener = new ConfigurationSelectionListener();\r
- public Object ORDER_BY = new Object();\r
\r
protected void createControl() {\r
\r
ToolItem toolItem = new ToolItem(toolBar, SWT.DROP_DOWN);\r
toolItem.setText("Search");\r
\r
- DropdownSelectionListener dropdownListener = new DropdownSelectionListener(toolItem);\r
- \r
- dropdownListener.add(SearchOption.TAXON);\r
- dropdownListener.add(SearchOption.SYNONYM);\r
- dropdownListener.add(SearchOption.NAME);\r
- dropdownListener.add(SearchOption.COMMON_NAME);\r
- \r
- toolItem.addSelectionListener(dropdownListener);\r
+ DropdownMenu dropdownMenu = new DropdownMenu(toolItem);\r
+ toolItem.addSelectionListener(dropdownMenu);\r
}\r
\r
private void updateEditorInput() {\r
\r
String searchString = getSearchString();\r
\r
- if(searchString.length() > 0){\r
- \r
- ITaxonServiceConfigurator configurator = configurationListener.getConfigurator();\r
- configurator.setSearchString(searchString);\r
- \r
+ if(searchString.length() > 0){ \r
// update query in IEditorInput\r
IEditorInput input = editor.getEditorInput();\r
if (input instanceof BulkEditorInput) {\r
- ((BulkEditorInput) input).setQuery(this);\r
+ ((BulkEditorInput) input).setQuery(new BulkEditorQuery(getSearchString(), getComparator()));\r
}\r
}\r
}\r
\r
- class DropdownSelectionListener extends SelectionAdapter {\r
-\r
- private Menu menu;\r
+ class DropdownMenu extends SelectionAdapter {\r
\r
- public DropdownSelectionListener(ToolItem dropdown) {\r
- menu = new Menu(dropdown.getParent().getShell());\r
+ /**\r
+ * @param dropdown\r
+ */\r
+ public DropdownMenu(ToolItem dropdown) {\r
+ sortMenu = new Menu(dropdown.getParent().getShell());\r
\r
- MenuItem menuItem = new MenuItem(menu, SWT.PUSH);\r
+ MenuItem menuItem = new MenuItem(sortMenu, SWT.PUSH);\r
menuItem.setText("Order by:");\r
menuItem.setData(ORDER_BY);\r
- new MenuItem(menu, SWT.SEPARATOR);\r
- }\r
+ new MenuItem(sortMenu, SWT.SEPARATOR);\r
\r
- public void add(SearchOption option) {\r
- MenuItem menuItem = new MenuItem(menu, SWT.CHECK);\r
- menuItem.setData(option);\r
- menuItem.setText(option.getLabel());\r
- menuItem.setSelection(option.getPreference());\r
- menuItem.addSelectionListener(configurationListener);\r
+ menuProvider.fillMenu(editor.getEditorInput(), sortMenu);\r
+ \r
+ SelectionListener listener = new SortListSelectionListener();\r
+ \r
+ for (MenuItem item : sortMenu.getItems()) {\r
+ if (item.getData() instanceof Comparator) {\r
+ item.addSelectionListener(listener);\r
+ }\r
+ }\r
}\r
\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)\r
+ */\r
public void widgetSelected(SelectionEvent event) {\r
if (event.detail == SWT.ARROW) {\r
ToolItem item = (ToolItem) event.widget;\r
Rectangle rect = item.getBounds();\r
Point pt = item.getParent().toDisplay(new Point(rect.x, rect.y));\r
- menu.setLocation(pt.x, pt.y + rect.height);\r
- menu.setVisible(true);\r
+ sortMenu.setLocation(pt.x, pt.y + rect.height);\r
+ sortMenu.setVisible(true);\r
} else {\r
updateEditorInput();\r
}\r
}\r
}\r
- \r
- class ConfigurationSelectionListener extends SelectionAdapter{\r
\r
- ITaxonServiceConfigurator configurator;\r
+ class SortListSelectionListener extends SelectionAdapter {\r
\r
- /* (non-Javadoc)\r
- * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)\r
- */\r
public void widgetSelected(SelectionEvent e) {\r
- logger.warn("configuration menu clicked");\r
- SearchOption option = (SearchOption) e.widget.getData();\r
- \r
- if(option == SearchOption.TAXON){\r
- getConfigurator().setDoTaxa(configurator.isDoTaxa() ? false : true);\r
- }\r
- \r
- if(option == SearchOption.SYNONYM){\r
- getConfigurator().setDoSynonyms(configurator.isDoSynonyms() ? false : true);\r
- }\r
- \r
- if(option == SearchOption.NAME){\r
- getConfigurator().setDoNamesWithoutTaxa(configurator.isDoNamesWithoutTaxa() ? false : true);\r
- }\r
- \r
- if(option == SearchOption.COMMON_NAME){\r
- getConfigurator().setDoTaxaByCommonNames(configurator.isDoTaxaByCommonNames() ? false : true);\r
- }\r
- saveConfigurator();\r
- }\r
- \r
- public ITaxonServiceConfigurator getConfigurator(){\r
- if(configurator == null){\r
- configurator = PreferencesUtil.getSearchConfigurator();\r
- }\r
- return configurator;\r
- }\r
- \r
- private void saveConfigurator(){\r
- PreferencesUtil.setSearchConfigurator(configurator);\r
- this.configurator = PreferencesUtil.getSearchConfigurator();\r
+ for (MenuItem item : sortMenu.getItems()) {\r
+ if (item.getData() instanceof Comparator) {\r
+ if (item.equals(e.getSource())) {\r
+ item.setSelection(true);\r
+ } else {\r
+ item.setSelection(false);\r
+ }\r
+ }\r
+ } \r
}\r
}\r
\r
- enum SearchOption {\r
- TAXON("Taxa"),\r
- SYNONYM("Synonyms"),\r
- NAME("Names (without taxa)"),\r
- COMMON_NAME("Common Names");\r
- \r
- private String label;\r
- \r
- private SearchOption(String label){\r
- this.label = label;\r
- }\r
- \r
- public String getLabel(){\r
- return label;\r
- }\r
- \r
- public boolean getPreference(){\r
- if(! PreferencesUtil.getPreferenceStore().contains(PreferencesUtil.TAXON_SERVICE_CONFIGURATOR_TAXA)){\r
- // initializes the search configurator\r
- PreferencesUtil.initializeSearchConfigurator();\r
- }\r
- \r
- switch(this){\r
- case TAXON:\r
- boolean result = PreferencesUtil.getPreferenceStore().getBoolean(PreferencesUtil.TAXON_SERVICE_CONFIGURATOR_TAXA);\r
- return result;\r
- case SYNONYM:\r
- return PreferencesUtil.getPreferenceStore().getBoolean(PreferencesUtil.TAXON_SERVICE_CONFIGURATOR_SYNONYMS);\r
- case NAME:\r
- return PreferencesUtil.getPreferenceStore().getBoolean(PreferencesUtil.TAXON_SERVICE_CONFIGURATOR_NAMES);\r
- case COMMON_NAME:\r
- return PreferencesUtil.getPreferenceStore().getBoolean(PreferencesUtil.TAXON_SERVICE_CONFIGURATOR_COMMON_NAMES);\r
- }\r
- \r
- return true;\r
- }\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorQuery#getSearchString()\r
- */\r
public String getSearchString() {\r
return text.getText().trim();\r
}\r
\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorQuery#getComparator()\r
- */\r
public Comparator getComparator() {\r
- return new IdentifiableEntityComparator();\r
+ Comparator comparator;\r
+ for (MenuItem item : sortMenu.getItems()) {\r
+ if (item.getSelection() == true && item.getData() instanceof Comparator) {\r
+ return (Comparator) item.getData();\r
+ }\r
+ }\r
+ return null;\r
};\r
\r
- class IdentifiableEntityComparator implements Comparator {\r
- private boolean fIgnoreCase;\r
+ class BulkEditorQuery implements IBulkEditorQuery {\r
+ \r
+ private String searchString;\r
+ private Comparator comparator;\r
\r
- private String getTitleCache(Object o) {\r
- return o == null || !(o instanceof IdentifiableEntity) ? \r
- null : ((IdentifiableEntity) o).getTitleCache();\r
+ BulkEditorQuery (String searchString, Comparator comparator) {\r
+ this.searchString = searchString;\r
+ this.comparator = comparator;\r
}\r
- \r
- public int compare(Object o1, Object o2) {\r
- String titleCache1 = getTitleCache(o1);\r
- String titleCache2 = getTitleCache(o2);\r
- return fIgnoreCase ? titleCache1.compareToIgnoreCase(titleCache2) : \r
- titleCache1.compareTo(titleCache2);\r
+\r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorQuery#getComparator()\r
+ */\r
+ public Comparator getComparator() {\r
+ return comparator;\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorQuery#getSearchString()\r
+ */\r
+ public String getSearchString() {\r
+ return searchString;\r
}\r
}\r
-}\r
+}
\ No newline at end of file
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2007 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+\r
+package eu.etaxonomy.taxeditor.bulkeditor;\r
+\r
+import java.util.Comparator;\r
+\r
+import org.apache.log4j.Logger;\r
+import org.eclipse.swt.SWT;\r
+import org.eclipse.swt.widgets.Menu;\r
+import org.eclipse.swt.widgets.MenuItem;\r
+import org.eclipse.ui.IEditorInput;\r
+\r
+import eu.etaxonomy.cdm.model.common.TimePeriod;\r
+import eu.etaxonomy.cdm.model.reference.ReferenceBase;\r
+import eu.etaxonomy.cdm.model.reference.StrictReferenceBase;\r
+import eu.etaxonomy.taxeditor.bulkeditor.input.ReferenceEditorInput;\r
+\r
+/**\r
+ * @author p.ciardelli\r
+ * @created 19.08.2009\r
+ * @version 1.0\r
+ */\r
+public class BulkEditorSortMenuProvider implements IBulkEditorSortMenuProvider {\r
+ private static final Logger logger = Logger\r
+ .getLogger(BulkEditorSortMenuProvider.class);\r
+\r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorSortMenuProvider#fillMenu(org.eclipse.ui.IEditorInput, java.awt.Menu)\r
+ */\r
+ public Menu fillMenu(IEditorInput input, Menu menu) {\r
+ addMenuItem(menu, "Title cache", new IdentifiableEntityComparator(), true);\r
+ \r
+ if (input instanceof ReferenceEditorInput) {\r
+ addMenuItem(menu, "Year", new ReferenceYearComparator(), false);\r
+ }\r
+ \r
+ return menu;\r
+ }\r
+ \r
+ /**\r
+ * @param menu \r
+ * @param string\r
+ * @param identifiableEntityComparator\r
+ * @return \r
+ */\r
+ private MenuItem addMenuItem(Menu menu, String text, Comparator comparator, boolean selected) {\r
+ MenuItem menuItem = new MenuItem(menu, SWT.CHECK);\r
+ menuItem.setText(text);\r
+ menuItem.setData(comparator);\r
+ menuItem.setSelection(selected);\r
+ return menuItem;\r
+ }\r
+ \r
+ class ReferenceYearComparator implements Comparator {\r
+ \r
+ /**\r
+ * @param o1\r
+ * @return\r
+ */\r
+ private String getYearString(Object o) {\r
+ TimePeriod datePublished = o == null || !(o instanceof ReferenceBase) ? \r
+ null : ((StrictReferenceBase) o).getDatePublished(); \r
+ return datePublished == null? null : datePublished.toString();\r
+ }\r
+ \r
+ /* (non-Javadoc)\r
+ * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)\r
+ */\r
+ public int compare(Object o1, Object o2) {\r
+ String yearString1 = getYearString(o1);\r
+ String yearString2 = getYearString(o2);\r
+ if (yearString1 == null) {\r
+ if (yearString2 == null) {\r
+ return 0;\r
+ } else {\r
+ return -1;\r
+ }\r
+ }\r
+ if (yearString2 == null) {\r
+ return 1;\r
+ }\r
+ return yearString1.compareToIgnoreCase(yearString2);\r
+ } \r
+ }\r
+}
\ No newline at end of file
public interface IBulkEditorConstants {\r
public static final String TYPE_MERGE_TARGET = "merge_target_annotation";\r
public static final String TYPE_MERGE_CANDIDATE = "merge_candidate_annotation";\r
+ \r
+ public static final String INPUT_TYPE_PARAMETER_ID = "taxeditor-bulkeditor.commandParameter.inputType";\r
+ public static final String DYNAMIC_OPEN_MENU_ID = "taxeditor-bulkeditor.dynamicopenmenu";\r
+ public static final String DYNAMIC_OPEN_OBJECT_ID = "taxeditor-bulkeditor.dynamicnewobjectcommand";\r
}\r
\r
package eu.etaxonomy.taxeditor.bulkeditor;\r
\r
+import java.util.Comparator;\r
+\r
/**\r
* @author p.ciardelli\r
* @created 19.08.2009\r
\r
String getSearchString();\r
\r
- void setSearchString(); \r
+ Comparator getComparator();\r
}\r
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2007 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+\r
+package eu.etaxonomy.taxeditor.bulkeditor;\r
+\r
+\r
+import org.eclipse.swt.widgets.Menu;\r
+import org.eclipse.ui.IEditorInput;\r
+\r
+/**\r
+ * @author p.ciardelli\r
+ * @created 19.08.2009\r
+ * @version 1.0\r
+ */\r
+public interface IBulkEditorSortMenuProvider {\r
+ \r
+ /**\r
+ * Fills a menu with MenuItems representing sort options specific to the IEditorInput. \r
+ * <p>\r
+ * Populates each MenuItem with a Comparator associated with the sort option.\r
+ * \r
+ * @param input\r
+ * @param menu\r
+ * @return\r
+ */\r
+ Menu fillMenu(IEditorInput input, Menu menu);\r
+}\r
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2007 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+\r
+package eu.etaxonomy.taxeditor.bulkeditor;\r
+\r
+import java.util.Comparator;\r
+\r
+import org.apache.log4j.Logger;\r
+\r
+import eu.etaxonomy.cdm.model.common.IdentifiableEntity;\r
+\r
+/**\r
+ * @author p.ciardelli\r
+ * @created 19.08.2009\r
+ * @version 1.0\r
+ */\r
+public class IdentifiableEntityComparator implements Comparator {\r
+ private static final Logger logger = Logger\r
+ .getLogger(IdentifiableEntityComparator.class);\r
+ \r
+ private boolean fIgnoreCase;\r
+\r
+ private String getTitleCache(Object o) {\r
+ return o == null || !(o instanceof IdentifiableEntity) ? \r
+ null : ((IdentifiableEntity) o).getTitleCache();\r
+ }\r
+ \r
+ /* (non-Javadoc)\r
+ * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)\r
+ */\r
+ public int compare(Object o1, Object o2) {\r
+ String titleCache1 = getTitleCache(o1);\r
+ String titleCache2 = getTitleCache(o2);\r
+ logger.warn(titleCache1 + " <> " + titleCache2);\r
+ return fIgnoreCase ? titleCache1.compareToIgnoreCase(titleCache2) : \r
+ titleCache1.compareTo(titleCache2);\r
+ }\r
+}\r
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2007 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+\r
+package eu.etaxonomy.taxeditor.bulkeditor.command;\r
+\r
+import java.util.HashMap;\r
+import java.util.Map;\r
+\r
+import org.apache.log4j.Logger;\r
+import org.eclipse.core.commands.IParameterValues;\r
+import org.eclipse.ui.IEditorInput;\r
+\r
+import eu.etaxonomy.taxeditor.bulkeditor.input.NameEditorInput;\r
+import eu.etaxonomy.taxeditor.bulkeditor.input.ReferenceEditorInput;\r
+\r
+/**\r
+ * @author p.ciardelli\r
+ * @created 20.08.2009\r
+ * @version 1.0\r
+ */\r
+public class BulkEditorInputTypeValues implements IParameterValues {\r
+ private static final Logger logger = Logger\r
+ .getLogger(BulkEditorInputTypeValues.class);\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.core.commands.IParameterValues#getParameterValues()\r
+ */\r
+ public Map getParameterValues() {\r
+ final Map values = new HashMap();\r
+ \r
+ // TODO user role determines which editor inputs are returned\r
+ values.put("Reference", ReferenceEditorInput.getID());\r
+ values.put("Name", NameEditorInput.getID());\r
+ \r
+ return values;\r
+ }\r
+\r
+ /**\r
+ * @param input\r
+ */\r
+ public String getLabelByInputInstance(IEditorInput input) {\r
+ if (input instanceof ReferenceEditorInput) {\r
+ return "Reference";\r
+ }\r
+ if (input instanceof NameEditorInput) {\r
+ return "Name";\r
+ }\r
+ return "";\r
+ }\r
+}\r
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2007 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+\r
+package eu.etaxonomy.taxeditor.bulkeditor.command;\r
+\r
+import java.util.Map;\r
+\r
+import org.apache.log4j.Logger;\r
+import org.eclipse.jface.action.IContributionItem;\r
+import org.eclipse.swt.SWT;\r
+import org.eclipse.ui.IEditorInput;\r
+import org.eclipse.ui.IWorkbenchWindow;\r
+import org.eclipse.ui.PlatformUI;\r
+import org.eclipse.ui.actions.CompoundContributionItem;\r
+import org.eclipse.ui.menus.CommandContributionItem;\r
+import org.eclipse.ui.menus.CommandContributionItemParameter;\r
+\r
+import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorConstants;\r
+\r
+/**\r
+ * @author p.ciardelli\r
+ * @created 21.08.2009\r
+ * @version 1.0\r
+ */\r
+public class NewObjectContributionItem extends CompoundContributionItem {\r
+ private static final Logger logger = Logger\r
+ .getLogger(NewObjectContributionItem.class);\r
+\r
+ /**\r
+ * \r
+ */\r
+ public NewObjectContributionItem() {\r
+ }\r
+\r
+ /**\r
+ * @param id\r
+ */\r
+ public NewObjectContributionItem(String id) {\r
+ super(id);\r
+ }\r
+ \r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.ui.actions.CompoundContributionItem#getContributionItems()\r
+ */\r
+ @Override\r
+ protected IContributionItem[] getContributionItems() {\r
+ \r
+ IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();\r
+ \r
+ CommandContributionItemParameter parameter = \r
+ new CommandContributionItemParameter(\r
+ window, null, IBulkEditorConstants.DYNAMIC_OPEN_OBJECT_ID, SWT.NONE);\r
+ \r
+ parameter.label = "New " + getEditorInputLabel(window); \r
+ \r
+ return new IContributionItem[] {\r
+ new CommandContributionItem(parameter)\r
+ };\r
+ }\r
+\r
+ /**\r
+ * @param window\r
+ * @return\r
+ */\r
+ private String getEditorInputLabel(IWorkbenchWindow window) {\r
+ IEditorInput input = window.getActivePage().getActiveEditor().getEditorInput();\r
+ \r
+ BulkEditorInputTypeValues inputValues = new BulkEditorInputTypeValues();\r
+ return inputValues.getLabelByInputInstance(input);\r
+ }\r
+}\r
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2007 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+\r
+package eu.etaxonomy.taxeditor.bulkeditor.command;\r
+\r
+import java.util.ArrayList;\r
+import java.util.HashMap;\r
+import java.util.List;\r
+import java.util.Map;\r
+\r
+import org.apache.log4j.Logger;\r
+import org.eclipse.jface.action.IContributionItem;\r
+import org.eclipse.swt.SWT;\r
+import org.eclipse.ui.PlatformUI;\r
+import org.eclipse.ui.actions.CompoundContributionItem;\r
+import org.eclipse.ui.menus.CommandContributionItem;\r
+import org.eclipse.ui.menus.CommandContributionItemParameter;\r
+\r
+import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorConstants;\r
+\r
+/**\r
+ * @author p.ciardelli\r
+ * @created 19.08.2009\r
+ * @version 1.0\r
+ */\r
+public class OpenBulkEditorContributionItem extends CompoundContributionItem {\r
+ private static final Logger logger = Logger\r
+ .getLogger(OpenBulkEditorContributionItem.class);\r
+\r
+ /**\r
+ * \r
+ */\r
+ public OpenBulkEditorContributionItem() {\r
+ }\r
+\r
+ /**\r
+ * @param id\r
+ */\r
+ public OpenBulkEditorContributionItem(String id) {\r
+ super(id);\r
+ }\r
+ \r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.ui.actions.CompoundContributionItem#getContributionItems()\r
+ */\r
+ @Override\r
+ protected IContributionItem[] getContributionItems() {\r
+ \r
+ List<IContributionItem> contributionItems = new ArrayList<IContributionItem>();\r
+ \r
+ Map inputTypeValues = (new BulkEditorInputTypeValues()).getParameterValues();\r
+ for (Object key : inputTypeValues.keySet()) {\r
+ contributionItems.add(createContributionItem(\r
+ (String) key, (String) inputTypeValues.get(key)));\r
+ }\r
+ \r
+ return (IContributionItem[])contributionItems.\r
+ toArray(new IContributionItem[contributionItems.size()]);\r
+ }\r
+\r
+ /**\r
+ * @param key\r
+ * @param object\r
+ * @return\r
+ */\r
+ private IContributionItem createContributionItem(String label, String inputType) {\r
+ CommandContributionItemParameter parameter = \r
+ new CommandContributionItemParameter(\r
+ PlatformUI.getWorkbench().getActiveWorkbenchWindow(),\r
+ null, IBulkEditorConstants.DYNAMIC_OPEN_MENU_ID, SWT.NONE);\r
+ \r
+ parameter.label = label;\r
+ \r
+ Map parameters = new HashMap();\r
+ parameters.put(IBulkEditorConstants.INPUT_TYPE_PARAMETER_ID, inputType); \r
+ parameter.parameters = parameters;\r
+ \r
+ return new CommandContributionItem(parameter);\r
+ }\r
+}\r
\r
import eu.etaxonomy.cdm.model.common.CdmBase;\r
import eu.etaxonomy.taxeditor.bulkeditor.AnnotatedLineEditor;\r
-import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorInput;\r
import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorConstants;\r
import eu.etaxonomy.taxeditor.bulkeditor.IEntityContainer;\r
import eu.etaxonomy.taxeditor.bulkeditor.LineAnnotationModel;\r
+import eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInput;\r
\r
/**\r
* @author p.ciardelli\r
import org.eclipse.core.commands.AbstractHandler;\r
import org.eclipse.core.commands.ExecutionEvent;\r
import org.eclipse.core.commands.ExecutionException;\r
-import org.eclipse.jface.text.BadLocationException;\r
-import org.eclipse.jface.text.Document;\r
import org.eclipse.ui.IEditorInput;\r
import org.eclipse.ui.IEditorPart;\r
-import org.eclipse.ui.editors.text.TextEditor;\r
import org.eclipse.ui.handlers.HandlerUtil;\r
\r
+import eu.etaxonomy.taxeditor.bulkeditor.AnnotatedLineEditor;\r
+\r
/**\r
* @author p.ciardelli\r
* @created 14.08.2009\r
\r
IEditorPart editor = HandlerUtil.getActiveEditor(event);\r
IEditorInput input = editor.getEditorInput();\r
- if (editor instanceof TextEditor) {\r
- Document document = (Document) ((TextEditor) editor).getDocumentProvider().getDocument(input);\r
- try {\r
- document.replace(document.getLength(), 0, document.getDefaultLineDelimiter() + "new guy");\r
-// ((TextEditor) editor).gotoAnnotation(forward)\r
- } catch (BadLocationException e) {\r
- // TODO Auto-generated catch block\r
- e.printStackTrace();\r
- }\r
-// ((TextEditor) editor).getDocumentProvider().getDocument(input).set("hi");\r
+ if (editor instanceof AnnotatedLineEditor) {\r
+ ((AnnotatedLineEditor) editor).createAnnotatedLine();\r
}\r
return null;\r
}\r
import org.eclipse.ui.handlers.HandlerUtil;\r
\r
import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;\r
-import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorInput;\r
+import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorConstants;\r
+import eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInput;\r
\r
/**\r
* @author p.ciardelli\r
* @version 1.0\r
*/\r
public class OpenBulkEditorHandler extends AbstractHandler {\r
-\r
- public static final String INPUT_TYPE_PARAMETER_ID = \r
- "taxeditor-bulkeditor.commandParameter.inputType";\r
\r
/* (non-Javadoc)\r
* @see org.eclipse.core.commands.AbstractHandler#execute(org.eclipse.core.commands.ExecutionEvent)\r
*/\r
public Object execute(ExecutionEvent event) throws ExecutionException {\r
- String inputType = event.getParameter(INPUT_TYPE_PARAMETER_ID);\r
+ String inputType = event.getParameter(IBulkEditorConstants.INPUT_TYPE_PARAMETER_ID);\r
try {\r
HandlerUtil.getActiveWorkbenchWindow(event).getActivePage().\r
openEditor(BulkEditorInput.NewInstance(inputType), BulkEditor.ID);\r
import org.eclipse.ui.texteditor.IDocumentProvider;\r
\r
import eu.etaxonomy.taxeditor.bulkeditor.AnnotatedLineEditor;\r
-import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorInput;\r
import eu.etaxonomy.taxeditor.bulkeditor.LineAnnotationModel;\r
import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorConstants;\r
+import eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInput;\r
\r
/**\r
* @author p.ciardelli\r
* The contents of this file are subject to the Mozilla Public License Version 1.1\r
* See LICENSE.TXT at the top of this package for the full license terms.\r
*/\r
-package eu.etaxonomy.taxeditor.bulkeditor;\r
+package eu.etaxonomy.taxeditor.bulkeditor.input;\r
\r
import java.beans.PropertyChangeSupport;\r
\r
import org.eclipse.ui.IEditorInput;\r
import org.eclipse.ui.IPersistableElement;\r
\r
+import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorQuery;\r
+\r
/**\r
* @author p.ciardelli\r
* @created 25.06.2009\r
public BulkEditorInput(Object sourceBean) {\r
super(sourceBean);\r
}\r
-\r
- /**\r
- * See menu parameters for "taxeditor-bulkeditor.commandParameter.inputType" \r
- * in "plugin.xml" \r
- */\r
- private static final String REFERENCE_INPUT_TYPE = "referenceInputType";\r
\r
public static final String QUERY_CHANGED = "query_changed";\r
\r
static public BulkEditorInput NewInstance(String inputType) {\r
- \r
- if (REFERENCE_INPUT_TYPE.equals(inputType)) {\r
- return (BulkEditorInput) new ReferenceEditorInput(); \r
+ \r
+ if (ReferenceEditorInput.getID().equals(inputType)) {\r
+// return ReferenceEditorInput.getInstance();\r
+ return new ReferenceEditorInput();\r
}\r
+\r
+ if (NameEditorInput.getID().equals(inputType)) {\r
+// return NameEditorInput.getInstance();\r
+ return new NameEditorInput();\r
+ }\r
+ \r
return null;\r
}\r
\r
private IBulkEditorQuery query;\r
- \r
+ \r
/* (non-Javadoc)\r
* @see org.eclipse.ui.IEditorInput#exists()\r
*/\r
public void setQuery(IBulkEditorQuery bulkEditorQuery) {\r
this.query = bulkEditorQuery;\r
\r
- firePropertyChange(QUERY_CHANGED, null, null);\r
+ if (query != null) {\r
+ firePropertyChange(QUERY_CHANGED, null, null);\r
+ }\r
}\r
\r
public IBulkEditorQuery getQuery() {\r
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2007 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+\r
+package eu.etaxonomy.taxeditor.bulkeditor.input;\r
+\r
+import org.apache.log4j.Logger;\r
+\r
+/**\r
+ * @author p.ciardelli\r
+ * @created 20.08.2009\r
+ * @version 1.0\r
+ */\r
+public class NameEditorInput extends BulkEditorInput {\r
+ private static final Logger logger = Logger\r
+ .getLogger(NameEditorInput.class);\r
+ \r
+ private static NameEditorInput instance;\r
+\r
+ /**\r
+ * @param sourceBean\r
+ */\r
+ public NameEditorInput() {\r
+ super(new Object());\r
+ }\r
+\r
+ public static final String ID = "bulkeditor.input.name";\r
+ \r
+ public static BulkEditorInput getInstance() {\r
+ if (instance == null) {\r
+ instance = new NameEditorInput();\r
+ }\r
+ return instance;\r
+ }\r
+ \r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.ui.IEditorInput#getName()\r
+ */\r
+ public String getName() {\r
+ return "Bulk Editor - Names";\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.ui.IEditorInput#getToolTipText()\r
+ */\r
+ public String getToolTipText() {\r
+ return getName();\r
+ }\r
+\r
+ /**\r
+ * @return\r
+ */\r
+ public static Object getID() {\r
+ return ID;\r
+ }\r
+}\r
* The contents of this file are subject to the Mozilla Public License Version 1.1\r
* See LICENSE.TXT at the top of this package for the full license terms.\r
*/\r
-package eu.etaxonomy.taxeditor.bulkeditor;\r
+package eu.etaxonomy.taxeditor.bulkeditor.input;\r
\r
-import org.eclipse.ui.IEditorInput;\r
\r
/**\r
* @author p.ciardelli\r
* @created 25.06.2009\r
* @version 1.0\r
*/\r
-public class ReferenceEditorInput extends BulkEditorInput implements\r
- IEditorInput {\r
+public class ReferenceEditorInput extends BulkEditorInput {\r
+\r
+ public static final String ID = "bulkeditor.input.reference";\r
+ \r
+ private static ReferenceEditorInput instance;\r
\r
/**\r
* @param sourceBean\r
*/\r
public ReferenceEditorInput() {\r
super(new Object());\r
- // TODO Auto-generated constructor stub\r
}\r
\r
+ /**\r
+ * @return the iD\r
+ */\r
+ public static String getID() {\r
+ return ID;\r
+ }\r
+ \r
/* (non-Javadoc)\r
* @see org.eclipse.ui.IEditorInput#getName()\r
*/\r
* @see org.eclipse.ui.IEditorInput#getToolTipText()\r
*/\r
public String getToolTipText() {\r
- // TODO Auto-generated method stub\r
return getName();\r
}\r
+\r
+ /**\r
+ * @return\r
+ */\r
+ public static BulkEditorInput getInstance() {\r
+ if (instance == null) {\r
+ instance = new ReferenceEditorInput();\r
+ }\r
+ return instance;\r
+ }\r
}
\ No newline at end of file