import java.util.List;
import java.util.Set;
+import org.apache.commons.lang.StringUtils;
import org.eclipse.core.runtime.Assert;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.text.IDocument;
import eu.etaxonomy.cdm.common.CdmUtils;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
+import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.name.INonViralName;
import eu.etaxonomy.cdm.model.name.NameRelationship;
import eu.etaxonomy.cdm.model.name.TaxonName;
* @author p.ciardelli
* @author n.hoffmann
* @created 02.06.2008
- * @version 1.0
*/
abstract public class AbstractGroupedContainer<T extends TaxonBase> implements
IFormPart, IContainerConstants, IElementHasDetails {
*/
public void showAnnotations() {
- if (getName().hasProblem()) {
+ if (getName() != null && getName().hasProblem()) {
showParsingProblems();
}
private void showParsingProblems() {
String text = getNameViewer().getTextWidget().getText();
- List<ParserProblem> parsingProblems = getName().getParsingProblems();
+ TaxonName name = getName();
+ if (name == null){
+ return;
+ }
+
+ List<ParserProblem> parsingProblems = name.getParsingProblems();
for (ParserProblem problem : parsingProblems) {
getNameViewer().addAnnotation(new EditorAnnotation(problem),
private Position getParsingProblemPosition() {
String text = getNameViewer().getTextWidget().getText();
- if (getName().hasProblem() && text.length() > 0) {
+ if (getName() != null && getName().hasProblem() && text.length() > 0) {
int start = getName().getProblemStarts();
int length = getName().getProblemEnds() - start;
* @return
*/
private boolean isFreetextEditingAllowed() {
- INonViralName name = (INonViralName) HibernateProxyHelper
- .deproxy(getName());
boolean enableFreetext = true;
enableFreetext |= isNameUsedMultipleTimes();
*/
private boolean isNameUsedMultipleTimes() {
- Set<TaxonBase> taxonBases = getName().getTaxonBases();
- Iterator<TaxonBase> tbItr = taxonBases.iterator();
- int nonOrphanedTaxonBaseCount = taxonBases.size();
-
- while(tbItr.hasNext()) {
- TaxonBase tb = tbItr.next();
- if(tb.isOrphaned()) {
- nonOrphanedTaxonBaseCount--;
+ TaxonName name = getName();
+ if (name != null){
+ Set<TaxonBase> taxonBases = name.getTaxonBases();
+ Iterator<TaxonBase> tbItr = taxonBases.iterator();
+ int nonOrphanedTaxonBaseCount = taxonBases.size();
+
+ while(tbItr.hasNext()) {
+ TaxonBase<?> tb = tbItr.next();
+ if(tb.isOrphaned()) {
+ nonOrphanedTaxonBaseCount--;
+ }
+ }
+ if(nonOrphanedTaxonBaseCount > 1) {
+ return true;
}
- }
- if(nonOrphanedTaxonBaseCount > 1) {
- return true;
}
return false;
}
private boolean isNameParsable() {
TaxonName name = getName();
+ if (name == null){
+ return false;
+ }
boolean isParsable = true;
- isParsable &= CdmUtils.isEmpty(name.getAppendedPhrase()); // taxonFieldsEmpty();
+ isParsable &= StringUtils.isBlank(name.getAppendedPhrase()); // taxonFieldsEmpty();
isParsable &= !name.isProtectedAuthorshipCache();
isParsable &= !name.isProtectedNameCache();
* @return a {@link eu.etaxonomy.cdm.model.name.TaxonNameBase} object.
*/
public TaxonName getName() {
- return HibernateProxyHelper.deproxy(getTaxonBase()
- .getName());
+ return CdmBase.deproxy(getTaxonBase().getName());
}
/**