/*
* importGegenstand.java
*
* Created on 10. Dezember 2007, 17:57
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package imports;
import com.Ostermiller.util.CSVParser;
import tools.DBMetadata;
import tools.Database;
import tools.SQLizable;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import import_pojos.Gegenstand;
import import_pojos.Lehrer;
import tools.DBMetadata;
import tools.Database;
/**
*
* @author Andi
*/
public class ImportGegenstand {
private String dateiname = null;
private CSVParser parser = null;
private List<Gegenstand> gegenstand = null;
private boolean hasRead = false; // Wurde die read-Funktion bereits aufgerufen?
private int kuerzelpos=5;
private int langbezpos=6;
/** Creates a new instance of importGegenstand */
public ImportGegenstand(String dateiname)
{
try {
parser = new CSVParser( new BufferedReader( new FileReader(dateiname)));
} catch (FileNotFoundException ex) {
ex.printStackTrace();
}
gegenstand = new ArrayList<Gegenstand>();
}
public void readGegenstand() throws IOException
{
if( hasRead)
return;
String [] line = null;
List<String> gstring=new ArrayList<String>();
Lehrer l=null;
Gegenstand g=null;
parser.changeDelimiter(';');
while((line = parser.getLine()) != null)
{
if(!gstring.contains(line[kuerzelpos]))
{ gstring.add(line[kuerzelpos]);
gstring.add(line[langbezpos]);
System.out.println("Hallo");
}
}
//gstring=sort(gstring);
//lstring=removeInvalid(lstring);
for(int i=0; i<gstring.size(); i++)
{
g=new Gegenstand(gstring.get(i), gstring.get(++i));
gegenstand.add(g);
}
for(int i=0; i<gegenstand.size(); i++)
{
System.out.println(i + ".Element: " + gegenstand.get(i).getKuerzel());
}
hasRead = true; // fertig gelesen
System.out.println("Import von Gegenstand-Objekten fertig.");
}
private List<String> sort(List<String> gstring)
{
int min, j;
String help=null;;
for(int i=0; i<gstring.size()-1; i++)
{ min=i;
for(j=i+1; j<gstring.size(); j++)
{ if(gstring.get(min).toString().compareTo(gstring.get(j).toString())>0)
min=j;
}
if(min!=i)
{ help=gstring.get(min).toString();
gstring.set(min, gstring.get(i).toString());
gstring.set(i,help);
//System.out.println("Tausche: " + kstring.get(i).toString() + "mit" + kstring.get(min).toString());
}
}
return gstring;
}
public boolean allToDatabase() {
Database db = Database.getInstance();
// Klassen-Tabelle leeren
db.clearTable( DBMetadata.getTableName( DBMetadata.GEGENSTAND));
// Klassen in die Datenbank schreiben
for( int i=0; i<gegenstand.size(); i++)
{
// Klasse aus der Tabelle holen
Gegenstand g = gegenstand.get(i);
// Klasse in die Datenbank schreiben (siehe DatabaseTool)
if( db.insertObject((SQLizable)g) == false)
{
System.err.println("Error");
return false;
}
}
return true;
}
}