adjustements to the csv parser method

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/data-analysis/EcologicalEngine@82436 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Gianpaolo Coro 2013-10-04 10:34:57 +00:00
parent 1b156b62d8
commit 71847c3b20
7 changed files with 2287 additions and 97 deletions

View File

@ -1,10 +0,0 @@
5.1,3.5
4.9,3.0
4.7,3.2
4.6,3.1
5.0,3.6
5.4,3.9
4.6,3.4
5.0,3.4
4.4,2.9
4.9,3.1
1 5.1 3.5
2 4.9 3.0
3 4.7 3.2
4 4.6 3.1
5 5.0 3.6
6 5.4 3.9
7 4.6 3.4
8 5.0 3.4
9 4.4 2.9
10 4.9 3.1

2166
ph.asc Normal file

File diff suppressed because one or more lines are too long

View File

@ -9,7 +9,7 @@
</parent>
<groupId>org.gcube.dataanalysis</groupId>
<artifactId>ecological-engine</artifactId>
<version>1.7.0-SNAPSHOT</version>
<version>1.7.1-SNAPSHOT</version>
<name>ecological-engine</name>
<description>ecological-engine library</description>
<properties>

View File

@ -54,23 +54,21 @@ public class Transformations {
// gets all the columns from a matrix
public static double[][] traspose(double[][] matrix) {
int m = matrix.length;
if (m>0){
if (m > 0) {
int n = matrix[0].length;
double columns[][]= new double[n][m];
for (int i = 0; i<n; i++) {
for (int j=0;j<m;j++)
columns[i][j] = matrix[j][i];
}
return columns;
}
else
double columns[][] = new double[n][m];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++)
columns[i][j] = matrix[j][i];
}
return columns;
} else
return null;
}
// gets a column from a matrix
public static double[] getColumn(int index, double[][] matrix) {
int colulen = matrix.length;
@ -90,7 +88,6 @@ public class Transformations {
}
// merge matrixes: puts the rows of a matrix under another matrix
public static double[][] mergeMatrixes(double[][] matrix1, double[][] matrix2) {
@ -113,130 +110,137 @@ public class Transformations {
}
}
public static String vector2String(double[] vector){
public static String vector2String(double[] vector) {
String out = "";
for (int i=0;i<vector.length;i++){
if (i>0)
out = out + ","+vector[i];
for (int i = 0; i < vector.length; i++) {
if (i > 0)
out = out + "," + vector[i];
else
out = ""+vector[i];
out = "" + vector[i];
}
return out;
}
public static Object getObjectFromFile(String file) throws Exception{
public static Object getObjectFromFile(String file) throws Exception {
/*
FileInputStream fis = new FileInputStream(file);
ObjectInputStream ois = new ObjectInputStream(fis);
return ois.readObject();
*/
* FileInputStream fis = new FileInputStream(file); ObjectInputStream ois = new ObjectInputStream(fis); return ois.readObject();
*/
XStream xstream = new XStream();
return xstream.fromXML(new FileInputStream(file));
// return xstream.fromXML(FileTools.loadString(file, "UTF-8"));
// return xstream.fromXML(FileTools.loadString(file, "UTF-8"));
}
public static void dumpObjectToFile(String file, Object toWrite) throws Exception {
XStream xstream = new XStream();
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
bw.write(xstream.toXML(toWrite));
bw.close();
/*
FileOutputStream fos = new FileOutputStream(file);
ObjectOutputStream ois = new ObjectOutputStream(fos);
ois.writeObject(toWrite);
*/
* FileOutputStream fos = new FileOutputStream(file); ObjectOutputStream ois = new ObjectOutputStream(fos); ois.writeObject(toWrite);
*/
}
public static void dumpConfig(String pathToFile, AlgorithmConfiguration config) throws Exception {
Transformations.dumpObjectToFile(pathToFile, config);
}
public static AlgorithmConfiguration restoreConfig(String configFile) throws Exception{
public static AlgorithmConfiguration restoreConfig(String configFile) throws Exception {
FileInputStream fis = new FileInputStream(new File(configFile));
AlgorithmConfiguration config = (AlgorithmConfiguration) new XStream().fromXML(fis);
fis.close();
return config;
}
public static double indexString(String string) {
// string = Sha1.SHA1(string);
// string = Sha1.SHA1(string);
StringBuffer sb = new StringBuffer();
if ((string==null) ||(string.length()==0))
if ((string == null) || (string.length() == 0))
return -1;
int m= string.length();
for (int i=0;i<m;i++){
sb.append((int)string.charAt(i));
int m = string.length();
for (int i = 0; i < m; i++) {
sb.append((int) string.charAt(i));
}
double d = Double.MAX_VALUE;
try{
d = Double.valueOf(sb.toString());
}catch(Exception e){
try {
d = Double.valueOf(sb.toString());
} catch (Exception e) {
}
if (d>Integer.MAX_VALUE)
return (indexString(string.substring(0,3)));
if (d > Integer.MAX_VALUE)
return (indexString(string.substring(0, 3)));
return d;
}
public static void main(String[] args) throws Exception{
List<String> ll = Transformations.parseCVSString("h,t,,,,k,", ",");
for (String l:ll){
public static void main(String[] args) throws Exception {
String in = "h,t,,,,k,";
in = "Salmo lucidus (Richardson 1836)\",\"Salmo lucidus\",\"Richardson 1836\",\"SIMPLE\",0.6547619047619048,\"ASFIS\",\"APL\",\"Plantae aquaticae\",\"\",\"\",\"PLANTAE AQUATICAE MISCELLANEA\",\"Aquatic plants nei\",\"Plantes aquatiques nca\",\"Plantas acuáticas nep\"";
List<String> ll = Transformations.parseCVSString(in, ",");
for (String l : ll) {
System.out.println(l);
}
String s = "un'estate al mare";
System.out.println("index: "+indexString(s));
System.out.println("sha1: "+Sha1.SHA1(s));
System.out.println("index: " + indexString(s));
System.out.println("sha1: " + Sha1.SHA1(s));
String s1 = "un'estate al mari";
System.out.println("index: "+indexString(s1));
System.out.println("sha1: "+Sha1.SHA1(s1));
System.out.println("index: " + indexString(s1));
System.out.println("sha1: " + Sha1.SHA1(s1));
String s2 = "ciao amico mio come stai oggi? fa caldo o sono io che mi scotto?";
System.out.println("index: "+indexString(s2));
System.out.println("sha1: "+Sha1.SHA1(s2));
System.out.println("index: " + indexString(s2));
System.out.println("sha1: " + Sha1.SHA1(s2));
}
public static List<String> parseCVSString(String row, String delimiter) throws Exception{
public static List<String> parseCVSString(String row, String delimiter) throws Exception {
List<String> elements = new ArrayList<String>();
String phrase=row;
String phrase = row;
int idxdelim = -1;
boolean quot = false;
phrase = phrase.trim();
while ( (idxdelim = phrase.indexOf(delimiter))>=0) {
quot=phrase.startsWith("\"");
if (quot){
while ((idxdelim = phrase.indexOf(delimiter)) >= 0) {
quot = phrase.startsWith("\"");
if (quot) {
phrase = phrase.substring(1);
RE regexp = new RE("[^\\\\]\"");
boolean matching = regexp.match(phrase);
String quoted = "";
if (matching){
int i0 = regexp.getParenStart(0);
quoted= phrase.substring(0,i0+1).trim();
phrase = phrase.substring(i0+2).trim();
if (phrase.startsWith("\""))
phrase = phrase.substring(1);
else{
RE regexp = new RE("[^\\\\]\"");
boolean matching = regexp.match(phrase);
if (matching) {
int i0 = regexp.getParenStart(0);
quoted = phrase.substring(0, i0 + 1).trim();
phrase = phrase.substring(i0 + 2).trim();
}
}
if (phrase.startsWith(delimiter))
phrase=phrase.substring(1);
phrase = phrase.substring(1);
elements.add(quoted);
}
else{
elements.add(phrase.substring(0,idxdelim));
phrase= phrase.substring(idxdelim+1).trim();
} else {
elements.add(phrase.substring(0, idxdelim));
phrase = phrase.substring(idxdelim + 1).trim();
}
}
if (phrase.startsWith("\""))
phrase = phrase.substring(1);
if (phrase.endsWith("\""))
phrase = phrase.substring(0, phrase.length() - 1);
elements.add(phrase);
return elements;
}
}

Binary file not shown.

View File

@ -0,0 +1,5 @@
#Generated by Maven
#Thu Oct 03 09:52:55 CEST 2013
version=1.7.1-SNAPSHOT
groupId=org.gcube.dataanalysis
artifactId=ecological-engine

25
target/profile.xml Normal file
View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<Resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ID></ID>
<Type>Library</Type>
<Profile>
<Description>Ecological Engine Library</Description>
<Class>EcologicalEngine</Class>
<Name>ecological-engine</Name>
<Version>1.0.0</Version>
<Packages>
<Software>
<Name>ecological-engine</Name>
<Version>1.7.1-SNAPSHOT</Version>
<MavenCoordinates>
<groupId>org.gcube.dataanalysis</groupId>
<artifactId>ecological-engine</artifactId>
<version>1.7.1-SNAPSHOT</version>
</MavenCoordinates>
<Files>
<File>ecological-engine-1.7.1-SNAPSHOT.jar</File>
</Files>
</Software>
</Packages>
</Profile>
</Resource>