Gérer les rapports de l'application

Utilisez le service de reporting pour la gestion des rapports OpenSearch Dashboards de votre scope

Le service ReportingService expose différentes opérations que vous pouvez effectuer concernant les rapports OpenSearch Dashboards.

  • getAll : permet de récupérer tous les rapports du scope courant.

  • create : crée une liste de rapports. La liste des rapports à ajouter doit être fournie en entrée et ceux-ci seront ensuite créés dans l’application.

  • get : récupère les rapports recherchés à partir de la liste de leurs ID.

  • update : met à jour une liste de rapports à partir de leur ID. La nouvelle version de ces rapports doit être fournie en entrée.

  • delete : supprime les rapports voulus à partir de leur ID.

Récupération de rapport

Les exemples suivants indiquent comment récupérer des rapports OpenSearch Dashboards en utilisant les différentes opérations de récupération.


Récupération de tous les rapports :


GET {{core}}/rest/report/ HTTP/1.1

-- Paramètres d'URL --
core: host de FlowerDocs core

-- Headers --
token: {{token}}
Content-Type: application/json

@Autowired
private ReportingService service;

public List<Report> getAllReports() throws TechnicalException, FunctionalException
{
    return service.getAll();
}

Récupération de rapports par ID :


GET {{core}}/rest/report/{ids} HTTP/1.1

-- Paramètres d'URL
core: host de FlowerDocs core
ids: identifiants des rapports à récupérer

-- Headers 
token: {{token}}
Content-Type: application/json

@Autowired
private ReportingService service;

public List<Report> get() throws TechnicalException, FunctionalException
{
    return service.get(Lists.newArrayList(new Id("reportId")));
}

Création de rapport

Les exemples suivants montrent comment créer des rapports en utilisant l’opération de création.

Création de rapports :


POST {{core}}/rest/report HTTP/1.1

-- Paramètres d'URL --
core: host de FlowerDocs core

--Headers --
token: {{token}}
Content-Type: application/json
 
-- Body (json) --
[
  {
    "ACL": "ACL_Report",
    "displayNames": [
      {
        "language": "FR",
        "value": "nouveau rapport"
      },
      {
        "language": "EN",
        "value": "new report"
      }
    ],
    "id": "reportId",
    "name": "newReport",
    "url": "url"
  }
]

@Autowired
private ReportingService service;

public List<Report> create() throws FunctionalException, TechnicalException
{
    Report report = new Report(new Id("reportId"),
        Lists.newArrayList(new I18NLabel("nouveau rapport", "FR"), new I18NLabel("new report", "EN")),
        new Id("ACL_Report"), "newReport", "url");
    List<Report> reports = Lists.newArrayList(report);
    return service.create(reports);
}

Modification de rapport

Les exemples suivants montrent comment mettre à jour des rapports en utilisant l’opération de mise à jour.

Mise à jour de rapports par ID :


PUT {{core}}/rest/report/{ids} HTTP/1.1

-- Paramètres d'URL --
core: host de FlowerDocs core
ids : identifiants des rapports à modifier

-- Headers --
token: {{token}}
Content-Type: application/json

-- Body (json) --
[
  {
    "ACL": "ACL_Report",
    "displayNames": [
      {
        "language": "FR",
        "value": "rapport mis à jour"
      },
      {
        "language": "EN",
        "value": "updated report"
      }
    ],
    "id": "reportId",
    "name": "updatedReport",
    "url": "url"
  }
]

@Autowired
private ReportingService service;

public List<Report> update() throws FunctionalException, TechnicalException
{
    Report report = new Report(new Id("reportId"),
        Lists.newArrayList(new I18NLabel("rapport mis à jour", "FR"), new I18NLabel("updated report", "EN")),
        new Id("ACL_Report"), "updatedReport", "url");
    List<Report> reports = Lists.newArrayList(report);
    return service.update(reports);
}