Skip to content

Commit

Permalink
Merge pull request #14 from gdcc/refactor/service-provider
Browse files Browse the repository at this point in the history
Refactor/service provider
  • Loading branch information
poikilotherm authored May 12, 2022
2 parents a95172d + ae86197 commit c30e88a
Show file tree
Hide file tree
Showing 63 changed files with 827 additions and 809 deletions.
145 changes: 32 additions & 113 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<modules>
<module>xoai-common</module>
<module>xoai-data-provider</module>
<!--<module>xoai-service-provider</module>-->
<module>xoai-service-provider</module>
<module>xoai-xmlio</module>
</modules>

Expand Down Expand Up @@ -50,16 +50,6 @@
<stax2.api.version>4.2.1</stax2.api.version>
<woodstox.version>6.2.8</woodstox.version>
<slf4j.version>1.7.36</slf4j.version>

<!-- OLD DEPS - TO BE REMOVED! -->
<mockito.version>1.9.5</mockito.version>
<guava.version>15.0</guava.version>
<commons.lang3.version>3.1</commons.lang3.version>
<log4j.version>1.2.14</log4j.version>
<http-commons.version>4.5.3</http-commons.version>
<lyncode.xml-io>1.0.3</lyncode.xml-io>
<lyncode.builder-commons>1.0.2</lyncode.builder-commons>
<lyncode.test-support>1.0.4</lyncode.test-support>

<!-- Testing dependencies -->
<junit.version>4.13.2</junit.version>
Expand All @@ -69,25 +59,28 @@
<!-- Official Maven Plugins -->
<maven-plugin-api.version>3.8.2</maven-plugin-api.version>
<maven-plugin-annotations.version>3.6.4</maven-plugin-annotations.version>
<maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
<maven-compiler-plugin.version>3.10.1</maven-compiler-plugin.version>
<maven-jar-plugin.version>3.2.2</maven-jar-plugin.version>
<maven-dependency-plugin.version>3.2.0</maven-dependency-plugin.version>
<maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version>
<maven-failsafe-plugin.version>3.0.0-M5</maven-failsafe-plugin.version>
<maven-dependency-plugin.version>3.3.0</maven-dependency-plugin.version>
<maven-surefire-plugin.version>3.0.0-M6</maven-surefire-plugin.version>
<maven-failsafe-plugin.version>3.0.0-M6</maven-failsafe-plugin.version>
<maven-assembly-plugin.version>3.3.0</maven-assembly-plugin.version>
<maven-plugin-plugin.version>3.6.4</maven-plugin-plugin.version>
<maven-site-plugin.version>3.11.0</maven-site-plugin.version>
<maven-site-plugin.version>4.0.0-M1</maven-site-plugin.version>
<maven-source-plugin.version>3.2.1</maven-source-plugin.version>
<maven-javadoc-plugin.version>3.3.2</maven-javadoc-plugin.version>
<maven-javadoc-plugin.version>3.4.0</maven-javadoc-plugin.version>
<maven-flatten-plugin.version>1.2.7</maven-flatten-plugin.version>
<maven-gpg-plugin.version>3.0.1</maven-gpg-plugin.version>
<maven-release-plugin.version>3.0.0-M5</maven-release-plugin.version>

<maven-enforcer-plugin.version>3.0.0</maven-enforcer-plugin.version>

<pomchecker-maven-plugin.version>1.2.0</pomchecker-maven-plugin.version>
<nexus-staging-plugin.version>1.6.12</nexus-staging-plugin.version>
<checkstyle-maven-plugin.version>3.1.2</checkstyle-maven-plugin.version>
<checkstyle.version>9.3</checkstyle.version>
<spotbugs-maven-plugin.version>4.4.1</spotbugs-maven-plugin.version>
<spotbugs-maven-plugin.version>4.6.0.0</spotbugs-maven-plugin.version>
<jacoco.version>0.8.8</jacoco.version>
<sonar.version>3.9.1.2184</sonar.version>
</properties>

