information-system-model-do.../src/test/java/org/gcube/informationsystem/utils/documentation/GenerateTest.java

60 lines
2.1 KiB
Java
Raw Normal View History

2023-01-19 11:52:27 +01:00
package org.gcube.informationsystem.utils.documentation;
2023-02-07 14:34:44 +01:00
import java.util.ServiceLoader;
2023-02-08 16:46:44 +01:00
import org.gcube.informationsystem.base.reference.AccessType;
import org.gcube.informationsystem.base.reference.Element;
2023-02-07 15:18:58 +01:00
import org.gcube.informationsystem.discovery.ISModelRegistrationProvider;
2023-02-07 14:34:44 +01:00
import org.gcube.informationsystem.discovery.RegistrationProvider;
2023-02-08 16:46:44 +01:00
import org.gcube.informationsystem.discovery.knowledge.ModelKnowledge;
import org.gcube.informationsystem.tree.Tree;
2023-02-07 14:09:25 +01:00
import org.gcube.informationsystem.utils.documentation.generator.TreeGenerator;
2023-01-25 10:35:00 +01:00
import org.gcube.informationsystem.utils.documentation.model.DocumentationGenerator;
2023-01-19 11:52:27 +01:00
import org.junit.Test;
2023-02-08 16:46:44 +01:00
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
2023-01-19 11:52:27 +01:00
/**
* @author Luca Frosini (ISTI - CNR)
*/
public class GenerateTest {
2023-02-08 16:46:44 +01:00
public static Logger logger = LoggerFactory.getLogger(GenerateTest.class);
2023-01-19 11:52:27 +01:00
@Test
public void testDocGeneration() throws Exception {
2023-01-25 10:35:00 +01:00
DocumentationGenerator.setDefaultOffsetLevel(2);
2023-02-07 15:18:58 +01:00
2023-02-07 14:34:44 +01:00
ServiceLoader<? extends RegistrationProvider> registrationProviders = ServiceLoader
.load(RegistrationProvider.class);
for(RegistrationProvider rp : registrationProviders) {
TreeGenerator treeGenerator = new TreeGenerator(rp);
2023-02-08 15:57:36 +01:00
if(rp instanceof ISModelRegistrationProvider) {
treeGenerator.setSplittedFiles(false);
treeGenerator.setDesiredFileName("is-model");
}else {
treeGenerator.setSplittedFiles(true);
}
2023-02-07 14:34:44 +01:00
treeGenerator.generate();
2023-02-08 16:46:44 +01:00
logger.info("-------- Analising Discovery for model '{}'", rp.getModelName());
ModelKnowledge modelKnowledge = treeGenerator.getModelKnowledge();
ResultAnaliser ra = new ResultAnaliser(rp);
modelKnowledge.addDiscoveredElementActions(ra);
logger.info("-------- Analising Trees for model '{}'", rp.getModelName());
AccessType[] accessTypes = AccessType.getModelTypes();
for(AccessType accessType : accessTypes) {
logger.info(" ------------- Analising Tree of '{}' for model '{}'", accessType.getName() ,rp.getModelName());
Tree<Class<Element>> tree = modelKnowledge.getClassesTree(accessType);
tree.elaborate(ra);
}
2023-02-07 14:34:44 +01:00
}
2023-01-19 11:52:27 +01:00
}
2023-01-25 10:35:00 +01:00
2023-01-19 11:52:27 +01:00
}