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