package org.agile.grenoble;
import java.sql.SQLException;
import org.agile.grenoble.data.AnswersStorage;
import org.agile.grenoble.data.xml.QuestionsReader;
import org.agile.grenoble.gui.NokiaControler;
import org.agile.grenoble.gui.NokiaSwing;
import org.agile.grenoble.questions.QuestionsType;
import org.agile.grenoble.user.User;
public class NokiaTest {
public static void main (String[] argv) {
System.out.println(Messages.getString("NokiaTest.label")); //$NON-NLS-1$
//parse arguments
QuestionsType questions=null;
AnswersStorage storage = new AnswersStorage();
try {
questions = loadAndMarshallQuestions();
NokiaControler nc = new NokiaControler();
nc.setQuestions(questions);
ncSetDatabase(questions, storage, nc);
nc.startHomePage(); //blocker call
User user = nc.startUserRegistration();
nc.setNokiaSwing(initMainGui(questions, user));
nc.startQuestions(user);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(Messages.getString("NokiaTest.EndLabel")); //$NON-NLS-1$
}
private static void ncSetDatabase(QuestionsType questions,
AnswersStorage storage, NokiaControler nc) throws SQLException {
storage.initializeDB(questions);
nc.setStorage(storage);
}
private static QuestionsType loadAndMarshallQuestions() throws Exception {
QuestionsType questions;
String filename = Configuration.getString("NokiaTest.questionsPath") ; //$NON-NLS-1$
QuestionsReader.printItems(filename);
questions = QuestionsReader.readItems(filename);
return questions;
}
private static NokiaSwing initMainGui(QuestionsType questions, User user)
throws Exception {
NokiaSwing gui = new NokiaSwing();
gui.setVisible(true); // blocker call
gui.setUserName(user);
gui.generateQuestionDisplay(questions);
return gui;
}
}