import org.eclipse.ui.forms.widgets.TableWrapLayout;
import org.eclipse.ui.internal.forms.widgets.FormFonts;
import org.joda.time.Partial;
+import org.springframework.security.core.GrantedAuthority;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.agent.Institution;
import eu.etaxonomy.cdm.model.agent.Person;
import eu.etaxonomy.cdm.model.common.DescriptionElementSource;
import eu.etaxonomy.cdm.model.common.Extension;
import eu.etaxonomy.cdm.model.common.ExtensionType;
+import eu.etaxonomy.cdm.model.common.Group;
import eu.etaxonomy.cdm.model.common.IAnnotatableEntity;
import eu.etaxonomy.cdm.model.common.ICdmBase;
-import eu.etaxonomy.cdm.model.common.IVersionableEntity;
import eu.etaxonomy.cdm.model.common.IdentifiableSource;
import eu.etaxonomy.cdm.model.common.Language;
import eu.etaxonomy.cdm.model.common.LanguageString;
import eu.etaxonomy.cdm.model.common.Marker;
import eu.etaxonomy.cdm.model.common.MarkerType;
import eu.etaxonomy.cdm.model.common.TimePeriod;
+import eu.etaxonomy.cdm.model.common.User;
import eu.etaxonomy.cdm.model.common.VersionableEntity;
import eu.etaxonomy.cdm.model.description.CategoricalData;
import eu.etaxonomy.cdm.model.description.CommonTaxonName;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
import eu.etaxonomy.cdm.strategy.parser.ParserProblem;
import eu.etaxonomy.taxeditor.store.StoreUtil;
+import eu.etaxonomy.taxeditor.ui.forms.password.EditPasswordElement;
import eu.etaxonomy.taxeditor.ui.openurl.IOpenUrlEnabled;
import eu.etaxonomy.taxeditor.ui.openurl.OpenUrlSelectorElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
import eu.etaxonomy.taxeditor.ui.section.description.detail.TextDataDetailElement;
import eu.etaxonomy.taxeditor.ui.section.feature.FeatureDistributionDetailElement;
import eu.etaxonomy.taxeditor.ui.section.feature.FeatureDistributionDetailSection;
+import eu.etaxonomy.taxeditor.ui.section.group.GrantedAuthorityDetailElement;
+import eu.etaxonomy.taxeditor.ui.section.group.GrantedAuthorityDetailSection;
+import eu.etaxonomy.taxeditor.ui.section.group.GroupDetailElement;
+import eu.etaxonomy.taxeditor.ui.section.group.GroupDetailSection;
+import eu.etaxonomy.taxeditor.ui.section.group.MemberDetailElement;
+import eu.etaxonomy.taxeditor.ui.section.group.MemberDetailSection;
import eu.etaxonomy.taxeditor.ui.section.key.GeographicalScopeDetailSection;
import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyDetailElement;
import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyDetailSection;
import eu.etaxonomy.taxeditor.ui.selection.FeatureSelectionElement;
import eu.etaxonomy.taxeditor.ui.selection.FeatureTreeSelectionElement;
import eu.etaxonomy.taxeditor.ui.selection.FieldObservationSelectionElement;
+import eu.etaxonomy.taxeditor.ui.selection.GroupSelectionElement;
import eu.etaxonomy.taxeditor.ui.selection.InstitutionSelectionElement;
import eu.etaxonomy.taxeditor.ui.selection.NameSelectionElement;
import eu.etaxonomy.taxeditor.ui.selection.NamedAreaSelectionElement;
import eu.etaxonomy.taxeditor.ui.selection.TaxonNodeSelectionElement;
import eu.etaxonomy.taxeditor.ui.selection.TaxonSelectionElement;
import eu.etaxonomy.taxeditor.ui.selection.TeamSelectionElement;
+import eu.etaxonomy.taxeditor.ui.selection.UserSelectionElement;
import eu.etaxonomy.taxeditor.ui.term.AbstractEnumComboElement;
import eu.etaxonomy.taxeditor.ui.term.AbstractTermComboElement;
import eu.etaxonomy.taxeditor.ui.term.AnnotationTypeComboElement;
return element;
}
+ /**
+ *
+ * @param parentElement
+ * @param labelString
+ * @param conversationEnabled
+ * @param user
+ * @param style
+ * @return
+ */
+ public EditPasswordElement createEditPasswordElement(ICdmFormElement parentElement, String labelString,
+ ConversationHolder conversation, User user, int style){
+ EditPasswordElement element = new EditPasswordElement(this, parentElement, labelString, user, conversation);
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
+
/**
* <p>createIntegerTextWithLabelElement</p>
*
COLLECTION,
FEATURE,
POLYTOMOUS_KEY,
- POLYTOMOUS_KEY_NODE
+ POLYTOMOUS_KEY_NODE,
+ USER,
+ GROUP
}
/**
INSTITUTION,
DERIVED_UNIT_GENERAL,
HYBRID,
- USER,
- GROUPS_BY_USER
+ USER,
+ GROUP
}
/**
case USER:
section = new UserDetailSection(this, conversation, parentElement, selectionProvider, style);
break;
- case GROUPS_BY_USER:
- section = new GroupsByUserDetailSection(this, conversation, parentElement, selectionProvider, style);
+ case GROUP:
+ section = new GroupDetailSection(this, conversation, parentElement, selectionProvider, style);
break;
}
case USER:
element = new UserDetailElement(this, parentElement);
break;
- case GROUPS_BY_USER:
- element = new GroupsByUserDetailElement(this, parentElement);
+ case GROUP:
+ element = new GroupDetailElement(this, parentElement);
break;
}
SPECIMEN_COLLECTION,
IDENTIFIABLE_SOURCE_COLLECTION,
GEOGRAPHICAL_SCOPE,
- SCOPE_RESTRICTION
+ SCOPE_RESTRICTION,
+ MEMBER,
+ GRANTED_AUTHORITY,
+ GROUPS_BY_USER
}
/**
case SCOPE_RESTRICTION:
section = new ScopeRestrictionSection(this, conversation, parentElement, style);
break;
+ case MEMBER:
+ section = new MemberDetailSection(this, conversation, parentElement, style);
+ break;
+ case GRANTED_AUTHORITY:
+ section = new GrantedAuthorityDetailSection(this, conversation, parentElement, style);
+ break;
+ case GROUPS_BY_USER:
+ section = new GroupsByUserDetailSection(this, conversation, parentElement, style);
+ break;
}
parentElement.addElement(section);
adapt(section);
* @param backgroundColor a {@link org.eclipse.swt.graphics.Color} object.
* @return a {@link eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement} object.
*/
- public AbstractEntityCollectionElement createEntityCollectionElement(AbstractFormSection parentElement, IVersionableEntity versionableEntity, SelectionListener removeListener, Color backgroundColor, int style){
+ public AbstractEntityCollectionElement createEntityCollectionElement(AbstractFormSection parentElement, Object versionableEntity, SelectionListener removeListener, Color backgroundColor, int style){
AbstractEntityCollectionElement element = null;
- VersionableEntity entity = (VersionableEntity) HibernateProxyHelper.deproxy(versionableEntity);
+ Object entity = HibernateProxyHelper.deproxy(versionableEntity);
if(entity instanceof Annotation){
element = new AnnotationElement(this, parentElement, (Annotation) entity, removeListener, style);
else if(entity instanceof Specimen){
element = new SpecimenCollectionDetailElement(this, parentElement, (Specimen) entity, removeListener, style);
}
-
+ else if(entity instanceof User){
+ element = new MemberDetailElement(this, parentElement, (User) entity, removeListener, style);
+ }
+ else if(entity instanceof GrantedAuthority){
+ element = new GrantedAuthorityDetailElement(this, parentElement, (GrantedAuthority) entity, removeListener, style);
+ }
+ else if(entity instanceof Group){
+ element = new GroupsByUserDetailElement(this, parentElement, (Group) entity, removeListener, style);
+ }
else if(entity instanceof DescriptionElementBase){
// this is the special case for protologs, maybe we can do this differently when API improves
DescriptionElementBase descriptionElement = (DescriptionElementBase) entity;
case POLYTOMOUS_KEY_NODE:
element = new PolytomousKeyNodeSelectionElement(this, conversation, parentElement, labelString, (PolytomousKeyNode) entity, style);
break;
+ case USER:
+ element = new UserSelectionElement(this, conversation, parentElement, labelString, (User) entity, style);
+ break;
+ case GROUP:
+ element = new GroupSelectionElement(this, conversation, parentElement, labelString, (Group) entity, style);
+ break;
default:
new RuntimeException("There is no selection composite for the desired selection type.");
break;