import java.io.IOException;
import java.io.InputStream;
import java.util.Iterator;
import java.util.Properties;

import javax.jdo.JDOHelper;
import javax.jdo.PersistenceManager;
import javax.jdo.PersistenceManagerFactory;

import de.jeckle.jdotest.Employee;
public class JDONonTransact {
	public static void main(String args[]) {
		Properties props = new Properties();
		try {
			InputStream is =
				ClassLoader.getSystemResourceAsStream("jdo.properties");
			props.load(is);
		} catch (IOException ioe) {
			System.out.println("Error loading properties");
			System.exit(1);
		}
		PersistenceManagerFactory pmf =
			JDOHelper.getPersistenceManagerFactory(props);
		PersistenceManager pm = pmf.getPersistenceManager();

		Employee e = new Employee();
		e.setName("Marta Mayer");
		pm.currentTransaction().setNontransactionalWrite(true);

		pm.currentTransaction().begin();
		pm.makePersistent(e);
		pm.currentTransaction().commit();
		displayPersistedObjects(pm);

		//martha gets married and changes her name

		e.setName("Marta Smith");

		displayPersistedObjects(pm);
	}
	private static void displayPersistedObjects(PersistenceManager pm) {
		Iterator i = pm.getExtent(Employee.class, false).iterator();
		while (i.hasNext()) {
			System.out.println((Employee) i.next());
		}
	}
}
