Change in file reading
This commit is contained in:
parent
d0344c74ee
commit
a40e1ce4b5
|
@ -3,37 +3,40 @@ package org.gcube.data.publishing.gCatFeeder.utils;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.nio.charset.Charset;
|
|
||||||
|
|
||||||
public class Files {
|
public class Files {
|
||||||
|
|
||||||
public static File getFileFromResources(String fileName) {
|
public static String readFileFromResources(String fileName) throws IOException {
|
||||||
|
|
||||||
ClassLoader classLoader =Files.class.getClassLoader();
|
ClassLoader classLoader =Files.class.getClassLoader();
|
||||||
|
|
||||||
URL resource = classLoader.getResource(fileName);
|
URL resource = classLoader.getResource(fileName);
|
||||||
if (resource == null) {
|
if (resource == null) {
|
||||||
throw new IllegalArgumentException("file is not found!");
|
throw new IllegalArgumentException("file is not found!");
|
||||||
} else {
|
}
|
||||||
return new File(resource.getFile());
|
return readStream(resource.openStream());
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String readFileAsString(File toRead, Charset encoding)
|
public static final String readStream(InputStream is) throws IOException {
|
||||||
throws IOException{
|
|
||||||
|
|
||||||
FileInputStream fis = new FileInputStream(toRead);
|
|
||||||
byte[] buffer = new byte[10];
|
byte[] buffer = new byte[10];
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
while (fis.read(buffer) != -1) {
|
while (is.read(buffer) != -1) {
|
||||||
sb.append(new String(buffer));
|
sb.append(new String(buffer));
|
||||||
buffer = new byte[10];
|
buffer = new byte[10];
|
||||||
}
|
}
|
||||||
fis.close();
|
is.close();
|
||||||
|
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String readFileAsString(File toRead)
|
||||||
|
throws IOException{
|
||||||
|
|
||||||
|
InputStream fis = new FileInputStream(toRead);
|
||||||
|
return readStream(fis);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -35,6 +35,7 @@
|
||||||
<groupId>org.gcube.data-publishing.gCat-Feeder</groupId>
|
<groupId>org.gcube.data-publishing.gCat-Feeder</groupId>
|
||||||
<artifactId>catalogue-plugin-framework</artifactId>
|
<artifactId>catalogue-plugin-framework</artifactId>
|
||||||
<version>${gFeedSuiteVersion}</version>
|
<version>${gFeedSuiteVersion}</version>
|
||||||
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -63,9 +63,8 @@ public class OAIHarvester implements CollectorPlugin<OAIRecord>{
|
||||||
@Override
|
@Override
|
||||||
public void init() throws Exception {
|
public void init() throws Exception {
|
||||||
|
|
||||||
String harvestedObjectProfile=Files.readFileAsString(
|
String harvestedObjectProfile=Files.readFileFromResources("profiles/HarvestedObject.xml");
|
||||||
Files.getFileFromResources("profiles/HarvestedObject.xml"),
|
|
||||||
Charset.defaultCharset());
|
|
||||||
|
|
||||||
Constants.xmlProfiles.put("HarvestedObject", harvestedObjectProfile);
|
Constants.xmlProfiles.put("HarvestedObject", harvestedObjectProfile);
|
||||||
log.debug("Loaded profiles "+Constants.xmlProfiles.keySet());
|
log.debug("Loaded profiles "+Constants.xmlProfiles.keySet());
|
||||||
|
|
|
@ -5,6 +5,7 @@ import static org.junit.Assert.assertTrue;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
|
import java.io.StringReader;
|
||||||
|
|
||||||
import javax.xml.bind.JAXBContext;
|
import javax.xml.bind.JAXBContext;
|
||||||
import javax.xml.bind.JAXBException;
|
import javax.xml.bind.JAXBException;
|
||||||
|
@ -40,8 +41,8 @@ public class ParsingTests {
|
||||||
OAI_PMH.class);
|
OAI_PMH.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
// @Test
|
||||||
public void parseDC() throws JAXBException {
|
public void parseDC() throws JAXBException, IOException {
|
||||||
|
|
||||||
OAI_PMH response=read();
|
OAI_PMH response=read();
|
||||||
Assert.assertNotNull(response);
|
Assert.assertNotNull(response);
|
||||||
|
@ -58,7 +59,7 @@ public class ParsingTests {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
// @Test
|
||||||
public void marshal() throws JAXBException, InternalConversionException, IOException {
|
public void marshal() throws JAXBException, InternalConversionException, IOException {
|
||||||
OAI_PMH resp=read();
|
OAI_PMH resp=read();
|
||||||
File outF=File.createTempFile("json", ".json");
|
File outF=File.createTempFile("json", ".json");
|
||||||
|
@ -73,12 +74,12 @@ public class ParsingTests {
|
||||||
System.out.println("Output at "+outF.getAbsolutePath());
|
System.out.println("Output at "+outF.getAbsolutePath());
|
||||||
}
|
}
|
||||||
|
|
||||||
private OAI_PMH read() throws JAXBException {
|
private OAI_PMH read() throws JAXBException, IOException {
|
||||||
File toRead=Files.getFileFromResources("resp_dc.xml");
|
String toRead=Files.readFileFromResources("resp_dc.xml");
|
||||||
|
|
||||||
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
|
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
|
||||||
|
|
||||||
return (OAI_PMH) jaxbUnmarshaller.unmarshal(toRead);
|
return (OAI_PMH) jaxbUnmarshaller.unmarshal(new StringReader(toRead));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
8
pom.xml
8
pom.xml
|
@ -18,7 +18,7 @@
|
||||||
<properties>
|
<properties>
|
||||||
<distroDirectory>distro</distroDirectory>
|
<distroDirectory>distro</distroDirectory>
|
||||||
<gitBaseUrl>https://code-repo.d4science.org/gCubeSystem</gitBaseUrl>
|
<gitBaseUrl>https://code-repo.d4science.org/gCubeSystem</gitBaseUrl>
|
||||||
<gFeedSuiteVersion>1.0.3</gFeedSuiteVersion>
|
<gFeedSuiteVersion>1.0.3-SNAPSHOT</gFeedSuiteVersion>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<scm>
|
<scm>
|
||||||
|
@ -58,12 +58,10 @@
|
||||||
</dependencyManagement>
|
</dependencyManagement>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- TEST -->
|
<!-- TEST -->
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ch.qos.logback</groupId>
|
<groupId>ch.qos.logback</groupId>
|
||||||
<artifactId>logback-classic</artifactId>
|
<artifactId>logback-classic</artifactId>
|
||||||
|
|
Loading…
Reference in New Issue