Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
120 changes: 46 additions & 74 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
<groupId>com.microfocus.adm.almoctane.sdk</groupId>
<artifactId>sdk-root</artifactId>
<packaging>pom</packaging>
<version>25.4-SNAPSHOT</version>
<version>26.4-SNAPSHOT</version>
<name>ALM Octane REST API SDK</name>
<description>The Java SDK that can be used to access Octane's REST API without worrying about REST or HTTP
</description>
Expand Down Expand Up @@ -82,40 +82,44 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

<java.version>1.8</java.version>
<java.version>21</java.version>

<slf4j.version>1.7.25</slf4j.version>
<logback.version>1.5.18</logback.version>
<slf4j.version>2.0.18</slf4j.version>
<logback.version>1.5.34</logback.version>

<google-api-client.version>1.44.1</google-api-client.version>
<guava.version>33.0.0-jre</guava.version>
<org-json.version>20240303</org-json.version>
<json-path.version>2.9.0</json-path.version>
<google-api-client.version>2.1.0</google-api-client.version>
<guava.version>33.6.0-jre</guava.version>
<org-json.version>20260522</org-json.version>
<json-path.version>3.0.0</json-path.version>

<commons-beanutils.version>1.9.4</commons-beanutils.version>
<commons-io.version>2.19.0</commons-io.version>
<commons-lang3>3.12.0</commons-lang3>
<commons-beanutils.version>1.11.0</commons-beanutils.version>
<commons-io.version>2.22.0</commons-io.version>
<commons-lang3>3.20.0</commons-lang3>

<maven-release.version>2.5.3</maven-release.version>
<maven-surefire.version>2.19.1</maven-surefire.version>
<maven-javadoc-plugin.version>2.10.4</maven-javadoc-plugin.version>
<maven-gpg-plugin.version>1.5</maven-gpg-plugin.version>
<maven-source-plugin.version>2.2.1</maven-source-plugin.version>
<maven-compiler.version>3.5.1</maven-compiler.version>
<maven-plugin-plugin.version>3.6.0</maven-plugin-plugin.version>
<maven-plugin-api.version>3.6.0</maven-plugin-api.version>
<maven-plugin-annotations.version>3.6.0</maven-plugin-annotations.version>
<nexus-staging-maven-plugin.version>1.6.7</nexus-staging-maven-plugin.version>
<maven-surefire.version>3.5.6</maven-surefire.version>
<maven-javadoc-plugin.version>3.12.0</maven-javadoc-plugin.version>
<maven-gpg-plugin.version>3.2.8</maven-gpg-plugin.version>
<maven-source-plugin.version>3.4.0</maven-source-plugin.version>
<maven-compiler.version>3.15.0</maven-compiler.version>
<maven-plugin-plugin.version>3.15.2</maven-plugin-plugin.version>
<maven-plugin-api.version>3.9.16</maven-plugin-api.version>
<maven-plugin-annotations.version>3.15.2</maven-plugin-annotations.version>
<nexus-staging-maven-plugin.version>1.7.0</nexus-staging-maven-plugin.version>
<junit-jupiter.version>6.1.0</junit-jupiter.version>

<org.javassist.version>3.20.0-GA</org.javassist.version>
<org.apache.velocity.version>1.7</org.apache.velocity.version>
<org.apache.velocity.version>2.4.1</org.apache.velocity.version>

<junit.version>4.13.1</junit.version>
<powermock.version>1.6.1</powermock.version>
<mockito.version>1.9.5</mockito.version>
<cobertura.version>2.7</cobertura.version>
<junit.version>4.13.2</junit.version>
<mockito.version>5.23.0</mockito.version>

<jetty.version>9.4.54.v20240208</jetty.version>
<jetty.version>12.1.10</jetty.version>
<jakarta.annotation-api.version>3.0.0</jakarta.annotation-api.version>
<mockserver.version>7.1.0</mockserver.version>

<google-libraries-bom.version>26.84.0</google-libraries-bom.version>
<jacoco-maven-plugin.version>0.8.15</jacoco-maven-plugin.version>
<license-maven-plugin.version>5.0.0</license-maven-plugin.version>
</properties>