<licenses>
Expand Down Expand Up @@ -284,6 +277,26 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>${maven-enforcer-plugin.version}</version>
<executions>
<execution>
<id>enforce-maven</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireMavenVersion>
<version>3.6.3</version>
</requireMavenVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>

Expand Down Expand Up @@ -361,11 +374,6 @@
<artifactId>junit-vintage-engine</artifactId>
<version>${junit.jupiter.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
</dependency>
<dependency>
<groupId>org.xmlunit</groupId>
<artifactId>xmlunit-core</artifactId>
Expand All @@ -387,93 +395,6 @@
</exclusion>
</exclusions>
</dependency>



<!-- OLD DEPENDENCIES, TO BE REMOVED OR UPDATED -->
<dependency>
<groupId>com.lyncode</groupId>
<artifactId>test-support</artifactId>
<version>${lyncode.test-support}</version>
</dependency>

<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
</dependency>

<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${commons.lang3.version}</version>
</dependency>

<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>${http-commons.version}</version>
</dependency>

<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>xalan</groupId>
<artifactId>xalan</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>javax.xml.stream</groupId>
<artifactId>stax-api</artifactId>
<version>1.0-2</version>
</dependency>
<dependency>
<groupId>jaxen</groupId>
<artifactId>jaxen</artifactId>
<version>1.1.4</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>

<dependency>
<groupId>stax</groupId>
<artifactId>stax-api</artifactId>
<version>1.0.1</version>
</dependency>

<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>${mockito.version}</version>
</dependency>

<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>

<dependency>
<groupId>com.lyncode</groupId>
<artifactId>builder-commons</artifactId>
<version>${lyncode.builder-commons}</version>
</dependency>
</dependencies>
</dependencyManagement>

Expand All @@ -494,8 +415,6 @@
<profile>
<id>coverage</id>
<properties>
<jacoco.version>0.8.8</jacoco.version>
<sonar.version>3.9.1.2184</sonar.version>
<sonar.host.url>https://sonarcloud.io</sonar.host.url>
<sonar.organization>gdcc</sonar.organization>
<sonar.projectKey>gdcc_xoai</sonar.projectKey>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
package io.gdcc.xoai.model.xoai;

import io.gdcc.xoai.xmlio.XmlReader;
import io.gdcc.xoai.xmlio.XmlWritable;
import io.gdcc.xoai.xmlio.XmlWriter;
import io.gdcc.xoai.xml.XmlWritable;
import io.gdcc.xoai.xml.XmlWriter;
import io.gdcc.xoai.xmlio.exceptions.XmlReaderException;
import io.gdcc.xoai.xmlio.exceptions.XmlWriteException;

Expand Down
4 changes: 2 additions & 2 deletions xoai-common/src/main/java/io/gdcc/xoai/model/xoai/Field.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
package io.gdcc.xoai.model.xoai;

import io.gdcc.xoai.xmlio.XmlReader;
import io.gdcc.xoai.xmlio.XmlWritable;
import io.gdcc.xoai.xmlio.XmlWriter;
import io.gdcc.xoai.xml.XmlWritable;
import io.gdcc.xoai.xml.XmlWriter;
import io.gdcc.xoai.xmlio.exceptions.XmlReaderException;
import io.gdcc.xoai.xmlio.exceptions.XmlWriteException;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,16 @@

package io.gdcc.xoai.model.xoai;

import io.gdcc.xoai.xml.XmlWritable;
import io.gdcc.xoai.xml.XmlWriter;
import io.gdcc.xoai.xmlio.XmlReader;
import io.gdcc.xoai.xmlio.XmlWritable;
import io.gdcc.xoai.xmlio.XmlWriter;
import io.gdcc.xoai.xmlio.exceptions.XmlReaderException;
import io.gdcc.xoai.xmlio.exceptions.XmlWriteException;
import io.gdcc.xoai.services.api.MetadataSearch;
import io.gdcc.xoai.services.impl.MetadataSearchImpl;
import io.gdcc.xoai.xml.XSISchema;

import javax.xml.stream.XMLStreamException;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
Expand Down Expand Up @@ -62,7 +61,7 @@ public static XOAIMetadata parse (InputStream inputStream) throws XmlReaderExcep
public static final String NAMESPACE_URI = "http://www.lyncode.com/xoai";
public static final String SCHEMA_LOCATION = "http://www.lyncode.com/xsd/xoai.xsd";

protected List<Element> elements = new ArrayList<Element>();
protected List<Element> elements = new ArrayList<>();

public List<Element> getElements() {
return this.elements;
Expand All @@ -74,15 +73,11 @@ public XOAIMetadata withElement (Element element) {
}

public String toString() {
ByteArrayOutputStream out = new ByteArrayOutputStream();
try {
this.write(new XmlWriter(out));
} catch (XmlWriteException e) {
// don't do anything
} catch (XMLStreamException e) {
// don't do anything
return XmlWriter.toString(this);
} catch (XMLStreamException | XmlWriteException e) {
throw new IllegalStateException(e);
}
return out.toString();
}

@Override
Expand Down
9 changes: 6 additions & 3 deletions xoai-common/src/main/java/io/gdcc/xoai/util/XMLUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,10 @@ public class XMLUtils {
static final TransformerFactory factory = TransformerFactory.newInstance();

public static String format(String unformattedXml) {
final OutputStream out = new ByteArrayOutputStream();

try (
OutputStream out = new ByteArrayOutputStream();
out;
InputStream in = new ByteArrayInputStream(unformattedXml.getBytes())
) {
Transformer transformer = factory.newTransformer();
Expand All @@ -35,10 +37,11 @@ public static String format(String unformattedXml) {
StreamSource source = new StreamSource(in);

transformer.transform(source, result);
return out.toString();
} catch (Exception e) {
return "";
throw new IllegalArgumentException("Could not format given XML input", e);
}

return out.toString();
}

}
14 changes: 10 additions & 4 deletions xoai-common/src/main/java/io/gdcc/xoai/xml/XmlWriter.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

package io.gdcc.xoai.xml;

import io.gdcc.xoai.xmlio.XmlIoWriter;
import io.gdcc.xoai.xmlio.exceptions.XmlWriteException;
import io.gdcc.xoai.model.oaipmh.Granularity;
import io.gdcc.xoai.model.oaipmh.ResumptionToken;
Expand All @@ -22,17 +23,22 @@
import java.io.OutputStream;
import java.util.Date;

public class XmlWriter extends io.gdcc.xoai.xmlio.XmlWriter implements AutoCloseable {
public class XmlWriter extends XmlIoWriter implements AutoCloseable {
public static String toString(XmlWritable writable) throws XMLStreamException, XmlWriteException {
final OutputStream out = new ByteArrayOutputStream();

try (
OutputStream out = new ByteArrayOutputStream();
XmlWriter writer = new XmlWriter(out, defaultContext());
out;
XmlWriter writer = new XmlWriter(out, defaultContext())
) {
writable.write(writer);
return out.toString();
} catch (IOException e) {
throw new XmlWriteException(e);
}

// the try-with-resources above will take care that writer and stream are closed before reading back
// the data, making sure everything has been flushed.
return out.toString();
}

public static WriterContext defaultContext () {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

package io.gdcc.xoai.model.xoai;

import io.gdcc.xoai.xmlio.XmlWriter;
import io.gdcc.xoai.xml.XmlWriter;
import org.junit.jupiter.api.Test;

import java.io.ByteArrayOutputStream;
Expand Down
17 changes: 17 additions & 0 deletions xoai-data-provider/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,23 @@

<name>XOAI Data Provider</name>
<artifactId>xoai-data-provider</artifactId>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>${maven-jar-plugin.version}</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

<dependencies>
<dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ public InMemoryItem withDefaults() {
this
.with("identifier", randomAlphabetic(10))
.with("datestamp", new Date())
.with("sets", List.of(randomAlphabetic(3)))
.withSet(randomAlphabetic(3))
.with("deleted", Integer.parseInt(randomNumeric(1)) > 5);
return this;
}
Expand Down
Loading

0 comments on commit c30e88a

Please sign in to comment.