eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/TextHelper.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/TimeHelper.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/AbstractNewEntityWizard.java -text
-eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/AmplificationCloningWizardPage.java -text
-eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/AmplificationGelPhotoWizardPage.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/AmplificationGeneralWizardPage.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/ExternalReferenceServiceWizardPage.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewAmplificationWizard.java -text
import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
import org.eclipse.ui.application.WorkbenchWindowAdvisor;
+import eu.etaxonomy.taxeditor.datasource.CdmDataSourceRepository;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.ui.dialog.LoginDialog;
configurer.setShowPerspectiveBar(true);
configurer.setTitle("EDIT Taxonomic Editor " + ApplicationUtil.getVersion());
configurer.setShowProgressIndicator(true);
+
+ CdmDataSourceRepository.createDefaultH2DataSource();
}
/**
public void postWindowOpen() {
PreferencesUtil.checkNomenclaturalCode();
+
+
if(PreferencesUtil.shouldConnectAtStartUp()) {
CdmStore.connect();
}
style="push">\r
</command>\r
</menuContribution>\r
- <menuContribution\r
- allPopups="false"\r
- locationURI="popup:#DataImportEditorContext">\r
- <command\r
- commandId="eu.etaxonomy.taxeditor.bulkeditor.saveSpecimen"\r
- label="Save Specimen"\r
- style="push">\r
- </command>\r
- </menuContribution>\r
</extension>\r
<extension\r
point="org.eclipse.ui.commands">\r
package eu.etaxonomy.taxeditor.bulkeditor;
+import java.util.ArrayList;
import java.util.Comparator;
+import java.util.List;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
import eu.etaxonomy.cdm.api.service.config.IdentifiableServiceConfiguratorFactory;
public BulkEditorQuery (String searchString, Comparator comparator) {
this.searchString = searchString;
this.comparator = comparator;
-
+ List<String> propertyPath = new ArrayList<String>();
+ propertyPath.add("markers");
searchConfigurator = IdentifiableServiceConfiguratorFactory.getConfigurator(IdentifiableEntity.class);
searchConfigurator.setTitleSearchString(searchString);
searchConfigurator.setMatchMode(null);
+ searchConfigurator.setPropertyPaths(propertyPath);
if(searchString != null && searchString.trim().equals("*")){
searchConfigurator.setPageSize(1000);
import eu.etaxonomy.cdm.model.common.TermType;
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
import eu.etaxonomy.cdm.model.description.Distribution;
-import eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase;
+import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
import eu.etaxonomy.cdm.model.description.TaxonDescription;
import eu.etaxonomy.cdm.model.location.NamedArea;
import eu.etaxonomy.cdm.model.taxon.Taxon;
@Override
protected void setValue(Object element, Object value) {
- if (element instanceof Taxon && value instanceof PresenceAbsenceTermBase) {
+ if (element instanceof Taxon && value instanceof PresenceAbsenceTerm) {
Taxon taxon = (Taxon) element;
- PresenceAbsenceTermBase occurenceStatus = (PresenceAbsenceTermBase) value;
+ PresenceAbsenceTerm occurenceStatus = (PresenceAbsenceTerm) value;
Distribution distribution = getDistributionForColumn(taxon);
if (distribution != null) {
// change status for already exsiting distribution
return null;
}
- private void createDistributionForColumn(Taxon taxon, PresenceAbsenceTermBase occurenceStatus) {
+ private void createDistributionForColumn(Taxon taxon, PresenceAbsenceTerm occurenceStatus) {
TableColumn column = viewer.getTable().getColumn(columnIndex);
ChecklistLabelProvider labelProvider = new ChecklistLabelProvider();
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
import eu.etaxonomy.cdm.model.description.Feature;
import eu.etaxonomy.cdm.model.description.FeatureTree;
-import eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase;
+import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
import eu.etaxonomy.cdm.model.description.TaxonDescription;
import eu.etaxonomy.cdm.model.description.TaxonNameDescription;
import eu.etaxonomy.cdm.model.location.NamedArea;
*/
public class TransientDescriptionService implements IDescriptionService {
- private IDescriptionService defaultDescriptionService;
+ private final IDescriptionService defaultDescriptionService;
/**
* @param defaultDescriptionService
* @see eu.etaxonomy.cdm.api.service.IDescriptionService#searchDescriptionByDistribution(java.util.Set, eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
*/
@Override
- public Pager<TaxonDescription> searchDescriptionByDistribution(Set<NamedArea> namedAreas, PresenceAbsenceTermBase presence, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
+ public Pager<TaxonDescription> searchDescriptionByDistribution(Set<NamedArea> namedAreas, PresenceAbsenceTerm presence, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
return defaultDescriptionService.searchDescriptionByDistribution(namedAreas, presence, pageSize, pageNumber, orderHints, propertyPaths);
}
import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
import eu.etaxonomy.cdm.model.description.Feature;
-import eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase;
+import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
import eu.etaxonomy.cdm.model.location.NamedArea;
import eu.etaxonomy.cdm.model.media.Media;
import eu.etaxonomy.cdm.model.media.MediaRepresentation;
import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
import eu.etaxonomy.cdm.strategy.match.IMatchStrategy;
import eu.etaxonomy.cdm.strategy.merge.IMergeStrategy;
-import eu.etaxonomy.taxeditor.ui.section.supplemental.IdentifiableSourceElement;
/**
* @author pplitzner
return defaultTaxonService.findByFullText(clazz, queryString, classification, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
}
- /**
- * @param areaFilter
- * @param statusFilter
- * @param classification
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @throws IOException
- * @throws ParseException
+
+ /* (non-Javadoc)
* @see eu.etaxonomy.cdm.api.service.ITaxonService#findByDistribution(java.util.List, java.util.List, eu.etaxonomy.cdm.model.taxon.Classification, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
*/
@Override
- public Pager<SearchResult<TaxonBase>> findByDistribution(List<NamedArea> areaFilter, List<PresenceAbsenceTermBase<?>> statusFilter, Classification classification, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) throws IOException, ParseException {
+ public Pager<SearchResult<TaxonBase>> findByDistribution(List<NamedArea> areaFilter,
+ List<PresenceAbsenceTerm> statusFilter, Classification classification, Integer pageSize,
+ Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) throws IOException,
+ ParseException {
return defaultTaxonService.findByDistribution(areaFilter, statusFilter, classification, pageSize, pageNumber, orderHints, propertyPaths);
}
- /**
- * @param searchModes
- * @param queryString
- * @param classification
- * @param namedAreas
- * @param distributionStatus
- * @param languages
- * @param highlightFragments
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @throws CorruptIndexException
- * @throws IOException
- * @throws ParseException
- * @throws LuceneMultiSearchException
+
+ /* (non-Javadoc)
* @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaAndNamesByFullText(java.util.EnumSet, java.lang.String, eu.etaxonomy.cdm.model.taxon.Classification, java.util.Set, java.util.Set, java.util.List, boolean, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
*/
@Override
- public Pager<SearchResult<TaxonBase>> findTaxaAndNamesByFullText(EnumSet<TaxaAndNamesSearchMode> searchModes, String queryString, Classification classification, Set<NamedArea> namedAreas, Set<PresenceAbsenceTermBase<?>> distributionStatus, List<Language> languages, boolean highlightFragments, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) throws CorruptIndexException, IOException, ParseException, LuceneMultiSearchException {
+ public Pager<SearchResult<TaxonBase>> findTaxaAndNamesByFullText(EnumSet<TaxaAndNamesSearchMode> searchModes,
+ String queryString, Classification classification, Set<NamedArea> namedAreas,
+ Set<PresenceAbsenceTerm> distributionStatus, List<Language> languages, boolean highlightFragments,
+ Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths)
+ throws CorruptIndexException, IOException, ParseException, LuceneMultiSearchException {
return defaultTaxonService.findTaxaAndNamesByFullText(searchModes, queryString, classification, namedAreas, distributionStatus, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
}
private static final String CURRENT_DATASOURCE = "currentDataSource";
private static final String CURRENT_DATASOURCE_POSTFIX = "currentDataSourcePostFix";
private static final String DEFAULT_DATASOURCE_STATE_FILENAME = "datasource.xml";
-
+
private static final String DEFAULT_DATASOURCE_NAME = "cdm";
private static final String DEFAULT_DATASOURCE_POSTFIX = CdmPersistentDataSource.DATASOURCE_BEAN_POSTFIX;
-
+
private static ICdmSource currentCdmSource;
private static IMemento memento;
-
+
private static String lastUsedCdmSourceName;
private static String lastUsedCdmSourcePostFix;
-
-
-
+
+
+
/**
* <p>Getter for the field <code>lastUsedDataSourceName</code>.</p>
*
*/
public static void updateLastUsedDataSource(){
if(lastUsedCdmSourceName == null){
- memento = readMemento();
+ memento = readMemento();
lastUsedCdmSourceName = memento != null ? memento.getString(CURRENT_DATASOURCE) : DEFAULT_DATASOURCE_NAME;
lastUsedCdmSourcePostFix = memento != null ? memento.getString(CURRENT_DATASOURCE_POSTFIX) : DEFAULT_DATASOURCE_POSTFIX;
-
+
}
-
+
}
/**
return true;
}
-
+
/**
* <p>getAll</p>
*
*/
public static List<ICdmSource> getAll() {
List<ICdmSource> remoteSources = new ArrayList<ICdmSource>();
-
+
for(ICdmDataSource dataSource : CdmPersistentDataSource.getAllDataSources()){
try {
remoteSources.add(CdmPersistentDataSource.NewInstance(dataSource.getName()));
MessagingUtils.error(CdmDataSourceRepository.class, "Could not find dataSource", e);
}
}
-
+
try {
- for(ICdmRemoteSource remoteSource : CdmPersistentRemoteSource.getAllRemoteSources()){
+ for(ICdmRemoteSource remoteSource : CdmPersistentRemoteSource.getAllRemoteSources()){
remoteSources.add(remoteSource);
}
} catch (CdmRemoteSourceException e) {
MessagingUtils.error(CdmDataSourceRepository.class, "Error retrieving remote sources", e);
}
-
+
// TODO sort by database name
-
+
return remoteSources;
}
-
+
/**
* <p>getDataSource</p>
*
* @return a {@link eu.etaxonomy.cdm.database.ICdmDataSource} object.
*/
public static ICdmDataSource getDataSource(String name){
-
+
for(ICdmDataSource dataSource : CdmPersistentDataSource.getAllDataSources()){
try {
if(dataSource.getName().equals(name)){
MessagingUtils.error(CdmDataSourceRepository.class, "Could not find dataSource", e);
}
}
-
+
return null;
}
-
-
+
+
/**
* <p>Getter for the field <code>currentDataSource</code>.</p>
*
* @return a {@link eu.etaxonomy.cdm.database.ICdmDataSource} object.
- * @throws CdmRemoteSourceException
+ * @throws CdmRemoteSourceException
*/
public static ICdmSource getCurrentCdmSource() throws CdmRemoteSourceException {
-
+
if (currentCdmSource == null) {
updateLastUsedDataSource();
-
+
if(lastUsedCdmSourceName == null) {
return null;
}
currentCdmSource = CdmPersistentDataSource.NewInstance(lastUsedCdmSourceName);
} catch (DataSourceNotFoundException e) {
// fallback creates a new default
- ICdmDataSource h2DataSource = CdmDataSource.NewH2EmbeddedInstance(
- DEFAULT_DATASOURCE_NAME, "sa", "", PreferencesUtil.getPreferredNomenclaturalCode());
- save(h2DataSource.getName(), h2DataSource);
- setCurrentCdmSource(h2DataSource);
+ setCurrentCdmSource(createDefaultH2DataSource());
}
- } else if (lastUsedCdmSourcePostFix.equals(CdmPersistentRemoteSource.REMOTESOURCE_BEAN_POSTFIX)) {
+ } else if (lastUsedCdmSourcePostFix.equals(CdmPersistentRemoteSource.REMOTESOURCE_BEAN_POSTFIX)) {
currentCdmSource = CdmPersistentRemoteSource.NewInstance(lastUsedCdmSourceName);
} else {
throw new CdmRemoteSourceException("Unkown Cdm Source Type");
}
return currentCdmSource;
}
-
+
+ /**
+ * Creates a default H2 CDM Data Source
+ *
+ * @return the newly created data source
+ */
+ public static ICdmDataSource createDefaultH2DataSource() {
+ ICdmDataSource h2DataSource = CdmDataSource.NewH2EmbeddedInstance(
+ DEFAULT_DATASOURCE_NAME, "sa", "", PreferencesUtil.getPreferredNomenclaturalCode());
+ save(h2DataSource.getName(), h2DataSource);
+ return h2DataSource;
+ }
+
/**
* <p>Setter for the field <code>currentDataSource</code>.</p>
*
currentCdmSource = cdmSource;
NomenclaturalCode dataSourceNomenclaturalCode = cdmSource.getNomenclaturalCode();
NomenclaturalCode applicationNomenclaturalCode = PreferencesUtil.getPreferredNomenclaturalCode();
-
+
if( dataSourceNomenclaturalCode != null && ! dataSourceNomenclaturalCode.equals(applicationNomenclaturalCode)){
PreferencesUtil.setPreferredNomenclaturalCode(dataSourceNomenclaturalCode);
MessagingUtils.informationDialog("Nomenclatural Code Change", "The Datasource that was just " +
"The nomenclatural code was changed in the application.");
}
return true;
- }
-
+ }
+
/**
* <p>changeDataSource</p>
*
* @return a boolean.
*/
public static boolean changeDataSource(final ICdmSource cdmSource) {
- saveAsCurrentDatabaseToMemento(cdmSource);
+ saveAsCurrentDatabaseToMemento(cdmSource);
CdmStore.connect(cdmSource);
-
+
return true;
}
* @param dataSource a {@link eu.etaxonomy.cdm.database.ICdmDataSource} object.
* @param strDataSourceName a {@link java.lang.String} object.
* @return a {@link eu.etaxonomy.cdm.database.CdmPersistentDataSource} object.
- * @throws CdmRemoteSourceException
+ * @throws CdmRemoteSourceException
*/
public static ICdmPersistentSource save(String strCdmSourceName, ICdmRemoteSource cdmSource) throws CdmRemoteSourceException {
- return CdmPersistentRemoteSource.save(strCdmSourceName, cdmSource);
+ return CdmPersistentRemoteSource.save(strCdmSourceName, cdmSource);
}
-
+
/**
* <p>save</p>
*
* @param dataSource a {@link eu.etaxonomy.cdm.database.ICdmDataSource} object.
* @param strDataSourceName a {@link java.lang.String} object.
* @return a {@link eu.etaxonomy.cdm.database.CdmPersistentDataSource} object.
- * @throws CdmRemoteSourceException
+ * @throws CdmRemoteSourceException
*/
- public static ICdmPersistentSource save(String strCdmSourceName, ICdmDataSource cdmSource) {
- return CdmPersistentDataSource.save(strCdmSourceName, cdmSource);
+ public static ICdmPersistentSource save(String strCdmSourceName, ICdmDataSource cdmSource) {
+ return CdmPersistentDataSource.save(strCdmSourceName, cdmSource);
}
-
+
/**
* <p>update</p>
*
}
return null;
}
-
+
public static ICdmPersistentSource replace(String strCdmSourceName, ICdmDataSource cdmSource){
try {
return CdmPersistentDataSource.replace(strCdmSourceName, cdmSource);
}
return null;
}
-
+
/**
* <p>update</p>
*
*/
public static ICdmPersistentSource update(String strCdmSourceName, ICdmRemoteSource cdmSource){
try {
- return CdmPersistentRemoteSource.update(strCdmSourceName, cdmSource);
+ return CdmPersistentRemoteSource.update(strCdmSourceName, cdmSource);
} catch (Exception e) {
MessagingUtils.error(CdmDataSourceRepository.class, "Error updating CDM Source", e);
-
+
}
return null;
}
-
+
/*********************************************************
* Memento Handling *
*********************************************************/
-
+
private static void saveAsCurrentDatabaseToMemento(ICdmSource cdmSource){
if(memento == null) {
memento = readMemento();
}
memento.putString(CURRENT_DATASOURCE, cdmSource.getName());
-
+
// Set postfix to distinguish between data and remote sources
if(cdmSource instanceof CdmPersistentRemoteSource) {
memento.putString(CURRENT_DATASOURCE_POSTFIX, CdmPersistentRemoteSource.REMOTESOURCE_BEAN_POSTFIX);
} else {
memento.putString(CURRENT_DATASOURCE_POSTFIX, CdmPersistentDataSource.DATASOURCE_BEAN_POSTFIX);
}
-
-
+
+
saveMementoToFile(memento);
}
-
+
/*
* Answer the workbench state file.
*/
path = path.append(DEFAULT_DATASOURCE_STATE_FILENAME);
return path.toFile();
}
-
+
private static IMemento readMemento(){
try {
return MementoHelper.readMementoFromFile(getCdmSourceStateFile());
return initializeMemento();
}
}
-
+
private static IMemento initializeMemento() {
-
+
XMLMemento memento = XMLMemento.createWriteRoot(TAG_DATASOURCE);
memento.putString(CURRENT_DATASOURCE, DEFAULT_DATASOURCE_NAME);
saveMementoToFile(memento);
-
+
return readMemento();
}
*/
private static IMemento saveMementoToFile(IMemento memento) {
return MementoHelper.saveMementoToFile(memento, getCdmSourceStateFile());
- }
+ }
}
// $Id$
/**
* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
+* European Distributed Institute of Taxonomy
* http://www.e-taxonomy.eu
-*
+*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
import eu.etaxonomy.cdm.model.description.Distribution;
import eu.etaxonomy.cdm.model.description.Feature;
import eu.etaxonomy.cdm.model.description.IndividualsAssociation;
-import eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase;
+import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
import eu.etaxonomy.cdm.model.description.QuantitativeData;
import eu.etaxonomy.cdm.model.description.TaxonInteraction;
import eu.etaxonomy.cdm.model.description.TextData;
* @version 1.0
*/
public class DescriptionHelper {
-
+
/**
* Returns whatever the element's title cache equivalent is,
* depending on its class.
* @param language a {@link eu.etaxonomy.cdm.model.common.Language} object.
* @return a {@link java.lang.String} object.
*/
- public static String getCache(DescriptionElementBase element,
+ public static String getCache(DescriptionElementBase element,
Language language) {
String cache = null;
if (element instanceof TextData) {
}else{
cache = "No taxon chosen";
}
-
+
}
if (element instanceof Distribution) {
Distribution distribution = (Distribution) element;
-
+
NamedArea area = distribution.getArea();
if(area != null){
cache = area.getLabel();
-
- PresenceAbsenceTermBase<?> status = distribution.getStatus();
+
+ PresenceAbsenceTerm status = distribution.getStatus();
if (status == null){
cache += ", no status";
}else {
public static String getCache(DescriptionElementBase element) {
return getCache(element, CdmStore.getDefaultLanguage());
}
-
+
/**
* Set whatever the element's title cache equivalent is,
* depending on its class.
return;
}
if (element instanceof TaxonInteraction) {
-
+
}
if(element instanceof Distribution){
MessagingUtils.warn(DescriptionHelper.class, "trying to set cache on distribution, don't know what to do at the moment.");
}
MessagingUtils.warn(DescriptionHelper.class, "No matching subclass found for DescriptionElementBase object, 'cache' not set.");
}
-
+
/**
* Set whatever the element's title cache equivalent is,
* depending on its class, using the default language.
String value) {
setCache(element, value, CdmStore.getDefaultLanguage());
}
-
+
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.bulkeditor.referencingobjects.IReferencingObjectsService#getObjectDescription(java.lang.Object)
*/
}else{
throw new IllegalStateException("Unknown ISourceable object for given OriginalSourceBase");
}
-
+
return CdmUtils.concat("; ", new String[]{originalSource.getIdNamespace(), originalSource.getIdInSource(), sourceObjectTitle});
}catch(LazyInitializationException e){
String result = "Error initializing title cache for ISourceable of an OriginalSourceBase";
return ((LanguageStringBase) element).getText();
}
if (element instanceof DescriptionElementBase) {
- return getCache((DescriptionElementBase) element);
+ return getCache((DescriptionElementBase) element);
}
if (element instanceof Marker) {
Marker marker = (Marker) element;
public static String getObjectClassname(Object element) {
return element.getClass().getSimpleName();
}
-
+
/**
* <p>getFeatureNodeContainerText</p>
*
*/
public static String getQuantitativeDataText(QuantitativeData element) {
TextData textData = quantitativeDescriptionBuilder.build(element, getLanguageList());
-
+
return textData.getText(CdmStore.getDefaultLanguage());
}
*/
public static String getCategoricalDataText(CategoricalData element) {
TextData textData = categoricalDescriptionBuilder.build(element, getLanguageList());
-
+
return textData.getText(CdmStore.getDefaultLanguage());
}
-
+
private static List<Language> getLanguageList(){
return Arrays.asList(new Language[]{CdmStore.getDefaultLanguage()});
}
-
+
private static DescriptionBuilder<QuantitativeData> quantitativeDescriptionBuilder = new DefaultQuantitativeDescriptionBuilder();
private static DescriptionBuilder<CategoricalData> categoricalDescriptionBuilder = new DefaultCategoricalDescriptionBuilder();
-
+
/**
* <p>getDistributionText</p>
* @return a {@link java.lang.String} object.
*/
public static String getDistributionText(Distribution element) {
-
+
String text = "EMPTY";
-
- Distribution distribution = (Distribution) element;
-
+
+ Distribution distribution = element;
+
NamedArea area = distribution.getArea();
if(area != null){
-
+
text = NamedArea.labelWithLevel(area, CdmStore.getDefaultLanguage());
-
- PresenceAbsenceTermBase<?> status = distribution.getStatus();
-
+
+ PresenceAbsenceTerm status = distribution.getStatus();
+
if (status != null) {
text += ", " + status.getLabel();
}else{
return "No title.";
}
-
-
+
+
/**
* <p>getElementText</p>
*
* @param element a {@link eu.etaxonomy.cdm.model.description.TextData} object.
* @return a {@link java.lang.String} object.
*/
- public static String getElementText(TextData element) {
+ public static String getElementText(TextData element) {
String text = null;
if(element.getFeature().equals(Feature.CITATION())){
text = "";
}
return CdmUtils.isEmpty(text) ? "No text provided" : text;
}
-
+
/**
* <p>getTaxonInteractionText</p>
*
*/
public static String getTaxonInteractionText(TaxonInteraction element) {
String text = "";
- Taxon taxon2 = ((TaxonInteraction) element).getTaxon2();
+ Taxon taxon2 = element.getTaxon2();
if(taxon2 != null && taxon2.getName() != null){
text = taxon2.getName().getTitleCache();
}else{
text = "No taxon chosen";
}
-
+
return text;
}
if (text == null || text.length() == 0) {
text = "No label provided";
}
-
+
return "Description: " + text;
}
-
+
/**
* <p>getIndividualsAssociationText</p>
*
return getCategoricalDataText((CategoricalData) element);
}
else if (element instanceof CommonTaxonName) {
- return getCommonNameText((CommonTaxonName) element);
+ return getCommonNameText((CommonTaxonName) element);
}
else if (element instanceof Distribution) {
- return getDistributionText((Distribution) element);
- }
+ return getDistributionText((Distribution) element);
+ }
else if (element instanceof IndividualsAssociation) {
return getIndividualsAssociationText((IndividualsAssociation) element);
}
+++ /dev/null
-// $Id$
-/**
- * Copyright (C) 2014 EDIT
- * European Distributed Institute of Taxonomy
- * http://www.e-taxonomy.eu
- *
- * The contents of this file are subject to the Mozilla Public License Version 1.1
- * See LICENSE.TXT at the top of this package for the full license terms.
- */
-package eu.etaxonomy.taxeditor.newWizard;
-
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.model.molecular.Amplification;
-import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage;
-import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
-import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AmplificationCloningDetailElement;
-
-/**
- * @author pplitzner
- * @date 11.03.2014
- *
- */
-public class AmplificationCloningWizardPage extends AbstractCdmEntityWizardPage<Amplification> {
-
- /**
- * @param formFactory
- * @param conversation
- * @param entity
- */
- public AmplificationCloningWizardPage(CdmFormFactory formFactory,
- ConversationHolder conversation, Amplification entity) {
- super(formFactory, conversation, entity);
- setTitle("Amplification Cloning Data");
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.ui.forms.AbstractCdmEntityWizardPage#checkComplete()
- */
- @Override
- protected void checkComplete() {
- setPageComplete(true);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.forms.AbstractCdmEntityWizardPage#createElement(eu.etaxonomy.taxeditor.forms.ICdmFormElement)
- */
- @Override
- public AbstractCdmDetailElement<Amplification> createElement(ICdmFormElement rootElement) {
- AmplificationCloningDetailElement detailElement = formFactory.createAmplificationCloningDetailElement(rootElement);
- detailElement.setEntity(getEntity());
- checkComplete();
- return detailElement;
- }
-
-}
+++ /dev/null
-// $Id$
-/**
- * Copyright (C) 2014 EDIT
- * European Distributed Institute of Taxonomy
- * http://www.e-taxonomy.eu
- *
- * The contents of this file are subject to the Mozilla Public License Version 1.1
- * See LICENSE.TXT at the top of this package for the full license terms.
- */
-package eu.etaxonomy.taxeditor.newWizard;
-
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.model.molecular.Amplification;
-import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage;
-import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
-import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AmplificationGelPhotoDetailElement;
-
-/**
- * @author pplitzner
- * @date 11.03.2014
- *
- */
-public class AmplificationGelPhotoWizardPage extends AbstractCdmEntityWizardPage<Amplification> {
-
- /**
- * @param formFactory
- * @param conversation
- * @param entity
- */
- public AmplificationGelPhotoWizardPage(CdmFormFactory formFactory,
- ConversationHolder conversation, Amplification entity) {
- super(formFactory, conversation, entity);
- setTitle("Amplification Gel Photo");
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.ui.forms.AbstractCdmEntityWizardPage#checkComplete()
- */
- @Override
- protected void checkComplete() {
- setPageComplete(true);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.forms.AbstractCdmEntityWizardPage#createElement(eu.etaxonomy.taxeditor.forms.ICdmFormElement)
- */
- @Override
- public AbstractCdmDetailElement<Amplification> createElement(ICdmFormElement rootElement) {
- AmplificationGelPhotoDetailElement detailElement = formFactory.createAmplificationGelPhotoDetailElement(rootElement);
- detailElement.setEntity(getEntity());
- checkComplete();
- return detailElement;
- }
-
-}
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.molecular.Amplification;
-import eu.etaxonomy.cdm.model.molecular.Primer;
import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AmplificationGeneralDetailElement;
-import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.PrimerGeneralDetailElement;
/**
* @author pplitzner
*/
@Override
protected void checkComplete() {
+ //TODO: check for institution, staff and date
+ //one of them has to be set otherwise setPageComplete(false);
setPageComplete(true);
}
public class NewAmplificationWizard extends AbstractNewEntityWizard<Amplification> {
private AmplificationGeneralWizardPage amplificationGeneralPage;
- private AmplificationCloningWizardPage amplificationCloningPage;
- private AmplificationGelPhotoWizardPage amplificationGelPhotoWizardPage;
/** {@inheritDoc} */
@Override
public void addPages() {
amplificationGeneralPage = new AmplificationGeneralWizardPage(formFactory, getConversationHolder(), getEntity());
addPage(amplificationGeneralPage);
- amplificationCloningPage = new AmplificationCloningWizardPage(formFactory, getConversationHolder(), getEntity());
- addPage(amplificationCloningPage);
- amplificationGelPhotoWizardPage = new AmplificationGelPhotoWizardPage(formFactory, getConversationHolder(), getEntity());
- addPage(amplificationGelPhotoWizardPage);
}
/** {@inheritDoc} */
public void setEntity(Amplification entity) {
super.setEntity(entity);
amplificationGeneralPage.getDetailElement().setEntity(entity);
- amplificationCloningPage.getDetailElement().setEntity(entity);
- amplificationGelPhotoWizardPage.getDetailElement().setEntity(entity);
}
@Override
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeNotSupportedException;
import eu.etaxonomy.cdm.api.service.IOccurrenceService;
+import eu.etaxonomy.cdm.model.media.Media;
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
import eu.etaxonomy.cdm.model.occurrence.MediaSpecimen;
} else {
if (SpecimenOrObservationType.Media.equals(specOrObsType)
|| ((specOrObsType.getKindOf() != null) && specOrObsType.getKindOf().equals(SpecimenOrObservationType.Media))) {
- return MediaSpecimen.NewInstance(specOrObsType);
+ MediaSpecimen mediaSpecimen = MediaSpecimen.NewInstance(specOrObsType);
+ //a MediaSpecimen with no media attached does not make sense. Hence, we add one
+ mediaSpecimen.setMediaSpecimen(Media.NewInstance());
+ return mediaSpecimen;
} else if (specOrObsType.equals(SpecimenOrObservationType.FieldUnit)) {
return FieldUnit.NewInstance();
} else {
import org.apache.commons.lang.StringUtils;
import org.eclipse.equinox.internal.p2.ui.model.MetadataRepositoryElement;
import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.window.Window;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.PlatformUI;
import eu.etaxonomy.cdm.strategy.match.IMatchStrategy;
import eu.etaxonomy.cdm.strategy.match.MatchException;
import eu.etaxonomy.cdm.strategy.match.MatchMode;
+import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.model.NomenclaturalCodeHelper;
import eu.etaxonomy.taxeditor.store.CdmStore;
-import eu.etaxonomy.taxeditor.store.StoreUtil;
import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;
import eu.etaxonomy.taxeditor.ui.dialog.DefaultLanguageDialog;
"The following has been set as your preferred nomenclatural code:\n\n\t"
+ NomenclaturalCodeHelper
.getDescription(code)
- + "\n\nYou iour is not consistent throughout the application. For DescriptionElemts and also PolytomousKeyNode.Question and PolytomousKeyNode.Statement it shows only the languages where text is available whereas for PolytomousKeyNode.modyfingText it shows a strange list of about 10-20 (different for different nodes) most of them starting with can change the nomenclatural code at any time in the \"Preferences\" menu.");*/
+ + "\n\nYou can change the nomenclatural code at any time in the \"Preferences\" menu.");*/
}
}
public static void checkDefaultLanguage(){
if(PreferencesUtil.getPreferredDefaultLangugae() == null){
- Shell shell = StoreUtil.getShell();
+ Shell shell = AbstractUtility.getShell();
int open = new DefaultLanguageDialog(shell).open();
- if(open == 0){//FIXME:window performed ok. Find variable for it
+ if(open == Window.OK){
PlatformUI.getWorkbench().restart();
}
}else{
// $Id$
/**
* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
+* European Distributed Institute of Taxonomy
* http://www.e-taxonomy.eu
-*
+*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
import org.eclipse.ui.IWorkbenchPreferencePage;
-import eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase;
+import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
/**
* <p>PresenceAbsenceMenuPreferences class.</p>
* @created 25.06.2009
* @version 1.0
*/
-public class PresenceAbsenceMenuPreferences extends AbstractMenuPreferences<PresenceAbsenceTermBase> implements
+public class PresenceAbsenceMenuPreferences extends AbstractMenuPreferences<PresenceAbsenceTerm> implements
IWorkbenchPreferencePage {
/**
* <p>Constructor for PresenceAbsenceMenuPreferences.</p>
*/
public PresenceAbsenceMenuPreferences() {
- super("Distribution Status Preferences",
+ super("Distribution Status Preferences",
"Choose which distribution states should be shown.",
false);
}
*/
/** {@inheritDoc} */
@Override
- protected Class<PresenceAbsenceTermBase> getTermClass() {
- return PresenceAbsenceTermBase.class;
+ protected Class<PresenceAbsenceTerm> getTermClass() {
+ return PresenceAbsenceTerm.class;
}
-
+
}
import eu.etaxonomy.cdm.model.common.MarkerType;
import eu.etaxonomy.cdm.model.common.TermType;
import eu.etaxonomy.cdm.model.common.TermVocabulary;
-import eu.etaxonomy.cdm.model.description.AbsenceTerm;
import eu.etaxonomy.cdm.model.description.Feature;
-import eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase;
-import eu.etaxonomy.cdm.model.description.PresenceTerm;
+import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
import eu.etaxonomy.cdm.model.name.Rank;
import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
import eu.etaxonomy.taxeditor.model.DefaultTermComparator;
}
});
- termStoreEdgeCases.add(new ITermStoreEdgeCase<PresenceAbsenceTermBase>() {
+ termStoreEdgeCases.add(new ITermStoreEdgeCase<PresenceAbsenceTerm>() {
@Override
- public Class<PresenceAbsenceTermBase> getTermClass() {
- return PresenceAbsenceTermBase.class;
+ public Class<PresenceAbsenceTerm> getTermClass() {
+ return PresenceAbsenceTerm.class;
}
@Override
- public List<PresenceAbsenceTermBase> getTerms() {
- List presenceAbsenceTerms = TermStore.getTermsFromService(PresenceTerm.class, null);
- presenceAbsenceTerms.addAll(TermStore.getTermsFromService(AbsenceTerm.class, null));
+ public List<PresenceAbsenceTerm> getTerms() {
+ List<PresenceAbsenceTerm> presenceAbsenceTerms = TermStore.getTermsFromService(PresenceAbsenceTerm.class, null);
return presenceAbsenceTerms;
}
@Override
protected String getTitle(Amplification cdmObject) {
if(cdmObject!=null){
- return cdmObject.getDescription();
+ return cdmObject.getLabelCache();
}
return super.getTitle(cdmObject);
}
import eu.etaxonomy.cdm.model.agent.Institution;
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.GrantedAuthorityImpl;
import eu.etaxonomy.cdm.model.common.Group;
import eu.etaxonomy.cdm.model.common.ICdmBase;
if(clazz.equals(Team.class)){
return (T) TeamSelectionDialog.select(shell, conversation, (Team) currentSelection);
}
+ if(clazz.equals(TeamOrPersonBase.class)){
+ //TODO: add TeamOrPersonBaseSelectionDialog (see ticket #4545)
+ return (T) AgentSelectionDialog.select(shell, conversation, (AgentBase) currentSelection);
+ }
if(clazz.equals(AgentBase.class)){
return (T) AgentSelectionDialog.select(shell, conversation, (AgentBase) currentSelection);
}
import java.util.List;
import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
import org.eclipse.jface.util.PropertyChangeEvent;
+import org.eclipse.jface.window.Window;
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
WizardDialog dialog = new WizardDialog(getLayoutComposite()
.getShell(), wizard);
- if (dialog.open() == IStatus.OK) {
+ if (dialog.open() == Window.OK) {
combo_language.setTerms(getLanguages());
updateControls();
}
package eu.etaxonomy.taxeditor.ui.section.description.detail;
import eu.etaxonomy.cdm.model.description.Distribution;
-import eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase;
+import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
import eu.etaxonomy.cdm.model.location.NamedArea;
import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
AbstractDetailedDescriptionDetailElement<Distribution> {
private EntitySelectionElement<NamedArea> selection_namedArea;
- private TermComboElement<PresenceAbsenceTermBase> combo_presenceAbsence;
+ private TermComboElement<PresenceAbsenceTerm> combo_presenceAbsence;
/**
selection_namedArea = formFactory.createSelectionElement(NamedArea.class, getConversationHolder(),
formElement, "Area",
entity.getArea(), EntitySelectionElement.NOTHING, style);
- combo_presenceAbsence = formFactory.createTermComboElement(PresenceAbsenceTermBase.class, this, "Distribution Status", entity.getStatus(), style);
+ combo_presenceAbsence = formFactory.createTermComboElement(PresenceAbsenceTerm.class, this, "Distribution Status", entity.getStatus(), style);
}
import eu.etaxonomy.cdm.common.UriUtils;
import eu.etaxonomy.cdm.model.common.Language;
-import eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase;
+import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
import eu.etaxonomy.cdm.model.description.TaxonDescription;
import eu.etaxonomy.taxeditor.model.FeatureNodeContainer;
import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
*/
private String getMapUriString(FeatureNodeContainer container){
String accessPoint = PreferencesUtil.getMapServiceAccessPoint();
- Map<PresenceAbsenceTermBase<?>, java.awt.Color> presenceAbsenceTermColors = null;
+ Map<PresenceAbsenceTerm, java.awt.Color> presenceAbsenceTermColors = null;
// FIXME due to a bug in the rest map service we have to ensure that width will always be an even number
// image.calculateWidth() % 2 == 1 ? image.calculateWidth() + 1 :
int width = image.calculateWidth();
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.agent.AgentBase;
-import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
import eu.etaxonomy.cdm.model.common.LanguageString;
import eu.etaxonomy.cdm.model.media.Media;
import eu.etaxonomy.taxeditor.store.CdmStore;
this.entity = element;
mediaDetailElement.setEntity(element);
- selection_artist.setEntity((TeamOrPersonBase<?>) HibernateProxyHelper
+ selection_artist.setEntity((AgentBase<?>) HibernateProxyHelper
.deproxy(element.getArtist()));
text_description.setLanguageString(element.getDescription(CdmStore
// $Id$
/**
* Copyright (C) 2007 EDIT
- * European Distributed Institute of Taxonomy
+ * European Distributed Institute of Taxonomy
* http://www.e-taxonomy.eu
- *
+ *
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
import java.util.Arrays;
+import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
import eu.etaxonomy.cdm.model.name.NonViralName;
-import eu.etaxonomy.taxeditor.model.AuthorHelper;
+import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractIdentifiableEntityDetailElement;
import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
-import eu.etaxonomy.taxeditor.ui.selection.NomenclaturalAuthorTeamSelectionElement;
-import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
-import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
/**
* <p>
* AuthorshipDetailElement class.
* </p>
- *
+ *
* @author n.hoffmann
* @created Mar 4, 2010
* @version 1.0
*/
public class AuthorshipDetailElement extends
- AbstractIdentifiableEntityDetailElement<NonViralName> implements
- IEnableableFormElement {
-
- private NomenclaturalAuthorTeamSelectionElement selection_exBasionymAuthorTeam;
- private NomenclaturalAuthorTeamSelectionElement selection_basionymAuthorTeam;
- private NomenclaturalAuthorTeamSelectionElement selection_exCombinationAuthorTeam;
- private NomenclaturalAuthorTeamSelectionElement selection_combinationAuthorTeam;
+ AbstractIdentifiableEntityDetailElement<NonViralName> {
+ private EntitySelectionElement<TeamOrPersonBase> selectionExBasionymAuthor;
+ private EntitySelectionElement<TeamOrPersonBase> selectionBasionymAuthor;
+ private EntitySelectionElement<TeamOrPersonBase> selectionExCombinationAuthor;
+ private EntitySelectionElement<TeamOrPersonBase> selectionCombinationAuthor;
/**
* <p>
* Constructor for AuthorshipDetailElement.
* </p>
- *
+ *
* @param cdmFormFactory
* a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
* object.
toggleable_cache = formFactory.createToggleableTextField(this,
"Authorship Cache", entity.getAuthorshipCache(),
entity.isProtectedAuthorshipCache(), style);
-
+
//TODO RL
if(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.IS_RL)){
toggleable_cache.setVisible(false);
}
- selection_combinationAuthorTeam = formFactory.createNomenclaturalAuthorTeamSelectionElement(
+ selectionCombinationAuthor = formFactory.createSelectionElement(TeamOrPersonBase.class,
getConversationHolder(),
formElement, "Author",
- AuthorHelper.getAuthor(entity.getCombinationAuthorTeam()),
+ entity.getCombinationAuthorTeam(),
EntitySelectionElement.ALL, style);
- addElement(selection_combinationAuthorTeam);
- selection_exCombinationAuthorTeam = formFactory.createNomenclaturalAuthorTeamSelectionElement(
+ addElement(selectionCombinationAuthor);
+ selectionExCombinationAuthor = formFactory.createSelectionElement(TeamOrPersonBase.class,
getConversationHolder(),
formElement, "Ex Author",
- AuthorHelper.getAuthor(entity.getExCombinationAuthorTeam()),
+ entity.getExCombinationAuthorTeam(),
EntitySelectionElement.ALL, style);
- addElement(selection_exCombinationAuthorTeam);
- selection_basionymAuthorTeam = formFactory.createNomenclaturalAuthorTeamSelectionElement(
- getConversationHolder(),
- formElement, "Basionym Author",
- AuthorHelper.getAuthor(entity.getBasionymAuthorTeam()),
- EntitySelectionElement.ALL, style);
- addElement(selection_basionymAuthorTeam);
- selection_exBasionymAuthorTeam = formFactory.createNomenclaturalAuthorTeamSelectionElement(
- getConversationHolder(),
- formElement, "Ex Basionym Author",
- AuthorHelper.getAuthor(entity.getExBasionymAuthorTeam()),
- EntitySelectionElement.ALL, style);
- addElement(selection_exBasionymAuthorTeam);
+ addElement(selectionExCombinationAuthor);
+ selectionBasionymAuthor = formFactory.createSelectionElement(TeamOrPersonBase.class, getConversationHolder(),
+ formElement, "Basionym Author", entity.getBasionymAuthorTeam(),
+ EntitySelectionElement.ALL, style);
+ addElement(selectionBasionymAuthor);
+ selectionExBasionymAuthor = formFactory.createSelectionElement(TeamOrPersonBase.class, getConversationHolder(),
+ formElement, "Ex Basionym Author", entity.getExBasionymAuthorTeam(),
+ EntitySelectionElement.ALL, style);
+
+ addElement(selectionExBasionymAuthor);
}
/** {@inheritDoc} */
if (getEntity() == null) {
setEntity(NonViralName.NewInstance(null));
}
-
+
super.updateContent();
toggleable_cache.setEnabled(getEntity().isProtectedAuthorshipCache());
setIrrelevant(toggleable_cache.getState(),
Arrays.asList(new Object[] { toggleable_cache }));
}
- } else if (eventSource == selection_combinationAuthorTeam) {
+ } else if (eventSource == selectionExBasionymAuthor) {
+ getEntity().setCombinationAuthorTeam(
+ selectionExBasionymAuthor.getSelection());
+ } else if (eventSource == selectionCombinationAuthor) {
getEntity().setCombinationAuthorTeam(
- selection_combinationAuthorTeam.getSelection());
- } else if (eventSource == selection_exCombinationAuthorTeam) {
+ selectionCombinationAuthor.getSelection());
+ } else if (eventSource == selectionExCombinationAuthor) {
getEntity().setExCombinationAuthorTeam(
- selection_exCombinationAuthorTeam.getSelection());
- } else if (eventSource == selection_basionymAuthorTeam) {
+ selectionExCombinationAuthor.getSelection());
+ } else if (eventSource == selectionBasionymAuthor) {
getEntity().setBasionymAuthorTeam(
- selection_basionymAuthorTeam.getSelection());
- } else if (eventSource == selection_exBasionymAuthorTeam) {
+ selectionBasionymAuthor.getSelection());
+ } else if (eventSource == selectionExBasionymAuthor) {
getEntity().setExBasionymAuthorTeam(
- selection_exBasionymAuthorTeam.getSelection());
+ selectionExBasionymAuthor.getSelection());
}
// if (eventSource != toggleable_cache) {
firePropertyChangeEvent(new CdmPropertyChangeEvent(
getParentElement(), null));
}
-
+
@Override
public void updateToggleableCacheField() {
if(! getEntity().isProtectedAuthorshipCache()){
import eu.etaxonomy.cdm.model.location.NamedArea;
import eu.etaxonomy.cdm.model.occurrence.Collection;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
-import eu.etaxonomy.taxeditor.model.AbstractUtility;
-import eu.etaxonomy.taxeditor.model.IDerivedUnitFacadePart;
import eu.etaxonomy.taxeditor.ui.combo.EnumComboElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.CheckboxElement;
import eu.etaxonomy.taxeditor.ui.element.GatheringEventUnitElement;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.LanguageStringWithLabelElement;
private EntitySelectionElement<Collection> selection_collection;
private TextWithLabelElement text_accessionNumber;
private GatheringEventUnitElement element_elevation;
+ private CheckboxElement checkIsPublish;
/**
toggleableText_titleCache = formFactory.createToggleableTextField(
formElement, "Title Cache", entity.getTitleCache(),
entity.isProtectedTitleCache(), style);
- //TODO for DerivateEditor do not use facade anyore to avoid this special case handling #4539
+ //TODO for DerivateEditor do not use facade anymore to avoid this special case handling #4539
if(showOnlyDerivedUnitData){
toggleableText_titleCache.setEnabled(false);
}
text_accessionNumber = formFactory.createTextWithLabelElement(
formElement, "Accession Number", entity.getAccessionNumber(),
style);
+ checkIsPublish = formFactory.createCheckbox(formElement, "Publish", entity.isPublish(), style);
}
getEntity().setAccessionNumber(text_accessionNumber.getText());
} else if (eventSource == combo_specorobstype) {
getEntity().setType(combo_specorobstype.getSelection());
+ } else if (eventSource == checkIsPublish) {
+ getEntity().innerDerivedUnit().setPublish(checkIsPublish.getSelection());
}
if (eventSource != toggleableText_titleCache) {
toggleableText_titleCache.setText(getEntity().getTitleCache());
}
}
-
+
public void setShowOnlyDerivedUnitData(boolean showOnlyDerivedUnitData) {
this.showOnlyDerivedUnitData = showOnlyDerivedUnitData;
}
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.ui.combo.EnumComboElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.CheckboxElement;
import eu.etaxonomy.taxeditor.ui.element.GatheringEventUnitElement;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.LanguageStringWithLabelElement;
private EntitySelectionElement<AgentBase> selection_collector;
private TextWithLabelElement text_collectingNumber;
private GatheringEventUnitElement element_elevation;
+ private CheckboxElement checkIsPublish;
/**
* @param formFactory
"Collector", entity.getCollector(), EntitySelectionElement.ALL, style);
text_collectingNumber = formFactory.createTextWithLabelElement(formElement, "Collecting number",
entity.getFieldNumber(), style);
+ checkIsPublish = formFactory.createCheckbox(formElement, "Publish", entity.isPublish(), style);
}
/*
getEntity().setFieldNumber(text_collectingNumber.getText());
} else if (eventSource == combo_specorobstype) {
getEntity().setType(combo_specorobstype.getSelection());
+ } else if (eventSource == checkIsPublish) {
+ getEntity().innerFieldUnit().setPublish(checkIsPublish.getSelection());
}
if (eventSource != toggleableText_titleCache) {
import eu.etaxonomy.cdm.model.agent.AgentBase;
import eu.etaxonomy.cdm.model.common.DefinedTerm;
import eu.etaxonomy.cdm.model.common.TermType;
-import eu.etaxonomy.cdm.model.molecular.Amplification;
+import eu.etaxonomy.cdm.model.molecular.AmplificationResult;
import eu.etaxonomy.cdm.model.molecular.Cloning;
import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
* @date 15.01.2014
*
*/
-public class AmplificationCloningDetailElement extends AbstractCdmDetailElement<Amplification> {
+public class AmplificationCloningDetailElement extends AbstractCdmDetailElement<AmplificationResult> {
private TextWithLabelElement textCloningStrain;
private TimePeriodElement date;
private EntitySelectionElement<AgentBase> selectionCloningStaff;
* (eu.etaxonomy.taxeditor.forms.ICdmFormElement, java.lang.Object, int)
*/
@Override
- protected void createControls(ICdmFormElement formElement, Amplification entity, int style) {
+ protected void createControls(ICdmFormElement formElement, AmplificationResult entity, int style) {
Cloning cloning = entity.getCloning();
textCloningStrain = formFactory.createTextWithLabelElement(formElement, "Cloning Strain", cloning==null?"":cloning.getStrain(), style);
date = formFactory.createTimePeriodElement(formElement, "Cloning Date", cloning==null?null:cloning.getTimeperiod(), style);
import org.eclipse.jface.viewers.ISelectionProvider;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.model.molecular.Amplification;
+import eu.etaxonomy.cdm.model.molecular.AmplificationResult;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
* @date 15.01.2014
*
*/
-public class AmplificationCloningDetailSection extends AbstractCdmDetailSection<Amplification> {
+public class AmplificationCloningDetailSection extends AbstractCdmDetailSection<AmplificationResult> {
/**
* @param formFactory
* @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#createCdmDetailElement(eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection, int)
*/
@Override
- protected AbstractCdmDetailElement<Amplification> createCdmDetailElement(AbstractCdmDetailSection<Amplification> parentElement, int style) {
+ protected AbstractCdmDetailElement<AmplificationResult> createCdmDetailElement(AbstractCdmDetailSection<AmplificationResult> parentElement, int style) {
return formFactory.createAmplificationCloningDetailElement(parentElement);
}
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.media.Media;
-import eu.etaxonomy.cdm.model.molecular.Amplification;
+import eu.etaxonomy.cdm.model.molecular.AmplificationResult;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
* @date 26.02.2014
*
*/
-public class AmplificationGelPhotoCollectionDetailSection extends AbstractEntityCollectionSection<Amplification, Media> {
+public class AmplificationGelPhotoCollectionDetailSection extends AbstractEntityCollectionSection<AmplificationResult, Media> {
/**
* @param formFactory
* @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#getCollection(java.lang.Object)
*/
@Override
- public Collection<Media> getCollection(Amplification entity) {
+ public Collection<Media> getCollection(AmplificationResult entity) {
if(entity.getGelPhoto()!=null){
return Collections.singleton(entity.getGelPhoto());
}
*/
package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
-import eu.etaxonomy.cdm.model.molecular.Amplification;
+import eu.etaxonomy.cdm.model.molecular.AmplificationResult;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
* @date 15.01.2014
*
*/
-public class AmplificationGelPhotoDetailElement extends AbstractCdmDetailElement<Amplification> {
+public class AmplificationGelPhotoDetailElement extends AbstractCdmDetailElement<AmplificationResult> {
private AmplificationGelPhotoCollectionDetailSection sectionGelPhoto;
/**
* (eu.etaxonomy.taxeditor.forms.ICdmFormElement, java.lang.Object, int)
*/
@Override
- protected void createControls(ICdmFormElement formElement, Amplification entity, int style) {
+ protected void createControls(ICdmFormElement formElement, AmplificationResult entity, int style) {
sectionGelPhoto = formFactory.createAmplificationGelPhotoCollectionDetailSection(getConversationHolder(), formElement, style);
sectionGelPhoto.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
sectionGelPhoto.setEntity(entity);
import eu.etaxonomy.cdm.model.agent.Institution;
import eu.etaxonomy.cdm.model.common.DefinedTerm;
import eu.etaxonomy.cdm.model.common.TermType;
-import eu.etaxonomy.cdm.model.common.TimePeriod;
import eu.etaxonomy.cdm.model.molecular.Amplification;
import eu.etaxonomy.cdm.model.molecular.Primer;
import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
*/
@Override
protected void createControls(ICdmFormElement formElement, Amplification entity, int style) {
- textDesignation = formFactory.createTextWithLabelElement(formElement, "Designation", entity.getDescription(), style);
+ textDesignation = formFactory.createTextWithLabelElement(formElement, "Designation", entity.getLabelCache(), style);
textDesignation.setEnabled(false);
- //TODO institution
-// selectionInstitution = formFactory.createSelectionElement(Institution.class, getConversationHolder(), formElement, "Institution", entity.getInstitution(), EntitySelectionElement.ALL, style);
+ selectionInstitution = formFactory.createSelectionElement(Institution.class, getConversationHolder(), formElement, "Institution", entity.getInstitution(), EntitySelectionElement.ALL, style);
selectionAmplificationStaff = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), formElement, "Amplification staff", entity.getActor(), EntitySelectionElement.ALL, style);
dateAmplification = formFactory.createTimePeriodElement(formElement, "Date", entity.getTimeperiod(), style);
comboMarker = formFactory.createDefinedTermComboElement(TermType.DnaMarker, formElement, "DNA Marker", entity.getDnaMarker(), style);
AnnotationSection annotationSection = formFactory.createAnnotationSection(getConversationHolder(), formElement, style);
annotationSection.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
annotationSection.setEntity(entity);
-
- updateDesignationText();
- }
-
- private void updateDesignationText(){
- String institutionName = "";
- String staffName = "";
- String dnaMarkerString = "";
- String dateString = "";
-
- //retrieve data
- //TODO institution
-// Institution selection = selectionInstitution.getSelection();
-// if(selection!=null){
-// institutionName = selection.getName();
-// }
- AgentBase staff = selectionAmplificationStaff.getSelection();
- if(staff!=null){
- staffName = staff.getTitleCache();
- }
- DefinedTerm dnaMarker = comboMarker.getSelection();
- if(dnaMarker!=null){
- dnaMarkerString = dnaMarker.generateTitle();
- }
- TimePeriod timePeriod = dateAmplification.getTimePeriod();
- if(timePeriod!=null){
- dateString = timePeriod.toString()!=null?timePeriod.toString():"";
- }
-
- //assemble string
- String designation = "";
- if(!institutionName.equals("")){
- designation += institutionName;
- }
- if(!staffName.equals("")){
- if(!designation.equals("")){
- designation += "_";
- }
- designation += staffName;
- }
- if(!dnaMarkerString.equals("")){
- if(!designation.equals("")){
- designation += "_";
- }
- designation += dnaMarkerString;
- }
- if(!dateString.equals("")){
- if(!designation.equals("")){
- designation += "_";
- }
- designation += dateString;
- }
- textDesignation.setText(designation);
- getEntity().setDescription(designation);
}
/*
}
else if(eventSource==comboMarker){
getEntity().setDnaMarker(comboMarker.getSelection());
- updateDesignationText();
}
else if(eventSource==dateAmplification){
getEntity().setTimeperiod(dateAmplification.getTimePeriod());
- updateDesignationText();
}
else if(eventSource==selectionAmplificationStaff){
getEntity().setActor(selectionAmplificationStaff.getEntity());
- updateDesignationText();
}
else if(eventSource==selectionInstitution){
- //TODO institution
-// getEntity().setInstitution(selectionInstitution.getSelection());
- updateDesignationText();
+ getEntity().setInstitution(selectionInstitution.getSelection());
}
else if(eventSource==selectionPrimerFW){
getEntity().setForwardPrimer(selectionPrimerFW.getSelection());
else if(eventSource==selectionPrimerRW){
getEntity().setReversePrimer(selectionPrimerRW.getSelection());
}
+ getEntity().updateCache();
+ textDesignation.setText(getEntity().getLabelCache());
}
}
\ No newline at end of file
import eu.etaxonomy.cdm.model.occurrence.PreservationMethod;
import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.CheckboxElement;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.NumberWithLabelElement;
import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
private EntitySelectionElement<Institution> selectionInstitution;
private EntitySelectionElement<AgentBase> selectionStaff;
- private TimePeriodElement datePreservationDate;
+ private TimePeriodElement datePreparationDate;
private NumberWithLabelElement numberPreservationTemperature;
private TermComboElement<DefinedTerm> comboMaterialOrMethods;
private TextWithLabelElement textBarcode;
+ private CheckboxElement checkIsPublish;
/**
* @param formFactory
AgentBase<?> staff = null;
TimePeriod preparationDate = null;
if(entity.getDerivedFrom()!=null){
-// institution = entity.getDerivedFrom().getInstitution();
+ institution = entity.getDerivedFrom().getInstitution();
staff = entity.getDerivedFrom().getActor();
preparationDate = entity.getDerivedFrom().getTimeperiod();
}
temperature = entity.getPreservation().getTemperature();
definedMaterialOrMethod = entity.getPreservation().getDefinedMaterialOrMethod();
}
- //TODO institution
-// selectionInstitution = formFactory.createSelectionElement(Institution.class, getConversationHolder(), formElement, "Institution", staff, EntitySelectionElement.ALL, style);
+ selectionInstitution = formFactory.createSelectionElement(Institution.class, getConversationHolder(), formElement, "Institution", institution, EntitySelectionElement.ALL, style);
selectionStaff = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), formElement, "Staff", staff, EntitySelectionElement.ALL, style);
- datePreservationDate = formFactory.createTimePeriodElement(formElement, "Preparation date", preparationDate, style);
+ datePreparationDate = formFactory.createTimePeriodElement(formElement, "Preparation date", preparationDate, style);
numberPreservationTemperature = formFactory.createNumberTextWithLabelElement(formElement, "Preservation Temp. [C°]", temperature, style);
comboMaterialOrMethods = formFactory.createDefinedTermComboElement(TermType.MaterialOrMethod, formElement, "Materials & Methods", definedMaterialOrMethod, style);
textBarcode = formFactory.createTextWithLabelElement(formElement, "Barcode", entity.getBarcode(), style);
+ checkIsPublish = formFactory.createCheckbox(formElement, "Publish", entity.isPublish(), style);
}
*/
@Override
public void handleEvent(Object eventSource) {
- if(eventSource==datePreservationDate){
- addPreservationMethod().setTimeperiod(datePreservationDate.getTimePeriod());
+ if(eventSource==datePreparationDate){
+ if(getEntity().getDerivedFrom()!=null){
+ getEntity().getDerivedFrom().setTimeperiod(datePreparationDate.getTimePeriod());
+ }
+ }
+ else if(eventSource==selectionInstitution){
+ if(getEntity().getDerivedFrom()!=null){
+ getEntity().getDerivedFrom().setInstitution(selectionInstitution.getSelection());
+ }
}
else if(eventSource==selectionStaff){
- addPreservationMethod().setActor(selectionStaff.getSelection());
+ if(getEntity().getDerivedFrom()!=null){
+ getEntity().getDerivedFrom().setActor(selectionStaff.getSelection());
+ }
}
else if(eventSource==numberPreservationTemperature){
addPreservationMethod().setTemperature(numberPreservationTemperature.getDouble());
else if(eventSource==textBarcode){
getEntity().setBarcode(textBarcode.getText());
}
+ else if(eventSource==checkIsPublish){
+ getEntity().setPublish(checkIsPublish.getSelection());
+ }
}
private PreservationMethod addPreservationMethod(){
package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
import eu.etaxonomy.cdm.model.common.DefinedTerm;
+import eu.etaxonomy.cdm.model.common.TermType;
import eu.etaxonomy.cdm.model.molecular.Primer;
import eu.etaxonomy.cdm.model.molecular.SequenceString;
import eu.etaxonomy.cdm.model.reference.Reference;
@Override
protected void createControls(ICdmFormElement formElement, Primer entity, int style) {
textPrimerName = formFactory.createTextWithLabelElement(formElement, "Primer Name", entity.getLabel(), style);
- String sequenceString = "";
+ String sequenceString = null;
if(entity.getSequence()!=null){
sequenceString = entity.getSequence().getString();
}
textPrimerSequence = formFactory.createTextWithLabelElement(formElement, "Primer seq. 5'->3'", sequenceString, style);
- //TODO dnaMarker
-// comboMarker = formFactory.createDefinedTermComboElement(TermType.DnaMarker, formElement, "DNA Marker", entity.getDnaMarker(), style);
+ comboMarker = formFactory.createDefinedTermComboElement(TermType.DnaMarker, formElement, "DNA Marker", entity.getDnaMarker(), style);
selectionReference = formFactory
.createSelectionElement(Reference.class,
getEntity().setLabel(textPrimerName.getText());
}
else if(eventSource==comboMarker){
- //TODO dnaMarker
-// getEntity().setDnaMarker(comboMarker.getSelection());
+ getEntity().setDnaMarker(comboMarker.getSelection());
}
else if(eventSource==textPrimerSequence){
SequenceString sequenceString = getEntity().getSequence();
package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
import eu.etaxonomy.cdm.model.molecular.Amplification;
+import eu.etaxonomy.cdm.model.molecular.AmplificationResult;
import eu.etaxonomy.cdm.model.molecular.Primer;
import eu.etaxonomy.cdm.model.molecular.SingleRead;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
@Override
protected void createControls(ICdmFormElement formElement, SingleRead entity, int style) {
selectionPrimer = formFactory.createSelectionElement(Primer.class, getConversationHolder(), formElement, "Primer", entity.getPrimer(), EntitySelectionElement.ALL, style);
- selectionAmplification = formFactory.createSelectionElement(Amplification.class, getConversationHolder(), formElement, "Amplification", entity.getAmplification(), EntitySelectionElement.ALL, style);
+ AmplificationResult amplificationResult = entity.getAmplificationResult();
+ if(amplificationResult==null){
+ amplificationResult = AmplificationResult.NewInstance();
+ amplificationResult.addSingleRead(entity);
+ }
+ selectionAmplification = formFactory.createSelectionElement(Amplification.class, getConversationHolder(), formElement, "Amplification", amplificationResult.getAmplification(), EntitySelectionElement.ALL, style);
AnnotationSection annotationSection = formFactory.createAnnotationSection(getConversationHolder(), formElement, style);
annotationSection.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
annotationSection.setEntity(entity);
+
+ AmplificationCloningDetailSection cloningSection = formFactory.createAmplificationCloningDetailSection(getConversationHolder(), formElement, formFactory.getSelectionProvider(), style);
+ cloningSection.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+ cloningSection.setEntity(amplificationResult);
+
+ AmplificationGelPhotoCollectionDetailSection gelPhotoSection = formFactory.createAmplificationGelPhotoCollectionDetailSection(getConversationHolder(), formElement, style);
+ gelPhotoSection.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+ gelPhotoSection.setEntity(amplificationResult);
}
/*
if(eventSource==selectionPrimer){
getEntity().setPrimer(selectionPrimer.getSelection());
}
- else if(eventSource==selectionAmplification){
- selectionAmplification.getSelection().addSingleRead(getEntity());
+ else {
+ if(eventSource==selectionAmplification){
+ AmplificationResult amplificationResult = getEntity().getAmplificationResult();
+ if(amplificationResult==null){
+ amplificationResult = AmplificationResult.NewInstance();
+ }
+ amplificationResult.setAmplification(selectionAmplification.getSelection());
+ amplificationResult.addSingleRead(getEntity());
+ }
}
}
}
import org.apache.log4j.Logger;
import eu.etaxonomy.cdm.model.agent.AgentBase;
+import eu.etaxonomy.cdm.model.agent.Institution;
import eu.etaxonomy.cdm.model.common.DefinedTerm;
import eu.etaxonomy.cdm.model.common.TermType;
import eu.etaxonomy.cdm.model.common.TimePeriod;
import eu.etaxonomy.cdm.model.occurrence.PreservationMethod;
import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.CheckboxElement;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
import eu.etaxonomy.taxeditor.ui.element.TimePeriodElement;
static private final Logger logger = Logger.getLogger(TissueSampleGeneralDetailElement.class);
private TermComboElement<DefinedTerm> comboKindOfTissue;
- private EntitySelectionElement<AgentBase> selectionInstitution;
+ private EntitySelectionElement<Institution> selectionInstitution;
private EntitySelectionElement<AgentBase> selectionStaff;
private TimePeriodElement datePreparation;
private TermComboElement<DefinedTerm> comboPreservationMedium;
private EntitySelectionElement<Collection> selectionCollection;
private TextWithLabelElement textAccessionNumber;
private TextWithLabelElement textBarcode;
+ private CheckboxElement checkIsPublish;
/**
*/
@Override
protected void createControls(ICdmFormElement formElement, DnaSample entity, int style) {
- //TODO handle all parameters here and in handleEvent()
comboKindOfTissue = formFactory.createDefinedTermComboElement(TermType.KindOfUnit, formElement, "Kind Of Tissue", entity.getKindOfUnit(), style);
- //TODO: institute
TimePeriod preparationDate = null;
DefinedTerm preservationMedium = null;
AgentBase<?> staff = null;
+ Institution institution = null;
if(entity.getDerivedFrom()!=null){
staff = entity.getDerivedFrom().getActor();
preparationDate = entity.getDerivedFrom().getTimeperiod();
+ institution = entity.getDerivedFrom().getInstitution();
}
if(entity.getPreservation()!=null){
preservationMedium = entity.getPreservation().getMedium();
}
+ selectionInstitution = formFactory.createSelectionElement(Institution.class, getConversationHolder(), formElement, "Institution", institution, EntitySelectionElement.ALL, style);
selectionStaff = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), formElement, "Staff", staff, EntitySelectionElement.ALL,style);
datePreparation = formFactory.createTimePeriodElement(formElement, "Preparation date", preparationDate, style);
comboPreservationMedium = formFactory.createDefinedTermComboElement(TermType.MaterialOrMethod, formElement, "Preservation medium", preservationMedium, style);
selectionCollection = formFactory.createSelectionElement(Collection.class, getConversationHolder(), formElement, "Collection", entity.getCollection(), EntitySelectionElement.ALL, style);
textAccessionNumber = formFactory.createTextWithLabelElement(formElement, "Accession Number", entity.getAccessionNumber(), style);
textBarcode = formFactory.createTextWithLabelElement(formElement, "Barcode", entity.getBarcode(), style);
+ checkIsPublish = formFactory.createCheckbox(formElement, "Publish", entity.isPublish(), style);
}
*/
@Override
public void handleEvent(Object eventSource) {
- //TODO: institute
if(eventSource==comboKindOfTissue) {
getEntity().setKindOfUnit(comboKindOfTissue.getSelection());
}
getEntity().getDerivedFrom().setTimeperiod(datePreparation.getTimePeriod());
}
}
+ else if(eventSource==selectionInstitution){
+ if(getEntity().getDerivedFrom()!=null){
+ getEntity().getDerivedFrom().setInstitution(selectionInstitution.getSelection());
+ }
+ }
else if(eventSource==selectionStaff){
if(getEntity().getDerivedFrom()!=null){
getEntity().getDerivedFrom().setActor(selectionStaff.getSelection());
}
}
+ else if(eventSource==checkIsPublish){
+ getEntity().setPublish(checkIsPublish.getSelection());
+ }
}
private PreservationMethod addPreservationMethod(){
import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.CheckboxElement;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.LanguageStringWithLabelElement;
import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
private EntitySelectionElement<Collection> selection_collection;
private TextWithLabelElement text_accessionNumber;
private EntitySelectionElement<Reference> selection_publishedIn;
+ private CheckboxElement checkIsPublish;
private MediaDetailElement mediaDetailElement;
/**
}
}
selection_publishedIn = formFactory.createSelectionElement(Reference.class, getConversationHolder(), formElement, "Published in", publishedIn, EntitySelectionElement.ALL, style);
+ checkIsPublish = formFactory.createCheckbox(formElement, "Publish", entity.isPublish(), style);
mediaDetailElement = formFactory.createMediaDetailElement(formElement);
mediaDetailElement.setEntity(media);
primaryMediaSource.setCitation(selection_publishedIn.getSelection());
}
}
+ else if(eventSource==checkIsPublish){
+ getEntity().setPublish(checkIsPublish.getSelection());
+ }
}
public void toogleAdvancedMediaView() {
- mediaDetailElement.toggleAdvancedMediaView();
+ if(mediaDetailElement!=null){
+ mediaDetailElement.toggleAdvancedMediaView();
+ }
}
public boolean isAdvancedMediaView() {
+ if(mediaDetailElement==null){
+ return false;
+ }
return mediaDetailElement.isAdvancedMediaView();
}
protected Control createToolbar() {
ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT);
- final String label;
-
- if(mediaSpecimenGeneralDetailElement.isAdvancedMediaView()){
- label = "Use simple media view";
- }
- else{
- label = "Use advanced media view";
- }
- Action addAction = new Action("Use advanced media view", IAction.AS_PUSH_BUTTON) {
+ String actionLabel = "Use advanced media view";
+ Action addAction = new Action(actionLabel, IAction.AS_PUSH_BUTTON) {
/* (non-Javadoc)
* @see org.eclipse.jface.action.Action#run()
*/
mediaSpecimenGeneralDetailElement.toogleAdvancedMediaView();
}
};
- addAction.setToolTipText(label);
+ addAction.setToolTipText(actionLabel);
toolBarManager.add(addAction);
import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.model.TextHelper;
-import eu.etaxonomy.taxeditor.newWizard.AmplificationCloningWizardPage;
-import eu.etaxonomy.taxeditor.newWizard.AmplificationGelPhotoWizardPage;
import eu.etaxonomy.taxeditor.newWizard.AmplificationGeneralWizardPage;
import eu.etaxonomy.taxeditor.newWizard.PrimerWizardPage;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
addPage(new AmplificationGeneralWizardPage(formFactory,
selectionElement.getConversationHolder(),
(Amplification) entity));
- addPage(new AmplificationCloningWizardPage(formFactory,
- selectionElement.getConversationHolder(),
- (Amplification) entity));
- addPage(new AmplificationGelPhotoWizardPage(formFactory,
- selectionElement.getConversationHolder(),
- (Amplification) entity));
} else {
MessagingUtils.warningDialog("Missing interface", this,
"No detail element for current selection");
LanguageString preferredLanguageString = MultilanguageTextHelper.getPreferredLanguageString(multilanguageText, getLanguages());
- text_source = formFactory.createLanguageStringWithLabelElement(element, null, preferredLanguageString, TEXT_HEIGHT, true, SWT.NULL);
+ text_source = formFactory.createLanguageStringWithLabelElement(element, null, preferredLanguageString, TEXT_HEIGHT, false, SWT.NULL);
// text_source.setEnabled(false);
}
});
- text_target = formFactory.createLanguageStringWithLabelElement(element, null, null, TEXT_HEIGHT, true, SWT.NULL);
+ text_target = formFactory.createLanguageStringWithLabelElement(element, null, null, TEXT_HEIGHT, false, SWT.NULL);
//
// The automated translation did rely on the Google Translate API. Unfortunately this service is not free anymore.
if(sequence!=null && sequence.getDnaMarker()!=null){
label += sequence.getDnaMarker()+separator;
}
- if(singleRead.getAmplification()!=null && singleRead.getAmplification().getDescription()!=null){
- label += singleRead.getAmplification().getDescription()+separator;
+ if(singleRead.getAmplificationResult()!=null && singleRead.getAmplificationResult().getAmplification()!=null){
+ label += singleRead.getAmplificationResult().getAmplification().getLabelCache()+separator;
}
}
}
import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;
import eu.etaxonomy.cdm.model.description.SpecimenDescription;
import eu.etaxonomy.cdm.model.media.Media;
-import eu.etaxonomy.cdm.model.molecular.Amplification;
import eu.etaxonomy.cdm.model.molecular.DnaSample;
import eu.etaxonomy.cdm.model.molecular.Sequence;
import eu.etaxonomy.cdm.model.molecular.SingleRead;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.model.FeatureNodeContainer;
import eu.etaxonomy.taxeditor.model.IDerivedUnitFacadePart;
+import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.model.PolytomousKeyRelationship;
import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.ui.section.occurrence.GatheringEventDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.OriginalLabelDataSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.association.TaxonAssociationDetailSection;
-import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AmplificationCloningDetailSection;
-import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AmplificationGelPhotoCollectionDetailSection;
-import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AmplificationGeneralDetailSection;
-import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AmplificationPrimerDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.DnaQualityDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.DnaSampleGeneralDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.SampleDesignationDetailSection;
createSpecimenDescriptionSection(rootElement);
}
else{
- Set<Marker> descriptionMarkers = ((DescriptionBase) input).getMarkers();
+ Set<Marker> descriptionMarkers = ((DescriptionBase<?>) input).getMarkers();
MarkerType useMarkertype = (MarkerType) CdmStore.getService(ITermService.class).find(
UsageTermCollection.uuidUseMarkerType);
Boolean isUseDescription = false;
isUseDescription = true;
}
}
- if (((DescriptionBase) input).isImageGallery()) {
+ if (((DescriptionBase<?>) input).isImageGallery()) {
createImageGallerySection(rootElement);
} else if (isUseDescription) {
} else if (input instanceof DerivedUnitFacade) {
if(((DerivedUnitFacade) input).getType()==SpecimenOrObservationType.FieldUnit){
- createFieldUnitSection(rootElement);
+ if(((DerivedUnitFacade) input).innerFieldUnit()==null){
+ MessagingUtils.error(DetailsViewer.class, "FieldUnit of facade is null", null);
+ }
+ else{
+ createFieldUnitSection(rootElement);
+ }
}
else if(((DerivedUnitFacade) input).getType()==SpecimenOrObservationType.PreservedSpecimen){
- createDerivedUnitBaseElementSection(rootElement);
+ if(((DerivedUnitFacade) input).innerDerivedUnit()==null){
+ MessagingUtils.error(DetailsViewer.class, "DerivedUnit of facade is null", null);
+ }
+ else{
+ createDerivedUnitBaseElementSection(rootElement);
+ }
}
else if(((DerivedUnitFacade) input).getType()==SpecimenOrObservationType.TissueSample){
//TissueSample should only be created by using it's own class
} else if (input instanceof MediaSpecimen){
createMediaSpecimenSection(rootElement);
}
- else if(input instanceof Amplification){
- createAmplificationSection(rootElement);
- }
else if(input instanceof Sequence){
createSequenceSection(rootElement);
}
destroySections();
DerivedUnitGeneralDetailSection derivedUnitGeneralDetailSection = formFactory.createDerivedUnitGeneralDetailSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
- //TODO for DerivateEditor do not use facade anymore to avoid this special case handling #4539
+ //TODO for DerivateEditor do not use facade anymore to avoid this special case handling #4539
if(!(AbstractUtility.getActivePart() instanceof IDerivedUnitFacadePart)){
derivedUnitGeneralDetailSection.setShowOnlyDerivedUnitData(true);
}
addPart(sampleDesignationDetailSection);
}
- private void createAmplificationSection(RootElement parent) {
- destroySections();
- AmplificationGeneralDetailSection generalSection = formFactory.createAmplificationGeneralDetailSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
-
- formFactory.createHorizontalSeparator(parent, SWT.BORDER);
-
- AmplificationPrimerDetailSection primerSection = formFactory.createAmplificationPrimerDetailSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
-
- formFactory.createHorizontalSeparator(parent, SWT.BORDER);
-
- AmplificationCloningDetailSection cloningSection = formFactory.createAmplificationCloningDetailSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
-
- formFactory.createHorizontalSeparator(parent, SWT.BORDER);
-
- AmplificationGelPhotoCollectionDetailSection gelPhotoSection = formFactory.createAmplificationGelPhotoCollectionDetailSection(getConversationHolder(), parent, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
-
-
- addPart(generalSection);
- addPart(primerSection);
- addPart(cloningSection);
- addPart(gelPhotoSection);
- }
-
private void createSequenceSection(RootElement parent) {
destroySections();
destroySections();
SingleReadGeneralDetailSection section = formFactory.createSingleReadGeneralDetailSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
+ addPart(section);
formFactory.createHorizontalSeparator(parent, SWT.BORDER);
SingleReadPherogramCollectionDetailSection pherogramSection = formFactory.createSingleReadPherogramCollectionDetailSection(getConversationHolder(), parent, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
-
- addPart(section);
addPart(pherogramSection);
+
}
private void createMediaSpecimenSection(RootElement parent) {