Skip to content
Snippets Groups Projects
Commit ecbee719 authored by kaloyane's avatar kaloyane
Browse files

[LMS-2441] EventPE.g(s)etIdentifiers explicitly works with List<String> to...

[LMS-2441] EventPE.g(s)etIdentifiers explicitly works with List<String> to make the API more evident to the users

SVN: 22406
parent 1b09b5dd
No related branches found
No related tags found
No related merge requests found
Showing
with 75 additions and 23 deletions
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
package ch.systemsx.cisd.openbis.generic.server.business.bo; package ch.systemsx.cisd.openbis.generic.server.business.bo;
import java.util.Collections;
import java.util.List; import java.util.List;
import org.springframework.dao.DataAccessException; import org.springframework.dao.DataAccessException;
...@@ -71,7 +72,7 @@ public final class AttachmentBO extends AbstractBusinessObject implements IAttac ...@@ -71,7 +72,7 @@ public final class AttachmentBO extends AbstractBusinessObject implements IAttac
final String identifier = createDeletionIdentifier(holder, fileName); final String identifier = createDeletionIdentifier(holder, fileName);
event.setEventType(EventType.DELETION); event.setEventType(EventType.DELETION);
event.setEntityType(EntityType.ATTACHMENT); event.setEntityType(EntityType.ATTACHMENT);
event.setIdentifiers(identifier); event.setIdentifiers(Collections.singletonList(identifier));
event.setDescription(identifier); event.setDescription(identifier);
event.setReason(reason); event.setReason(reason);
event.setRegistrator(registrator); event.setRegistrator(registrator);
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
package ch.systemsx.cisd.openbis.generic.server.business.bo; package ch.systemsx.cisd.openbis.generic.server.business.bo;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.List; import java.util.List;
import org.springframework.dao.DataAccessException; import org.springframework.dao.DataAccessException;
...@@ -31,10 +32,10 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewAuthorizationGroup; ...@@ -31,10 +32,10 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewAuthorizationGroup;
import ch.systemsx.cisd.openbis.generic.shared.dto.AuthorizationGroupPE; import ch.systemsx.cisd.openbis.generic.shared.dto.AuthorizationGroupPE;
import ch.systemsx.cisd.openbis.generic.shared.dto.DatabaseInstancePE; import ch.systemsx.cisd.openbis.generic.shared.dto.DatabaseInstancePE;
import ch.systemsx.cisd.openbis.generic.shared.dto.EventPE; import ch.systemsx.cisd.openbis.generic.shared.dto.EventPE;
import ch.systemsx.cisd.openbis.generic.shared.dto.EventPE.EntityType;
import ch.systemsx.cisd.openbis.generic.shared.dto.EventType; import ch.systemsx.cisd.openbis.generic.shared.dto.EventType;
import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE; import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
import ch.systemsx.cisd.openbis.generic.shared.dto.Session; import ch.systemsx.cisd.openbis.generic.shared.dto.Session;
import ch.systemsx.cisd.openbis.generic.shared.dto.EventPE.EntityType;
/** /**
* {@link IAuthorizationGroupBO} implementation. * {@link IAuthorizationGroupBO} implementation.
...@@ -147,7 +148,7 @@ public class AuthorizationGroupBO extends AbstractBusinessObject implements IAut ...@@ -147,7 +148,7 @@ public class AuthorizationGroupBO extends AbstractBusinessObject implements IAut
EventPE event = new EventPE(); EventPE event = new EventPE();
event.setEventType(EventType.DELETION); event.setEventType(EventType.DELETION);
event.setEntityType(EntityType.AUTHORIZATION_GROUP); event.setEntityType(EntityType.AUTHORIZATION_GROUP);
event.setIdentifiers(groupCode); event.setIdentifiers(Collections.singletonList(groupCode));
event.setDescription(groupCode); event.setDescription(groupCode);
event.setReason(reason); event.setReason(reason);
event.setRegistrator(registrator); event.setRegistrator(registrator);
......
...@@ -303,7 +303,7 @@ public final class DataSetTable extends AbstractDataSetBusinessObject implements ...@@ -303,7 +303,7 @@ public final class DataSetTable extends AbstractDataSetBusinessObject implements
EventPE event = new EventPE(); EventPE event = new EventPE();
event.setEventType(EventType.DELETION); event.setEventType(EventType.DELETION);
event.setEntityType(EntityType.DATASET); event.setEntityType(EntityType.DATASET);
event.setIdentifiers(dataSet.getCode()); event.setIdentifiers(Collections.singletonList(dataSet.getCode()));
event.setDescription(getDeletionDescription(dataSet)); event.setDescription(getDeletionDescription(dataSet));
event.setReason(reason); event.setReason(reason);
event.setRegistrator(registrator); event.setRegistrator(registrator);
......
...@@ -18,6 +18,7 @@ package ch.systemsx.cisd.openbis.generic.server.business.bo; ...@@ -18,6 +18,7 @@ package ch.systemsx.cisd.openbis.generic.server.business.bo;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
...@@ -271,7 +272,7 @@ public final class ExperimentBO extends AbstractBusinessObject implements IExper ...@@ -271,7 +272,7 @@ public final class ExperimentBO extends AbstractBusinessObject implements IExper
EventPE event = new EventPE(); EventPE event = new EventPE();
event.setEventType(EventType.DELETION); event.setEventType(EventType.DELETION);
event.setEntityType(EntityType.EXPERIMENT); event.setEntityType(EntityType.EXPERIMENT);
event.setIdentifiers(experiment.getPermId()); event.setIdentifiers(Collections.singletonList(experiment.getPermId()));
event.setDescription(getDeletionDescription(experiment)); event.setDescription(getDeletionDescription(experiment));
event.setReason(reason); event.setReason(reason);
event.setRegistrator(registrator); event.setRegistrator(registrator);
......
...@@ -16,6 +16,8 @@ ...@@ -16,6 +16,8 @@
package ch.systemsx.cisd.openbis.generic.server.business.bo; package ch.systemsx.cisd.openbis.generic.server.business.bo;
import java.util.Collections;
import org.springframework.dao.DataAccessException; import org.springframework.dao.DataAccessException;
import org.springframework.dao.DataRetrievalFailureException; import org.springframework.dao.DataRetrievalFailureException;
...@@ -26,11 +28,11 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.TechId; ...@@ -26,11 +28,11 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ISpaceUpdates; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ISpaceUpdates;
import ch.systemsx.cisd.openbis.generic.shared.dto.DatabaseInstancePE; import ch.systemsx.cisd.openbis.generic.shared.dto.DatabaseInstancePE;
import ch.systemsx.cisd.openbis.generic.shared.dto.EventPE; import ch.systemsx.cisd.openbis.generic.shared.dto.EventPE;
import ch.systemsx.cisd.openbis.generic.shared.dto.EventPE.EntityType;
import ch.systemsx.cisd.openbis.generic.shared.dto.EventType; import ch.systemsx.cisd.openbis.generic.shared.dto.EventType;
import ch.systemsx.cisd.openbis.generic.shared.dto.SpacePE;
import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE; import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
import ch.systemsx.cisd.openbis.generic.shared.dto.Session; import ch.systemsx.cisd.openbis.generic.shared.dto.Session;
import ch.systemsx.cisd.openbis.generic.shared.dto.EventPE.EntityType; import ch.systemsx.cisd.openbis.generic.shared.dto.SpacePE;
import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.DatabaseInstanceIdentifier; import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.DatabaseInstanceIdentifier;
import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.GroupIdentifier; import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.GroupIdentifier;
import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.IdentifierHelper; import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.IdentifierHelper;
...@@ -145,7 +147,7 @@ public final class GroupBO extends AbstractBusinessObject implements IGroupBO ...@@ -145,7 +147,7 @@ public final class GroupBO extends AbstractBusinessObject implements IGroupBO
EventPE event = new EventPE(); EventPE event = new EventPE();
event.setEventType(EventType.DELETION); event.setEventType(EventType.DELETION);
event.setEntityType(EntityType.SPACE); event.setEntityType(EntityType.SPACE);
event.setIdentifiers(group.getCode()); event.setIdentifiers(Collections.singletonList(group.getCode()));
event.setDescription(getDeletionDescription(group)); event.setDescription(getDeletionDescription(group));
event.setReason(reason); event.setReason(reason);
event.setRegistrator(registrator); event.setRegistrator(registrator);
......
...@@ -142,7 +142,7 @@ public final class MaterialBO extends AbstractMaterialBusinessObject implements ...@@ -142,7 +142,7 @@ public final class MaterialBO extends AbstractMaterialBusinessObject implements
EventPE event = new EventPE(); EventPE event = new EventPE();
event.setEventType(EventType.DELETION); event.setEventType(EventType.DELETION);
event.setEntityType(EntityType.MATERIAL); event.setEntityType(EntityType.MATERIAL);
event.setIdentifiers(material.getCode()); event.setIdentifiers(Collections.singletonList(material.getCode()));
event.setDescription(material.getPermId()); event.setDescription(material.getPermId());
event.setReason(reason); event.setReason(reason);
event.setRegistrator(registrator); event.setRegistrator(registrator);
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
package ch.systemsx.cisd.openbis.generic.server.business.bo; package ch.systemsx.cisd.openbis.generic.server.business.bo;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
...@@ -32,14 +33,14 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.TechId; ...@@ -32,14 +33,14 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewAttachment; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewAttachment;
import ch.systemsx.cisd.openbis.generic.shared.dto.AttachmentPE; import ch.systemsx.cisd.openbis.generic.shared.dto.AttachmentPE;
import ch.systemsx.cisd.openbis.generic.shared.dto.EventPE; import ch.systemsx.cisd.openbis.generic.shared.dto.EventPE;
import ch.systemsx.cisd.openbis.generic.shared.dto.EventPE.EntityType;
import ch.systemsx.cisd.openbis.generic.shared.dto.EventType; import ch.systemsx.cisd.openbis.generic.shared.dto.EventType;
import ch.systemsx.cisd.openbis.generic.shared.dto.ExperimentPE; import ch.systemsx.cisd.openbis.generic.shared.dto.ExperimentPE;
import ch.systemsx.cisd.openbis.generic.shared.dto.SpacePE;
import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE; import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
import ch.systemsx.cisd.openbis.generic.shared.dto.ProjectPE; import ch.systemsx.cisd.openbis.generic.shared.dto.ProjectPE;
import ch.systemsx.cisd.openbis.generic.shared.dto.ProjectUpdatesDTO; import ch.systemsx.cisd.openbis.generic.shared.dto.ProjectUpdatesDTO;
import ch.systemsx.cisd.openbis.generic.shared.dto.Session; import ch.systemsx.cisd.openbis.generic.shared.dto.Session;
import ch.systemsx.cisd.openbis.generic.shared.dto.EventPE.EntityType; import ch.systemsx.cisd.openbis.generic.shared.dto.SpacePE;
import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ProjectIdentifier; import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ProjectIdentifier;
import ch.systemsx.cisd.openbis.generic.shared.translator.AttachmentTranslator; import ch.systemsx.cisd.openbis.generic.shared.translator.AttachmentTranslator;
import ch.systemsx.cisd.openbis.generic.shared.util.HibernateUtils; import ch.systemsx.cisd.openbis.generic.shared.util.HibernateUtils;
...@@ -278,7 +279,7 @@ public final class ProjectBO extends AbstractBusinessObject implements IProjectB ...@@ -278,7 +279,7 @@ public final class ProjectBO extends AbstractBusinessObject implements IProjectB
EventPE event = new EventPE(); EventPE event = new EventPE();
event.setEventType(EventType.DELETION); event.setEventType(EventType.DELETION);
event.setEntityType(EntityType.PROJECT); event.setEntityType(EntityType.PROJECT);
event.setIdentifiers(project.getIdentifier()); event.setIdentifiers(Collections.singletonList(project.getIdentifier()));
event.setDescription(getDeletionDescription(project)); event.setDescription(getDeletionDescription(project));
event.setReason(reason); event.setReason(reason);
event.setRegistrator(registrator); event.setRegistrator(registrator);
......
...@@ -16,6 +16,8 @@ ...@@ -16,6 +16,8 @@
package ch.systemsx.cisd.openbis.generic.server.business.bo; package ch.systemsx.cisd.openbis.generic.server.business.bo;
import java.util.Collections;
import javax.xml.validation.Schema; import javax.xml.validation.Schema;
import org.springframework.dao.DataAccessException; import org.springframework.dao.DataAccessException;
...@@ -37,13 +39,13 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Vocabulary; ...@@ -37,13 +39,13 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Vocabulary;
import ch.systemsx.cisd.openbis.generic.shared.dto.DataTypePE; import ch.systemsx.cisd.openbis.generic.shared.dto.DataTypePE;
import ch.systemsx.cisd.openbis.generic.shared.dto.EntityTypePE; import ch.systemsx.cisd.openbis.generic.shared.dto.EntityTypePE;
import ch.systemsx.cisd.openbis.generic.shared.dto.EventPE; import ch.systemsx.cisd.openbis.generic.shared.dto.EventPE;
import ch.systemsx.cisd.openbis.generic.shared.dto.EventPE.EntityType;
import ch.systemsx.cisd.openbis.generic.shared.dto.EventType; import ch.systemsx.cisd.openbis.generic.shared.dto.EventType;
import ch.systemsx.cisd.openbis.generic.shared.dto.MaterialTypePE; import ch.systemsx.cisd.openbis.generic.shared.dto.MaterialTypePE;
import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE; import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
import ch.systemsx.cisd.openbis.generic.shared.dto.PropertyTypePE; import ch.systemsx.cisd.openbis.generic.shared.dto.PropertyTypePE;
import ch.systemsx.cisd.openbis.generic.shared.dto.Session; import ch.systemsx.cisd.openbis.generic.shared.dto.Session;
import ch.systemsx.cisd.openbis.generic.shared.dto.VocabularyPE; import ch.systemsx.cisd.openbis.generic.shared.dto.VocabularyPE;
import ch.systemsx.cisd.openbis.generic.shared.dto.EventPE.EntityType;
import ch.systemsx.cisd.openbis.generic.shared.dto.properties.EntityKind; import ch.systemsx.cisd.openbis.generic.shared.dto.properties.EntityKind;
import ch.systemsx.cisd.openbis.generic.shared.util.XmlUtils; import ch.systemsx.cisd.openbis.generic.shared.util.XmlUtils;
...@@ -231,7 +233,7 @@ public final class PropertyTypeBO extends VocabularyBO implements IPropertyTypeB ...@@ -231,7 +233,7 @@ public final class PropertyTypeBO extends VocabularyBO implements IPropertyTypeB
EventPE event = new EventPE(); EventPE event = new EventPE();
event.setEventType(EventType.DELETION); event.setEventType(EventType.DELETION);
event.setEntityType(EntityType.PROPERTY_TYPE); event.setEntityType(EntityType.PROPERTY_TYPE);
event.setIdentifiers(propertyTypePE.getCode()); event.setIdentifiers(Collections.singletonList(propertyTypePE.getCode()));
event.setDescription(getDeletionDescription(propertyTypePE)); event.setDescription(getDeletionDescription(propertyTypePE));
event.setReason(reason); event.setReason(reason);
event.setRegistrator(registrator); event.setRegistrator(registrator);
......
...@@ -386,7 +386,7 @@ public class VocabularyBO extends AbstractBusinessObject implements IVocabularyB ...@@ -386,7 +386,7 @@ public class VocabularyBO extends AbstractBusinessObject implements IVocabularyB
EventPE event = new EventPE(); EventPE event = new EventPE();
event.setEventType(EventType.DELETION); event.setEventType(EventType.DELETION);
event.setEntityType(EntityType.VOCABULARY); event.setEntityType(EntityType.VOCABULARY);
event.setIdentifiers(vocabularyPE.getCode()); event.setIdentifiers(Collections.singletonList(vocabularyPE.getCode()));
event.setDescription(getDeletionDescription(vocabularyPE)); event.setDescription(getDeletionDescription(vocabularyPE));
event.setReason(reason); event.setReason(reason);
event.setRegistrator(registrator); event.setRegistrator(registrator);
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
package ch.systemsx.cisd.openbis.generic.server.dataaccess.db; package ch.systemsx.cisd.openbis.generic.server.dataaccess.db;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -28,6 +29,7 @@ import org.hibernate.criterion.MatchMode; ...@@ -28,6 +29,7 @@ import org.hibernate.criterion.MatchMode;
import org.hibernate.criterion.Restrictions; import org.hibernate.criterion.Restrictions;
import org.springframework.jdbc.support.JdbcAccessor; import org.springframework.jdbc.support.JdbcAccessor;
import ch.systemsx.cisd.common.exceptions.EnvironmentFailureException;
import ch.systemsx.cisd.common.logging.LogCategory; import ch.systemsx.cisd.common.logging.LogCategory;
import ch.systemsx.cisd.common.logging.LogFactory; import ch.systemsx.cisd.common.logging.LogFactory;
import ch.systemsx.cisd.common.utilities.MethodUtils; import ch.systemsx.cisd.common.utilities.MethodUtils;
...@@ -66,7 +68,7 @@ public class EventDAO extends AbstractGenericEntityDAO<EventPE> implements IEven ...@@ -66,7 +68,7 @@ public class EventDAO extends AbstractGenericEntityDAO<EventPE> implements IEven
assert eventType != null : "Unspecified eventType."; assert eventType != null : "Unspecified eventType.";
final Criteria criteria = getSession().createCriteria(EventPE.class); final Criteria criteria = getSession().createCriteria(EventPE.class);
criteria.add(Restrictions.like("identifiers", identifier, MatchMode.ANYWHERE)); criteria.add(Restrictions.like("identifiersInternal", identifier, MatchMode.ANYWHERE));
criteria.add(Restrictions.eq("entityType", entityType)); criteria.add(Restrictions.eq("entityType", entityType));
criteria.add(Restrictions.eq("eventType", eventType)); criteria.add(Restrictions.eq("eventType", eventType));
final EventPE result = tryGetEntity(criteria.uniqueResult()); final EventPE result = tryGetEntity(criteria.uniqueResult());
...@@ -102,11 +104,29 @@ public class EventDAO extends AbstractGenericEntityDAO<EventPE> implements IEven ...@@ -102,11 +104,29 @@ public class EventDAO extends AbstractGenericEntityDAO<EventPE> implements IEven
"%s(%s): %d data set deletion events(s) have been found.", MethodUtils "%s(%s): %d data set deletion events(s) have been found.", MethodUtils
.getCurrentMethod().getName(), lastDesc, list.size())); .getCurrentMethod().getName(), lastDesc, list.size()));
} }
ArrayList<DeletedDataSet> result = new ArrayList<DeletedDataSet>(); ArrayList<DeletedDataSet> result = new ArrayList<DeletedDataSet>();
for (EventPE event : list) for (EventPE event : list)
{ {
result.add(new DeletedDataSet(event.getIdentifiers(), event.getDescription(), event List<String> identifiers = event.getIdentifiers();
.getId())); List<String> locations =
Arrays.asList(event.getDescription().split(EventPE.IDENTIFIER_SEPARATOR));
if (identifiers.size() != locations.size())
{
throw EnvironmentFailureException.fromTemplate(
"Number of deleted dataset codes %s does not match "
+ "the number of deleted data set locations %s in eventId='%s'",
identifiers.size(), locations.size(), event.getId());
}
int pos = 0;
for (pos = 0; pos < identifiers.size(); pos++)
{
String dataSetCode = identifiers.get(pos);
String dataSetLocation = locations.get(pos);
DeletedDataSet deletedDataSet =
new DeletedDataSet(dataSetCode, dataSetLocation, event.getId());
result.add(deletedDataSet);
}
} }
return result; return result;
} }
......
...@@ -17,6 +17,8 @@ ...@@ -17,6 +17,8 @@
package ch.systemsx.cisd.openbis.generic.shared.dto; package ch.systemsx.cisd.openbis.generic.shared.dto;
import java.io.Serializable; import java.io.Serializable;
import java.util.Arrays;
import java.util.List;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
...@@ -27,6 +29,7 @@ import javax.persistence.GenerationType; ...@@ -27,6 +29,7 @@ import javax.persistence.GenerationType;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.SequenceGenerator; import javax.persistence.SequenceGenerator;
import javax.persistence.Table; import javax.persistence.Table;
import javax.persistence.Transient;
import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.HashCodeBuilder;
...@@ -35,6 +38,8 @@ import org.hibernate.validator.Length; ...@@ -35,6 +38,8 @@ import org.hibernate.validator.Length;
import org.hibernate.validator.NotNull; import org.hibernate.validator.NotNull;
import ch.rinn.restrictions.Friend; import ch.rinn.restrictions.Friend;
import ch.systemsx.cisd.common.collections.CollectionStyle;
import ch.systemsx.cisd.common.collections.CollectionUtils;
import ch.systemsx.cisd.common.utilities.ModifiedShortPrefixToStringStyle; import ch.systemsx.cisd.common.utilities.ModifiedShortPrefixToStringStyle;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.GenericConstants; import ch.systemsx.cisd.openbis.generic.client.web.client.application.GenericConstants;
import ch.systemsx.cisd.openbis.generic.shared.IServer; import ch.systemsx.cisd.openbis.generic.shared.IServer;
...@@ -50,6 +55,9 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.IIdHolder; ...@@ -50,6 +55,9 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.IIdHolder;
@Friend(toClasses = DataPE.class) @Friend(toClasses = DataPE.class)
public class EventPE extends HibernateAbstractRegistrationHolder implements IIdHolder, Serializable public class EventPE extends HibernateAbstractRegistrationHolder implements IIdHolder, Serializable
{ {
public static final String IDENTIFIER_SEPARATOR = ", ";
private static final long serialVersionUID = IServer.VERSION; private static final long serialVersionUID = IServer.VERSION;
public enum EntityType public enum EntityType
...@@ -64,7 +72,7 @@ public class EventPE extends HibernateAbstractRegistrationHolder implements IIdH ...@@ -64,7 +72,7 @@ public class EventPE extends HibernateAbstractRegistrationHolder implements IIdH
private EntityType entityType; private EntityType entityType;
private String identifiers; private List<String> identifiers;
private String description; private String description;
...@@ -109,16 +117,29 @@ public class EventPE extends HibernateAbstractRegistrationHolder implements IIdH ...@@ -109,16 +117,29 @@ public class EventPE extends HibernateAbstractRegistrationHolder implements IIdH
this.entityType = entityType; this.entityType = entityType;
} }
@SuppressWarnings("unused")
@NotNull(message = ValidationMessages.IDENTIFIER_NOT_NULL_MESSAGE) @NotNull(message = ValidationMessages.IDENTIFIER_NOT_NULL_MESSAGE)
@Column(name = ColumnNames.IDENTIFIERS) @Column(name = ColumnNames.IDENTIFIERS)
public String getIdentifiers() private String getIdentifiersInternal()
{
return CollectionUtils.abbreviate(identifiers, -1, CollectionStyle.NO_BOUNDARY);
}
@SuppressWarnings("unused")
private void setIdentifiersInternal(String identifier)
{
this.identifiers = Arrays.asList(identifier.split(IDENTIFIER_SEPARATOR));
}
@Transient
public List<String> getIdentifiers()
{ {
return identifiers; return identifiers;
} }
public void setIdentifiers(String identifier) public void setIdentifiers(List<String> identifiers)
{ {
this.identifiers = identifier; this.identifiers = identifiers;
} }
@Length(max = GenericConstants.DESCRIPTION_2000, message = ValidationMessages.DESCRIPTION_LENGTH_MESSAGE) @Length(max = GenericConstants.DESCRIPTION_2000, message = ValidationMessages.DESCRIPTION_LENGTH_MESSAGE)
......
...@@ -361,7 +361,10 @@ public final class SampleDAOTest extends AbstractDAOTest ...@@ -361,7 +361,10 @@ public final class SampleDAOTest extends AbstractDAOTest
final EventPE event = tryGetDeletionEvent(sample); final EventPE event = tryGetDeletionEvent(sample);
assertNotNull(event); assertNotNull(event);
assertEquals(reason, event.getReason()); assertEquals(reason, event.getReason());
assertEquals(commaSeparatedIdentifiers, event.getIdentifiers()); String persistedIdentifiers =
CollectionUtils.abbreviate(event.getIdentifiers(), -1,
CollectionStyle.NO_BOUNDARY);
assertEquals(commaSeparatedIdentifiers, persistedIdentifiers);
assertEquals(registrator, event.getRegistrator()); assertEquals(registrator, event.getRegistrator());
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment