import org.eclipse.ui.PartInitException;
import org.eclipse.ui.handlers.HandlerUtil;
+import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
+import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
+import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
import eu.etaxonomy.taxeditor.editor.group.authority.CdmAuthorityEditor;
import eu.etaxonomy.taxeditor.editor.group.authority.CdmAuthorityEditorInput;
import eu.etaxonomy.taxeditor.editor.internal.TaxeditorEditorPlugin;
return false;
}
- editor.doSave(EditorUtil.getMonitor());
+ editor.doSave(AbstractUtility.getMonitor());
}
return true;
}
CdmAuthorityEditorInput input = CdmAuthorityEditorInput.NewInstance(groupUuid);
open(input);
}
+
+ public static FieldUnit getFieldUnit(SpecimenOrObservationBase<?> specimen){
+ if(specimen.isInstanceOf(FieldUnit.class)){
+ return (FieldUnit) specimen;
+ }
+ else if(specimen.isInstanceOf(DerivedUnit.class)){
+ for(SpecimenOrObservationBase original:((DerivedUnit) specimen).getOriginals()){
+ if(original.isInstanceOf(FieldUnit.class)){
+ return (FieldUnit) original;
+ }
+ else if(original.isInstanceOf(DerivedUnit.class)){
+ return getFieldUnit(original);
+ }
+ }
+ }
+ return null;
+ }
}
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.handlers.HandlerUtil;
-import eu.etaxonomy.cdm.model.common.ICdmBase;
+import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
import eu.etaxonomy.taxeditor.editor.EditorUtil;
import eu.etaxonomy.taxeditor.editor.view.derivate.DerivateViewEditorInput;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
ISelection currentSelection = HandlerUtil.getCurrentSelection(event);
if(currentSelection instanceof IStructuredSelection){
Object selectedElement = ((IStructuredSelection) currentSelection).getFirstElement();
- if(selectedElement instanceof ICdmBase){
- DerivateViewEditorInput input = new DerivateViewEditorInput(((ICdmBase) selectedElement).getUuid());
+ if(selectedElement instanceof SpecimenOrObservationBase<?>){
+ DerivateViewEditorInput input = new DerivateViewEditorInput(EditorUtil.getFieldUnit((SpecimenOrObservationBase<?>) selectedElement));
try {
EditorUtil.open(input);
} catch (PartInitException e) {
}
}
return null;
-
}
}
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.actions.CompoundContributionItem;
-import org.eclipse.ui.handlers.IHandlerService;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeCacheStrategy;
import eu.etaxonomy.cdm.model.occurrence.DerivationEvent;
*/
public class CreateDerivateContextMenu extends CompoundContributionItem {
- private final IHandlerService handlerService = (IHandlerService) AbstractUtility.getService(IHandlerService.class);
-
/* (non-Javadoc)
* @see org.eclipse.ui.actions.CompoundContributionItem#getContributionItems()
*/
FieldUnit fieldUnit = (FieldUnit) selectedElement;
createSpecimen.addSelectionListener(new WidgetSelectionListener(fieldUnit, DerivedUnit.NewInstance(SpecimenOrObservationType.PreservedSpecimen)));
-// @Override
-// public void widgetSelected(SelectionEvent e) {
-// ICdmApplicationConfiguration currentApplicationConfiguration = CdmStore.getCurrentApplicationConfiguration();
-//// TransactionStatus transaction = currentApplicationConfiguration.startTransaction();
-// IOccurrenceService occurrenceService = currentApplicationConfiguration.getOccurrenceService();
-// FieldUnit fieldUnit = (FieldUnit)selectedElement;
-// UUID uuid = fieldUnit.getUuid();
-// fieldUnit = (FieldUnit) occurrenceService.load(uuid);
-//// fieldUnit = (FieldUnit)HibernateProxyHelper.deproxy(fieldUnit);
-//
-// DerivedUnit specimen = DerivedUnit.NewInstance(SpecimenOrObservationType.PreservedSpecimen);
-// fieldUnit.addDerivationEvent(DerivationEvent.NewSimpleInstance(fieldUnit, specimen, DerivationEventType.GATHERING_IN_SITU()));
-// specimen.setCacheStrategy(new DerivedUnitFacadeCacheStrategy());
-// specimen.getTitleCache(); //update title cache
-// IWorkbenchPart activePart = AbstractUtility.getActivePart();
-//// occurrenceService.saveOrUpdate(fieldUnit);
-//// occurrenceService.saveOrUpdate(specimen);
-//// currentApplicationConfiguration.commitTransaction(transaction);
-// if(activePart instanceof DerivateView){
-// DerivateView derivateView = (DerivateView)activePart;
-// derivateView.viewer.refresh();
-// }
-// }
-//
-// @Override
-// public void widgetDefaultSelected(SelectionEvent e) {
-// // TODO Auto-generated method stub
-//
-// }
-// });
MenuItem createLivingPlantPhoto = new MenuItem(menu, SWT.None);
createLivingPlantPhoto.setText("Living Plant Photo");
createLivingPlantPhoto.addSelectionListener(new WidgetSelectionListener(fieldUnit, DerivedUnit.NewInstance(SpecimenOrObservationType.StillImage)));
private class WidgetSelectionListener implements SelectionListener{
- private final SpecimenOrObservationBase parent;
+ private final SpecimenOrObservationBase<?> parent;
private final DerivedUnit derivate;
/**
* @param parent
*/
- public WidgetSelectionListener(SpecimenOrObservationBase parent, DerivedUnit derivate) {
+ public WidgetSelectionListener(SpecimenOrObservationBase<?> parent, DerivedUnit derivate) {
this.parent = parent;
this.derivate = derivate;
}
*/
@Override
public void widgetSelected(SelectionEvent e) {
-// ICdmApplicationConfiguration currentApplicationConfiguration = CdmStore.getCurrentApplicationConfiguration();
-// IOccurrenceService occurrenceService = currentApplicationConfiguration.getOccurrenceService();
-// UUID uuid = parent.getUuid();
-// fieldUnit = (FieldUnit) occurrenceService.load(uuid);
-
parent.addDerivationEvent(DerivationEvent.NewSimpleInstance(parent, derivate, DerivationEventType.GATHERING_IN_SITU()));
derivate.setCacheStrategy(new DerivedUnitFacadeCacheStrategy());
derivate.getTitleCache(); //update title cache
IWorkbenchPart activePart = AbstractUtility.getActivePart();
if(activePart instanceof DerivateView){
DerivateView derivateView = (DerivateView)activePart;
+ derivateView.changed(derivate);
derivateView.viewer.refresh();
}
}
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
+import eu.etaxonomy.taxeditor.editor.EditorUtil;
public class DerivateContentProvider implements ITreeContentProvider {
@Override
public Object[] getElements(Object inputElement) {
+ FieldUnit fieldUnit = null;
if(inputElement instanceof DerivateViewEditorInput){
- inputElement = ((DerivateViewEditorInput) inputElement).getDerivate();
+ fieldUnit = ((DerivateViewEditorInput) inputElement).getFieldUnit();
}
// return the parent FieldUnit if element is a DerivedUnit
- if(inputElement instanceof DerivedUnit){
- DerivedUnit derivedUnit = (DerivedUnit)inputElement;
- for(SpecimenOrObservationBase original:derivedUnit.getOriginals()){
- if(original instanceof FieldUnit){
- return Collections.singletonList(original).toArray();
- }
- else{
- return getElements(original);
- }
- }
+ else if(inputElement instanceof DerivedUnit){
+ fieldUnit = EditorUtil.getFieldUnit((DerivedUnit)inputElement);
}
else if(inputElement instanceof FieldUnit){
- FieldUnit fieldUnit = (FieldUnit) inputElement;
- fieldUnit.getTitleCache();
+ fieldUnit = (FieldUnit) inputElement;
+// fieldUnit.getTitleCache();
+ }
+ if(fieldUnit!=null){
return Collections.singleton(fieldUnit).toArray();
}
- return Collections.EMPTY_LIST.toArray();
+ else {
+ return Collections.EMPTY_LIST.toArray();
+ }
}
@Override
public Object[] getChildren(Object parentElement) {
if(parentElement instanceof DerivateViewEditorInput){
- parentElement = ((DerivateViewEditorInput) parentElement).getDerivate();
+ parentElement = ((DerivateViewEditorInput) parentElement).getFieldUnit();
}
if(parentElement instanceof SpecimenOrObservationBase){
return getDerivates((SpecimenOrObservationBase) parentElement).toArray();
@Override
public Object getParent(Object element) {
if(element instanceof DerivateViewEditorInput){
- element = ((DerivateViewEditorInput) element).getDerivate();
+ element = ((DerivateViewEditorInput) element).getFieldUnit();
}
if(element instanceof DerivedUnit){
DerivedUnit derivedUnit = (DerivedUnit)element;
@Override
public boolean hasChildren(Object element) {
if(element instanceof DerivateViewEditorInput){
- element = ((DerivateViewEditorInput) element).getDerivate();
+ element = ((DerivateViewEditorInput) element).getFieldUnit();
}
if(element instanceof SpecimenOrObservationBase){
SpecimenOrObservationBase specimenOrObservation = (SpecimenOrObservationBase)element;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
-import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeCacheStrategy;
-import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider;
import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
protected TreeViewer viewer;
- private SpecimenOrObservationBase<DerivedUnitFacadeCacheStrategy> derivate;
+// private SpecimenOrObservationBase<DerivedUnitFacadeCacheStrategy> derivate;
private boolean isDirty;
control.setMenu(menu);
-
viewer.setInput(getEditorInput());
}
conversation = CdmStore.createConversation();
setSite(site);
setInput(input);
- if(input instanceof DerivateViewEditorInput){
- derivate = ((DerivateViewEditorInput) input).getDerivate();
- }
- else{
- throw new PartInitException("Invalid Input: Must be DerivateViewEditorInput");
- }
}
/* (non-Javadoc)
*/
package eu.etaxonomy.taxeditor.editor.view.derivate;
-import java.util.UUID;
-
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IPersistableElement;
-import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeCacheStrategy;
-import eu.etaxonomy.cdm.api.service.IOccurrenceService;
-import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
-import eu.etaxonomy.taxeditor.store.CdmStore;
+import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
/**
* @author pplitzner
*/
public class DerivateViewEditorInput implements IEditorInput {
- private final UUID uuid;
+ private final FieldUnit fieldUnit;
- /**
- * @param uuid
- */
- public DerivateViewEditorInput(UUID uuid) {
+ public DerivateViewEditorInput(FieldUnit fieldUnit) {
super();
- this.uuid = uuid;
+ this.fieldUnit = fieldUnit;
}
/* (non-Javadoc)
*/
@Override
public String getName() {
- return uuid.toString();
+ return fieldUnit.toString();
}
/* (non-Javadoc)
*/
@Override
public String getToolTipText() {
- return uuid.toString();
+ return fieldUnit.toString();
}
- public SpecimenOrObservationBase<DerivedUnitFacadeCacheStrategy> getDerivate(){
- IOccurrenceService service = CdmStore.getService(IOccurrenceService.class);
- return service.find(uuid);
+ /**
+ * @return the fieldUnit
+ */
+ public FieldUnit getFieldUnit() {
+ return fieldUnit;
}
-
/* (non-Javadoc)
* @see java.lang.Object#hashCode()
*/
public int hashCode() {
final int prime = 31;
int result = 1;
- result = prime * result + ((uuid == null) ? 0 : uuid.hashCode());
+ result = prime * result + ((fieldUnit == null) ? 0 : fieldUnit.hashCode());
return result;
}
return false;
}
DerivateViewEditorInput other = (DerivateViewEditorInput) obj;
- if (uuid == null) {
- if (other.uuid != null) {
+ if (fieldUnit == null) {
+ if (other.fieldUnit != null) {
return false;
}
- } else if (!uuid.equals(other.uuid)) {
+ } else if (!fieldUnit.equals(other.fieldUnit)) {
return false;
}
return true;
import org.eclipse.jface.resource.ImageRegistry;
import org.eclipse.swt.graphics.Image;
-import eu.etaxonomy.taxeditor.store.StoreUtil;
import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;
/**
/** Constant <code>COLLAPSE_ALL="collapse_all"</code> */
public static final String COLLAPSE_ALL = "collapse_all";
- public static final String TISSUE_SAMPLE_DERIVATE = "derivate_view_icon";
-
- public static final String DNA_DERIVATE = "dna_derivate";
+ public static final String TISSUE_SAMPLE_DERIVATE = "tissue_sample_derivate";
+ public static final String DNA_SAMPLE_DERIVATE = "dna_derivate";
public static final String FIELD_UNIT = "field_unit";
+ public static final String SPECIMEN_DERIVATE = "specimen_scan_derivate";
+ public static final String ARTWORK_DERIVATE = "artwor_derivate";
+ public static final String SPECIMEN_SCAN_DERIVATE = "specimen_scan_derivate";
+ public static final String LIVING_PLANT_FOTO_DERIVATE = "living_plant_photo_derivate";
} catch (MalformedURLException e) {
// should never happen
} catch (Exception e) {
- StoreUtil.error(ImageResources.class, e);
+ AbstractUtility.error(ImageResources.class, e);
}
// logger.warn(ImageDescriptor.getMissingImageDescriptor().getClass());
"lock.png");
registerImage(registry, LOCK_OPEN_ICON,
"lock_open.png");
- registerImage(registry, DNA_DERIVATE,
+ registerImage(registry, DNA_SAMPLE_DERIVATE,
"dna_derivate-16x16-32.gif");
registerImage(registry, FIELD_UNIT,
"fieldunit-16x16-32.gif");
+ registerImage(registry, SPECIMEN_DERIVATE,
+ "tissue_sample-16x16-32.gif");
+ registerImage(registry, ARTWORK_DERIVATE,
+ "artowork_derivate-16x16-32.gif");
+ registerImage(registry, SPECIMEN_SCAN_DERIVATE,
+ "specimen_scan_derivate-16x16-32.gif");
+ registerImage(registry, LIVING_PLANT_FOTO_DERIVATE,
+ "specimen_scan_derivate-16x16-32.gif");
registerImage(registry, TISSUE_SAMPLE_DERIVATE,
- "tissue_sample_derivate-16x16-32.gif");
+ "tissue_sample-16x16-32.gif");
}
private void registerImage(ImageRegistry registry, String key,
return ImageResources.getImage(ImageResources.FIELD_UNIT);
}
else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.DnaSample){
- return ImageResources.getImage(ImageResources.DNA_DERIVATE);
+ return ImageResources.getImage(ImageResources.DNA_SAMPLE_DERIVATE);
}
else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.TissueSample){
return ImageResources.getImage(ImageResources.TISSUE_SAMPLE_DERIVATE);
}
+ else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.PreservedSpecimen){
+ return ImageResources.getImage(ImageResources.SPECIMEN_DERIVATE);
+ }
+ else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.StillImage){
+ return ImageResources.getImage(ImageResources.ARTWORK_DERIVATE);
+ }
}
return super.getImage(element);
}
* the results in a list. The results can be selected and opened in an editor.
*/
public class DerivateSearchView extends ViewPart {
+
+ private DerivateSearchCompositeController derivateSearchCompositeController;
+
public DerivateSearchView() {
}
*/
@Override
public void createPartControl(Composite parent) {
- DerivateSearchCompositeController derivateSearchCompositeController = new DerivateSearchCompositeController(parent);
+ derivateSearchCompositeController = new DerivateSearchCompositeController(parent);
getSite().setSelectionProvider(derivateSearchCompositeController.getDerivateSearchComposite().getResultViewer());
}
*/
@Override
public void setFocus() {
- // TODO Auto-generated method stub
-
+ derivateSearchCompositeController.getDerivateSearchComposite().setFocus();
}
-
}