
org.ikasan.dashboard.ui.visualisation.view.GraphVisualisationDeepLinkView Maven / Gradle / Ivy
The newest version!
package org.ikasan.dashboard.ui.visualisation.view;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.component.page.Push;
import com.vaadin.flow.component.page.Viewport;
import com.vaadin.flow.router.*;
import com.vaadin.flow.spring.annotation.UIScope;
import com.vaadin.flow.theme.Theme;
import com.vaadin.flow.theme.material.Material;
import org.ikasan.dashboard.ui.util.DashboardContextNavigator;
import org.ikasan.dashboard.ui.util.DateFormatter;
import org.ikasan.rest.client.ReplayRestServiceImpl;
import org.ikasan.rest.client.ResubmissionRestServiceImpl;
import org.ikasan.solr.model.IkasanSolrDocument;
import org.ikasan.solr.model.IkasanSolrDocumentSearchResults;
import org.ikasan.spec.hospital.service.HospitalAuditService;
import org.ikasan.spec.metadata.*;
import org.ikasan.spec.module.client.ConfigurationService;
import org.ikasan.spec.module.client.MetaDataService;
import org.ikasan.spec.module.client.ModuleControlService;
import org.ikasan.spec.module.client.TriggerService;
import org.ikasan.spec.persistence.BatchInsert;
import org.ikasan.spec.solr.SolrGeneralService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import javax.annotation.security.PermitAll;
@Route(value = "visualisationTab")
@UIScope
@Component
@PermitAll
@PreserveOnRefresh
public class GraphVisualisationDeepLinkView extends VerticalLayout implements HasUrlParameter, BeforeEnterObserver
{
Logger logger = LoggerFactory.getLogger(GraphVisualisationDeepLinkView.class);
private GraphVisualisation graphVisualisation;
private SolrGeneralService solrSearchService;
private ModuleControlService moduleControlRestService;
private ModuleMetaDataService moduleMetadataService;
private ConfigurationService configurationRestService;
private TriggerService triggerRestService;
private ConfigurationMetaDataService configurationMetadataService;
private BusinessStreamMetaDataService businessStreamMetaDataService;
private SolrGeneralService solrGeneralService;
private HospitalAuditService hospitalAuditService;
private ResubmissionRestServiceImpl resubmissionRestService;
private ReplayRestServiceImpl replayRestService;
private BatchInsert replayAuditService;
private MetaDataService metaDataApplicationRestService;
private BatchInsert moduleMetadataBatchInsert;
@Value(value = "${integrated.systems.image.path}")
private String dynamicImagePath;
@Value("${max.download.bytes:50000000}")
private int maxDownloadBytes;
private boolean initialised = false;
private String visualisationType = null;
private String visualisationName = null;
private DateFormatter dateFormatter;
public GraphVisualisationDeepLinkView(SolrGeneralService solrSearchService, ModuleControlService moduleControlRestService,
@Qualifier("moduleMetadataService") ModuleMetaDataService moduleMetadataService, ConfigurationService configurationRestService,
@Qualifier("configurationMetadataService") ConfigurationMetaDataService configurationMetadataService,
BusinessStreamMetaDataService businessStreamMetaDataService,
SolrGeneralService solrGeneralService,
HospitalAuditService hospitalAuditService,
ResubmissionRestServiceImpl resubmissionRestService,
ReplayRestServiceImpl replayRestService,
@Qualifier("replayEventBatchInsert") BatchInsert replayAuditService,
MetaDataService metaDataApplicationRestService,
@Qualifier("moduleMetadataBatchInsert") BatchInsert moduleMetadataBatchInsert,
TriggerService triggerRestService,
DateFormatter dateFormatter)
{
this.solrSearchService = solrSearchService;
this.moduleControlRestService = moduleControlRestService;
this.moduleMetadataService = moduleMetadataService;
this.configurationRestService = configurationRestService;
this.configurationMetadataService = configurationMetadataService;
this.businessStreamMetaDataService = businessStreamMetaDataService;
this.solrGeneralService = solrGeneralService;
this.hospitalAuditService = hospitalAuditService;
this.resubmissionRestService = resubmissionRestService;
this.replayRestService = replayRestService;
this.replayAuditService = replayAuditService;
this.metaDataApplicationRestService = metaDataApplicationRestService;
this.moduleMetadataBatchInsert = moduleMetadataBatchInsert;
this.triggerRestService = triggerRestService;
this.dateFormatter = dateFormatter;
}
private void init() {
this.graphVisualisation = new GraphVisualisation(solrSearchService,
moduleControlRestService, moduleMetadataService, configurationRestService,
configurationMetadataService, businessStreamMetaDataService, solrGeneralService,
hospitalAuditService, resubmissionRestService, replayRestService, replayAuditService,
metaDataApplicationRestService, moduleMetadataBatchInsert, triggerRestService, dynamicImagePath,
this.dateFormatter, this.maxDownloadBytes);
this.add(graphVisualisation);
this.setSizeFull();
}
@Override
public void setParameter(BeforeEvent beforeEvent, String parameter) {
if(parameter.contains(":")) {
logger.info(String.format("Deep link event life identifier [%s]", parameter));
this.visualisationType = parameter.substring(0, parameter.indexOf(":"));
this.visualisationName = parameter.substring(parameter.indexOf(":") + 1);
}
}
@Override
public void beforeEnter(BeforeEnterEvent beforeEnterEvent) {
if(!initialised) {
// Go to default view if there is no visualisation name
if(this.visualisationName == null) {
DashboardContextNavigator.navigateToLandingPage();
}
this.init();
this.graphVisualisation.setVisualisationName(this.visualisationName);
this.graphVisualisation.setVisualisationType(this.visualisationType);
this.graphVisualisation.beforeEnter(beforeEnterEvent);
this.initialised = true;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy