Java tutorial
// Copyright 2010 Thiago H. de Paula Figueiredo // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package br.com.machina.verbum; import java.util.Scanner; import javax.swing.JOptionPane; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.AnnotationConfiguration; import org.hibernate.tool.hbm2ddl.SchemaExport; import org.mortbay.jetty.Server; import org.mortbay.jetty.webapp.WebAppContext; import br.com.machina.verbum.entities.User; import br.com.machina.verbum.services.impl.Sha1PasswordEncrypter; /** * Class that runs Verbum in an embedded Jetty instance. * * @author Thiago H. de Paula Figueiredo */ public class Main { /** * Runs Verbum in Jetty. * * @param args ignored */ public static void main(String[] args) { // addAdministratorUser(); // System.exit(0); Server server = new Server(8080); WebAppContext webapp = new WebAppContext(); webapp.setParentLoaderPriority(true); webapp.setContextPath("/"); webapp.setWar("src/main/webapp"); server.setHandler(webapp); try { server.start(); Scanner scanner = new Scanner(System.in); System.out.println("Type Enter to stop your application."); scanner.nextLine(); server.stop(); } catch (Exception e) { e.printStackTrace(); } } private static void generateTables() { AnnotationConfiguration configuration = new AnnotationConfiguration(); configuration.configure(); SchemaExport export = new SchemaExport(configuration); export.setDelimiter(";"); export.setOutputFile("tables.sql"); export.create(true, true); System.out.println("Ok!"); } private static void addAdministratorUser() { AnnotationConfiguration configuration = new AnnotationConfiguration(); configuration.configure(); SessionFactory sessionFactory = configuration.buildSessionFactory(); Session session = null; Transaction transaction = null; try { session = sessionFactory.openSession(); transaction = session.beginTransaction(); User user = new User(); user.setName(ask("Please type your name:")); user.setLogin(ask("Please type your login:")); final String password = ask("Please type your password:"); user.setEmail(ask("Please type your e-mail:")); Sha1PasswordEncrypter encrypter = new Sha1PasswordEncrypter(); user.setPassword(encrypter.encrypt(password)); user.setAdministrator(true); session.save(user); transaction.commit(); } catch (Exception e) { e.printStackTrace(); transaction.rollback(); } finally { if (session != null) { session.close(); } sessionFactory.close(); } } final private static String ask(String message) { return JOptionPane.showInputDialog(message); } }