IndicatorsJspBean.java
package fr.paris.lutece.plugins.identitystore.web;
import fr.paris.lutece.plugins.identitystore.business.identity.IdentityHome;
import fr.paris.lutece.plugins.identitystore.business.identity.IndicatorsActionsType;
import fr.paris.lutece.plugins.identitystore.service.indexer.elastic.client.ElasticClientException;
import fr.paris.lutece.plugins.identitystore.service.indexer.elastic.index.service.IIdentityIndexer;
import fr.paris.lutece.plugins.identitystore.service.indexer.elastic.index.task.UsingElasticConnection;
import fr.paris.lutece.plugins.identitystore.v3.web.rs.dto.history.IdentityChangeType;
import fr.paris.lutece.portal.service.util.AppPropertiesService;
import fr.paris.lutece.portal.util.mvc.admin.MVCAdminJspBean;
import fr.paris.lutece.portal.util.mvc.admin.annotations.Controller;
import fr.paris.lutece.portal.util.mvc.commons.annotations.Action;
import fr.paris.lutece.portal.util.mvc.commons.annotations.View;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Controller( controllerJsp = "Indicators.jsp", controllerPath = "jsp/admin/plugins/identitystore/", right = "IDENTITYSTORE_MANAGEMENT" )
public class IndicatorsJspBean extends MVCAdminJspBean implements UsingElasticConnection
{
//Templates
private static final String TEMPLATE_INDICATORS = "/admin/plugins/identitystore/indicators.html";
//Parameters
//Properties
private static final String PROPERTY_PAGE_TITLE_INDICATORS = "";
private final String PROPERTY_CURRENT_INDEX_ALIAS = AppPropertiesService.getProperty( "identitystore.elastic.client.identities.alias", "identities-alias" );
//Markers
private static final String MARKER_COUNT_IDENTITIES = "count_identities";
private static final String MARKER_COUNT_DELETED_IDENTITIES = "count_deleted_identities";
private static final String MARKER_COUNT_MERGED_IDENTITIES = "count_merged_identities";
private static final String MARKER_COUNT_MONPARIS_IDENTITIES = "count_monparis_identities";
private static final String MARKER_COUNT_INDEXED_IDENTITIES = "count_indexed_identities";
//Views
private static final String VIEW_INDICATORS = "viewIndicators";
//Infos
// Session variable to store working values
@View( value = VIEW_INDICATORS, defaultView = true )
public String getViewIndicators( HttpServletRequest request ) throws ElasticClientException
{
Integer countIdentities = IdentityHome.getCountIdentities();
Integer countDeletedIdentities = IdentityHome.getCountDeletedIdentities(true);
Integer countMergedIdentities = IdentityHome.getCountMergedIdentities(true);
Integer countMonparisIdentities = IdentityHome.getCountActiveMonParisdentities(true);
final IIdentityIndexer identityIndexer = this.createIdentityIndexer( );
String countIndexedIdentities = "";
if(identityIndexer.isAlive())
{
countIndexedIdentities = identityIndexer.getIndexedIdentitiesNumber(PROPERTY_CURRENT_INDEX_ALIAS);
}
Map<String, Object> model = new HashMap<>();
model.put( MARKER_COUNT_IDENTITIES, countIdentities);
model.put( MARKER_COUNT_DELETED_IDENTITIES, countDeletedIdentities);
model.put( MARKER_COUNT_MERGED_IDENTITIES, countMergedIdentities);
model.put( MARKER_COUNT_MONPARIS_IDENTITIES, countMonparisIdentities);
model.put( MARKER_COUNT_INDEXED_IDENTITIES, countIndexedIdentities);
return getPage( PROPERTY_PAGE_TITLE_INDICATORS, TEMPLATE_INDICATORS, model );
}
}