<dependencies>
Expand All @@ -132,13 +136,12 @@
<scope>test</scope>
</dependency>
</dependencies>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>libraries-bom</artifactId>
<version>16.3.0</version>
<version>${google-libraries-bom.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
Expand Down Expand Up @@ -168,42 +171,12 @@
<artifactId>commons-lang3</artifactId>
<version>${commons-lang3}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>${powermock.version}</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
<version>${powermock.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>${mockito.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>${org.javassist.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
Expand All @@ -222,7 +195,7 @@
<plugin>
<groupId>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>3.0</version>
<version>${license-maven-plugin.version}</version>
<configuration>
<!-- Update this file accordingly to change the license everywhere -->
<header>LICENSE.txt</header>
Expand Down Expand Up @@ -263,14 +236,16 @@
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler.version}</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<release>${java.version}</release>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire.version}</version>
<configuration>
<argLine>--add-opens java.base/java.nio.charset=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED</argLine>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
Expand All @@ -287,20 +262,17 @@
<pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>${cobertura.version}</version>
<configuration>
<formats>
<format>xml</format>
</formats>
</configuration>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco-maven-plugin.version}</version>
<executions>
<execution>
<goals>
<goal>clean</goal>
<goal>check</goal>
</goals>
<goals><goal>prepare-agent</goal></goals>
</execution>
<execution>
<id>report</id>
<phase>test</phase>
<goals><goal>report</goal></goals>
</execution>
</executions>
</plugin>
Expand Down
8 changes: 1 addition & 7 deletions sdk-extension/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
<parent>
<artifactId>sdk-root</artifactId>
<groupId>com.microfocus.adm.almoctane.sdk</groupId>
<version>25.4-SNAPSHOT</version>
<version>26.4-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand All @@ -53,12 +53,6 @@
</modules>

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.microfocus.adm.almoctane.sdk</groupId>
<artifactId>sdk-src</artifactId>
Expand Down
10 changes: 1 addition & 9 deletions sdk-extension/sdk-extension-src/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
<parent>
<groupId>com.microfocus.adm.almoctane.sdk.extension</groupId>
<artifactId>sdk-extension-root</artifactId>
<version>25.4-SNAPSHOT</version>
<version>26.4-SNAPSHOT</version>
</parent>

<name>ALM Octane REST API SDK Extension</name>
Expand Down Expand Up @@ -62,14 +62,6 @@
<profiles>
<profile>
<id>coverage</id>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>build-deployment</id>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,31 +53,26 @@ public BusinessRuleEntityModel(EntityModel entityModel, boolean convert) {
private EntityModel convert(EntityModel entityModel) {
entityModel.setValues(entityModel.getValues().stream()
.map(fieldModel -> {
if (fieldModel instanceof ArrayFieldModel) {
ArrayFieldModel arrayFieldModel = (ArrayFieldModel) fieldModel;
if (fieldModel instanceof ArrayFieldModel arrayFieldModel) {

return new ReferenceArrayFieldModel(fieldModel.getName(),
getEntitiesFromArray(new JSONArray(arrayFieldModel.getValue())));
} else if (fieldModel instanceof ObjectFieldModel) {
ObjectFieldModel objectFieldModel = (ObjectFieldModel) fieldModel;
} else if (fieldModel instanceof ObjectFieldModel objectFieldModel) {

return new ReferenceFieldModel(fieldModel.getName(),
convert(ModelParser.getInstance().getEntityModel(new JSONObject(objectFieldModel.getValue()))));
} else if (fieldModel instanceof StringFieldModel) {
StringFieldModel stringFieldModel = (StringFieldModel) fieldModel;
} else if (fieldModel instanceof StringFieldModel stringFieldModel) {

if (!Stream.of("comment", "value").collect(Collectors.toSet()).contains(fieldModel.getName())) {
Fact fact = Fact.getFact(stringFieldModel.getValue());
if (fact != null) {
return new FactFieldModel(stringFieldModel.getName(), fact);
}
}
} else if (fieldModel instanceof ReferenceFieldModel) {
ReferenceFieldModel refFieldModel = (ReferenceFieldModel) fieldModel;
} else if (fieldModel instanceof ReferenceFieldModel refFieldModel) {

return new ReferenceFieldModel(fieldModel.getName(), convert(refFieldModel.getValue()));
} else if (fieldModel instanceof MultiReferenceFieldModel) {
MultiReferenceFieldModel multiReferenceFieldModel = (MultiReferenceFieldModel) fieldModel;
} else if (fieldModel instanceof MultiReferenceFieldModel multiReferenceFieldModel) {

return new MultiReferenceFieldModel(multiReferenceFieldModel.getName(),
multiReferenceFieldModel.getValue().stream()
Expand All @@ -104,14 +99,11 @@ public Collection<Fact> getFacts() {
Collection<Fact> facts = new ArrayList<>();

this.getValues().forEach(fieldModel -> {
if (fieldModel instanceof FactFieldModel) {
facts.add(((FactFieldModel) fieldModel).getValue());
} else if (fieldModel instanceof MultiReferenceFieldModel) {
MultiReferenceFieldModel multiRefFieldModel = (MultiReferenceFieldModel) fieldModel;
multiRefFieldModel.getValue().forEach(em -> facts.addAll(new BusinessRuleEntityModel(em, false).getFacts()));
} else if (fieldModel instanceof ReferenceFieldModel) {
ReferenceFieldModel refFieldModel = (ReferenceFieldModel) fieldModel;
facts.addAll(new BusinessRuleEntityModel(refFieldModel.getValue(), false).getFacts());
switch (fieldModel) {
case FactFieldModel model -> facts.add(model.getValue());
case MultiReferenceFieldModel multiRefFieldModel -> multiRefFieldModel.getValue().forEach(em -> facts.addAll(new BusinessRuleEntityModel(em, false).getFacts()));
case ReferenceFieldModel refFieldModel -> facts.addAll(new BusinessRuleEntityModel(refFieldModel.getValue(), false).getFacts());
case null, default -> {}
}
});

Expand Down
2 changes: 1 addition & 1 deletion sdk-extension/sdk-extension-usage-examples/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
<parent>
<groupId>com.microfocus.adm.almoctane.sdk.extension</groupId>
<artifactId>sdk-extension-root</artifactId>
<version>25.4-SNAPSHOT</version>
<version>26.4-SNAPSHOT</version>
</parent>

<name>ALM Octane REST API SDK Extension Examples</name>
Expand Down
4 changes: 2 additions & 2 deletions sdk-generate-entity-models-maven-plugin/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
<parent>
<artifactId>sdk-root</artifactId>
<groupId>com.microfocus.adm.almoctane.sdk</groupId>
<version>25.4-SNAPSHOT</version>
<version>26.4-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>maven-plugin</packaging>
Expand Down Expand Up @@ -103,7 +103,7 @@
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<artifactId>velocity-engine-core</artifactId>
<version>${org.apache.velocity.version}</version>
</dependency>
<dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,6 @@
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
Expand Down Expand Up @@ -103,10 +102,10 @@ public GenerateModels(final File outputDirectory) {
enumsDirectory.mkdirs();

final VelocityEngine velocityEngine = new VelocityEngine();
velocityEngine.setProperty("resource.loader", "class");
velocityEngine.setProperty("class.resource.loader.description", "Velocity Classpath Resource Loader");
velocityEngine.setProperty(VelocityEngine.RUNTIME_LOG_LOGSYSTEM, new SLF4JLogChute());
velocityEngine.setProperty("class.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
// Velocity 2.x property names (resource.loaders plural, new namespace)
velocityEngine.setProperty("resource.loaders", "class");
velocityEngine.setProperty("resource.loader.class.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
// No log system configuration needed — Velocity 2.x logs via SLF4J natively

velocityEngine.init();

Expand Down Expand Up @@ -209,7 +208,7 @@ private Map<String, String> generateLists(Octane octane) throws IOException {

final String[] listNodeInfo = {name, ((StringFieldModel) listNode.getValue("id")).getValue()};
if (listRootFieldModel instanceof EmptyFieldModel) {
listHierarchy.add(0, listNodeInfo);
listHierarchy.addFirst(listNodeInfo);
} else {
listHierarchy.add(listNodeInfo);
}
Expand All @@ -218,9 +217,9 @@ private Map<String, String> generateLists(Octane octane) throws IOException {
for (final Map.Entry<String, List<String[]>> entry : mappedListNodes.entrySet()) {
final String rootId = entry.getKey();
final List<String[]> nodes = entry.getValue();
final String className = nodes.get(0)[0];
final String className = nodes.getFirst()[0];

final Path listDirectoryPath = enumsDirectory.toPath().resolve(Paths.get("lists", getPackageForRootIdForList(rootId).split("\\.")));
final Path listDirectoryPath = enumsDirectory.toPath().resolve(Path.of("lists", getPackageForRootIdForList(rootId).split("\\.")));
final File listDirectoryPathFile = listDirectoryPath.toFile();
//noinspection ResultOfMethodCallIgnored
listDirectoryPathFile.mkdirs();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -314,7 +314,7 @@ public String getUrl() {
public static EntityMetadataWrapper entityMetadataWrapper(final EntityMetadata entityMetadata) {
final EntityMetadataWrapper entityMetadataWrapper = new EntityMetadataWrapper();
final Optional<Feature> restFeatureOptional = entityMetadata.features().stream().filter(feature -> feature instanceof RestFeature).findAny();
if (!restFeatureOptional.isPresent()) {
if (restFeatureOptional.isEmpty()) {
return entityMetadataWrapper;
}

Expand Down
Loading