Created
June 7, 2017 12:06
-
-
Save saplaum/2d460f20a27fa577f0a60ef3c63e9721 to your computer and use it in GitHub Desktop.
import-contacts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import de.espirit.firstspirit.forms.FormData; | |
import de.espirit.firstspirit.access.UserService; | |
import de.espirit.firstspirit.access.store.Store; | |
import de.espirit.firstspirit.access.store.Store.Type; | |
import de.espirit.firstspirit.access.store.templatestore.Schema; | |
import java.io.File; | |
import java.io.BufferedReader; | |
import java.io.ByteArrayInputStream; | |
import java.io.FileInputStream; | |
import java.io.IOException; | |
import java.io.InputStream; | |
import java.io.InputStreamReader; | |
import javax.swing.JFileChooser; | |
import de.espirit.or.schema.Entity; | |
import de.espirit.or.Session; | |
final String SCHEMA_NAME = "Rittal_Web"; | |
final String TABLE_NAME = "Contact"; | |
//Auswahl der CSV Datei | |
JFileChooser fileChooser = new JFileChooser(); | |
fileChooser.setMultiSelectionEnabled(false); | |
int selection = fileChooser.showOpenDialog(null); | |
if (selection == JFileChooser.APPROVE_OPTION) { | |
File file = fileChooser.getSelectedFile(); | |
// Ermitteln der Session, um darüber Entities zu erzeugen | |
UserService uss = context.getUserService(); | |
Schema schema = uss.getTemplateStore().getSchemes().getSchemaByName(SCHEMA_NAME ); | |
Session session = schema.getSession(); | |
String tableName = schema.getOrSchema().getEntityType(TABLE_NAME).getName(); | |
// Auslesen der CSV Zeile pro Zeile | |
BufferedReader reader = null; | |
String line = ""; | |
try { | |
reader = new BufferedReader(new InputStreamReader(new FileInputStream(file))); | |
while ((line = reader.readLine()) != null) { | |
// Datensatz erzeugen | |
Entity ent = session.createEntity(tableName); | |
String[] fields = line.split(";"); //Semikolon ggf. durch dein CSV-Trennzeichen ersetzen | |
// Datensatz befüllen | |
ent.setValue("city", fields[0]); | |
ent.setValue("name", fields[1]); | |
ent.setValue("jobTitle", fields[2]); | |
ent.setValue("address", fields[3]); | |
ent.setValue("telephone", fields[4]); | |
ent.setValue("mobile", fields[5]); | |
ent.setValue("name", fields[6]); | |
// TODO ent.setValue("position", fields[7]); | |
} | |
session.commit(); | |
} catch (IOException e) { | |
//Fehler beim auslesen der Datei | |
} finally { | |
//Reader schließen | |
} | |
context.logInfo("Fertig"); | |
} else { | |
context.logInfo("Keine Datei gewählt"); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment