-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 82a1cba
Showing
22 changed files
with
984 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
name: Java CI | ||
|
||
on: [push] | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Set up JDK 17 | ||
uses: actions/setup-java@v3 | ||
with: | ||
java-version: '17' | ||
distribution: 'temurin' | ||
- name: Build with Maven | ||
run: mvn --batch-mode --update-snapshots package |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
name: Publish Docker image to Docker Hub | ||
on: | ||
release: | ||
types: | ||
- published | ||
|
||
jobs: | ||
publish: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Login to Docker Hub | ||
uses: docker/login-action@v2 | ||
with: | ||
username: ${{secrets.DOCKER_USERNAME}} | ||
password: ${{secrets.DOCKER_PASSWORD}} | ||
- uses: actions/checkout@v3 | ||
- name: Set up Maven Central Repository | ||
uses: actions/setup-java@v3 | ||
with: | ||
java-version: '17' | ||
distribution: 'adopt' | ||
server-id: docker.io | ||
server-username: DOCKER_USERNAME | ||
server-password: DOCKER_PASSWORD | ||
- name: Publish package | ||
run: mvn --batch-mode -Prelease package dockerfile:push | ||
env: | ||
DOCKER_USERNAME: ${{secrets.DOCKER_USERNAME}} | ||
DOCKER_TOKEN: ${{secrets.DOCKER_PASSWORD}} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
name: Publish package to the Maven Central Repository | ||
on: | ||
release: | ||
types: [released] | ||
|
||
jobs: | ||
publish: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Set up Maven Central Repository | ||
uses: actions/setup-java@v3 | ||
with: | ||
java-version: '17' | ||
distribution: 'adopt' | ||
server-id: ossrh | ||
server-username: OSSRH_USERNAME | ||
server-password: OSSRH_TOKEN | ||
gpg-private-key: ${{secrets.GPG_PRIVATE_KEY}} | ||
gpg-passphrase: GPG_PASSPHRASE | ||
- name: Publish package | ||
run: mvn --batch-mode -Prelease deploy | ||
env: | ||
GPG_PASSPHRASE: ${{secrets.GPG_PASSPHRASE}} | ||
OSSRH_USERNAME: ${{secrets.OSSRH_USERNAME}} | ||
OSSRH_TOKEN: ${{secrets.OSSRH_TOKEN}} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
HELP.md | ||
target/ | ||
!.mvn/wrapper/maven-wrapper.jar | ||
!**/src/main/**/target/ | ||
!**/src/test/**/target/ | ||
|
||
### STS ### | ||
.apt_generated | ||
.classpath | ||
.factorypath | ||
.project | ||
.settings | ||
.springBeans | ||
.sts4-cache | ||
|
||
### IntelliJ IDEA ### | ||
.idea | ||
*.iws | ||
*.iml | ||
*.ipr | ||
|
||
### NetBeans ### | ||
/nbproject/private/ | ||
/nbbuild/ | ||
/dist/ | ||
/nbdist/ | ||
/.nb-gradle/ | ||
build/ | ||
!**/src/main/**/build/ | ||
!**/src/test/**/build/ | ||
|
||
### VS Code ### | ||
.vscode/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
FROM openjdk:17 | ||
MAINTAINER protege.stanford.edu | ||
|
||
ARG JAR_FILE | ||
COPY target/${JAR_FILE} webprotege-initial-revision-history-service.jar | ||
ENTRYPOINT ["java","-jar","/webprotege-initial-revision-history-service.jar"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,214 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||
<modelVersion>4.0.0</modelVersion> | ||
<parent> | ||
<groupId>org.springframework.boot</groupId> | ||
<artifactId>spring-boot-starter-parent</artifactId> | ||
<version>3.2.5</version> | ||
<relativePath/> <!-- lookup parent from repository --> | ||
</parent> | ||
<groupId>edu.stanford.protege</groupId> | ||
<artifactId>webprotege-initial-revision-history-service</artifactId> | ||
<version>0.0.1</version> | ||
<name>webprotege-initial-revision-history-service</name> | ||
<description>This service reads Binary OWL ontology documents from cloud storage (using MinIO) and, from these, generates WebProtégé | ||
revision history document that contains a single revision to create these ontologies.</description> | ||
<properties> | ||
<java.version>17</java.version> | ||
</properties> | ||
|
||
|
||
<distributionManagement> | ||
<repository> | ||
<id>ossrh</id> | ||
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url> | ||
</repository> | ||
<snapshotRepository> | ||
<id>nexus-snapshots</id> | ||
<url>https://oss.sonatype.org/content/repositories/snapshots</url> | ||
</snapshotRepository> | ||
</distributionManagement> | ||
|
||
<dependencies> | ||
<dependency> | ||
<groupId>org.springframework.boot</groupId> | ||
<artifactId>spring-boot-starter</artifactId> | ||
</dependency> | ||
|
||
<dependency> | ||
<groupId>edu.stanford.protege</groupId> | ||
<artifactId>webprotege-ipc</artifactId> | ||
<version>1.0.1</version> | ||
</dependency> | ||
|
||
<dependency> | ||
<groupId>edu.stanford.protege</groupId> | ||
<artifactId>webprotege-jackson</artifactId> | ||
<version>0.9.2</version> | ||
</dependency> | ||
|
||
<dependency> | ||
<groupId>io.minio</groupId> | ||
<artifactId>minio</artifactId> | ||
<version>8.5.10</version> | ||
</dependency> | ||
|
||
<dependency> | ||
<groupId>edu.stanford.protege</groupId> | ||
<artifactId>webprotege-revision-manager</artifactId> | ||
<version>0.9.2</version> | ||
</dependency> | ||
|
||
<dependency> | ||
<groupId>org.testcontainers</groupId> | ||
<artifactId>minio</artifactId> | ||
<version>1.19.7</version> | ||
<scope>test</scope> | ||
</dependency> | ||
|
||
<dependency> | ||
<groupId>com.github.dasniko</groupId> | ||
<artifactId>testcontainers-keycloak</artifactId> | ||
<version>3.3.0</version> | ||
<scope>test</scope> | ||
</dependency> | ||
|
||
|
||
<dependency> | ||
<groupId>net.sourceforge.owlapi</groupId> | ||
<artifactId>binaryowl</artifactId> | ||
<version>2.0.1</version> | ||
</dependency> | ||
|
||
<dependency> | ||
<groupId>org.testcontainers</groupId> | ||
<artifactId>rabbitmq</artifactId> | ||
<version>1.19.7</version> | ||
<scope>test</scope> | ||
</dependency> | ||
|
||
<dependency> | ||
<groupId>org.springframework.boot</groupId> | ||
<artifactId>spring-boot-starter-test</artifactId> | ||
<scope>test</scope> | ||
</dependency> | ||
</dependencies> | ||
|
||
<build> | ||
<plugins> | ||
<plugin> | ||
<groupId>org.springframework.boot</groupId> | ||
<artifactId>spring-boot-maven-plugin</artifactId> | ||
</plugin> | ||
<plugin> | ||
<groupId>com.spotify</groupId> | ||
<artifactId>dockerfile-maven-plugin</artifactId> | ||
<version>1.4.13</version> | ||
<executions> | ||
<execution> | ||
<id>default</id> | ||
<goals> | ||
<goal>build</goal> | ||
</goals> | ||
</execution> | ||
</executions> | ||
<configuration> | ||
<repository>protegeproject/${project.artifactId}</repository> | ||
<tag>${project.version}</tag> | ||
<buildArgs> | ||
<JAR_FILE>${project.build.finalName}.jar</JAR_FILE> | ||
</buildArgs> | ||
</configuration> | ||
</plugin> | ||
</plugins> | ||
</build> | ||
|
||
<profiles> | ||
<profile> | ||
<id>release</id> | ||
<build> | ||
<plugins> | ||
<plugin> | ||
<groupId>org.apache.maven.plugins</groupId> | ||
<artifactId>maven-source-plugin</artifactId> | ||
<version>3.2.1</version> | ||
<executions> | ||
<execution> | ||
<id>attach-sources</id> | ||
<goals> | ||
<goal>jar-no-fork</goal> | ||
</goals> | ||
</execution> | ||
</executions> | ||
</plugin> | ||
|
||
<plugin> | ||
<groupId>org.apache.maven.plugins</groupId> | ||
<artifactId>maven-javadoc-plugin</artifactId> | ||
<version>3.2.0</version> | ||
<configuration> | ||
<doclint>none</doclint> | ||
<release>16</release> | ||
</configuration> | ||
<executions> | ||
<execution> | ||
<id>attach-javadocs</id> | ||
<goals> | ||
<goal>jar</goal> | ||
</goals> | ||
</execution> | ||
</executions> | ||
</plugin> | ||
|
||
<plugin> | ||
<groupId>org.apache.maven.plugins</groupId> | ||
<artifactId>maven-gpg-plugin</artifactId> | ||
<version>1.6</version> | ||
<executions> | ||
<execution> | ||
<id>sign-artifacts</id> | ||
<phase>verify</phase> | ||
<goals> | ||
<goal>sign</goal> | ||
</goals> | ||
<configuration> | ||
<gpgArguments> | ||
<arg>--pinentry-mode</arg> | ||
<arg>loopback</arg> | ||
</gpgArguments> | ||
</configuration> | ||
</execution> | ||
</executions> | ||
</plugin> | ||
|
||
<plugin> | ||
<groupId>org.sonatype.plugins</groupId> | ||
<artifactId>nexus-staging-maven-plugin</artifactId> | ||
<version>1.6.7</version> | ||
<extensions>true</extensions> | ||
<configuration> | ||
<serverId>ossrh</serverId> | ||
<nexusUrl>https://oss.sonatype.org</nexusUrl> | ||
<autoReleaseAfterClose>true</autoReleaseAfterClose> | ||
</configuration> | ||
<dependencies> | ||
<!-- | ||
TODO: | ||
Remove after OSSRH-66257, NEXUS-26993 are fixed, | ||
possibly via https://github.com/sonatype/nexus-maven-plugins/pull/91 | ||
--> | ||
<dependency> | ||
<groupId>com.thoughtworks.xstream</groupId> | ||
<artifactId>xstream</artifactId> | ||
<version>1.4.15</version> | ||
</dependency> | ||
</dependencies> | ||
</plugin> | ||
|
||
</plugins> | ||
</build> | ||
</profile> | ||
</profiles> | ||
|
||
</project> |
42 changes: 42 additions & 0 deletions
42
.../webprotege/initialrevisionhistoryservice/CreateInitialRevisionHistoryCommandHandler.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
package edu.stanford.protege.webprotege.initialrevisionhistoryservice; | ||
|
||
import edu.stanford.protege.webprotege.ipc.CommandHandler; | ||
import edu.stanford.protege.webprotege.ipc.ExecutionContext; | ||
import edu.stanford.protege.webprotege.ipc.WebProtegeHandler; | ||
import org.jetbrains.annotations.NotNull; | ||
import reactor.core.publisher.Mono; | ||
|
||
/** | ||
* Matthew Horridge | ||
* Stanford Center for Biomedical Informatics Research | ||
* 2024-05-03 | ||
*/ | ||
@WebProtegeHandler | ||
public class CreateInitialRevisionHistoryCommandHandler implements CommandHandler<CreateInitialRevisionHistoryRequest, CreateInitialRevisionHistoryResponse> { | ||
|
||
private final InitialRevisionGenerator initialRevisionGenerator; | ||
|
||
public CreateInitialRevisionHistoryCommandHandler(InitialRevisionGenerator initialRevisionGenerator) { | ||
this.initialRevisionGenerator = initialRevisionGenerator; | ||
} | ||
|
||
@NotNull | ||
@Override | ||
public String getChannelName() { | ||
return CreateInitialRevisionHistoryRequest.CHANNEL; | ||
} | ||
|
||
@Override | ||
public Class<CreateInitialRevisionHistoryRequest> getRequestClass() { | ||
return CreateInitialRevisionHistoryRequest.class; | ||
} | ||
|
||
@Override | ||
public Mono<CreateInitialRevisionHistoryResponse> handleRequest(CreateInitialRevisionHistoryRequest request, | ||
ExecutionContext executionContext) { | ||
var changeDocumentLocation = initialRevisionGenerator.writeRevisionHistoryFromOntologies(executionContext.userId(), | ||
request.documentLocations(), | ||
"Initial import"); | ||
return Mono.just(new CreateInitialRevisionHistoryResponse(changeDocumentLocation)); | ||
} | ||
} |
Oops, something went wrong.