Search in sources :

Example 11 with Tuple

use of io.lumeer.core.util.Tuple in project engine by Lumeer.

the class LinkInstanceFacade method createLinkInstance.

public Tuple<LinkInstance, LinkInstance> createLinkInstance(final LinkType linkType, final LinkInstance linkInstance) {
    linkInstance.setCreatedBy(getCurrentUserId());
    linkInstance.setCreationDate(ZonedDateTime.now());
    LinkInstance createdLinkInstance = linkInstanceDao.createLinkInstance(linkInstance);
    var data = constraintManager.encodeDataTypes(linkType, linkInstance.getData());
    var storedData = linkDataDao.createData(linkInstance.getLinkTypeId(), createdLinkInstance.getId(), data);
    createdLinkInstance.setData(storedData);
    var createdLinkInstanceCopy = new LinkInstance(createdLinkInstance);
    createdLinkInstance.setData(constraintManager.decodeDataTypes(linkType, storedData));
    return new Tuple<>(createdLinkInstanceCopy, createdLinkInstance);
}
Also used : CreateLinkInstance(io.lumeer.engine.api.event.CreateLinkInstance) LinkInstance(io.lumeer.api.model.LinkInstance) UpdateLinkInstance(io.lumeer.engine.api.event.UpdateLinkInstance) Tuple(io.lumeer.core.util.Tuple)

Aggregations

Tuple (io.lumeer.core.util.Tuple)11 Document (io.lumeer.api.model.Document)9 LinkInstance (io.lumeer.api.model.LinkInstance)7 Collection (io.lumeer.api.model.Collection)6 LinkType (io.lumeer.api.model.LinkType)5 Query (io.lumeer.api.model.Query)4 CreateDocument (io.lumeer.engine.api.event.CreateDocument)4 UpdateDocument (io.lumeer.engine.api.event.UpdateDocument)4 HashSet (java.util.HashSet)4 DataDocument (io.lumeer.engine.api.data.DataDocument)3 AllowedPermissions (io.lumeer.api.model.AllowedPermissions)2 ResourceType (io.lumeer.api.model.ResourceType)2 ConstraintManager (io.lumeer.core.constraint.ConstraintManager)2 DefaultConfigurationProducer (io.lumeer.core.facade.configuration.DefaultConfigurationProducer)2 CreateLinkInstance (io.lumeer.engine.api.event.CreateLinkInstance)2 UpdateLinkInstance (io.lumeer.engine.api.event.UpdateLinkInstance)2 ZonedDateTime (java.time.ZonedDateTime)2 ArrayList (java.util.ArrayList)2 Arrays (java.util.Arrays)2 Collections (java.util.Collections)2