# HG changeset patch # User casties # Date 1485968820 -3600 # Node ID 29d40186dfd7f7321da8ba87d4e10367d50a9fb9 # Parent eee2e0ca40328908ae51da4ec5808cf41ac0087c try to fix disappearing alias attribute. diff -r eee2e0ca4032 -r 29d40186dfd7 src/main/java/de/mpiwg/itgroup/ismi/entry/beans/CurrentPersonBean.java --- a/src/main/java/de/mpiwg/itgroup/ismi/entry/beans/CurrentPersonBean.java Tue Jan 31 18:09:54 2017 +0100 +++ b/src/main/java/de/mpiwg/itgroup/ismi/entry/beans/CurrentPersonBean.java Wed Feb 01 18:07:00 2017 +0100 @@ -139,19 +139,17 @@ String newShortName = (String) event.getNewValue(); if (shortNameAlias == null) { - shortNameAlias = new Entity(org.mpi.openmind.repository.bo.Node.TYPE_ABOX, ALIAS, false); - + shortNameAlias = new Entity(Node.TYPE_ABOX, ALIAS, false); } - Attribute attr = this.shortNameAlias.getAttributeByName(alias); + Attribute attr = shortNameAlias.getAttributeByName(alias); if (attr == null) { - this.shortNameAlias.addAttribute(new Attribute(alias, TEXT, - newShortName)); - } else + shortNameAlias.addAttribute(new Attribute(alias, TEXT, newShortName)); + } else { attr.setValue(newShortName); - + } } catch (Exception e) { - e.printStackTrace(); + logger.error(e); } } @@ -272,14 +270,6 @@ // PERSON -> was_died_in -> PLACE replaceAliasSourceRelation(this.entity, deathPlaceLo, PLACE, "died_in", "died_in_as"); - // ALIAS -> is_prime_alias_name_of -> PERSON - this.entity.removeAllTargetRelationsByName(is_prime_alias_name_of); - if (shortNameAlias != null) { - shortNameAlias.setObjectClass(ALIAS); - shortNameAlias = getWrapper().saveEntity(shortNameAlias, getSessionUser().getEmail(), null); - new Relation(shortNameAlias, this.entity, is_alias_name_of); - } - // ALIAS -> is_alias_name_of -> PERSON this.entity.removeAllTargetRelationsByName(is_alias_name_of); for(Entity alias : this.aliasList.getEntities()){ @@ -287,6 +277,20 @@ new Relation(alias0, this.entity, is_alias_name_of); } + // ALIAS -> is_prime_alias_name_of/is_alias_name_of -> PERSON + this.entity.removeAllTargetRelationsByName(is_prime_alias_name_of); + if (shortNameAlias != null) { + if (shortNameAlias.getAttributeByName(alias) == null) { + logger.error("ALIAS without Attribute!"); + if (valueShortName != null) { + shortNameAlias.addAttribute(new Attribute(alias, TEXT, valueShortName)); + } + } + shortNameAlias = getWrapper().saveEntity(shortNameAlias, getSessionUser().getEmail(), null); + // save as is_alias_name_of + new Relation(shortNameAlias, this.entity, is_alias_name_of); + } + // PERSON -> lived_in -> PLACE (manyToMany) this.entity.removeAllSourceRelationsByName(lived_in); this.entity.removeAllSourceRelationsByName(lived_in_as);