docs/docs-core/src/main/java/com/sismics/docs/core/util/action/RemoveTagAction.java

38 lines
1.0 KiB
Java
Raw Normal View History

2018-03-13 14:09:39 +01:00
package com.sismics.docs.core.util.action;
import com.google.common.collect.Sets;
2018-03-29 17:59:47 +02:00
import com.sismics.docs.core.dao.TagDao;
import com.sismics.docs.core.dao.criteria.TagCriteria;
import com.sismics.docs.core.dao.dto.DocumentDto;
import com.sismics.docs.core.dao.dto.TagDto;
2018-03-13 14:09:39 +01:00
import jakarta.json.JsonObject;
2018-03-13 14:09:39 +01:00
import java.util.List;
import java.util.Set;
/**
* Action to remove a tag.
*
* @author bgamard
*/
public class RemoveTagAction extends TagAction {
@Override
public void execute(DocumentDto documentDto, JsonObject action) {
if (action.getString("tag") == null) {
return;
}
String tagId = action.getString("tag");
TagDao tagDao = new TagDao();
List<TagDto> tagDtoList = tagDao.findByCriteria(new TagCriteria().setDocumentId(documentDto.getId()), null);
Set<String> tagIdSet = Sets.newHashSet();
for (TagDto tagDto : tagDtoList) {
tagIdSet.add(tagDto.getId());
}
tagIdSet.remove(tagId);
tagDao.updateTagList(documentDto.getId(), tagIdSet);
}
}