Fixed doc generation
This commit is contained in:
parent
f06dbb302c
commit
2975b5d613
7
pom.xml
7
pom.xml
|
@ -56,6 +56,13 @@
|
|||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
</dependency>
|
||||
<!-- https://mvnrepository.com/artifact/org.nuiton.jrst/jrst -->
|
||||
<dependency>
|
||||
<groupId>org.nuiton.jrst</groupId>
|
||||
<artifactId>jrst</artifactId>
|
||||
<version>2.4</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Test Dependencies -->
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package org.gcube.informationsystem.utils.documentation.generator;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.ServiceLoader;
|
||||
|
@ -24,7 +23,7 @@ public class ClassesDiscoveryGenerator extends Generator {
|
|||
|
||||
}
|
||||
|
||||
protected List<Package> getPackages(){
|
||||
public List<Package> getPackages(){
|
||||
|
||||
List<Package> packages = new ArrayList<Package>();
|
||||
|
||||
|
@ -38,25 +37,32 @@ public class ClassesDiscoveryGenerator extends Generator {
|
|||
Class<Element> clz = accessType.getTypeClass();
|
||||
packages.add(clz.getPackage());
|
||||
}
|
||||
|
||||
|
||||
return packages;
|
||||
}
|
||||
|
||||
public List<Package> getExtensionsPackages(){
|
||||
List<Package> packages = new ArrayList<Package>();
|
||||
ServiceLoader<? extends RegistrationProvider> regsitrationProviders = ServiceLoader
|
||||
.load(RegistrationProvider.class);
|
||||
for(RegistrationProvider registrationProvider : regsitrationProviders) {
|
||||
packages.addAll(registrationProvider.getPackagesToRegister());
|
||||
}
|
||||
|
||||
return packages;
|
||||
}
|
||||
|
||||
public void generate() throws Exception {
|
||||
List<Package> pkgs = getPackages();
|
||||
generate(pkgs.toArray(new Package[pkgs.size()]));
|
||||
List<Package> packages = getPackages();
|
||||
packages.addAll(getExtensionsPackages());
|
||||
generate(packages);
|
||||
}
|
||||
|
||||
protected <E extends Element> void discover(AccessType at, Package[] packages) throws Exception {
|
||||
protected <E extends Element> void discover(AccessType at, List<Package> packages) throws Exception {
|
||||
ElementSpecilizationDiscovery<E> discovery = new ElementSpecilizationDiscovery<>(at.getTypeClass(), false);
|
||||
if(Objects.nonNull(packages)) {
|
||||
Arrays.stream(packages).forEach(p -> discovery.addPackage(p));
|
||||
for(Package p : packages) {
|
||||
discovery.addPackage(p);
|
||||
}
|
||||
}
|
||||
discovery.discover();
|
||||
|
||||
|
@ -66,7 +72,7 @@ public class ClassesDiscoveryGenerator extends Generator {
|
|||
}
|
||||
}
|
||||
|
||||
protected void generate(Package[] packages) throws Exception {
|
||||
public void generate(List<Package> packages) throws Exception {
|
||||
treeGenerator = new TreeGenerator();
|
||||
AccessType[] types = new AccessType[] {
|
||||
AccessType.PROPERTY,
|
||||
|
|
|
@ -30,6 +30,16 @@ public abstract class DocumentationGenerator {
|
|||
public static final String NO_ADDITIONAL_ATTRIBUTE = "This type does not define any additional attributes.";
|
||||
public static final String NO_SPECIFIC_KNOWN_USAGE = "No specific known usage for this type.";
|
||||
|
||||
protected static int defaultOffsetLevel = 0;
|
||||
|
||||
public static int getDefaultOffsetLevel() {
|
||||
return defaultOffsetLevel;
|
||||
}
|
||||
|
||||
public static void setDefaultOffsetLevel(int defaultOffsetLevel) {
|
||||
DocumentationGenerator.defaultOffsetLevel = defaultOffsetLevel;
|
||||
}
|
||||
|
||||
protected final Type type;
|
||||
protected final AccessType requiredType;
|
||||
protected String superClassToBeExcluded;
|
||||
|
@ -46,7 +56,7 @@ public abstract class DocumentationGenerator {
|
|||
}
|
||||
this.requiredNumberOfColumns = DEFAULT_NUMBER_OF_COLUMNS;
|
||||
this.superClassToBeExcluded = null;
|
||||
this.offsetLevel = 0;
|
||||
this.offsetLevel = DocumentationGenerator.defaultOffsetLevel;
|
||||
}
|
||||
|
||||
public void setLevel(int level) {
|
||||
|
@ -338,7 +348,7 @@ public abstract class DocumentationGenerator {
|
|||
Section section = new Section();
|
||||
int sectionLevel = level+offsetLevel;
|
||||
SectionType[] sectionTypes = SectionType.values();
|
||||
int maxSectionLevel = sectionTypes.length;
|
||||
int maxSectionLevel = sectionTypes.length-1;
|
||||
sectionLevel = sectionLevel>=maxSectionLevel ? maxSectionLevel : sectionLevel;
|
||||
SectionType sectionType = SectionType.values()[sectionLevel];
|
||||
section.setSectionType(sectionType);
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package org.gcube.informationsystem.utils.documentation;
|
||||
|
||||
import org.gcube.informationsystem.utils.documentation.generator.ClassesDiscoveryGenerator;
|
||||
import org.gcube.informationsystem.utils.documentation.model.DocumentationGenerator;
|
||||
import org.junit.Test;
|
||||
|
||||
/**
|
||||
|
@ -10,7 +11,9 @@ public class GenerateTest {
|
|||
|
||||
@Test
|
||||
public void testDocGeneration() throws Exception {
|
||||
DocumentationGenerator.setDefaultOffsetLevel(2);
|
||||
ClassesDiscoveryGenerator documentationGenerator = new ClassesDiscoveryGenerator();
|
||||
documentationGenerator.generate();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue