BlockMonitoring.java
- /*
- * The coLAB project
- * Copyright (C) 2022-2023 AlbaSim, MEI, HEIG-VD, HES-SO
- *
- * Licensed under the MIT License
- */
- package ch.colabproject.colab.api.microchanges.live.monitoring;
- import ch.colabproject.colab.generator.model.annotations.ExtractJavaDoc;
- import ch.colabproject.colab.generator.model.interfaces.WithJsonDiscriminator;
- import javax.validation.constraints.NotNull;
- /**
- * Admin tool to monitor live block changes
- *
- * @author maxence
- */
- @ExtractJavaDoc
- public class BlockMonitoring implements WithJsonDiscriminator {
- private static final long serialVersionUID = 1L;
- /**
- * Status of the block
- */
- public enum BlockStatus implements WithJsonDiscriminator {
- /** everything looks fine */
- HEALTHY,
- /** pending changes are inconsistent */
- UNHEALTHY,
- /** unable to restore data from live cache */
- DATA_ERROR,
- /** no pending changes */
- PROCESSED,
- /**
- * some pending changes exist but block has been deleted in the meantime
- */
- DELETED;
- }
- /** Id of the block being live-edited */
- @NotNull
- private Long blockId;
- /** Human readable description */
- @NotNull
- private String title;
- /** Status of the live edition */
- @NotNull
- private BlockStatus status;
- /**
- * Get id
- *
- * @return the id of the block
- */
- public Long getBlockId() {
- return blockId;
- }
- /**
- * set block id
- *
- * @param blockId new block id
- */
- public void setBlockId(Long blockId) {
- this.blockId = blockId;
- }
- /**
- * status of the live-edition
- *
- * @return the status
- */
- public BlockStatus getStatus() {
- return status;
- }
- /**
- * set status
- *
- * @param status the status
- */
- public void setStatus(BlockStatus status) {
- this.status = status;
- }
- /**
- * Get human description
- *
- * @return the description
- */
- public String getTitle() {
- return title;
- }
- /**
- * Set human description
- *
- * @param title new text
- */
- public void setTitle(String title) {
- this.title = title;
- }
- }