public void addPages() {
// TODO disabling external service wizard page for now
// addPage(new ExternalReferenceServiceWizardPage(formFactory, getConversationHolder(), entity));
- referencePage = new ReferenceWizardPage(formFactory, getConversationHolder(), getEntity());
+ referencePage = new ReferenceWizardPage(formFactory, getConversationHolder(), getEntity(), false);
addPage(referencePage);
}
import eu.etaxonomy.cdm.api.service.IAgentService;
import eu.etaxonomy.cdm.model.agent.Team;
+import eu.etaxonomy.cdm.persistence.dto.MergeResult;
import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.ui.section.agent.TeamWizardPage;
/** {@inheritDoc} */
@Override
protected void saveEntity() {
- CdmStore.getService(IAgentService.class).merge(getEntity(), true);
+ MergeResult result = CdmStore.getService(IAgentService.class).merge(getEntity(), true);
}
this.cdmBaseToBeFiltered = new HashSet<>();
objectsToBeFiltered.forEach(filter->this.cdmBaseToBeFiltered.add(filter.getUuid()));
}
- Cursor cursor = shell.getCursor();
- shell.setCursor(shell.getDisplay().getSystemCursor(SWT.CURSOR_WAIT));
+ Cursor cursor = null;
+ if (shell != null){
+ cursor = shell.getCursor();
+ shell.setCursor(shell.getDisplay().getSystemCursor(SWT.CURSOR_WAIT));
+ }
+
init();
- shell.setCursor(cursor);
+ if (shell != null){
+ shell.setCursor(cursor);
+ }
setListLabelProvider(createListLabelProvider());
}
import eu.etaxonomy.taxeditor.ui.section.name.AuthorshipDetailElement;\r
import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitGeneralDetailElement;\r
import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldUnitFacadeGeneralDetailElement;\r
-import eu.etaxonomy.taxeditor.ui.section.reference.NomenclaturalReferenceDetailElement;\r
+import eu.etaxonomy.taxeditor.ui.section.reference.NomenclaturalSourceDetailElement;\r
import eu.etaxonomy.taxeditor.ui.section.reference.ReferenceDetailElement;\r
import eu.etaxonomy.taxeditor.ui.section.user.GroupsByUserDetailElement;\r
import eu.etaxonomy.taxeditor.ui.section.user.GroupsByUserDetailSection;\r
return (T) TaxonNodeSelectionDialog.select(shell,\r
null, null, (TaxonNode) currentSelection, ((TaxonNode) currentSelection).getClassification().getUuid());\r
}\r
- if(clazz.equals(Reference.class) && parentElement != null && parentElement.getParentElement() instanceof NomenclaturalReferenceDetailElement){\r
+ if(clazz.equals(Reference.class) && parentElement != null && parentElement.getParentElement() instanceof NomenclaturalSourceDetailElement){\r
return (T) NomenclaturalReferenceSelectionDialog.select(shell,\r
- (Reference) currentSelection, ((NomenclaturalReferenceDetailElement)parentElement.getParentElement()).getEntity().getCombinationAuthorship());\r
+ (Reference) currentSelection, ((NomenclaturalSourceDetailElement)parentElement.getParentElement()).getEntity().getCombinationAuthorship());\r
}\r
if(clazz.equals(Reference.class) && parentElement instanceof CommonNameSourceElement && PreferencesUtil.getFilterCommonNameReferences()){\r
return (T) CommonNameReferenceSelectionDialog.select(shell,\r
if(clazz.equals(Team.class)){\r
return (T) TeamSelectionDialog.select(shell, (Team)currentSelection);\r
}\r
- if(clazz.equals(TeamOrPersonBase.class) && parentElement instanceof AuthorshipDetailElement){\r
+ if(clazz.equals(TeamOrPersonBase.class) && (parentElement instanceof AuthorshipDetailElement \r
+ || (parentElement instanceof ReferenceDetailElement && ((ReferenceDetailElement)parentElement).isNomenclaturalReference()))){\r
return (T) NomenclaturalAuthorSelectionDialog.select(shell,\r
(TeamOrPersonBase) currentSelection, false);\r
}else if(clazz.equals(AgentBase.class) && (parentElement instanceof FieldUnitFacadeGeneralDetailElement || parentElement instanceof DerivedUnitGeneralDetailElement)){\r
@Override
protected void callService(String pattern) {
- model = (List)CdmStore.getService(IAgentService.class).getUuidAndTitleCache(Team.class, limitOfInitialElements, pattern);
- model.addAll((List)CdmStore.getService(IAgentService.class).getUuidAndTitleCache(Person.class,limitOfInitialElements, pattern));
+ model = (List)CdmStore.getService(IAgentService.class).getTeamOrPersonUuidAndTitleCache(null, limitOfInitialElements, pattern);
+// model = (List)CdmStore.getService(IAgentService.class).getUuidAndTitleCache(Team.class, limitOfInitialElements, pattern);
+// model.addAll((List)CdmStore.getService(IAgentService.class).getUuidAndTitleCache(Person.class,limitOfInitialElements, pattern));
}
@Override
import eu.etaxonomy.taxeditor.ui.section.EmptyElement;
import eu.etaxonomy.taxeditor.ui.section.agent.InstitutionDetailElement;
import eu.etaxonomy.taxeditor.ui.section.agent.InstitutionDetailSection;
+import eu.etaxonomy.taxeditor.ui.section.agent.NomenclaturalTeamMemberElement;
import eu.etaxonomy.taxeditor.ui.section.agent.PersonDetailElement;
import eu.etaxonomy.taxeditor.ui.section.agent.PersonDetailSection;
import eu.etaxonomy.taxeditor.ui.section.agent.TeamDetailElement;
import eu.etaxonomy.taxeditor.ui.section.occurrence.media.MediaSpecimenGeneralDetailSection;
import eu.etaxonomy.taxeditor.ui.section.reference.AdvancedNomenclaturalSourceElement;
import eu.etaxonomy.taxeditor.ui.section.reference.AdvancedSourceElement;
-import eu.etaxonomy.taxeditor.ui.section.reference.NomenclaturalReferenceDetailElement;
-import eu.etaxonomy.taxeditor.ui.section.reference.NomenclaturalReferenceDetailSection;
+import eu.etaxonomy.taxeditor.ui.section.reference.NomenclaturalSourceDetailElement;
+import eu.etaxonomy.taxeditor.ui.section.reference.NomenclaturalSourceDetailSection;
import eu.etaxonomy.taxeditor.ui.section.reference.NomenclaturalSourceElement;
import eu.etaxonomy.taxeditor.ui.section.reference.OriginalSourceAdvancedSection;
import eu.etaxonomy.taxeditor.ui.section.reference.OriginalSourceElement;
return section;
}
- public NomenclaturalReferenceDetailSection createNomenclaturalReferenceDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){
- NomenclaturalReferenceDetailSection section = new NomenclaturalReferenceDetailSection(this, conversation, parentElement, selectionProvider, style);
+ public NomenclaturalSourceDetailSection createNomenclaturalReferenceDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){
+ NomenclaturalSourceDetailSection section = new NomenclaturalSourceDetailSection(this, conversation, parentElement, selectionProvider, style);
addAndAdaptSection(parentElement, section);
return section;
}
addAndAdaptElement(parentElement, element);
return element;
}
+ public ReferenceDetailElement createNomenclaturalReferenceDetailElement(ICdmFormElement parentElement, int style){
+ ReferenceDetailElement element = new ReferenceDetailElement(this, parentElement, true, style);
+ addAndAdaptElement(parentElement, element);
+ return element;
+ }
- public NomenclaturalReferenceDetailElement createNomenclaturalReferenceDetailElement(ICdmFormElement parentElement, int style){
- NomenclaturalReferenceDetailElement element = new NomenclaturalReferenceDetailElement(this, parentElement, style);
+ public NomenclaturalSourceDetailElement createNomenclaturalSourceDetailElement(ICdmFormElement parentElement, int style){
+ NomenclaturalSourceDetailElement element = new NomenclaturalSourceDetailElement(this, parentElement, style);
addAndAdaptElement(parentElement, element);
return element;
}
if (parentElement instanceof TeamMemberSection){
isNomenclatural = ((TeamMemberSection) parentElement).isNomenclaturalTeam();
}
- element = new TeamMemberElement(this, parentElement, (Person) entity, removeListener, style, isNomenclatural);
+ if (isNomenclatural){
+ element = new NomenclaturalTeamMemberElement(this, parentElement, (Person) entity, removeListener, style);
+ }else{
+ element = new TeamMemberElement(this, parentElement, (Person) entity, removeListener, style);
+ }
} else if (entity instanceof Credit) {
element = new CreditElement(this, parentElement, (Credit) entity, removeListener, style);
} else if (entity instanceof Extension) {
--- /dev/null
+package eu.etaxonomy.taxeditor.ui.section.agent;
+
+import org.eclipse.swt.events.SelectionListener;
+
+import eu.etaxonomy.cdm.model.agent.Person;
+import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
+
+public class NomenclaturalTeamMemberElement extends TeamMemberElement {
+
+ public NomenclaturalTeamMemberElement(CdmFormFactory cdmFormFactory, AbstractFormSection section, Person entity,
+ SelectionListener removeListener, int style) {
+ super(cdmFormFactory, section, entity, removeListener, style);
+
+ }
+
+ @Override
+ public void createControls(ICdmFormElement element, int style) {
+ selection_person = formFactory
+ .createSelectionElementWithAbbreviatedTitle(Person.class,getConversationHolder(),
+ this, "Person", null,
+ EntitySelectionElement.EDITABLE | EntitySelectionElement.SELECTABLE,
+ style);
+ if (entity != null){
+ setEntity(entity);
+ }
+ }
+}
*/
public class TeamMemberElement extends AbstractEntityCollectionElement<Person> {
- private EntitySelectionElement<Person> selection_person;
+ protected EntitySelectionElement<Person> selection_person;
public TeamMemberElement(CdmFormFactory cdmFormFactory,
AbstractFormSection section, Person entity,
- SelectionListener removeListener, int style, boolean isNomenclatural) {
+ SelectionListener removeListener, int style) {
super(cdmFormFactory, section, entity, removeListener, null, style);
}
* @author n.hoffmann
* @created Mar 12, 2010
*/
-public class NomenclaturalReferenceDetailElement extends
+public class NomenclaturalSourceDetailElement extends
AbstractCdmDetailElement<TaxonName> {
private OriginalSourceElement sourceElement;
* @param style
* a int.
*/
- public NomenclaturalReferenceDetailElement(CdmFormFactory cdmFormFactory,
+ public NomenclaturalSourceDetailElement(CdmFormFactory cdmFormFactory,
ICdmFormElement formElement, int style) {
super(cdmFormFactory, formElement);
}
* @author n.hoffmann
* @created Mar 12, 2010
*/
-public class NomenclaturalReferenceDetailSection extends
+public class NomenclaturalSourceDetailSection extends
AbstractCdmDetailSection<TaxonName> implements ITaxonBaseDetailSection{
private TaxonBase<?> taxonBase;
* @param selectionProvider a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
* @param style a int.
*/
- public NomenclaturalReferenceDetailSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation,
+ public NomenclaturalSourceDetailSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation,
ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style) {
super(cdmFormFactory, conversation, parentElement, selectionProvider, style);
}
@Override
protected AbstractCdmDetailElement<TaxonName> createCdmDetailElement(
AbstractCdmDetailSection<TaxonName> parentElement, int style) {
- return formFactory.createNomenclaturalReferenceDetailElement(parentElement, style);
+ return formFactory.createNomenclaturalSourceDetailElement(parentElement, style);
}
}
public class NomenclaturalSourceElement extends OriginalSourceElement<NomenclaturalSource> {
private EntitySelectionElementWithAbbreviatedTitle<Reference> selection_NomRef;
- protected String label = "Source";
- protected CdmBase cdmEntity;
-
protected EntitySelectionElement<TaxonName> select_nameUsedInSource;
- protected ExternalLinksSection externalLinks;
+
public NomenclaturalSourceElement(CdmFormFactory formFactory, ICdmFormElement formElement, CdmBase cdmEntity,
String label) {
public class ReferenceDetailElement extends AbstractIdentifiableEntityDetailElement<Reference>
implements IErrorIntolerableElement, IExceptionHandler {
- private ToggleableTextElement toggleableAbbrevCache;
+ boolean isNomenclaturalReference = false;
+
+
+
+ private ToggleableTextElement toggleableAbbrevCache;
private TextWithLabelElement text_edition;
private TextWithLabelElement text_editor;
ICdmFormElement formElement, int style) {
super(cdmFormFactory, formElement);
}
+
+ public ReferenceDetailElement(CdmFormFactory cdmFormFactory,
+ ICdmFormElement formElement, boolean isNomenclaturalReference, int style) {
+ this(cdmFormFactory, formElement, style);
+ this.isNomenclaturalReference = isNomenclaturalReference;
+
+ }
+ public boolean isNomenclaturalReference() {
+ return isNomenclaturalReference;
+ }
+
+ public void setNomenclaturalReference(boolean isNomenclaturalReference) {
+ this.isNomenclaturalReference = isNomenclaturalReference;
+ }
@Override
protected void createControls(ICdmFormElement formElement,
ReferenceType referenceType = entity.getType();
// author team
if(referenceType != null && !referenceType.equals(ReferenceType.Journal) && !referenceType.equals(ReferenceType.PrintSeries) ) {
- selection_authorTeam = formFactory
- .createSelectionElement(TeamOrPersonBase.class,
- formElement, "Author",
- entity.getAuthorship(),
- EntitySelectionElement.ALL, style);
+ if (isNomenclaturalReference){
+ selection_authorTeam = formFactory
+ .createSelectionElementWithAbbreviatedTitle(TeamOrPersonBase.class,getConversationHolder(),
+ formElement, "Author",
+ entity.getAuthorship(),
+ EntitySelectionElement.ALL, style);
+ }else{
+ selection_authorTeam = formFactory
+ .createSelectionElement(TeamOrPersonBase.class,
+ formElement, "Author",
+ entity.getAuthorship(),
+ EntitySelectionElement.ALL, style);
+ }
}
if (referenceType != null) {
* @created Jun 1, 2010
*/
public class ReferenceWizardPage extends AbstractCdmEntityWizardPage<Reference> implements IExceptionHandler{
+ private boolean isNomenclaturalReference = false;
/**
* <p>Constructor for ReferenceBaseWizardPage.</p>
* @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
* @param entity a {@link eu.etaxonomy.cdm.model.reference.ReferenceBase} object.
*/
- public ReferenceWizardPage(CdmFormFactory formFactory, ConversationHolder conversation, Reference entity) {
+ public ReferenceWizardPage(CdmFormFactory formFactory, ConversationHolder conversation, Reference entity, boolean isNomenclaturalReference) {
super(formFactory, conversation, entity);
setTitle("Reference");
+ this.isNomenclaturalReference = isNomenclaturalReference;
}
@Override
@Override
public AbstractCdmDetailElement<Reference> createElement(ICdmFormElement rootElement){
- ReferenceDetailElement referenceElement = formFactory.createReferenceDetailElement(rootElement, SWT.NULL);
+ ReferenceDetailElement referenceElement = formFactory.createNomenclaturalReferenceDetailElement(rootElement, SWT.NULL);
referenceElement.addExceptionHandler(this);
referenceElement.setEntity(entity);
referenceElement.setWarnForReferencingObjectsVisible(true);
IService<CdmBase> service = CdmStore.getService(entity);
rootElement = service.load(entity.getUuid());
}
- if (rootElement.isInstanceOf(Reference.class)) {
+ if (rootElement.isInstanceOf(Reference.class)&& selectionElement instanceof EntitySelectionElementWithAbbreviatedTitle<?>) {
addPage(new ReferenceWizardPage(formFactory,
selectionElement.getConversationHolder(),
- (HibernateProxyHelper.deproxy(rootElement, Reference.class))));
- } else if (rootElement.isInstanceOf(Team.class) && selectionElement instanceof EntitySelectionElementWithAbbreviatedTitle<?>) {
+ HibernateProxyHelper.deproxy(rootElement, Reference.class), true));
+ } else if (rootElement.isInstanceOf(Reference.class) ) {
+ addPage(new ReferenceWizardPage(formFactory,
+ selectionElement.getConversationHolder(), HibernateProxyHelper.deproxy(rootElement, Reference.class), false));
+ } else if (rootElement.isInstanceOf(Team.class) && (selectionElement instanceof EntitySelectionElementWithAbbreviatedTitle<?> )) {
addPage(new TeamWizardPage(formFactory,
selectionElement.getConversationHolder(), HibernateProxyHelper.deproxy(rootElement, Team.class), true));
} else if (rootElement.isInstanceOf(Team.class) && !(selectionElement instanceof EntitySelectionElementWithAbbreviatedTitle<?>)) {
import javax.inject.Inject;
+import org.apache.lucene.search.BulkScorer;
import org.eclipse.e4.core.di.annotations.Optional;
import org.eclipse.e4.ui.di.UIEventTopic;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TreeNode;
import org.eclipse.swt.SWT;
import org.springframework.security.core.GrantedAuthority;
import eu.etaxonomy.cdm.model.agent.Person;
import eu.etaxonomy.cdm.model.agent.Team;
import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
+import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.common.Marker;
import eu.etaxonomy.cdm.model.description.CategoricalData;
import eu.etaxonomy.cdm.model.description.Character;
import eu.etaxonomy.cdm.model.permission.Group;
import eu.etaxonomy.cdm.model.permission.User;
import eu.etaxonomy.cdm.model.reference.Reference;
+import eu.etaxonomy.cdm.model.taxon.SecundumSource;
import eu.etaxonomy.cdm.model.taxon.Synonym;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.SingleReadPherogramCollectionDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.TissueSampleGeneralDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.media.MediaSpecimenGeneralDetailSection;
-import eu.etaxonomy.taxeditor.ui.section.reference.NomenclaturalReferenceDetailSection;
+import eu.etaxonomy.taxeditor.ui.section.reference.NomenclaturalSourceDetailSection;
import eu.etaxonomy.taxeditor.ui.section.reference.ReferenceDetailSection;
+import eu.etaxonomy.taxeditor.ui.section.reference.SecundumSourceSection;
import eu.etaxonomy.taxeditor.ui.section.supplemental.RightsSection;
import eu.etaxonomy.taxeditor.ui.section.supplemental.identifier.DerivedUnitFacadeIdentifierSection;
import eu.etaxonomy.taxeditor.ui.section.taxon.ParsingMessagesSection;
input = DerivedUnitFacade.NewInstance(SpecimenOrObservationType.FieldUnit, (FieldUnit) input);
}
super.setInput(input);
+
+
}
@Override
requiredCrud = EnumSet.of(CRUD.UPDATE);
}
boolean hasPermission = CdmStore.currentAuthentiationHasPermission(StoreUtil.getCdmEntity(getInput()), requiredCrud);
+ TaxonBase<?> taxonBase = (TaxonBase<?>)getInput();
if (hasPermission){
// check for subtree permissions as well.
- TaxonBase<?> taxonBase = (TaxonBase<?>)getInput();
+
Taxon acceptedTaxon = null;
if (taxonBase instanceof Taxon){
acceptedTaxon = (Taxon)taxonBase;
addPart(taxonBaseDetailSection);
}
}
+ //TODO: test code for secundum source section
+// SecundumSourceSection sourceSection = formFactory.createSecundumDetailSection(getConversationHolder(), parent, this, StoreUtil.getSectionStyle(SecundumSourceSection.class, getInput().getClass().getCanonicalName(), true));
+// formFactory.createHorizontalSeparator(parent, SWT.BORDER);
+// addPart(sourceSection);
+// if (taxonBase.getSecSource() == null){
+// SecundumSource source = SecundumSource.NewSecundumInstance(taxonBase);
+// taxonBase.setSecSource(source);
+// sourceSection.setEntity(taxonBase);
+// }else{
+// sourceSection.setEntity(taxonBase);
+// }
+//
+// if (config != null && !config.isSecEnabled()){
+// sourceSection.setEnabled(false);
+// }
NonViralNameDetailSection nonViralNameSection = formFactory
.createNonViralNameDetailSection(getConversationHolder(), parent, this, true,
StoreUtil.getSectionStyle(NonViralNameDetailSection.class, getInput().getClass().getCanonicalName(), true));
formFactory.createHorizontalSeparator(parent, SWT.BORDER);
nonViralNameSection.setEnabled(detailsEnabled);
if (config == null || config.isNomenclaturalReferenceSectionActivated()){
- NomenclaturalReferenceDetailSection referenceDetailSection = formFactory.createNomenclaturalReferenceDetailSection(getConversationHolder(), parent, this,
- StoreUtil.getSectionStyle(NomenclaturalReferenceDetailSection.class, getInput().getClass().getCanonicalName(), true));
+ NomenclaturalSourceDetailSection referenceDetailSection = formFactory.createNomenclaturalReferenceDetailSection(getConversationHolder(), parent, this,
+ StoreUtil.getSectionStyle(NomenclaturalSourceDetailSection.class, getInput().getClass().getCanonicalName(), true));
referenceDetailSection.setEnabled(detailsEnabled);
formFactory.createHorizontalSeparator(parent, SWT.BORDER);
addPart(referenceDetailSection);
formFactory.createHorizontalSeparator(parent, SWT.BORDER);
- NomenclaturalReferenceDetailSection referenceDetailSection = formFactory.createNomenclaturalReferenceDetailSection(getConversationHolder(), parent, this,
- StoreUtil.getSectionStyle(NomenclaturalReferenceDetailSection.class, getInput().getClass().getCanonicalName(), true));
+ NomenclaturalSourceDetailSection referenceDetailSection = formFactory.createNomenclaturalReferenceDetailSection(getConversationHolder(), parent, this,
+ StoreUtil.getSectionStyle(NomenclaturalSourceDetailSection.class, getInput().getClass().getCanonicalName(), true));
formFactory.createHorizontalSeparator(parent, SWT.BORDER);
NomenclaturalStatusSection nomenclaturalStatusSection = formFactory.createNomenclaturalStatusSection(getConversationHolder(), parent,
formFactory.createHorizontalSeparator(parent, SWT.BORDER);
- NomenclaturalReferenceDetailSection referenceDetailSection = formFactory.createNomenclaturalReferenceDetailSection(getConversationHolder(), parent, this,
- StoreUtil.getSectionStyle(NomenclaturalReferenceDetailSection.class, getInput().getClass().getCanonicalName(), true));
+ NomenclaturalSourceDetailSection referenceDetailSection = formFactory.createNomenclaturalReferenceDetailSection(getConversationHolder(), parent, this,
+ StoreUtil.getSectionStyle(NomenclaturalSourceDetailSection.class, getInput().getClass().getCanonicalName(), true));
formFactory.createHorizontalSeparator(parent, SWT.BORDER);
addPart(referenceDetailSection);