Commit a98af243 authored by Maxime Lefrançois's avatar Maxime Lefrançois
Browse files

generation of the website for the ontology and the terms

parent 5f5e1572
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -5,7 +5,6 @@ build:
  script:
    - git clone https://github.com/sparql-generate/sparql-generate.git
    - cd sparql-generate
    - git checkout save18102019
    - cd sparql-generate-parent
    - mvn install -Pskip
    - cd ../..
+5 −0
Original line number Diff line number Diff line
@@ -110,6 +110,11 @@ public class CLIExecution implements SAREFCredentialsProvider {
			
			String dirName = "";
			if(!cl.getArgList().isEmpty()) {
				if(cl.getArgList().size()>1) {
					LOG.error("There should be at most one <target>.");
					displayHelp(-1);
					throw new RuntimeException();
				}
				dirName = cl.getArgList().get(0);
			}
			directory = new File(dirName).getCanonicalFile();
+40 −10
Original line number Diff line number Diff line
@@ -34,10 +34,18 @@ import java.nio.charset.StandardCharsets;
import javax.swing.SwingUtilities;

import org.apache.commons.io.IOUtils;
import org.apache.jena.query.QueryFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import fr.emse.ci.sparqlext.SPARQLExt;
import fr.emse.ci.sparqlext.engine.PlanFactory;
import fr.emse.ci.sparqlext.engine.RootPlan;
import fr.emse.ci.sparqlext.query.SPARQLExtQuery;
import fr.emse.gitlab.saref.SAREFPipeline.Mode;
import fr.emse.gitlab.saref.gui.MainFrame;
import fr.emse.gitlab.saref.managers.RepositoryManager;
import fr.emse.gitlab.saref.tests.TestSuites;

/**
 *
@@ -47,6 +55,7 @@ import fr.emse.gitlab.saref.gui.MainFrame;
public class Main {

	private static final Logger LOG = LoggerFactory.getLogger(Main.class);
	private static final boolean CAN_BROWSE = Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Desktop.Action.BROWSE);

	public static void main(String[] args) {
		if (args.length == 0 && !GraphicsEnvironment.isHeadless()) {
@@ -59,24 +68,45 @@ public class Main {
	private static void mainCLI(String[] args) {
		CLIExecution cliExecution = new CLIExecution();
		final SAREFPipeline pipeline = cliExecution.getSAREFPipeline(args);
		TestSuites testSuites = pipeline.run();
		try {
			boolean reportGenerated = pipeline.run();
			if (reportGenerated) {
				try {	
					final File reportHTML = new File(pipeline.targetDir, "site/report.html");
					if (Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Desktop.Action.BROWSE)) {
			if(pipeline.mode != Mode.CLEAN) {
				System.out.println(String.format("\n\nThe SAREF Pipeline completed with %s errors and %s warnings\n", testSuites.getErrors(), testSuites.getFailures()));
				if(pipeline.ignoreSite) {
					File report = new File(pipeline.targetDir, "report_output.xml");
					System.out.println("\n\n\nSAREF Pipeline report:\n" + report.getCanonicalPath());
				} else {
					File reportHTML = new File(pipeline.targetDir, "site/report.html");
					if(reportHTML.isFile()) { 
						if (CAN_BROWSE)
							Desktop.getDesktop().browse(reportHTML.toURI());
						else {
							System.out.println("\n\n\nSAREF pipeline report:\n" + reportHTML.getCanonicalPath());
						}
					} else {
						System.out.println("\n\n\nURL to the SAREF pipeline report:\n" + reportHTML.getCanonicalPath());
						File report = new File(pipeline.targetDir, "report_output.xml");
						System.out.println("\n\n\nSAREF Pipeline report:\n" + report.getCanonicalPath());
					}
				} catch (IOException ex) {
					throw new SAREFPipelineException(ex);
					RepositoryManager target = pipeline.getSourcesManager().getTargetRepositoryManager();
					if(target != null) {
						File siteDir = new File(pipeline.targetDir, SAREF.NAME_SITE);
						File ontoDir = new File(siteDir, target.getCurrentVersion().getVersionPath());
						File documentationHTML = new File(ontoDir, String.format("%s.html", target.getRepository().getOntologyFileName()));
						if (CAN_BROWSE) {
							Desktop.getDesktop().browse(documentationHTML.toURI());
						} else {
							System.out.println(String.format("\nDocumentation for %s %s: %s\n", target.getRepository().getProject(), target.getCurrentVersionName(), documentationHTML.getCanonicalPath()));
						}
					}
		} catch (SAREFPipelineException ex) {
				}
			}
		} catch (IOException ex) {
			LOG.error("Exception:", ex);
			System.exit(-1);
		}
		if(testSuites.getErrors()>0) {
			System.exit(-1);
		}
	}

	private static void mainGUI() {
+2 −0
Original line number Diff line number Diff line
@@ -44,6 +44,8 @@ public class SAREF {
//	public static final String SAREF_PORTAL_STATIC_GIT = "https://forge.etsi.org/rep/SAREF/saref-portal-static.git"; // uncomment when the project is public
	public static final String LOGGER_BASE = "saref.pipeline";
	
	public static final String NAME_SITE = "site";

	public static <T> String getMessage(String key, Object... args) {
		String msg = BUNDLE.getString(key);
		if (args != null) {
+3 −0
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ import org.slf4j.Logger;

import fr.emse.gitlab.saref.managers.DatasetManager;
import fr.emse.gitlab.saref.managers.OntologyManager;
import fr.emse.gitlab.saref.managers.SiteManager;
import fr.emse.gitlab.saref.managers.SourcesManager;

public abstract class SAREFErrorLogger {
@@ -41,6 +42,7 @@ public abstract class SAREFErrorLogger {
	protected final DatasetManager datasetManager;
	protected final SourcesManager sourcesManager;
	protected final OntologyManager ontologyManager;
	protected final SiteManager siteManager;
	protected final ResourceBundle bundle;
	
	protected final Logger errorLogger;
@@ -50,6 +52,7 @@ public abstract class SAREFErrorLogger {
		this.datasetManager = pipeline.getDatasetManager();
		this.sourcesManager = pipeline.getSourcesManager();
		this.ontologyManager = pipeline.getOntologyManager();
		this.siteManager = pipeline.getSiteManager();
		this.errorLogger = errorLogger;
		this.bundle = ResourceBundle.getBundle("messages/" + getClass().getSimpleName());
	}
Loading